{"id":3583,"library":"mypy-boto3-freetier","title":"mypy-boto3-freetier","description":"mypy-boto3-freetier provides type annotations (type stubs) for the boto3 FreeTier service, enhancing developer experience with static type checking in Python projects. It is part of the larger `mypy-boto3` ecosystem, generated by `mypy-boto3-builder`, and its versions typically align with corresponding `boto3` releases, with frequent updates to reflect AWS service changes.","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","freetier","type-hints"],"install":[{"cmd":"pip install mypy-boto3-freetier boto3","lang":"bash","label":"Install with boto3"}],"dependencies":[{"reason":"This package provides type stubs for boto3. boto3 itself must be installed to provide the runtime functionality.","package":"boto3","optional":false}],"imports":[{"symbol":"FreeTierClient","correct":"from mypy_boto3_freetier.client import FreeTierClient"},{"note":"The FreeTier service only provides a client interface; there is no resource interface in boto3 for FreeTier.","wrong":"from mypy_boto3_freetier.service_resource import FreeTierServiceResource","symbol":"FreeTierServiceResource","correct":"import boto3\n# FreeTier does not have a resource interface, so this import path is not available."},{"symbol":"GetFreeTierUsageResponseTypeDef","correct":"from mypy_boto3_freetier.type_defs import GetFreeTierUsageResponseTypeDef"}],"quickstart":{"code":"import boto3\nfrom mypy_boto3_freetier.client import FreeTierClient\nfrom mypy_boto3_freetier.type_defs import GetFreeTierUsageResponseTypeDef\n\ndef get_freetier_usage() -> GetFreeTierUsageResponseTypeDef:\n    # mypy-boto3-freetier provides type hints for this client\n    client: FreeTierClient = boto3.client('freetier')\n    response: GetFreeTierUsageResponseTypeDef = client.get_free_tier_usage()\n    print(f\"Free Tier Usage: {response.get('FreeTierUsages')}\")\n    return response\n\nif __name__ == '__main__':\n    # Ensure AWS credentials are configured or available via environment variables\n    # For local testing, you might need to mock boto3 or ensure credentials are set.\n    # Example: os.environ['AWS_ACCESS_KEY_ID'] = '...' \n    #          os.environ['AWS_SECRET_ACCESS_KEY'] = '...' \n    #          os.environ['AWS_DEFAULT_REGION'] = 'us-east-1'\n    \n    try:\n        get_freetier_usage()\n    except Exception as e:\n        print(f\"Error fetching Free Tier usage: {e}\")","lang":"python","description":"This example demonstrates how to use the `mypy-boto3-freetier` stubs to get type-hinted interaction with the boto3 FreeTier client. It shows importing the `FreeTierClient` for type annotations and a specific `TypeDef` for response parsing, ensuring static type checkers like mypy can validate your code."},"warnings":[{"fix":"Upgrade your Python environment to version 3.9 or newer.","message":"Python 3.8 is no longer supported for `mypy-boto3-builder` generated packages (including `mypy-boto3-freetier`) as of `mypy-boto3-builder` version 8.12.0.","severity":"breaking","affected_versions":"mypy-boto3-builder>=8.12.0 (and generated stubs like mypy-boto3-freetier >= 1.42.0)"},{"fix":"Always install `boto3` alongside `mypy-boto3-freetier`: `pip install boto3 mypy-boto3-freetier`.","message":"`mypy-boto3-freetier` is a stub-only package. It provides type hints for `boto3` but does not include `boto3` itself. `boto3` must be installed separately to provide the runtime functionality.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Prefer installing `mypy-boto3-freetier` with a version constraint that aligns with your `boto3` installation (e.g., if `boto3==1.42.3`, install `mypy-boto3-freetier==1.42.3`).","message":"For optimal type checking accuracy, ensure the version of `mypy-boto3-freetier` closely matches your installed `boto3` version. Significant version mismatches can lead to incorrect or missing type hints.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Always use `boto3.client('freetier')` for interacting with the FreeTier service. `mypy-boto3-freetier` correctly reflects this by not providing a resource stub.","message":"The AWS FreeTier service only exposes a client interface. Attempting to use `boto3.resource('freetier')` will result in a runtime error from boto3, as there is no FreeTier resource.","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"}