{"id":3375,"library":"mypy-boto3-servicecatalog-appregistry","title":"Type Annotations for boto3 AppRegistry","description":"mypy-boto3-servicecatalog-appregistry provides PEP 561 compliant type annotations for the AWS AppRegistry service client in boto3. It helps developers leverage static type checking with tools like mypy, ensuring correctness and improving autocompletion for boto3 interactions. The current version is 1.42.3, generated by mypy-boto3-builder 8.12.0, with frequent releases synchronised with boto3 updates.","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-hints","servicecatalog-appregistry","static-analysis"],"install":[{"cmd":"pip install mypy-boto3-servicecatalog-appregistry boto3 mypy","lang":"bash","label":"Install with pip"}],"dependencies":[{"reason":"Provides the AWS SDK for Python that these type stubs enhance. Users typically install the `boto3` version matching the `mypy-boto3-*` stub version.","package":"boto3","optional":false},{"reason":"The primary static type checker for which these annotations are designed. Required for leveraging the type-checking benefits.","package":"mypy","optional":true},{"reason":"mypy-boto3 packages built with builder 8.12.0+ require Python 3.9 or newer.","package":"python","optional":false}],"imports":[{"note":"Client types are located in the '.client' submodule for clarity and to avoid name clashes.","wrong":"from mypy_boto3_servicecatalog_appregistry import AppRegistryClient","symbol":"AppRegistryClient","correct":"from mypy_boto3_servicecatalog_appregistry.client import AppRegistryClient"},{"note":"Service resource types (if available for the service) are in the '.service_resource' submodule.","symbol":"AppRegistryServiceResource","correct":"from mypy_boto3_servicecatalog_appregistry.service_resource import AppRegistryServiceResource"},{"note":"All core TypeDefs (input/output dictionaries for service operations) are consolidated in the '.type_defs' submodule.","wrong":"from mypy_boto3_servicecatalog_appregistry.app_registry_client import ApplicationSummaryTypeDef","symbol":"ApplicationSummaryTypeDef","correct":"from mypy_boto3_servicecatalog_appregistry.type_defs import ApplicationSummaryTypeDef"}],"quickstart":{"code":"import boto3\nfrom mypy_boto3_servicecatalog_appregistry.client import AppRegistryClient\nfrom typing import TYPE_CHECKING\n\n# For advanced type checking of response objects\nif TYPE_CHECKING:\n    from mypy_boto3_servicecatalog_appregistry.type_defs import CreateApplicationResponseTypeDef\n\ndef create_example_application(app_name: str, app_description: str):\n    # boto3 client is untyped by default\n    client = boto3.client(\n        \"servicecatalog-appregistry\",\n        aws_access_key_id=\"AKIATEST\", # Using dummy creds for example\n        aws_secret_access_key=\"SECRET\",\n        region_name=\"us-east-1\"\n    )\n\n    # Type hint the client for mypy\n    typed_client: AppRegistryClient = client\n\n    # With the typed_client, autocompletion and type checking work\n    response = typed_client.create_application(\n        name=app_name,\n        description=app_description\n    )\n\n    # TYPE_CHECKING guard ensures this import is only for static analysis\n    if TYPE_CHECKING:\n        response_typed: CreateApplicationResponseTypeDef = response\n        print(f\"Application ID: {response_typed['application']['id']}\")\n    else:\n        print(f\"Application ID: {response['application']['id']}\")\n\n# To run this example, replace dummy creds and provide a unique application name\n# create_example_application(\"MyUniqueApp\", \"Managed by mypy-boto3 example\")","lang":"python","description":"This quickstart demonstrates how to obtain a type-hinted `AppRegistryClient` from `boto3` and use it to call an API operation. It also shows how to import and use response `TypeDef` objects for more granular type checking, typically under a `TYPE_CHECKING` guard."},"warnings":[{"fix":"Upgrade your Python environment to 3.9 or newer.","message":"Dropped support for Python 3.8. Packages generated with `mypy-boto3-builder` version 8.12.0 and newer (including this package) now require Python 3.9 or higher.","severity":"breaking","affected_versions":"mypy-boto3-builder >= 8.12.0, mypy-boto3-servicecatalog-appregistry >= 1.42.0"},{"fix":"Review your TypeDef imports and usages after upgrading, adjusting names as per the new conventions (check generated `.type_defs.pyi` for specific service changes).","message":"TypeDef naming conventions changed in builder version 8.9.0. Argument TypeDefs might have shorter names (e.g., `CreateRequestRequestTypeDef` -> `CreateRequestTypeDef`), and `Extra` postfixes were moved (e.g., `CreateExtraRequestTypeDef` -> `CreateRequestExtraTypeDef`).","severity":"breaking","affected_versions":"mypy-boto3-builder >= 8.9.0"},{"fix":"Ensure your `mypy` configuration and project structure align with standard Python package and type stub discovery mechanisms. No code change is typically required in user applications.","message":"Migration to PEP 561 compliance. While generally an improvement, some older type-checking setups or tools might require updates to correctly discover and utilize the type stubs.","severity":"gotcha","affected_versions":"mypy-boto3-builder >= 8.12.0"},{"fix":"Verify that your `pip install` commands specify the `mypy-boto3-*` package names, which are the current standard for individual service stubs.","message":"Legacy `mypy-boto3` packages (pre-8.9.0 builder) were merged into `boto3-stubs`. If you're upgrading from very old `mypy-boto3` versions, ensure you're installing the correct new `mypy-boto3-*` package structure.","severity":"gotcha","affected_versions":"mypy-boto3-builder >= 8.9.0"},{"fix":"Always refer to the official AWS documentation for the latest service names. If a service package is deprecated, follow the recommended migration path to the new service and its corresponding `mypy-boto3` stub package.","message":"AWS service names can change or be deprecated (e.g., `sms-voice` was replaced by `pinpoint-sms-voice`). This means the corresponding `mypy-boto3` package name will also change, requiring updates to your dependencies and imports.","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"}