{"id":3014,"library":"mypy-boto3-appconfig","title":"mypy-boto3-appconfig","description":"mypy-boto3-appconfig provides type annotations for the boto3 AppConfig service, enabling static type checking for AWS SDK for Python (boto3) usage. It helps catch potential bugs early and improves IDE support by offering auto-completion and type validation. The current version is 1.42.3, generated with mypy-boto3-builder 8.12.0, and its release cadence is tied to updates in boto3 and the builder itself.","status":"active","version":"1.42.3","language":"en","source_language":"en","source_url":"https://github.com/youtype/mypy_boto3_builder","tags":["aws","boto3","mypy","type-hinting","appconfig","static-analysis","stubs"],"install":[{"cmd":"pip install mypy-boto3-appconfig boto3 mypy","lang":"bash","label":"Install with pip"}],"dependencies":[{"reason":"Runtime dependency for interacting with AWS services.","package":"boto3","optional":false},{"reason":"Static type checker for which these annotations are primarily generated.","package":"mypy","optional":false}],"imports":[{"symbol":"AppConfigClient","correct":"from mypy_boto3_appconfig.client import AppConfigClient"},{"note":"Not all boto3 services have a 'resource' interface; check the boto3 documentation for AppConfig if this is needed.","symbol":"AppConfigServiceResource","correct":"from mypy_boto3_appconfig.service_resource import AppConfigServiceResource"},{"note":"TypeDefs are generated for request and response structures, providing precise type checking for dictionary-based interactions.","symbol":"ListApplicationsResponseTypeDef","correct":"from mypy_boto3_appconfig.type_defs import ListApplicationsResponseTypeDef"},{"note":"Paginator types are available for operations that support pagination.","symbol":"AppConfigPaginator","correct":"from mypy_boto3_appconfig.paginator import ListApplicationsPaginator"}],"quickstart":{"code":"import boto3\nfrom mypy_boto3_appconfig.client import AppConfigClient\nfrom mypy_boto3_appconfig.type_defs import ListApplicationsResponseTypeDef\n\ndef get_appconfig_applications() -> list[str]:\n    # Ensure AWS credentials are configured (e.g., via environment variables, ~/.aws/credentials)\n    # For this example, we'll assume they are, or use a dummy region for local testing.\n    client: AppConfigClient = boto3.client(\"appconfig\", region_name=os.environ.get('AWS_REGION', 'us-east-1'))\n    try:\n        response: ListApplicationsResponseTypeDef = client.list_applications()\n        application_names = [app['Name'] for app in response.get('Items', []) if 'Name' in app]\n        return application_names\n    except Exception as e:\n        print(f\"Error listing AppConfig applications: {e}\")\n        return []\n\nif __name__ == \"__main__\":\n    import os\n    # Set dummy credentials for runnable example if not already set\n    if not os.environ.get('AWS_ACCESS_KEY_ID'):\n        os.environ['AWS_ACCESS_KEY_ID'] = 'AKIAIOSFODNN7EXAMPLE'\n        os.environ['AWS_SECRET_ACCESS_KEY'] = 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY'\n        os.environ['AWS_REGION'] = 'us-east-1'\n\n    applications = get_appconfig_applications()\n    if applications:\n        print(\"AppConfig Applications found:\")\n        for app_name in applications:\n            print(f\"- {app_name}\")\n    else:\n        print(\"No AppConfig applications found or an error occurred.\")","lang":"python","description":"This quickstart demonstrates how to initialize a type-hinted AppConfig client using `mypy-boto3-appconfig` and retrieve a list of applications. It explicitly imports the client and response type definitions for static analysis."},"warnings":[{"fix":"Upgrade Python environment to 3.9 or higher. Alternatively, pin `mypy-boto3-appconfig` and `boto3` to compatible older versions.","message":"Support for Python 3.8 was removed in `mypy-boto3-builder` version 8.12.0. Users on Python 3.8 must either upgrade to Python 3.9+ or pin their `mypy-boto3` related packages to an older version (pre-8.12.0) that still supports Python 3.8.","severity":"breaking","affected_versions":"mypy-boto3-builder >= 8.12.0 (equivalent to mypy-boto3-appconfig versions generated by this builder version)"},{"fix":"Update imports and code to reflect the new TypeDef naming conventions. Refer to the specific service's documentation for the correct TypeDef names.","message":"In `mypy-boto3-builder` version 8.9.0, TypeDef naming conventions changed for packed method arguments (e.g., `CreateDistributionRequestRequestTypeDef` became `CreateDistributionRequestTypeDef`) and conflicting `Extra` postfixes were moved. This affects all `mypy-boto3` service packages, including `mypy-boto3-appconfig`, if you relied on specific TypeDef names.","severity":"breaking","affected_versions":"mypy-boto3-builder >= 8.9.0"},{"fix":"Update your `mypy` and IDE to their latest versions. Verify that your project's `mypy` configuration is correctly detecting the stubs.","message":"The `mypy-boto3` ecosystem migrated to PEP 561 compliant packages in `mypy-boto3-builder` version 8.12.0. While this generally improves type checker integration, ensure your `mypy` and IDE configurations are up-to-date to correctly interpret these new package structures.","severity":"gotcha","affected_versions":"mypy-boto3-builder >= 8.12.0"},{"fix":"Always add explicit type annotations, e.g., `client: AppConfigClient = boto3.client(\"appconfig\")`, for the best IDE experience and explicit type checking.","message":"Some IDEs (like VSCode without specific settings) may require explicit type annotations for `boto3.client()` or `session.client()` calls to get full auto-completion, even though `mypy` itself might infer types correctly.","severity":"gotcha","affected_versions":"All versions"}],"env_vars":null,"last_verified":"2026-04-11T00:00:00.000Z","next_check":"2026-07-10T00:00:00.000Z"}