{"id":3659,"library":"mypy-boto3-panorama","title":"mypy-boto3-panorama","description":"mypy-boto3-panorama provides type annotations for the `boto3` Panorama service, ensuring static type checking for your AWS interactions. It is generated by `mypy-boto3-builder` and keeps pace with `boto3` releases, typically updating when `boto3` itself releases new versions or changes service APIs. The current version is 1.42.3.","status":"active","version":"1.42.3","language":"en","source_language":"en","source_url":"https://github.com/youtype/mypy_boto3_builder","tags":["boto3","aws","mypy","type-hints","stubs","panorama","static-analysis"],"install":[{"cmd":"pip install mypy-boto3-panorama boto3","lang":"bash","label":"Install service stubs and boto3 runtime"}],"dependencies":[{"reason":"Provides the AWS SDK runtime functionality that these stubs type-check. Must be installed alongside.","package":"boto3","optional":false},{"reason":"Required by the stub package for compatibility across various Python versions and type-checking features.","package":"typing-extensions","optional":false}],"imports":[{"symbol":"PanoramaClient","correct":"from mypy_boto3_panorama.client import PanoramaClient"},{"symbol":"ListApplicationInstancesOutputTypeDef","correct":"from mypy_boto3_panorama.type_defs import ListApplicationInstancesOutputTypeDef"},{"note":"While the `boto3.client` call itself doesn't change, the correct usage for type checking requires either an explicit type annotation or installing `boto3-stubs` as a whole for inferred types.","wrong":"import boto3\nclient = boto3.client('panorama')","symbol":"client","correct":"import boto3\nclient: PanoramaClient = boto3.client('panorama')"}],"quickstart":{"code":"import os\nimport boto3\nfrom mypy_boto3_panorama.client import PanoramaClient\nfrom mypy_boto3_panorama.type_defs import ListApplicationInstancesOutputTypeDef\n\ndef list_panorama_instances(region: str = \"us-east-1\") -> ListApplicationInstancesOutputTypeDef:\n    \"\"\"Lists Panorama application instances with type checking.\"\"\"\n    # Ensure boto3 is configured, e.g., via AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY,\n    # or ~/.aws/credentials. For demonstration, we'll use environment variables.\n    client: PanoramaClient = boto3.client(\n        \"panorama\",\n        region_name=region,\n        aws_access_key_id=os.environ.get('AWS_ACCESS_KEY_ID', ''),\n        aws_secret_access_key=os.environ.get('AWS_SECRET_ACCESS_KEY', '')\n    )\n    \n    response: ListApplicationInstancesOutputTypeDef = client.list_application_instances()\n    print(f\"Found {len(response.get('ApplicationInstances', []))} Panorama application instances.\")\n    return response\n\nif __name__ == \"__main__\":\n    try:\n        # This call will likely fail without proper AWS credentials/permissions.\n        # It demonstrates the type-checked interaction.\n        list_panorama_instances()\n    except Exception as e:\n        print(f\"Error listing Panorama instances (expected if credentials/permissions are not set): {e}\")","lang":"python","description":"This quickstart demonstrates how to instantiate a Panorama client with type annotations and call a method. Ensure you have `boto3` and `mypy-boto3-panorama` installed, and your AWS credentials configured (e.g., via environment variables or `~/.aws/credentials`)."},"warnings":[{"fix":"Upgrade your project's Python version to 3.9 or higher.","message":"Python 3.8 support has been removed across all `mypy-boto3` packages, including `mypy-boto3-panorama`. Projects must use Python 3.9 or newer.","severity":"breaking","affected_versions":">=8.12.0"},{"fix":"Review your `mypy` configuration and build processes to ensure compatibility with PEP 561 package layouts. Most users should not be directly affected, but if issues arise, consult `mypy` documentation and `mypy-boto3` release notes.","message":"The `mypy-boto3` builder (which generates this package) migrated to PEP 561-compliant stub packages. This may affect some advanced build systems or `mypy` configurations, especially if you were relying on older stub distribution methods.","severity":"breaking","affected_versions":">=8.12.0"},{"fix":"If you directly import and reference generated `TypeDef`s, verify their names against the latest stub definitions. Adjust your imports and type annotations as necessary.","message":"Generated TypeDef names for service methods were shortened and consolidated in older versions, potentially breaking direct imports of specific `TypeDef` aliases if they were impacted. For example, `CreateDistributionRequestRequestTypeDef` became `CreateDistributionRequestTypeDef`.","severity":"breaking","affected_versions":">=8.9.0"},{"fix":"Ensure both `pip install boto3` and `pip install mypy-boto3-panorama` are executed in your environment.","message":"For `mypy-boto3-panorama` to provide type checking, you *must* install both `boto3` (the runtime library) and `mypy-boto3-panorama` (the type stubs). Installing only one will result in either runtime errors or un-type-checked `boto3` calls.","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"}