{"id":3146,"library":"mypy-boto3-snowball","title":"mypy-boto3-snowball","description":"Type annotations for boto3 Snowball 1.42.3 service generated with mypy-boto3-builder 8.12.0. This library provides static type checking for `boto3` clients and resources, enhancing development with autocompletion and early error detection for AWS Snowball operations. It follows `boto3`'s release cadence, with frequent updates to align with new AWS service versions.","status":"active","version":"1.42.3","language":"en","source_language":"en","source_url":"https://github.com/youtype/mypy_boto3_builder","tags":["aws","boto3","mypy","typing","stubs","cloud","snowball","type-checking","developer-tools"],"install":[{"cmd":"pip install mypy-boto3-snowball","lang":"bash","label":"Standalone package"},{"cmd":"pip install 'boto3-stubs[snowball]'","lang":"bash","label":"As part of boto3-stubs"}],"dependencies":[{"reason":"Runtime dependency for AWS API calls.","package":"boto3","optional":false},{"reason":"Underlying type stubs for botocore, implicitly used by mypy-boto3-snowball.","package":"types-botocore","optional":false}],"imports":[{"note":"Type hint for the boto3 Snowball client.","symbol":"SnowballClient","correct":"from mypy_boto3_snowball.client import SnowballClient"},{"note":"Type definition for Snowball service data structures.","symbol":"AddressTypeDef","correct":"from mypy_boto3_snowball.type_defs import AddressTypeDef"},{"note":"Literal types for string-based enumerations in Snowball operations.","symbol":"AddressTypeType","correct":"from mypy_boto3_snowball.literals import AddressTypeType"},{"note":"Required for creating a boto3 session and client.","symbol":"Session","correct":"from boto3.session import Session"}],"quickstart":{"code":"import boto3\nfrom typing import TYPE_CHECKING\nfrom mypy_boto3_snowball.client import SnowballClient\n\ndef get_snowball_jobs():\n    # Use TYPE_CHECKING guard to avoid runtime dependency on mypy-boto3-snowball\n    if TYPE_CHECKING:\n        client: SnowballClient = boto3.client(\"snowball\")\n    else:\n        client = boto3.client(\"snowball\")\n\n    try:\n        response = client.list_jobs(\n            MaxResults=10,\n            # NextToken='string' # Uncomment if you have a next token\n        )\n        print(f\"Snowball Jobs: {response.get('JobListEntries')}\")\n        return response.get('JobListEntries', [])\n    except client.exceptions.InvalidResourceException as e:\n        print(f\"Error: {e}\")\n        return []\n\nif __name__ == \"__main__\":\n    # Ensure AWS credentials are configured (e.g., via ~/.aws/credentials or environment variables)\n    # For local testing, you might need a mock boto3 or actual AWS setup.\n    print(\"Attempting to list Snowball jobs...\")\n    jobs = get_snowball_jobs()","lang":"python","description":"This quickstart demonstrates how to initialize a `boto3` Snowball client and use it with `mypy-boto3-snowball` type annotations. The `TYPE_CHECKING` guard ensures the stub package is only used during static analysis, preventing a runtime dependency. The example lists up to 10 Snowball jobs."},"warnings":[{"fix":"Upgrade your Python environment to 3.9 or higher. If unable to upgrade Python, use an older `mypy-boto3-snowball` version compatible with Python 3.8.","message":"Python 3.8 support has been removed since mypy-boto3-builder version 8.12.0. Ensure your project uses Python 3.9 or newer to utilize the latest `mypy-boto3-snowball` versions.","severity":"breaking","affected_versions":"mypy-boto3-builder >=8.12.0, mypy-boto3-snowball >=1.42.0"},{"fix":"Review and update `TypedDict` imports and usage in your codebase to match the new naming conventions as defined in the latest stub package documentation.","message":"mypy-boto3-builder version 8.9.0 introduced breaking changes in TypeDef naming conventions, potentially affecting existing type-hinted code. For example, `CreateDistributionRequestRequestTypeDef` became `CreateDistributionRequestTypeDef`.","severity":"breaking","affected_versions":"mypy-boto3-builder >=8.9.0, mypy-boto3-* versions generated by these builders"},{"fix":"Always install the specific `mypy-boto3-SERVICE_NAME` package for the service you need or use `boto3-stubs[SERVICE_NAME]` to ensure you're getting the latest and correctly generated stubs.","message":"Legacy `mypy-boto3` (the monolithic package) has been moved to a separate product by the builder in version 8.9.0. Users should explicitly install service-specific packages (e.g., `mypy-boto3-snowball`) or `boto3-stubs` with extras.","severity":"gotcha","affected_versions":"mypy-boto3-builder >=8.9.0"},{"fix":"Consider using `boto3-stubs-lite[snowball]` which offers a more RAM-friendly experience without `session.client`/`resource` overloads (requiring explicit type annotations). Alternatively, disable PyCharm's internal type checker and rely on external tools like `mypy` or `pyright`.","message":"PyCharm may experience slow performance or high CPU usage due to `Literal` overloads in `mypy-boto3` stubs. This is a known issue (PY-40997).","severity":"gotcha","affected_versions":"All versions"},{"fix":"It's good practice to explicitly type-hint your `boto3` client (e.g., `client: SnowballClient = boto3.client(\"snowball\")`) for maximum type-checking benefit and IDE assistance.","message":"While `mypy-boto3` often provides implicit type discovery, explicit type annotations for clients, paginators, and waiters can improve clarity and sometimes be necessary, especially when using `lite` versions of the stubs.","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"}