diff --git a/integrations/aws/CHANGELOG.md b/integrations/aws/CHANGELOG.md index d3d1c5ca9f..53fcb83cba 100644 --- a/integrations/aws/CHANGELOG.md +++ b/integrations/aws/CHANGELOG.md @@ -6,12 +6,24 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.2.43 (2024-09-18) + + +### Improvements + +- Improved support for parralel fetching of aws account resources +- Fixed ExpiredTokenException by replacing event-based caching with a time-dependent caching mechanism. The new approach reassumes the role and refreshes session credentials when 80% of the session duration has been used, ensuring credentials are refreshed before expiry. + + ## 0.2.42 (2024-09-24) + ### Bug Fixes - Fixes an issue where `is_access_denied_exception` could raise an `AttributeError` if `e.response` is `None`. + ## 0.2.41 (2024-09-22) diff --git a/integrations/aws/aws/session_manager.py b/integrations/aws/aws/session_manager.py index 180cfc3199..ff6d36cef5 100644 --- a/integrations/aws/aws/session_manager.py +++ b/integrations/aws/aws/session_manager.py @@ -15,6 +15,9 @@ class AccountNotFoundError(OceanAbortException): pass +ASSUME_ROLE_DURATION_SECONDS = 3600 # 1 hour + + class SessionManager: def __init__(self) -> None: """ @@ -93,7 +96,9 @@ async def _get_organization_session(self) -> aioboto3.Session | None: async with application_session.client("sts") as sts_client: try: organizations_client = await sts_client.assume_role( - RoleArn=organization_role_arn, RoleSessionName="AssumeRoleSession" + RoleArn=organization_role_arn, + RoleSessionName="OceanOrgAssumeRoleSession", + DurationSeconds=ASSUME_ROLE_DURATION_SECONDS, ) credentials = organizations_client["Credentials"] @@ -150,7 +155,8 @@ async def _assume_role_and_update_credentials( try: account_role = await sts_client.assume_role( RoleArn=f'arn:aws:iam::{account["Id"]}:role/{self._get_account_read_role_name()}', - RoleSessionName="AssumeRoleSession", + RoleSessionName="OceanMemberAssumeRoleSession", + DurationSeconds=ASSUME_ROLE_DURATION_SECONDS, ) raw_credentials = account_role["Credentials"] credentials = AwsCredentials( diff --git a/integrations/aws/main.py b/integrations/aws/main.py index b554a11da0..b3b48249d7 100644 --- a/integrations/aws/main.py +++ b/integrations/aws/main.py @@ -34,7 +34,9 @@ ResourceKindsWithSpecialHandling, is_access_denied_exception, is_server_error, + semaphore, ) +from port_ocean.utils.async_iterators import stream_async_iterators_tasks async def _handle_global_resource_resync( @@ -65,14 +67,15 @@ async def _handle_global_resource_resync( raise e -@ocean.on_resync() -async def resync_all(kind: str) -> ASYNC_GENERATOR_RESYNC_TYPE: - if kind in iter(ResourceKindsWithSpecialHandling): - return - await update_available_access_credentials() - is_global = is_global_resource(kind) - async for credentials in get_accounts(): - if is_global: +async def resync_resources_for_account( + credentials: AwsCredentials, kind: str +) -> ASYNC_GENERATOR_RESYNC_TYPE: + """Function to handle fetching resources for a single account.""" + + async with semaphore: # limit the number of concurrent tasks + errors, regions = [], [] + + if is_global_resource(kind): async for batch in _handle_global_resource_resync(kind, credentials): yield batch else: @@ -80,8 +83,28 @@ async def resync_all(kind: str) -> ASYNC_GENERATOR_RESYNC_TYPE: try: async for batch in resync_cloudcontrol(kind, session): yield batch - except Exception: + except Exception as exc: + regions.append(session.region_name) + errors.append(exc) continue + if errors: + message = f"Failed to fetch {kind} for these regions {regions} with {len(errors)} errors in account {credentials.account_id}" + raise ExceptionGroup(message, errors) + + +@ocean.on_resync() +async def resync_all(kind: str) -> ASYNC_GENERATOR_RESYNC_TYPE: + if kind in iter(ResourceKindsWithSpecialHandling): + return + + await update_available_access_credentials() + tasks = [ + resync_resources_for_account(credentials, kind) + async for credentials in get_accounts() + ] + if tasks: + async for batch in stream_async_iterators_tasks(*tasks): + yield batch @ocean.on_resync(kind=ResourceKindsWithSpecialHandling.ACCOUNT) @@ -94,53 +117,70 @@ async def resync_account(kind: str) -> ASYNC_GENERATOR_RESYNC_TYPE: @ocean.on_resync(kind=ResourceKindsWithSpecialHandling.ELASTICACHE_CLUSTER) async def resync_elasticache(kind: str) -> ASYNC_GENERATOR_RESYNC_TYPE: await update_available_access_credentials() - async for session in get_sessions(): - async for batch in resync_custom_kind( + + tasks = [ + resync_custom_kind( kind, session, "elasticache", "describe_cache_clusters", "CacheClusters", "Marker", - ): + ) + async for session in get_sessions() + ] + if tasks: + async for batch in stream_async_iterators_tasks(*tasks): yield batch @ocean.on_resync(kind=ResourceKindsWithSpecialHandling.ELBV2_LOAD_BALANCER) async def resync_elv2_load_balancer(kind: str) -> ASYNC_GENERATOR_RESYNC_TYPE: await update_available_access_credentials() - async for session in get_sessions(): - async for batch in resync_custom_kind( + + tasks = [ + resync_custom_kind( kind, session, "elbv2", "describe_load_balancers", "LoadBalancers", "Marker", - ): + ) + async for session in get_sessions() + ] + + if tasks: + async for batch in stream_async_iterators_tasks(*tasks): yield batch @ocean.on_resync(kind=ResourceKindsWithSpecialHandling.ACM_CERTIFICATE) async def resync_acm(kind: str) -> ASYNC_GENERATOR_RESYNC_TYPE: await update_available_access_credentials() - async for session in get_sessions(): - async for batch in resync_custom_kind( + + tasks = [ + resync_custom_kind( kind, session, "acm", "list_certificates", "CertificateSummaryList", "NextToken", - ): + ) + async for session in get_sessions() + ] + + if tasks: + async for batch in stream_async_iterators_tasks(*tasks): yield batch @ocean.on_resync(kind=ResourceKindsWithSpecialHandling.AMI_IMAGE) async def resync_ami(kind: str) -> ASYNC_GENERATOR_RESYNC_TYPE: await update_available_access_credentials() - async for session in get_sessions(): - async for batch in resync_custom_kind( + tasks = [ + resync_custom_kind( kind, session, "ec2", @@ -148,22 +188,31 @@ async def resync_ami(kind: str) -> ASYNC_GENERATOR_RESYNC_TYPE: "Images", "NextToken", {"Owners": ["self"]}, - ): + ) + async for session in get_sessions() + ] + if tasks: + async for batch in stream_async_iterators_tasks(*tasks): yield batch @ocean.on_resync(kind=ResourceKindsWithSpecialHandling.CLOUDFORMATION_STACK) async def resync_cloudformation(kind: str) -> ASYNC_GENERATOR_RESYNC_TYPE: await update_available_access_credentials() - async for session in get_sessions(): - async for batch in resync_custom_kind( + tasks = [ + resync_custom_kind( kind, session, "cloudformation", "describe_stacks", "Stacks", "NextToken", - ): + ) + async for session in get_sessions() + ] + + if tasks: + async for batch in stream_async_iterators_tasks(*tasks): yield batch diff --git a/integrations/aws/poetry.lock b/integrations/aws/poetry.lock index 469f07a476..b0b7a2c517 100644 --- a/integrations/aws/poetry.lock +++ b/integrations/aws/poetry.lock @@ -40,6 +40,22 @@ wrapt = ">=1.10.10,<2.0.0" awscli = ["awscli (>=1.32.41,<1.32.70)"] boto3 = ["boto3 (>=1.34.41,<1.34.70)"] +[[package]] +name = "aiocache" +version = "0.12.2" +description = "multi backend asyncio cache" +optional = false +python-versions = "*" +files = [ + {file = "aiocache-0.12.2-py2.py3-none-any.whl", hash = "sha256:9b6fa30634ab0bfc3ecc44928a91ff07c6ea16d27d55469636b296ebc6eb5918"}, + {file = "aiocache-0.12.2.tar.gz", hash = "sha256:b41c9a145b050a5dcbae1599f847db6dd445193b1f3bd172d8e0fe0cb9e96684"}, +] + +[package.extras] +memcached = ["aiomcache (>=0.5.2)"] +msgpack = ["msgpack (>=0.5.5)"] +redis = ["redis (>=4.2.0)"] + [[package]] name = "aiohappyeyeballs" version = "2.4.0" @@ -164,15 +180,19 @@ speedups = ["Brotli", "aiodns (>=3.2.0)", "brotlicffi"] [[package]] name = "aioitertools" -version = "0.11.0" +version = "0.12.0" description = "itertools and builtins for AsyncIO and mixed iterables" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "aioitertools-0.11.0-py3-none-any.whl", hash = "sha256:04b95e3dab25b449def24d7df809411c10e62aab0cbe31a50ca4e68748c43394"}, - {file = "aioitertools-0.11.0.tar.gz", hash = "sha256:42c68b8dd3a69c2bf7f2233bf7df4bb58b557bca5252ac02ed5187bbc67d6831"}, + {file = "aioitertools-0.12.0-py3-none-any.whl", hash = "sha256:fc1f5fac3d737354de8831cbba3eb04f79dd649d8f3afb4c5b114925e662a796"}, + {file = "aioitertools-0.12.0.tar.gz", hash = "sha256:c2a9055b4fbb7705f561b9d86053e8af5d10cc845d22c32008c43490b2d8dd6b"}, ] +[package.extras] +dev = ["attribution (==1.8.0)", "black (==24.8.0)", "build (>=1.2)", "coverage (==7.6.1)", "flake8 (==7.1.1)", "flit (==3.9.0)", "mypy (==1.11.2)", "ufmt (==2.7.1)", "usort (==1.0.8.post1)"] +docs = ["sphinx (==8.0.2)", "sphinx-mdinclude (==0.6.2)"] + [[package]] name = "aiosignal" version = "1.3.1" @@ -206,13 +226,13 @@ dev = ["pytest", "pytest-asyncio", "pytest-cov"] [[package]] name = "anyio" -version = "4.4.0" +version = "4.6.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "anyio-4.4.0-py3-none-any.whl", hash = "sha256:c1b2d8f46a8a812513012e1107cb0e68c17159a7a594208005a57dc776e1bdc7"}, - {file = "anyio-4.4.0.tar.gz", hash = "sha256:5aadc6a1bbb7cdb0bede386cac5e2940f5e2ff3aa20277e991cf028e0585ce94"}, + {file = "anyio-4.6.0-py3-none-any.whl", hash = "sha256:c7d2e9d63e31599eeb636c8c5c03a7e108d73b345f064f1c19fdc87b79036a9a"}, + {file = "anyio-4.6.0.tar.gz", hash = "sha256:137b4559cbb034c477165047febb6ff83f390fc3b20bf181c1fc0a728cb8beeb"}, ] [package.dependencies] @@ -220,9 +240,9 @@ idna = ">=2.8" sniffio = ">=1.1" [package.extras] -doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] -test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"] -trio = ["trio (>=0.23)"] +doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] +test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.21.0b1)"] +trio = ["trio (>=0.26.1)"] [[package]] name = "arrow" @@ -245,13 +265,13 @@ test = ["dateparser (==1.*)", "pre-commit", "pytest", "pytest-cov", "pytest-mock [[package]] name = "astroid" -version = "3.2.4" +version = "3.3.4" description = "An abstract syntax tree for Python with inference support." optional = false -python-versions = ">=3.8.0" +python-versions = ">=3.9.0" files = [ - {file = "astroid-3.2.4-py3-none-any.whl", hash = "sha256:413658a61eeca6202a59231abb473f932038fbcbf1666587f66d482083413a25"}, - {file = "astroid-3.2.4.tar.gz", hash = "sha256:0e14202810b30da1b735827f78f5157be2bbd4a7a59b7707ca0bfc2fb4c0063a"}, + {file = "astroid-3.3.4-py3-none-any.whl", hash = "sha256:5eba185467253501b62a9f113c263524b4f5d55e1b30456370eed4cdbd6438fd"}, + {file = "astroid-3.3.4.tar.gz", hash = "sha256:e73d0b62dd680a7c07cb2cd0ce3c22570b044dd01bd994bc3a2dd16c6cbba162"}, ] [[package]] @@ -802,13 +822,13 @@ crt = ["awscrt (==0.19.19)"] [[package]] name = "botocore-stubs" -version = "1.35.9" +version = "1.35.25" description = "Type annotations and code completion for botocore" optional = false python-versions = ">=3.8" files = [ - {file = "botocore_stubs-1.35.9-py3-none-any.whl", hash = "sha256:98c1d7ca0147cd88cc09f08425a2d58bd004232d211c4a4ca9febda6f3b20a85"}, - {file = "botocore_stubs-1.35.9.tar.gz", hash = "sha256:59ffbfcac1833990e6c586bff4fcf481ef01b4b88e6d65073d842f6aff84b92e"}, + {file = "botocore_stubs-1.35.25-py3-none-any.whl", hash = "sha256:ce69bb8e20845cf9d626dc94b84639e314e513cab34c9c7de5193da912a3c1f6"}, + {file = "botocore_stubs-1.35.25.tar.gz", hash = "sha256:6e721054da8f4d57d6c272fb7f1f5464c28453e14f98811915c0a4a38ae0b456"}, ] [package.dependencies] @@ -965,45 +985,45 @@ files = [ [[package]] name = "confluent-kafka" -version = "2.5.0" +version = "2.5.3" description = "Confluent's Python client for Apache Kafka" optional = false python-versions = "*" files = [ - {file = "confluent-kafka-2.5.0.tar.gz", hash = "sha256:551cabaade717bb56ec13eb860ce439bedbcf1c97f4a4aa26957572ed1bfa74f"}, - {file = "confluent_kafka-2.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5509a219128fb177fa4186a8669071cc52acd52eba436f339edb9063aabb486d"}, - {file = "confluent_kafka-2.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ff98d8fbe7d3671cac3e1b692c13f160cf508b525c110a89906ffabd1cc140fe"}, - {file = "confluent_kafka-2.5.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:72ffae4387d283cb5657b6381a893c7231c26a9b4248557e7f030de76156290a"}, - {file = "confluent_kafka-2.5.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:75873087fd1bd753e082f74ab97f68cc3a0765d6b600c2ac3d3a0beffbdc569d"}, - {file = "confluent_kafka-2.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:2af917f93ac3a0aa88e6bee9b2056c1c176621e4a9c8f7051cc8646b81f91327"}, - {file = "confluent_kafka-2.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:efc8c48d5dbbcd1b56afe737df8156a74e62b50481ccffe581b9926eaa16c014"}, - {file = "confluent_kafka-2.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7b9f867c7e955a48ed60dee0da9c157b0f84e67724f7e42591bbcf6867e3865f"}, - {file = "confluent_kafka-2.5.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:b064baf6a93ab58199e63bddf73d9f2c855b89cc376d5313c2f89c633aa3254a"}, - {file = "confluent_kafka-2.5.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a55f3d761c8463c504012ad9b06be33ef07f301f246e61d656cc927d35763f82"}, - {file = "confluent_kafka-2.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:c05a677b1dbdcf2a4532e2cf41e78d2e2ffb3a6829347caf2825f472cda59e69"}, - {file = "confluent_kafka-2.5.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:db987d8953d0d58a28a455e43a1da74a0e9dec7a12a74f5abd85a7cb308aefd4"}, - {file = "confluent_kafka-2.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7d828ebb45db153cd462e72c575f8683c2c56ddba62b282aa36d9c365847e212"}, - {file = "confluent_kafka-2.5.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:fb863f76605e9bbbb1d7f02abf05899cf1435421aa721a5be212c600bd054aa3"}, - {file = "confluent_kafka-2.5.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:92efb98908e29f597c77ab97faa064f670b681f4540c3eabc415b8a6e58df9bf"}, - {file = "confluent_kafka-2.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:d668b5c426af595271bf6fce2917a6c3a15453656077a59db85f440958b5ccc2"}, - {file = "confluent_kafka-2.5.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:797250f1a66024dd8b1c94764cc75e1d7bd1b7224a0b982678eafbb39714874e"}, - {file = "confluent_kafka-2.5.0-cp36-cp36m-manylinux_2_28_aarch64.whl", hash = "sha256:e81dc0a2980e597848b73983ce6e0b4ae7d129c01370cd9f31599c15c5d02a5d"}, - {file = "confluent_kafka-2.5.0-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:ffda33c86f5fee6ae678cca039915a0c4c1863bbc592b6f2f82abfddc173b0d3"}, - {file = "confluent_kafka-2.5.0-cp36-cp36m-win_amd64.whl", hash = "sha256:7410bd5b0d6f54df5fa3313c75801a6ebcfab7cbfb947c3f56149e38b0fe924c"}, - {file = "confluent_kafka-2.5.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:9a29dc4b7d4a754037d7d8e3ad1873a27b16e7de8c0a06755456b20803a70b16"}, - {file = "confluent_kafka-2.5.0-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:089b68a43c3b911356a4ff08fa862245f1333387b79221ac7f60d99e5b4e24d6"}, - {file = "confluent_kafka-2.5.0-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:c3a17ebdd97c803cf369c8615a474ca0bea39b5f5944e51f1c320aee8d6d5da9"}, - {file = "confluent_kafka-2.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:151656afaeb623b46c042a752091d8b17fd05ff7d309be6d8b4953b8dc0783bc"}, - {file = "confluent_kafka-2.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:570fc091cdcf9d1baf90c5f4965322cea8185ba8698d0f02cd1c8bd38bf6664a"}, - {file = "confluent_kafka-2.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:bd57edf51434d6ec289339a0c9b627ca1f1e7c1130e348c0b411407183db53c6"}, - {file = "confluent_kafka-2.5.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:8975fea2ccd6927aad188e198e1688ef16589dc36b42f7a33ad07b1ca1341901"}, - {file = "confluent_kafka-2.5.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:7c0b1a7774905c9e3c24d09d9b8463d771685e4105150c2503185537a6a590f9"}, - {file = "confluent_kafka-2.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:eaf01cd79b4d2cdbdf1e7b6ace9c846ae9ad9f4cf573617bbb5735a5c48cbd20"}, - {file = "confluent_kafka-2.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fa789332fd40a9e99b9388f87f28db8fc7dd8ca54a1d24d0bcd0ad33f50f3528"}, - {file = "confluent_kafka-2.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e917db155dc3a64e1496b293a3ceb0a8edf23e0bd6f93d43576c40f0c59d3067"}, - {file = "confluent_kafka-2.5.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:a8bb3af6d1f109aaac5514c65a46cac933d78b3935f6fea52fe1f2ea6a9951bf"}, - {file = "confluent_kafka-2.5.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:a1fb72461dcf7aa7e1834133eb733f824331aafda87ef48ec917d9b09c805a99"}, - {file = "confluent_kafka-2.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:4bda1b5fa87cb993bcd964d271a76cc11cafa2455de02ab5eff6efd9e688d55e"}, + {file = "confluent-kafka-2.5.3.tar.gz", hash = "sha256:eca625b0a8742d864a954bbe6493d453c07bacedf9e10d71a54dd1047f775778"}, + {file = "confluent_kafka-2.5.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8a1a2a8756b2c1cd2654ea83d1e819a6e2c0a4337eacec50bfd2ab1f0c24a29c"}, + {file = "confluent_kafka-2.5.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c284eefed1b27133d90afc0fa2fd735864db8501190f3c2e0c8d8b1a20b07759"}, + {file = "confluent_kafka-2.5.3-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:46c6063726fcdae835902961bb6c0e4c148499b87fdd513e6b2a6b406922ae3e"}, + {file = "confluent_kafka-2.5.3-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:505078b402dde98dc06dc66b6356acd19984742ef6b82dd52fb860f2a14b5a57"}, + {file = "confluent_kafka-2.5.3-cp310-cp310-win_amd64.whl", hash = "sha256:db30418bb36723a02ba51e058312056d0403c5f245beb379bff66e4b0c14337b"}, + {file = "confluent_kafka-2.5.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4dd5fa74231fc21c3a26eeda1999a27f84768a6291a8b04c3cd61ac1deea4ace"}, + {file = "confluent_kafka-2.5.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ac8b5fe45ee9c11ce7a516dc7c41441ebb17d9ff63c8646a59b8e52bd791b154"}, + {file = "confluent_kafka-2.5.3-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:7125c3f86a76136b25aa21c94303b33709e2dd15f777395ea81fbd6872d9147b"}, + {file = "confluent_kafka-2.5.3-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:8ec7a407bcb2eb122ff159d602cedc41d858f4c66a436c778f5d2f9f15fbec4e"}, + {file = "confluent_kafka-2.5.3-cp311-cp311-win_amd64.whl", hash = "sha256:4cfb18d69e6912fe90cbbcc9c7d805988122c51ab3041e1424ace64bc31b736f"}, + {file = "confluent_kafka-2.5.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:8d86de3e2c7bb59fb16faea468e833712912106f32a3a3ec345088c366042734"}, + {file = "confluent_kafka-2.5.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e9ffb298b3ea3477afdaa5da6033d35dc0be01b10537d9b63994411e79b41477"}, + {file = "confluent_kafka-2.5.3-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:61a92637bea8fca454ec711f46e7753647deb7da56132995103acb5eb5041a29"}, + {file = "confluent_kafka-2.5.3-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:3daad72791ae06dec257c9105278e89ae0924e86ef107a1acb443106f002f361"}, + {file = "confluent_kafka-2.5.3-cp312-cp312-win_amd64.whl", hash = "sha256:f626494cd6ad18fa2ed83f80d687bc0194cff6f61b3d4f2aa183efa23ede2e02"}, + {file = "confluent_kafka-2.5.3-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f034f13c08ba238154d818294ceabb2257e8df8fb6489f891ec7600c7c541553"}, + {file = "confluent_kafka-2.5.3-cp36-cp36m-manylinux_2_28_aarch64.whl", hash = "sha256:806c43fd1524034a9b6c958b4f9395ff5f56ef697218a336eac1da5006184f66"}, + {file = "confluent_kafka-2.5.3-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:0cdb150c12d5ac6e33572cbf16243284c65a178e3719baa610a48d672e9d92bf"}, + {file = "confluent_kafka-2.5.3-cp36-cp36m-win_amd64.whl", hash = "sha256:a2ed265bf3420811efd802fd8ebf5ec0f20a82e9baeff5299a67f6a84dde1b06"}, + {file = "confluent_kafka-2.5.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:27d048429b138667c51541adc04bb398afa61a37a7be89f16ff9a318019d02c6"}, + {file = "confluent_kafka-2.5.3-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:eb80c22a7ca17839f229f299bafca1450c9fe4d5ca222e60e52428df91d42b56"}, + {file = "confluent_kafka-2.5.3-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:5122b8e9f94b6160d47e8f0020857376caa21f715b95c4b13c68683b47260c8f"}, + {file = "confluent_kafka-2.5.3-cp37-cp37m-win_amd64.whl", hash = "sha256:3b69c3120e0cac9ca463ca603ddc9d4e811409ef4ec69d2b6bb8bd94d6fce95e"}, + {file = "confluent_kafka-2.5.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a6f152e704b01c6a726233d081921454b7de106a5e4036994d1d5f4b34e7e46f"}, + {file = "confluent_kafka-2.5.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2b8eef8c2f963ca6f5fcc79a0d6edef4e25fba83dfc0ef3f0401e1644f60ff11"}, + {file = "confluent_kafka-2.5.3-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:0751302b0fd8090cbca92d7d34d237768923107b30de2611f3db93c2118cf2a8"}, + {file = "confluent_kafka-2.5.3-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:0e0cb3b18a59d1c6fcae60297ee25b5c65d5c39c8ad8033a8fa1392498a71c9e"}, + {file = "confluent_kafka-2.5.3-cp38-cp38-win_amd64.whl", hash = "sha256:0b14928cddba963ea7d1c66aa268b6d37976bc91b4cf2100b5b7336d848ced22"}, + {file = "confluent_kafka-2.5.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:dae80e9e1e4417462fe61f64da0ab111395719e35c9f7f3eac7c671ff5e868fe"}, + {file = "confluent_kafka-2.5.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:75e1da68b199ef2472e47785d9a5c2dc75d307ed78827ad929bb733728b18567"}, + {file = "confluent_kafka-2.5.3-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:fa2318eaa9b2d5f3ebc2022b71e4ebf6242c13963b4faccf46eea49fea0ad91f"}, + {file = "confluent_kafka-2.5.3-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:490836e9fc3b4489721327e3df987c8667916a97d178e2296913c8d5de6623a9"}, + {file = "confluent_kafka-2.5.3-cp39-cp39-win_amd64.whl", hash = "sha256:cfabe291cda68fdc3136f2f367dd4e5a6c3750113785f0c1936ba9cae09f4e9d"}, ] [package.extras] @@ -1335,15 +1355,18 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "idna" -version = "3.8" +version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.6" files = [ - {file = "idna-3.8-py3-none-any.whl", hash = "sha256:050b4e5baadcd44d760cedbd2b8e639f2ff89bbc7a5730fcc662954303377aac"}, - {file = "idna-3.8.tar.gz", hash = "sha256:d838c2c0ed6fced7693d5e8ab8e734d5f8fda53a039c0164afb0b82e771e3603"}, + {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, + {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, ] +[package.extras] +all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] + [[package]] name = "incremental" version = "24.7.2" @@ -1564,101 +1587,103 @@ files = [ [[package]] name = "multidict" -version = "6.0.5" +version = "6.1.0" description = "multidict implementation" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:228b644ae063c10e7f324ab1ab6b548bdf6f8b47f3ec234fef1093bc2735e5f9"}, - {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:896ebdcf62683551312c30e20614305f53125750803b614e9e6ce74a96232604"}, - {file = "multidict-6.0.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:411bf8515f3be9813d06004cac41ccf7d1cd46dfe233705933dd163b60e37600"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d147090048129ce3c453f0292e7697d333db95e52616b3793922945804a433c"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:215ed703caf15f578dca76ee6f6b21b7603791ae090fbf1ef9d865571039ade5"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c6390cf87ff6234643428991b7359b5f59cc15155695deb4eda5c777d2b880f"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fd81c4ebdb4f214161be351eb5bcf385426bf023041da2fd9e60681f3cebae"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3cc2ad10255f903656017363cd59436f2111443a76f996584d1077e43ee51182"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6939c95381e003f54cd4c5516740faba40cf5ad3eeff460c3ad1d3e0ea2549bf"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:220dd781e3f7af2c2c1053da9fa96d9cf3072ca58f057f4c5adaaa1cab8fc442"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:766c8f7511df26d9f11cd3a8be623e59cca73d44643abab3f8c8c07620524e4a"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:fe5d7785250541f7f5019ab9cba2c71169dc7d74d0f45253f8313f436458a4ef"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c1c1496e73051918fcd4f58ff2e0f2f3066d1c76a0c6aeffd9b45d53243702cc"}, - {file = "multidict-6.0.5-cp310-cp310-win32.whl", hash = "sha256:7afcdd1fc07befad18ec4523a782cde4e93e0a2bf71239894b8d61ee578c1319"}, - {file = "multidict-6.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:99f60d34c048c5c2fabc766108c103612344c46e35d4ed9ae0673d33c8fb26e8"}, - {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f285e862d2f153a70586579c15c44656f888806ed0e5b56b64489afe4a2dbfba"}, - {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:53689bb4e102200a4fafa9de9c7c3c212ab40a7ab2c8e474491914d2305f187e"}, - {file = "multidict-6.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:612d1156111ae11d14afaf3a0669ebf6c170dbb735e510a7438ffe2369a847fd"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7be7047bd08accdb7487737631d25735c9a04327911de89ff1b26b81745bd4e3"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de170c7b4fe6859beb8926e84f7d7d6c693dfe8e27372ce3b76f01c46e489fcf"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04bde7a7b3de05732a4eb39c94574db1ec99abb56162d6c520ad26f83267de29"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85f67aed7bb647f93e7520633d8f51d3cbc6ab96957c71272b286b2f30dc70ed"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425bf820055005bfc8aa9a0b99ccb52cc2f4070153e34b701acc98d201693733"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d3eb1ceec286eba8220c26f3b0096cf189aea7057b6e7b7a2e60ed36b373b77f"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7901c05ead4b3fb75113fb1dd33eb1253c6d3ee37ce93305acd9d38e0b5f21a4"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e0e79d91e71b9867c73323a3444724d496c037e578a0e1755ae159ba14f4f3d1"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:29bfeb0dff5cb5fdab2023a7a9947b3b4af63e9c47cae2a10ad58394b517fddc"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e030047e85cbcedbfc073f71836d62dd5dadfbe7531cae27789ff66bc551bd5e"}, - {file = "multidict-6.0.5-cp311-cp311-win32.whl", hash = "sha256:2f4848aa3baa109e6ab81fe2006c77ed4d3cd1e0ac2c1fbddb7b1277c168788c"}, - {file = "multidict-6.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:2faa5ae9376faba05f630d7e5e6be05be22913782b927b19d12b8145968a85ea"}, - {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:51d035609b86722963404f711db441cf7134f1889107fb171a970c9701f92e1e"}, - {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cbebcd5bcaf1eaf302617c114aa67569dd3f090dd0ce8ba9e35e9985b41ac35b"}, - {file = "multidict-6.0.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2ffc42c922dbfddb4a4c3b438eb056828719f07608af27d163191cb3e3aa6cc5"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ceb3b7e6a0135e092de86110c5a74e46bda4bd4fbfeeb3a3bcec79c0f861e450"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:79660376075cfd4b2c80f295528aa6beb2058fd289f4c9252f986751a4cd0496"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4428b29611e989719874670fd152b6625500ad6c686d464e99f5aaeeaca175a"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d84a5c3a5f7ce6db1f999fb9438f686bc2e09d38143f2d93d8406ed2dd6b9226"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76c0de87358b192de7ea9649beb392f107dcad9ad27276324c24c91774ca5271"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:79a6d2ba910adb2cbafc95dad936f8b9386e77c84c35bc0add315b856d7c3abb"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:92d16a3e275e38293623ebf639c471d3e03bb20b8ebb845237e0d3664914caef"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:fb616be3538599e797a2017cccca78e354c767165e8858ab5116813146041a24"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:14c2976aa9038c2629efa2c148022ed5eb4cb939e15ec7aace7ca932f48f9ba6"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:435a0984199d81ca178b9ae2c26ec3d49692d20ee29bc4c11a2a8d4514c67eda"}, - {file = "multidict-6.0.5-cp312-cp312-win32.whl", hash = "sha256:9fe7b0653ba3d9d65cbe7698cca585bf0f8c83dbbcc710db9c90f478e175f2d5"}, - {file = "multidict-6.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:01265f5e40f5a17f8241d52656ed27192be03bfa8764d88e8220141d1e4b3556"}, - {file = "multidict-6.0.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:19fe01cea168585ba0f678cad6f58133db2aa14eccaf22f88e4a6dccadfad8b3"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bf7a982604375a8d49b6cc1b781c1747f243d91b81035a9b43a2126c04766f5"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:107c0cdefe028703fb5dafe640a409cb146d44a6ae201e55b35a4af8e95457dd"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:403c0911cd5d5791605808b942c88a8155c2592e05332d2bf78f18697a5fa15e"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aeaf541ddbad8311a87dd695ed9642401131ea39ad7bc8cf3ef3967fd093b626"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e4972624066095e52b569e02b5ca97dbd7a7ddd4294bf4e7247d52635630dd83"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d946b0a9eb8aaa590df1fe082cee553ceab173e6cb5b03239716338629c50c7a"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b55358304d7a73d7bdf5de62494aaf70bd33015831ffd98bc498b433dfe5b10c"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:a3145cb08d8625b2d3fee1b2d596a8766352979c9bffe5d7833e0503d0f0b5e5"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d65f25da8e248202bd47445cec78e0025c0fe7582b23ec69c3b27a640dd7a8e3"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c9bf56195c6bbd293340ea82eafd0071cb3d450c703d2c93afb89f93b8386ccc"}, - {file = "multidict-6.0.5-cp37-cp37m-win32.whl", hash = "sha256:69db76c09796b313331bb7048229e3bee7928eb62bab5e071e9f7fcc4879caee"}, - {file = "multidict-6.0.5-cp37-cp37m-win_amd64.whl", hash = "sha256:fce28b3c8a81b6b36dfac9feb1de115bab619b3c13905b419ec71d03a3fc1423"}, - {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:76f067f5121dcecf0d63a67f29080b26c43c71a98b10c701b0677e4a065fbd54"}, - {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b82cc8ace10ab5bd93235dfaab2021c70637005e1ac787031f4d1da63d493c1d"}, - {file = "multidict-6.0.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5cb241881eefd96b46f89b1a056187ea8e9ba14ab88ba632e68d7a2ecb7aadf7"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8e94e6912639a02ce173341ff62cc1201232ab86b8a8fcc05572741a5dc7d93"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09a892e4a9fb47331da06948690ae38eaa2426de97b4ccbfafbdcbe5c8f37ff8"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55205d03e8a598cfc688c71ca8ea5f66447164efff8869517f175ea632c7cb7b"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37b15024f864916b4951adb95d3a80c9431299080341ab9544ed148091b53f50"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2a1dee728b52b33eebff5072817176c172050d44d67befd681609b4746e1c2e"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:edd08e6f2f1a390bf137080507e44ccc086353c8e98c657e666c017718561b89"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:60d698e8179a42ec85172d12f50b1668254628425a6bd611aba022257cac1386"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:3d25f19500588cbc47dc19081d78131c32637c25804df8414463ec908631e453"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:4cc0ef8b962ac7a5e62b9e826bd0cd5040e7d401bc45a6835910ed699037a461"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:eca2e9d0cc5a889850e9bbd68e98314ada174ff6ccd1129500103df7a94a7a44"}, - {file = "multidict-6.0.5-cp38-cp38-win32.whl", hash = "sha256:4a6a4f196f08c58c59e0b8ef8ec441d12aee4125a7d4f4fef000ccb22f8d7241"}, - {file = "multidict-6.0.5-cp38-cp38-win_amd64.whl", hash = "sha256:0275e35209c27a3f7951e1ce7aaf93ce0d163b28948444bec61dd7badc6d3f8c"}, - {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e7be68734bd8c9a513f2b0cfd508802d6609da068f40dc57d4e3494cefc92929"}, - {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1d9ea7a7e779d7a3561aade7d596649fbecfa5c08a7674b11b423783217933f9"}, - {file = "multidict-6.0.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ea1456df2a27c73ce51120fa2f519f1bea2f4a03a917f4a43c8707cf4cbbae1a"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf590b134eb70629e350691ecca88eac3e3b8b3c86992042fb82e3cb1830d5e1"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5c0631926c4f58e9a5ccce555ad7747d9a9f8b10619621f22f9635f069f6233e"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dce1c6912ab9ff5f179eaf6efe7365c1f425ed690b03341911bf4939ef2f3046"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0868d64af83169e4d4152ec612637a543f7a336e4a307b119e98042e852ad9c"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:141b43360bfd3bdd75f15ed811850763555a251e38b2405967f8e25fb43f7d40"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7df704ca8cf4a073334e0427ae2345323613e4df18cc224f647f251e5e75a527"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6214c5a5571802c33f80e6c84713b2c79e024995b9c5897f794b43e714daeec9"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd6c8fca38178e12c00418de737aef1261576bd1b6e8c6134d3e729a4e858b38"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e02021f87a5b6932fa6ce916ca004c4d441509d33bbdbeca70d05dff5e9d2479"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ebd8d160f91a764652d3e51ce0d2956b38efe37c9231cd82cfc0bed2e40b581c"}, - {file = "multidict-6.0.5-cp39-cp39-win32.whl", hash = "sha256:04da1bb8c8dbadf2a18a452639771951c662c5ad03aefe4884775454be322c9b"}, - {file = "multidict-6.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:d6f6d4f185481c9669b9447bf9d9cf3b95a0e9df9d169bbc17e363b7d5487755"}, - {file = "multidict-6.0.5-py3-none-any.whl", hash = "sha256:0d63c74e3d7ab26de115c49bffc92cc77ed23395303d496eae515d4204a625e7"}, - {file = "multidict-6.0.5.tar.gz", hash = "sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da"}, + {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3380252550e372e8511d49481bd836264c009adb826b23fefcc5dd3c69692f60"}, + {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:99f826cbf970077383d7de805c0681799491cb939c25450b9b5b3ced03ca99f1"}, + {file = "multidict-6.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a114d03b938376557927ab23f1e950827c3b893ccb94b62fd95d430fd0e5cf53"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1c416351ee6271b2f49b56ad7f308072f6f44b37118d69c2cad94f3fa8a40d5"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b5d83030255983181005e6cfbac1617ce9746b219bc2aad52201ad121226581"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e97b5e938051226dc025ec80980c285b053ffb1e25a3db2a3aa3bc046bf7f56"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d618649d4e70ac6efcbba75be98b26ef5078faad23592f9b51ca492953012429"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10524ebd769727ac77ef2278390fb0068d83f3acb7773792a5080f2b0abf7748"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ff3827aef427c89a25cc96ded1759271a93603aba9fb977a6d264648ebf989db"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:06809f4f0f7ab7ea2cabf9caca7d79c22c0758b58a71f9d32943ae13c7ace056"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f179dee3b863ab1c59580ff60f9d99f632f34ccb38bf67a33ec6b3ecadd0fd76"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:aaed8b0562be4a0876ee3b6946f6869b7bcdb571a5d1496683505944e268b160"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3c8b88a2ccf5493b6c8da9076fb151ba106960a2df90c2633f342f120751a9e7"}, + {file = "multidict-6.1.0-cp310-cp310-win32.whl", hash = "sha256:4a9cb68166a34117d6646c0023c7b759bf197bee5ad4272f420a0141d7eb03a0"}, + {file = "multidict-6.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:20b9b5fbe0b88d0bdef2012ef7dee867f874b72528cf1d08f1d59b0e3850129d"}, + {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3efe2c2cb5763f2f1b275ad2bf7a287d3f7ebbef35648a9726e3b69284a4f3d6"}, + {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7053d3b0353a8b9de430a4f4b4268ac9a4fb3481af37dfe49825bf45ca24156"}, + {file = "multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27e5fc84ccef8dfaabb09d82b7d179c7cf1a3fbc8a966f8274fcb4ab2eb4cadb"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e2b90b43e696f25c62656389d32236e049568b39320e2735d51f08fd362761b"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d83a047959d38a7ff552ff94be767b7fd79b831ad1cd9920662db05fec24fe72"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1a9dd711d0877a1ece3d2e4fea11a8e75741ca21954c919406b44e7cf971304"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec2abea24d98246b94913b76a125e855eb5c434f7c46546046372fe60f666351"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4867cafcbc6585e4b678876c489b9273b13e9fff9f6d6d66add5e15d11d926cb"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b48204e8d955c47c55b72779802b219a39acc3ee3d0116d5080c388970b76e3"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d8fff389528cad1618fb4b26b95550327495462cd745d879a8c7c2115248e399"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a7a9541cd308eed5e30318430a9c74d2132e9a8cb46b901326272d780bf2d423"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:da1758c76f50c39a2efd5e9859ce7d776317eb1dd34317c8152ac9251fc574a3"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c943a53e9186688b45b323602298ab727d8865d8c9ee0b17f8d62d14b56f0753"}, + {file = "multidict-6.1.0-cp311-cp311-win32.whl", hash = "sha256:90f8717cb649eea3504091e640a1b8568faad18bd4b9fcd692853a04475a4b80"}, + {file = "multidict-6.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:82176036e65644a6cc5bd619f65f6f19781e8ec2e5330f51aa9ada7504cc1926"}, + {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b04772ed465fa3cc947db808fa306d79b43e896beb677a56fb2347ca1a49c1fa"}, + {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6180c0ae073bddeb5a97a38c03f30c233e0a4d39cd86166251617d1bbd0af436"}, + {file = "multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:071120490b47aa997cca00666923a83f02c7fbb44f71cf7f136df753f7fa8761"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50b3a2710631848991d0bf7de077502e8994c804bb805aeb2925a981de58ec2e"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b58c621844d55e71c1b7f7c498ce5aa6985d743a1a59034c57a905b3f153c1ef"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55b6d90641869892caa9ca42ff913f7ff1c5ece06474fbd32fb2cf6834726c95"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b820514bfc0b98a30e3d85462084779900347e4d49267f747ff54060cc33925"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10a9b09aba0c5b48c53761b7c720aaaf7cf236d5fe394cd399c7ba662d5f9966"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e16bf3e5fc9f44632affb159d30a437bfe286ce9e02754759be5536b169b305"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76f364861c3bfc98cbbcbd402d83454ed9e01a5224bb3a28bf70002a230f73e2"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:820c661588bd01a0aa62a1283f20d2be4281b086f80dad9e955e690c75fb54a2"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e5f362e895bc5b9e67fe6e4ded2492d8124bdf817827f33c5b46c2fe3ffaca6"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ec660d19bbc671e3a6443325f07263be452c453ac9e512f5eb935e7d4ac28b3"}, + {file = "multidict-6.1.0-cp312-cp312-win32.whl", hash = "sha256:58130ecf8f7b8112cdb841486404f1282b9c86ccb30d3519faf301b2e5659133"}, + {file = "multidict-6.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:188215fc0aafb8e03341995e7c4797860181562380f81ed0a87ff455b70bf1f1"}, + {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d569388c381b24671589335a3be6e1d45546c2988c2ebe30fdcada8457a31008"}, + {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:052e10d2d37810b99cc170b785945421141bf7bb7d2f8799d431e7db229c385f"}, + {file = "multidict-6.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f90c822a402cb865e396a504f9fc8173ef34212a342d92e362ca498cad308e28"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b225d95519a5bf73860323e633a664b0d85ad3d5bede6d30d95b35d4dfe8805b"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23bfd518810af7de1116313ebd9092cb9aa629beb12f6ed631ad53356ed6b86c"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c09fcfdccdd0b57867577b719c69e347a436b86cd83747f179dbf0cc0d4c1f3"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf6bea52ec97e95560af5ae576bdac3aa3aae0b6758c6efa115236d9e07dae44"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57feec87371dbb3520da6192213c7d6fc892d5589a93db548331954de8248fd2"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0c3f390dc53279cbc8ba976e5f8035eab997829066756d811616b652b00a23a3"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:59bfeae4b25ec05b34f1956eaa1cb38032282cd4dfabc5056d0a1ec4d696d3aa"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f59caeaf7632cc633b5cf6fc449372b83bbdf0da4ae04d5be36118e46cc0aa"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:37bb93b2178e02b7b618893990941900fd25b6b9ac0fa49931a40aecdf083fe4"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4e9f48f58c2c523d5a06faea47866cd35b32655c46b443f163d08c6d0ddb17d6"}, + {file = "multidict-6.1.0-cp313-cp313-win32.whl", hash = "sha256:3a37ffb35399029b45c6cc33640a92bef403c9fd388acce75cdc88f58bd19a81"}, + {file = "multidict-6.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:e9aa71e15d9d9beaad2c6b9319edcdc0a49a43ef5c0a4c8265ca9ee7d6c67774"}, + {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:db7457bac39421addd0c8449933ac32d8042aae84a14911a757ae6ca3eef1392"}, + {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d094ddec350a2fb899fec68d8353c78233debde9b7d8b4beeafa70825f1c281a"}, + {file = "multidict-6.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5845c1fd4866bb5dd3125d89b90e57ed3138241540897de748cdf19de8a2fca2"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9079dfc6a70abe341f521f78405b8949f96db48da98aeb43f9907f342f627cdc"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3914f5aaa0f36d5d60e8ece6a308ee1c9784cd75ec8151062614657a114c4478"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c08be4f460903e5a9d0f76818db3250f12e9c344e79314d1d570fc69d7f4eae4"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d093be959277cb7dee84b801eb1af388b6ad3ca6a6b6bf1ed7585895789d027d"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3702ea6872c5a2a4eeefa6ffd36b042e9773f05b1f37ae3ef7264b1163c2dcf6"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2090f6a85cafc5b2db085124d752757c9d251548cedabe9bd31afe6363e0aff2"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:f67f217af4b1ff66c68a87318012de788dd95fcfeb24cc889011f4e1c7454dfd"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:189f652a87e876098bbc67b4da1049afb5f5dfbaa310dd67c594b01c10388db6"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:6bb5992037f7a9eff7991ebe4273ea7f51f1c1c511e6a2ce511d0e7bdb754492"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f4c2b9e770c4e393876e35a7046879d195cd123b4f116d299d442b335bcd"}, + {file = "multidict-6.1.0-cp38-cp38-win32.whl", hash = "sha256:e27bbb6d14416713a8bd7aaa1313c0fc8d44ee48d74497a0ff4c3a1b6ccb5167"}, + {file = "multidict-6.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:22f3105d4fb15c8f57ff3959a58fcab6ce36814486500cd7485651230ad4d4ef"}, + {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4e18b656c5e844539d506a0a06432274d7bd52a7487e6828c63a63d69185626c"}, + {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a185f876e69897a6f3325c3f19f26a297fa058c5e456bfcff8015e9a27e83ae1"}, + {file = "multidict-6.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab7c4ceb38d91570a650dba194e1ca87c2b543488fe9309b4212694174fd539c"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e617fb6b0b6953fffd762669610c1c4ffd05632c138d61ac7e14ad187870669c"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:16e5f4bf4e603eb1fdd5d8180f1a25f30056f22e55ce51fb3d6ad4ab29f7d96f"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4c035da3f544b1882bac24115f3e2e8760f10a0107614fc9839fd232200b875"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:957cf8e4b6e123a9eea554fa7ebc85674674b713551de587eb318a2df3e00255"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:483a6aea59cb89904e1ceabd2b47368b5600fb7de78a6e4a2c2987b2d256cf30"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:87701f25a2352e5bf7454caa64757642734da9f6b11384c1f9d1a8e699758057"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:682b987361e5fd7a139ed565e30d81fd81e9629acc7d925a205366877d8c8657"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce2186a7df133a9c895dea3331ddc5ddad42cdd0d1ea2f0a51e5d161e4762f28"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9f636b730f7e8cb19feb87094949ba54ee5357440b9658b2a32a5ce4bce53972"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:73eae06aa53af2ea5270cc066dcaf02cc60d2994bbb2c4ef5764949257d10f43"}, + {file = "multidict-6.1.0-cp39-cp39-win32.whl", hash = "sha256:1ca0083e80e791cffc6efce7660ad24af66c8d4079d2a750b29001b53ff59ada"}, + {file = "multidict-6.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:aa466da5b15ccea564bdab9c89175c762bc12825f4659c11227f515cee76fa4a"}, + {file = "multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506"}, + {file = "multidict-6.1.0.tar.gz", hash = "sha256:22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a"}, ] [[package]] @@ -2148,19 +2173,19 @@ files = [ [[package]] name = "platformdirs" -version = "4.2.2" +version = "4.3.6" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.8" files = [ - {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, - {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, + {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, + {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, ] [package.extras] -docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] -type = ["mypy (>=1.8)"] +docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] +type = ["mypy (>=1.11.2)"] [[package]] name = "pluggy" @@ -2325,17 +2350,17 @@ files = [ [[package]] name = "pylint" -version = "3.2.6" +version = "3.3.1" description = "python code static checker" optional = false -python-versions = ">=3.8.0" +python-versions = ">=3.9.0" files = [ - {file = "pylint-3.2.6-py3-none-any.whl", hash = "sha256:03c8e3baa1d9fb995b12c1dbe00aa6c4bcef210c2a2634374aedeb22fb4a8f8f"}, - {file = "pylint-3.2.6.tar.gz", hash = "sha256:a5d01678349454806cff6d886fb072294f56a58c4761278c97fb557d708e1eb3"}, + {file = "pylint-3.3.1-py3-none-any.whl", hash = "sha256:2f846a466dd023513240bc140ad2dd73bfc080a5d85a710afdb728c420a5a2b9"}, + {file = "pylint-3.3.1.tar.gz", hash = "sha256:9f3dcc87b1203e612b78d91a896407787e708b3f189b5fa0b307712d49ff0c6e"}, ] [package.dependencies] -astroid = ">=3.2.4,<=3.3.0-dev0" +astroid = ">=3.3.4,<=3.4.0-dev0" colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} dill = [ {version = ">=0.3.7", markers = "python_version >= \"3.12\""}, @@ -2352,13 +2377,13 @@ testutils = ["gitpython (>3)"] [[package]] name = "pytest" -version = "8.3.2" +version = "8.3.3" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" files = [ - {file = "pytest-8.3.2-py3-none-any.whl", hash = "sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5"}, - {file = "pytest-8.3.2.tar.gz", hash = "sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce"}, + {file = "pytest-8.3.3-py3-none-any.whl", hash = "sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2"}, + {file = "pytest-8.3.3.tar.gz", hash = "sha256:70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181"}, ] [package.dependencies] @@ -2390,21 +2415,21 @@ testing = ["coverage (>=6.2)", "hypothesis (>=5.7.1)"] [[package]] name = "pytest-httpx" -version = "0.30.0" +version = "0.31.2" description = "Send responses to httpx." optional = false python-versions = ">=3.9" files = [ - {file = "pytest-httpx-0.30.0.tar.gz", hash = "sha256:755b8edca87c974dd4f3605c374fda11db84631de3d163b99c0df5807023a19a"}, - {file = "pytest_httpx-0.30.0-py3-none-any.whl", hash = "sha256:6d47849691faf11d2532565d0c8e0e02b9f4ee730da31687feae315581d7520c"}, + {file = "pytest_httpx-0.31.2-py3-none-any.whl", hash = "sha256:aa996241bfc82e409a5c53f2a3dd14f395e7506f3883dbcd1d9de182df987510"}, + {file = "pytest_httpx-0.31.2.tar.gz", hash = "sha256:a44cc59bdb67c78d495d4349d96af18146bd09d5ff2f2f7f93523fd5cfcb0115"}, ] [package.dependencies] httpx = "==0.27.*" -pytest = ">=7,<9" +pytest = "==8.*" [package.extras] -testing = ["pytest-asyncio (==0.23.*)", "pytest-cov (==4.*)"] +testing = ["pytest-asyncio (==0.24.*)", "pytest-cov (==5.*)"] [[package]] name = "pytest-xdist" @@ -2456,18 +2481,15 @@ cli = ["click (>=5.0)"] [[package]] name = "python-multipart" -version = "0.0.9" +version = "0.0.10" description = "A streaming multipart parser for Python" optional = false python-versions = ">=3.8" files = [ - {file = "python_multipart-0.0.9-py3-none-any.whl", hash = "sha256:97ca7b8ea7b05f977dc3849c3ba99d51689822fab725c3703af7c866a0c2b215"}, - {file = "python_multipart-0.0.9.tar.gz", hash = "sha256:03f54688c663f1b7977105f021043b0793151e4cb1c1a9d4a11fc13d622c4026"}, + {file = "python_multipart-0.0.10-py3-none-any.whl", hash = "sha256:2b06ad9e8d50c7a8db80e3b56dab590137b323410605af2be20d62a5f1ba1dc8"}, + {file = "python_multipart-0.0.10.tar.gz", hash = "sha256:46eb3c6ce6fdda5fb1a03c7e11d490e407c6930a2703fe7aef4da71c374688fa"}, ] -[package.extras] -dev = ["atomicwrites (==1.4.1)", "attrs (==23.2.0)", "coverage (==7.4.1)", "hatch", "invoke (==2.2.0)", "more-itertools (==10.2.0)", "pbr (==6.0.0)", "pluggy (==1.4.0)", "py (==1.11.0)", "pytest (==8.0.0)", "pytest-cov (==4.1.0)", "pytest-timeout (==2.2.0)", "pyyaml (==6.0.1)", "ruff (==0.2.1)"] - [[package]] name = "python-slugify" version = "8.0.4" @@ -2570,13 +2592,13 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "rich" -version = "13.8.0" +version = "13.8.1" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" optional = false python-versions = ">=3.7.0" files = [ - {file = "rich-13.8.0-py3-none-any.whl", hash = "sha256:2e85306a063b9492dffc86278197a60cbece75bcb766022f3436f567cae11bdc"}, - {file = "rich-13.8.0.tar.gz", hash = "sha256:a5ac1f1cd448ade0d59cc3356f7db7a7ccda2c8cbae9c7a90c28ff463d3e91f4"}, + {file = "rich-13.8.1-py3-none-any.whl", hash = "sha256:1760a3c0848469b97b558fc61c85233e3dafb69c7a071b4d60c38099d3cd4c06"}, + {file = "rich-13.8.1.tar.gz", hash = "sha256:8260cda28e3db6bf04d2d1ef4dbc03ba80a824c88b0e7668a0f23126a424844a"}, ] [package.dependencies] @@ -2588,29 +2610,29 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] [[package]] name = "ruff" -version = "0.6.3" +version = "0.6.7" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.6.3-py3-none-linux_armv6l.whl", hash = "sha256:97f58fda4e309382ad30ede7f30e2791d70dd29ea17f41970119f55bdb7a45c3"}, - {file = "ruff-0.6.3-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:3b061e49b5cf3a297b4d1c27ac5587954ccb4ff601160d3d6b2f70b1622194dc"}, - {file = "ruff-0.6.3-py3-none-macosx_11_0_arm64.whl", hash = "sha256:34e2824a13bb8c668c71c1760a6ac7d795ccbd8d38ff4a0d8471fdb15de910b1"}, - {file = "ruff-0.6.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bddfbb8d63c460f4b4128b6a506e7052bad4d6f3ff607ebbb41b0aa19c2770d1"}, - {file = "ruff-0.6.3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ced3eeb44df75353e08ab3b6a9e113b5f3f996bea48d4f7c027bc528ba87b672"}, - {file = "ruff-0.6.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:47021dff5445d549be954eb275156dfd7c37222acc1e8014311badcb9b4ec8c1"}, - {file = "ruff-0.6.3-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:7d7bd20dc07cebd68cc8bc7b3f5ada6d637f42d947c85264f94b0d1cd9d87384"}, - {file = "ruff-0.6.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:500f166d03fc6d0e61c8e40a3ff853fa8a43d938f5d14c183c612df1b0d6c58a"}, - {file = "ruff-0.6.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:42844ff678f9b976366b262fa2d1d1a3fe76f6e145bd92c84e27d172e3c34500"}, - {file = "ruff-0.6.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70452a10eb2d66549de8e75f89ae82462159855e983ddff91bc0bce6511d0470"}, - {file = "ruff-0.6.3-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:65a533235ed55f767d1fc62193a21cbf9e3329cf26d427b800fdeacfb77d296f"}, - {file = "ruff-0.6.3-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:d2e2c23cef30dc3cbe9cc5d04f2899e7f5e478c40d2e0a633513ad081f7361b5"}, - {file = "ruff-0.6.3-py3-none-musllinux_1_2_i686.whl", hash = "sha256:d8a136aa7d228975a6aee3dd8bea9b28e2b43e9444aa678fb62aeb1956ff2351"}, - {file = "ruff-0.6.3-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:f92fe93bc72e262b7b3f2bba9879897e2d58a989b4714ba6a5a7273e842ad2f8"}, - {file = "ruff-0.6.3-py3-none-win32.whl", hash = "sha256:7a62d3b5b0d7f9143d94893f8ba43aa5a5c51a0ffc4a401aa97a81ed76930521"}, - {file = "ruff-0.6.3-py3-none-win_amd64.whl", hash = "sha256:746af39356fee2b89aada06c7376e1aa274a23493d7016059c3a72e3b296befb"}, - {file = "ruff-0.6.3-py3-none-win_arm64.whl", hash = "sha256:14a9528a8b70ccc7a847637c29e56fd1f9183a9db743bbc5b8e0c4ad60592a82"}, - {file = "ruff-0.6.3.tar.gz", hash = "sha256:183b99e9edd1ef63be34a3b51fee0a9f4ab95add123dbf89a71f7b1f0c991983"}, + {file = "ruff-0.6.7-py3-none-linux_armv6l.whl", hash = "sha256:08277b217534bfdcc2e1377f7f933e1c7957453e8a79764d004e44c40db923f2"}, + {file = "ruff-0.6.7-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:c6707a32e03b791f4448dc0dce24b636cbcdee4dd5607adc24e5ee73fd86c00a"}, + {file = "ruff-0.6.7-py3-none-macosx_11_0_arm64.whl", hash = "sha256:533d66b7774ef224e7cf91506a7dafcc9e8ec7c059263ec46629e54e7b1f90ab"}, + {file = "ruff-0.6.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17a86aac6f915932d259f7bec79173e356165518859f94649d8c50b81ff087e9"}, + {file = "ruff-0.6.7-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b3f8822defd260ae2460ea3832b24d37d203c3577f48b055590a426a722d50ef"}, + {file = "ruff-0.6.7-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9ba4efe5c6dbbb58be58dd83feedb83b5e95c00091bf09987b4baf510fee5c99"}, + {file = "ruff-0.6.7-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:525201b77f94d2b54868f0cbe5edc018e64c22563da6c5c2e5c107a4e85c1c0d"}, + {file = "ruff-0.6.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8854450839f339e1049fdbe15d875384242b8e85d5c6947bb2faad33c651020b"}, + {file = "ruff-0.6.7-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2f0b62056246234d59cbf2ea66e84812dc9ec4540518e37553513392c171cb18"}, + {file = "ruff-0.6.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b1462fa56c832dc0cea5b4041cfc9c97813505d11cce74ebc6d1aae068de36b"}, + {file = "ruff-0.6.7-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:02b083770e4cdb1495ed313f5694c62808e71764ec6ee5db84eedd82fd32d8f5"}, + {file = "ruff-0.6.7-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:0c05fd37013de36dfa883a3854fae57b3113aaa8abf5dea79202675991d48624"}, + {file = "ruff-0.6.7-py3-none-musllinux_1_2_i686.whl", hash = "sha256:f49c9caa28d9bbfac4a637ae10327b3db00f47d038f3fbb2195c4d682e925b14"}, + {file = "ruff-0.6.7-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:a0e1655868164e114ba43a908fd2d64a271a23660195017c17691fb6355d59bb"}, + {file = "ruff-0.6.7-py3-none-win32.whl", hash = "sha256:a939ca435b49f6966a7dd64b765c9df16f1faed0ca3b6f16acdf7731969deb35"}, + {file = "ruff-0.6.7-py3-none-win_amd64.whl", hash = "sha256:590445eec5653f36248584579c06252ad2e110a5d1f32db5420de35fb0e1c977"}, + {file = "ruff-0.6.7-py3-none-win_arm64.whl", hash = "sha256:b28f0d5e2f771c1fe3c7a45d3f53916fc74a480698c4b5731f0bea61e52137c8"}, + {file = "ruff-0.6.7.tar.gz", hash = "sha256:44e52129d82266fa59b587e2cd74def5637b730a69c4542525dfdecfaae38bd5"}, ] [[package]] @@ -2632,18 +2654,18 @@ crt = ["botocore[crt] (>=1.33.2,<2.0a.0)"] [[package]] name = "setuptools" -version = "74.0.0" +version = "75.1.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-74.0.0-py3-none-any.whl", hash = "sha256:0274581a0037b638b9fc1c6883cc71c0210865aaa76073f7882376b641b84e8f"}, - {file = "setuptools-74.0.0.tar.gz", hash = "sha256:a85e96b8be2b906f3e3e789adec6a9323abf79758ecfa3065bd740d81158b11e"}, + {file = "setuptools-75.1.0-py3-none-any.whl", hash = "sha256:35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2"}, + {file = "setuptools-75.1.0.tar.gz", hash = "sha256:d59a21b17a275fb872a9c3dae73963160ae079f1049ed956880cd7c09b120538"}, ] [package.extras] check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.5.2)"] -core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.text (>=3.7)", "more-itertools (>=8.8)", "packaging (>=24)", "platformdirs (>=2.6.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.collections", "jaraco.functools", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24)", "platformdirs (>=2.6.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] enabler = ["pytest-enabler (>=2.2)"] @@ -3172,419 +3194,422 @@ xray = ["types-aiobotocore-xray"] [[package]] name = "types-aiobotocore" -version = "2.14.0" -description = "Type annotations for aiobotocore 2.14.0 generated with mypy-boto3-builder 7.26.1" +version = "2.15.1" +description = "Type annotations for aiobotocore 2.15.1 generated with mypy-boto3-builder 8.1.2" optional = false python-versions = ">=3.8" files = [ - {file = "types_aiobotocore-2.14.0-py3-none-any.whl", hash = "sha256:04ea58c1ab1cee9cda8f9cfce481ad068a0b5a66304675970be028f05801f697"}, - {file = "types_aiobotocore-2.14.0.tar.gz", hash = "sha256:86cbdfef188c6d8c1f6c513f5ea29d8144ba1f27b71dd6ed456349bf4b242ad1"}, + {file = "types_aiobotocore-2.15.1-py3-none-any.whl", hash = "sha256:5d4546c0dac02c7c4473b033cccabb4776b0d3fd049faaf964a644ed0d6ecf28"}, + {file = "types_aiobotocore-2.15.1.tar.gz", hash = "sha256:0d6ed0c8456fbe59dec345aa142800db0837b98bca1ed5f68cf6ef6d52137745"}, ] [package.dependencies] botocore-stubs = "*" -types-aiobotocore-sts = {version = ">=2.14.0,<2.15.0", optional = true, markers = "extra == \"sts\""} +types-aiobotocore-sts = {version = ">=2.15.0,<2.16.0", optional = true, markers = "extra == \"sts\""} typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} [package.extras] -accessanalyzer = ["types-aiobotocore-accessanalyzer (>=2.14.0,<2.15.0)"] -account = ["types-aiobotocore-account (>=2.14.0,<2.15.0)"] -acm = ["types-aiobotocore-acm (>=2.14.0,<2.15.0)"] -acm-pca = ["types-aiobotocore-acm-pca (>=2.14.0,<2.15.0)"] -aiobotocore = ["aiobotocore (==2.14.0)", "botocore (==1.35.7)"] -all = ["types-aiobotocore-accessanalyzer (>=2.14.0,<2.15.0)", "types-aiobotocore-account (>=2.14.0,<2.15.0)", "types-aiobotocore-acm (>=2.14.0,<2.15.0)", "types-aiobotocore-acm-pca (>=2.14.0,<2.15.0)", "types-aiobotocore-amp (>=2.14.0,<2.15.0)", "types-aiobotocore-amplify (>=2.14.0,<2.15.0)", "types-aiobotocore-amplifybackend (>=2.14.0,<2.15.0)", "types-aiobotocore-amplifyuibuilder (>=2.14.0,<2.15.0)", "types-aiobotocore-apigateway (>=2.14.0,<2.15.0)", "types-aiobotocore-apigatewaymanagementapi (>=2.14.0,<2.15.0)", "types-aiobotocore-apigatewayv2 (>=2.14.0,<2.15.0)", "types-aiobotocore-appconfig (>=2.14.0,<2.15.0)", "types-aiobotocore-appconfigdata (>=2.14.0,<2.15.0)", "types-aiobotocore-appfabric (>=2.14.0,<2.15.0)", "types-aiobotocore-appflow (>=2.14.0,<2.15.0)", "types-aiobotocore-appintegrations (>=2.14.0,<2.15.0)", "types-aiobotocore-application-autoscaling (>=2.14.0,<2.15.0)", "types-aiobotocore-application-insights (>=2.14.0,<2.15.0)", "types-aiobotocore-application-signals (>=2.14.0,<2.15.0)", "types-aiobotocore-applicationcostprofiler (>=2.14.0,<2.15.0)", "types-aiobotocore-appmesh (>=2.14.0,<2.15.0)", "types-aiobotocore-apprunner (>=2.14.0,<2.15.0)", "types-aiobotocore-appstream (>=2.14.0,<2.15.0)", "types-aiobotocore-appsync (>=2.14.0,<2.15.0)", "types-aiobotocore-apptest (>=2.14.0,<2.15.0)", "types-aiobotocore-arc-zonal-shift (>=2.14.0,<2.15.0)", "types-aiobotocore-artifact (>=2.14.0,<2.15.0)", "types-aiobotocore-athena (>=2.14.0,<2.15.0)", "types-aiobotocore-auditmanager (>=2.14.0,<2.15.0)", "types-aiobotocore-autoscaling (>=2.14.0,<2.15.0)", "types-aiobotocore-autoscaling-plans (>=2.14.0,<2.15.0)", "types-aiobotocore-b2bi (>=2.14.0,<2.15.0)", "types-aiobotocore-backup (>=2.14.0,<2.15.0)", "types-aiobotocore-backup-gateway (>=2.14.0,<2.15.0)", "types-aiobotocore-batch (>=2.14.0,<2.15.0)", "types-aiobotocore-bcm-data-exports (>=2.14.0,<2.15.0)", "types-aiobotocore-bedrock (>=2.14.0,<2.15.0)", "types-aiobotocore-bedrock-agent (>=2.14.0,<2.15.0)", "types-aiobotocore-bedrock-agent-runtime (>=2.14.0,<2.15.0)", "types-aiobotocore-bedrock-runtime (>=2.14.0,<2.15.0)", "types-aiobotocore-billingconductor (>=2.14.0,<2.15.0)", "types-aiobotocore-braket (>=2.14.0,<2.15.0)", "types-aiobotocore-budgets (>=2.14.0,<2.15.0)", "types-aiobotocore-ce (>=2.14.0,<2.15.0)", "types-aiobotocore-chatbot (>=2.14.0,<2.15.0)", "types-aiobotocore-chime (>=2.14.0,<2.15.0)", "types-aiobotocore-chime-sdk-identity (>=2.14.0,<2.15.0)", "types-aiobotocore-chime-sdk-media-pipelines (>=2.14.0,<2.15.0)", "types-aiobotocore-chime-sdk-meetings (>=2.14.0,<2.15.0)", "types-aiobotocore-chime-sdk-messaging (>=2.14.0,<2.15.0)", "types-aiobotocore-chime-sdk-voice (>=2.14.0,<2.15.0)", "types-aiobotocore-cleanrooms (>=2.14.0,<2.15.0)", "types-aiobotocore-cleanroomsml (>=2.14.0,<2.15.0)", "types-aiobotocore-cloud9 (>=2.14.0,<2.15.0)", "types-aiobotocore-cloudcontrol (>=2.14.0,<2.15.0)", "types-aiobotocore-clouddirectory (>=2.14.0,<2.15.0)", "types-aiobotocore-cloudformation (>=2.14.0,<2.15.0)", "types-aiobotocore-cloudfront (>=2.14.0,<2.15.0)", "types-aiobotocore-cloudfront-keyvaluestore (>=2.14.0,<2.15.0)", "types-aiobotocore-cloudhsm (>=2.14.0,<2.15.0)", "types-aiobotocore-cloudhsmv2 (>=2.14.0,<2.15.0)", "types-aiobotocore-cloudsearch (>=2.14.0,<2.15.0)", "types-aiobotocore-cloudsearchdomain (>=2.14.0,<2.15.0)", "types-aiobotocore-cloudtrail (>=2.14.0,<2.15.0)", "types-aiobotocore-cloudtrail-data (>=2.14.0,<2.15.0)", "types-aiobotocore-cloudwatch (>=2.14.0,<2.15.0)", "types-aiobotocore-codeartifact (>=2.14.0,<2.15.0)", "types-aiobotocore-codebuild (>=2.14.0,<2.15.0)", "types-aiobotocore-codecatalyst (>=2.14.0,<2.15.0)", "types-aiobotocore-codecommit (>=2.14.0,<2.15.0)", "types-aiobotocore-codeconnections (>=2.14.0,<2.15.0)", "types-aiobotocore-codedeploy (>=2.14.0,<2.15.0)", "types-aiobotocore-codeguru-reviewer (>=2.14.0,<2.15.0)", "types-aiobotocore-codeguru-security (>=2.14.0,<2.15.0)", "types-aiobotocore-codeguruprofiler (>=2.14.0,<2.15.0)", "types-aiobotocore-codepipeline (>=2.14.0,<2.15.0)", "types-aiobotocore-codestar-connections (>=2.14.0,<2.15.0)", "types-aiobotocore-codestar-notifications (>=2.14.0,<2.15.0)", "types-aiobotocore-cognito-identity (>=2.14.0,<2.15.0)", "types-aiobotocore-cognito-idp (>=2.14.0,<2.15.0)", "types-aiobotocore-cognito-sync (>=2.14.0,<2.15.0)", "types-aiobotocore-comprehend (>=2.14.0,<2.15.0)", "types-aiobotocore-comprehendmedical (>=2.14.0,<2.15.0)", "types-aiobotocore-compute-optimizer (>=2.14.0,<2.15.0)", "types-aiobotocore-config (>=2.14.0,<2.15.0)", "types-aiobotocore-connect (>=2.14.0,<2.15.0)", "types-aiobotocore-connect-contact-lens (>=2.14.0,<2.15.0)", "types-aiobotocore-connectcampaigns (>=2.14.0,<2.15.0)", "types-aiobotocore-connectcases (>=2.14.0,<2.15.0)", "types-aiobotocore-connectparticipant (>=2.14.0,<2.15.0)", "types-aiobotocore-controlcatalog (>=2.14.0,<2.15.0)", "types-aiobotocore-controltower (>=2.14.0,<2.15.0)", "types-aiobotocore-cost-optimization-hub (>=2.14.0,<2.15.0)", "types-aiobotocore-cur (>=2.14.0,<2.15.0)", "types-aiobotocore-customer-profiles (>=2.14.0,<2.15.0)", "types-aiobotocore-databrew (>=2.14.0,<2.15.0)", "types-aiobotocore-dataexchange (>=2.14.0,<2.15.0)", "types-aiobotocore-datapipeline (>=2.14.0,<2.15.0)", "types-aiobotocore-datasync (>=2.14.0,<2.15.0)", "types-aiobotocore-datazone (>=2.14.0,<2.15.0)", "types-aiobotocore-dax (>=2.14.0,<2.15.0)", "types-aiobotocore-deadline (>=2.14.0,<2.15.0)", "types-aiobotocore-detective (>=2.14.0,<2.15.0)", "types-aiobotocore-devicefarm (>=2.14.0,<2.15.0)", "types-aiobotocore-devops-guru (>=2.14.0,<2.15.0)", "types-aiobotocore-directconnect (>=2.14.0,<2.15.0)", "types-aiobotocore-discovery (>=2.14.0,<2.15.0)", "types-aiobotocore-dlm (>=2.14.0,<2.15.0)", "types-aiobotocore-dms (>=2.14.0,<2.15.0)", "types-aiobotocore-docdb (>=2.14.0,<2.15.0)", "types-aiobotocore-docdb-elastic (>=2.14.0,<2.15.0)", "types-aiobotocore-drs (>=2.14.0,<2.15.0)", "types-aiobotocore-ds (>=2.14.0,<2.15.0)", "types-aiobotocore-dynamodb (>=2.14.0,<2.15.0)", "types-aiobotocore-dynamodbstreams (>=2.14.0,<2.15.0)", "types-aiobotocore-ebs (>=2.14.0,<2.15.0)", "types-aiobotocore-ec2 (>=2.14.0,<2.15.0)", "types-aiobotocore-ec2-instance-connect (>=2.14.0,<2.15.0)", "types-aiobotocore-ecr (>=2.14.0,<2.15.0)", "types-aiobotocore-ecr-public (>=2.14.0,<2.15.0)", "types-aiobotocore-ecs (>=2.14.0,<2.15.0)", "types-aiobotocore-efs (>=2.14.0,<2.15.0)", "types-aiobotocore-eks (>=2.14.0,<2.15.0)", "types-aiobotocore-eks-auth (>=2.14.0,<2.15.0)", "types-aiobotocore-elastic-inference (>=2.14.0,<2.15.0)", "types-aiobotocore-elasticache (>=2.14.0,<2.15.0)", "types-aiobotocore-elasticbeanstalk (>=2.14.0,<2.15.0)", "types-aiobotocore-elastictranscoder (>=2.14.0,<2.15.0)", "types-aiobotocore-elb (>=2.14.0,<2.15.0)", "types-aiobotocore-elbv2 (>=2.14.0,<2.15.0)", "types-aiobotocore-emr (>=2.14.0,<2.15.0)", "types-aiobotocore-emr-containers (>=2.14.0,<2.15.0)", "types-aiobotocore-emr-serverless (>=2.14.0,<2.15.0)", "types-aiobotocore-entityresolution (>=2.14.0,<2.15.0)", "types-aiobotocore-es (>=2.14.0,<2.15.0)", "types-aiobotocore-events (>=2.14.0,<2.15.0)", "types-aiobotocore-evidently (>=2.14.0,<2.15.0)", "types-aiobotocore-finspace (>=2.14.0,<2.15.0)", "types-aiobotocore-finspace-data (>=2.14.0,<2.15.0)", "types-aiobotocore-firehose (>=2.14.0,<2.15.0)", "types-aiobotocore-fis (>=2.14.0,<2.15.0)", "types-aiobotocore-fms (>=2.14.0,<2.15.0)", "types-aiobotocore-forecast (>=2.14.0,<2.15.0)", "types-aiobotocore-forecastquery (>=2.14.0,<2.15.0)", "types-aiobotocore-frauddetector (>=2.14.0,<2.15.0)", "types-aiobotocore-freetier (>=2.14.0,<2.15.0)", "types-aiobotocore-fsx (>=2.14.0,<2.15.0)", "types-aiobotocore-gamelift (>=2.14.0,<2.15.0)", "types-aiobotocore-glacier (>=2.14.0,<2.15.0)", "types-aiobotocore-globalaccelerator (>=2.14.0,<2.15.0)", "types-aiobotocore-glue (>=2.14.0,<2.15.0)", "types-aiobotocore-grafana (>=2.14.0,<2.15.0)", "types-aiobotocore-greengrass (>=2.14.0,<2.15.0)", "types-aiobotocore-greengrassv2 (>=2.14.0,<2.15.0)", "types-aiobotocore-groundstation (>=2.14.0,<2.15.0)", "types-aiobotocore-guardduty (>=2.14.0,<2.15.0)", "types-aiobotocore-health (>=2.14.0,<2.15.0)", "types-aiobotocore-healthlake (>=2.14.0,<2.15.0)", "types-aiobotocore-iam (>=2.14.0,<2.15.0)", "types-aiobotocore-identitystore (>=2.14.0,<2.15.0)", "types-aiobotocore-imagebuilder (>=2.14.0,<2.15.0)", "types-aiobotocore-importexport (>=2.14.0,<2.15.0)", "types-aiobotocore-inspector (>=2.14.0,<2.15.0)", "types-aiobotocore-inspector-scan (>=2.14.0,<2.15.0)", "types-aiobotocore-inspector2 (>=2.14.0,<2.15.0)", "types-aiobotocore-internetmonitor (>=2.14.0,<2.15.0)", "types-aiobotocore-iot (>=2.14.0,<2.15.0)", "types-aiobotocore-iot-data (>=2.14.0,<2.15.0)", "types-aiobotocore-iot-jobs-data (>=2.14.0,<2.15.0)", "types-aiobotocore-iot1click-devices (>=2.14.0,<2.15.0)", "types-aiobotocore-iot1click-projects (>=2.14.0,<2.15.0)", "types-aiobotocore-iotanalytics (>=2.14.0,<2.15.0)", "types-aiobotocore-iotdeviceadvisor (>=2.14.0,<2.15.0)", "types-aiobotocore-iotevents (>=2.14.0,<2.15.0)", "types-aiobotocore-iotevents-data (>=2.14.0,<2.15.0)", "types-aiobotocore-iotfleethub (>=2.14.0,<2.15.0)", "types-aiobotocore-iotfleetwise (>=2.14.0,<2.15.0)", "types-aiobotocore-iotsecuretunneling (>=2.14.0,<2.15.0)", "types-aiobotocore-iotsitewise (>=2.14.0,<2.15.0)", "types-aiobotocore-iotthingsgraph (>=2.14.0,<2.15.0)", "types-aiobotocore-iottwinmaker (>=2.14.0,<2.15.0)", "types-aiobotocore-iotwireless (>=2.14.0,<2.15.0)", "types-aiobotocore-ivs (>=2.14.0,<2.15.0)", "types-aiobotocore-ivs-realtime (>=2.14.0,<2.15.0)", "types-aiobotocore-ivschat (>=2.14.0,<2.15.0)", "types-aiobotocore-kafka (>=2.14.0,<2.15.0)", "types-aiobotocore-kafkaconnect (>=2.14.0,<2.15.0)", "types-aiobotocore-kendra (>=2.14.0,<2.15.0)", "types-aiobotocore-kendra-ranking (>=2.14.0,<2.15.0)", "types-aiobotocore-keyspaces (>=2.14.0,<2.15.0)", "types-aiobotocore-kinesis (>=2.14.0,<2.15.0)", "types-aiobotocore-kinesis-video-archived-media (>=2.14.0,<2.15.0)", "types-aiobotocore-kinesis-video-media (>=2.14.0,<2.15.0)", "types-aiobotocore-kinesis-video-signaling (>=2.14.0,<2.15.0)", "types-aiobotocore-kinesis-video-webrtc-storage (>=2.14.0,<2.15.0)", "types-aiobotocore-kinesisanalytics (>=2.14.0,<2.15.0)", "types-aiobotocore-kinesisanalyticsv2 (>=2.14.0,<2.15.0)", "types-aiobotocore-kinesisvideo (>=2.14.0,<2.15.0)", "types-aiobotocore-kms (>=2.14.0,<2.15.0)", "types-aiobotocore-lakeformation (>=2.14.0,<2.15.0)", "types-aiobotocore-lambda (>=2.14.0,<2.15.0)", "types-aiobotocore-launch-wizard (>=2.14.0,<2.15.0)", "types-aiobotocore-lex-models (>=2.14.0,<2.15.0)", "types-aiobotocore-lex-runtime (>=2.14.0,<2.15.0)", "types-aiobotocore-lexv2-models (>=2.14.0,<2.15.0)", "types-aiobotocore-lexv2-runtime (>=2.14.0,<2.15.0)", "types-aiobotocore-license-manager (>=2.14.0,<2.15.0)", "types-aiobotocore-license-manager-linux-subscriptions (>=2.14.0,<2.15.0)", "types-aiobotocore-license-manager-user-subscriptions (>=2.14.0,<2.15.0)", "types-aiobotocore-lightsail (>=2.14.0,<2.15.0)", "types-aiobotocore-location (>=2.14.0,<2.15.0)", "types-aiobotocore-logs (>=2.14.0,<2.15.0)", "types-aiobotocore-lookoutequipment (>=2.14.0,<2.15.0)", "types-aiobotocore-lookoutmetrics (>=2.14.0,<2.15.0)", "types-aiobotocore-lookoutvision (>=2.14.0,<2.15.0)", "types-aiobotocore-m2 (>=2.14.0,<2.15.0)", "types-aiobotocore-machinelearning (>=2.14.0,<2.15.0)", "types-aiobotocore-macie2 (>=2.14.0,<2.15.0)", "types-aiobotocore-mailmanager (>=2.14.0,<2.15.0)", "types-aiobotocore-managedblockchain (>=2.14.0,<2.15.0)", "types-aiobotocore-managedblockchain-query (>=2.14.0,<2.15.0)", "types-aiobotocore-marketplace-agreement (>=2.14.0,<2.15.0)", "types-aiobotocore-marketplace-catalog (>=2.14.0,<2.15.0)", "types-aiobotocore-marketplace-deployment (>=2.14.0,<2.15.0)", "types-aiobotocore-marketplace-entitlement (>=2.14.0,<2.15.0)", "types-aiobotocore-marketplacecommerceanalytics (>=2.14.0,<2.15.0)", "types-aiobotocore-mediaconnect (>=2.14.0,<2.15.0)", "types-aiobotocore-mediaconvert (>=2.14.0,<2.15.0)", "types-aiobotocore-medialive (>=2.14.0,<2.15.0)", "types-aiobotocore-mediapackage (>=2.14.0,<2.15.0)", "types-aiobotocore-mediapackage-vod (>=2.14.0,<2.15.0)", "types-aiobotocore-mediapackagev2 (>=2.14.0,<2.15.0)", "types-aiobotocore-mediastore (>=2.14.0,<2.15.0)", "types-aiobotocore-mediastore-data (>=2.14.0,<2.15.0)", "types-aiobotocore-mediatailor (>=2.14.0,<2.15.0)", "types-aiobotocore-medical-imaging (>=2.14.0,<2.15.0)", "types-aiobotocore-memorydb (>=2.14.0,<2.15.0)", "types-aiobotocore-meteringmarketplace (>=2.14.0,<2.15.0)", "types-aiobotocore-mgh (>=2.14.0,<2.15.0)", "types-aiobotocore-mgn (>=2.14.0,<2.15.0)", "types-aiobotocore-migration-hub-refactor-spaces (>=2.14.0,<2.15.0)", "types-aiobotocore-migrationhub-config (>=2.14.0,<2.15.0)", "types-aiobotocore-migrationhuborchestrator (>=2.14.0,<2.15.0)", "types-aiobotocore-migrationhubstrategy (>=2.14.0,<2.15.0)", "types-aiobotocore-mq (>=2.14.0,<2.15.0)", "types-aiobotocore-mturk (>=2.14.0,<2.15.0)", "types-aiobotocore-mwaa (>=2.14.0,<2.15.0)", "types-aiobotocore-neptune (>=2.14.0,<2.15.0)", "types-aiobotocore-neptune-graph (>=2.14.0,<2.15.0)", "types-aiobotocore-neptunedata (>=2.14.0,<2.15.0)", "types-aiobotocore-network-firewall (>=2.14.0,<2.15.0)", "types-aiobotocore-networkmanager (>=2.14.0,<2.15.0)", "types-aiobotocore-networkmonitor (>=2.14.0,<2.15.0)", "types-aiobotocore-nimble (>=2.14.0,<2.15.0)", "types-aiobotocore-oam (>=2.14.0,<2.15.0)", "types-aiobotocore-omics (>=2.14.0,<2.15.0)", "types-aiobotocore-opensearch (>=2.14.0,<2.15.0)", "types-aiobotocore-opensearchserverless (>=2.14.0,<2.15.0)", "types-aiobotocore-opsworks (>=2.14.0,<2.15.0)", "types-aiobotocore-opsworkscm (>=2.14.0,<2.15.0)", "types-aiobotocore-organizations (>=2.14.0,<2.15.0)", "types-aiobotocore-osis (>=2.14.0,<2.15.0)", "types-aiobotocore-outposts (>=2.14.0,<2.15.0)", "types-aiobotocore-panorama (>=2.14.0,<2.15.0)", "types-aiobotocore-payment-cryptography (>=2.14.0,<2.15.0)", "types-aiobotocore-payment-cryptography-data (>=2.14.0,<2.15.0)", "types-aiobotocore-pca-connector-ad (>=2.14.0,<2.15.0)", "types-aiobotocore-pca-connector-scep (>=2.14.0,<2.15.0)", "types-aiobotocore-personalize (>=2.14.0,<2.15.0)", "types-aiobotocore-personalize-events (>=2.14.0,<2.15.0)", "types-aiobotocore-personalize-runtime (>=2.14.0,<2.15.0)", "types-aiobotocore-pi (>=2.14.0,<2.15.0)", "types-aiobotocore-pinpoint (>=2.14.0,<2.15.0)", "types-aiobotocore-pinpoint-email (>=2.14.0,<2.15.0)", "types-aiobotocore-pinpoint-sms-voice (>=2.14.0,<2.15.0)", "types-aiobotocore-pinpoint-sms-voice-v2 (>=2.14.0,<2.15.0)", "types-aiobotocore-pipes (>=2.14.0,<2.15.0)", "types-aiobotocore-polly (>=2.14.0,<2.15.0)", "types-aiobotocore-pricing (>=2.14.0,<2.15.0)", "types-aiobotocore-privatenetworks (>=2.14.0,<2.15.0)", "types-aiobotocore-proton (>=2.14.0,<2.15.0)", "types-aiobotocore-qapps (>=2.14.0,<2.15.0)", "types-aiobotocore-qbusiness (>=2.14.0,<2.15.0)", "types-aiobotocore-qconnect (>=2.14.0,<2.15.0)", "types-aiobotocore-qldb (>=2.14.0,<2.15.0)", "types-aiobotocore-qldb-session (>=2.14.0,<2.15.0)", "types-aiobotocore-quicksight (>=2.14.0,<2.15.0)", "types-aiobotocore-ram (>=2.14.0,<2.15.0)", "types-aiobotocore-rbin (>=2.14.0,<2.15.0)", "types-aiobotocore-rds (>=2.14.0,<2.15.0)", "types-aiobotocore-rds-data (>=2.14.0,<2.15.0)", "types-aiobotocore-redshift (>=2.14.0,<2.15.0)", "types-aiobotocore-redshift-data (>=2.14.0,<2.15.0)", "types-aiobotocore-redshift-serverless (>=2.14.0,<2.15.0)", "types-aiobotocore-rekognition (>=2.14.0,<2.15.0)", "types-aiobotocore-repostspace (>=2.14.0,<2.15.0)", "types-aiobotocore-resiliencehub (>=2.14.0,<2.15.0)", "types-aiobotocore-resource-explorer-2 (>=2.14.0,<2.15.0)", "types-aiobotocore-resource-groups (>=2.14.0,<2.15.0)", "types-aiobotocore-resourcegroupstaggingapi (>=2.14.0,<2.15.0)", "types-aiobotocore-robomaker (>=2.14.0,<2.15.0)", "types-aiobotocore-rolesanywhere (>=2.14.0,<2.15.0)", "types-aiobotocore-route53 (>=2.14.0,<2.15.0)", "types-aiobotocore-route53-recovery-cluster (>=2.14.0,<2.15.0)", "types-aiobotocore-route53-recovery-control-config (>=2.14.0,<2.15.0)", "types-aiobotocore-route53-recovery-readiness (>=2.14.0,<2.15.0)", "types-aiobotocore-route53domains (>=2.14.0,<2.15.0)", "types-aiobotocore-route53profiles (>=2.14.0,<2.15.0)", "types-aiobotocore-route53resolver (>=2.14.0,<2.15.0)", "types-aiobotocore-rum (>=2.14.0,<2.15.0)", "types-aiobotocore-s3 (>=2.14.0,<2.15.0)", "types-aiobotocore-s3control (>=2.14.0,<2.15.0)", "types-aiobotocore-s3outposts (>=2.14.0,<2.15.0)", "types-aiobotocore-sagemaker (>=2.14.0,<2.15.0)", "types-aiobotocore-sagemaker-a2i-runtime (>=2.14.0,<2.15.0)", "types-aiobotocore-sagemaker-edge (>=2.14.0,<2.15.0)", "types-aiobotocore-sagemaker-featurestore-runtime (>=2.14.0,<2.15.0)", "types-aiobotocore-sagemaker-geospatial (>=2.14.0,<2.15.0)", "types-aiobotocore-sagemaker-metrics (>=2.14.0,<2.15.0)", "types-aiobotocore-sagemaker-runtime (>=2.14.0,<2.15.0)", "types-aiobotocore-savingsplans (>=2.14.0,<2.15.0)", "types-aiobotocore-scheduler (>=2.14.0,<2.15.0)", "types-aiobotocore-schemas (>=2.14.0,<2.15.0)", "types-aiobotocore-sdb (>=2.14.0,<2.15.0)", "types-aiobotocore-secretsmanager (>=2.14.0,<2.15.0)", "types-aiobotocore-securityhub (>=2.14.0,<2.15.0)", "types-aiobotocore-securitylake (>=2.14.0,<2.15.0)", "types-aiobotocore-serverlessrepo (>=2.14.0,<2.15.0)", "types-aiobotocore-service-quotas (>=2.14.0,<2.15.0)", "types-aiobotocore-servicecatalog (>=2.14.0,<2.15.0)", "types-aiobotocore-servicecatalog-appregistry (>=2.14.0,<2.15.0)", "types-aiobotocore-servicediscovery (>=2.14.0,<2.15.0)", "types-aiobotocore-ses (>=2.14.0,<2.15.0)", "types-aiobotocore-sesv2 (>=2.14.0,<2.15.0)", "types-aiobotocore-shield (>=2.14.0,<2.15.0)", "types-aiobotocore-signer (>=2.14.0,<2.15.0)", "types-aiobotocore-simspaceweaver (>=2.14.0,<2.15.0)", "types-aiobotocore-sms (>=2.14.0,<2.15.0)", "types-aiobotocore-sms-voice (>=2.14.0,<2.15.0)", "types-aiobotocore-snow-device-management (>=2.14.0,<2.15.0)", "types-aiobotocore-snowball (>=2.14.0,<2.15.0)", "types-aiobotocore-sns (>=2.14.0,<2.15.0)", "types-aiobotocore-sqs (>=2.14.0,<2.15.0)", "types-aiobotocore-ssm (>=2.14.0,<2.15.0)", "types-aiobotocore-ssm-contacts (>=2.14.0,<2.15.0)", "types-aiobotocore-ssm-incidents (>=2.14.0,<2.15.0)", "types-aiobotocore-ssm-quicksetup (>=2.14.0,<2.15.0)", "types-aiobotocore-ssm-sap (>=2.14.0,<2.15.0)", "types-aiobotocore-sso (>=2.14.0,<2.15.0)", "types-aiobotocore-sso-admin (>=2.14.0,<2.15.0)", "types-aiobotocore-sso-oidc (>=2.14.0,<2.15.0)", "types-aiobotocore-stepfunctions (>=2.14.0,<2.15.0)", "types-aiobotocore-storagegateway (>=2.14.0,<2.15.0)", "types-aiobotocore-sts (>=2.14.0,<2.15.0)", "types-aiobotocore-supplychain (>=2.14.0,<2.15.0)", "types-aiobotocore-support (>=2.14.0,<2.15.0)", "types-aiobotocore-support-app (>=2.14.0,<2.15.0)", "types-aiobotocore-swf (>=2.14.0,<2.15.0)", "types-aiobotocore-synthetics (>=2.14.0,<2.15.0)", "types-aiobotocore-taxsettings (>=2.14.0,<2.15.0)", "types-aiobotocore-textract (>=2.14.0,<2.15.0)", "types-aiobotocore-timestream-influxdb (>=2.14.0,<2.15.0)", "types-aiobotocore-timestream-query (>=2.14.0,<2.15.0)", "types-aiobotocore-timestream-write (>=2.14.0,<2.15.0)", "types-aiobotocore-tnb (>=2.14.0,<2.15.0)", "types-aiobotocore-transcribe (>=2.14.0,<2.15.0)", "types-aiobotocore-transfer (>=2.14.0,<2.15.0)", "types-aiobotocore-translate (>=2.14.0,<2.15.0)", "types-aiobotocore-trustedadvisor (>=2.14.0,<2.15.0)", "types-aiobotocore-verifiedpermissions (>=2.14.0,<2.15.0)", "types-aiobotocore-voice-id (>=2.14.0,<2.15.0)", "types-aiobotocore-vpc-lattice (>=2.14.0,<2.15.0)", "types-aiobotocore-waf (>=2.14.0,<2.15.0)", "types-aiobotocore-waf-regional (>=2.14.0,<2.15.0)", "types-aiobotocore-wafv2 (>=2.14.0,<2.15.0)", "types-aiobotocore-wellarchitected (>=2.14.0,<2.15.0)", "types-aiobotocore-wisdom (>=2.14.0,<2.15.0)", "types-aiobotocore-workdocs (>=2.14.0,<2.15.0)", "types-aiobotocore-worklink (>=2.14.0,<2.15.0)", "types-aiobotocore-workmail (>=2.14.0,<2.15.0)", "types-aiobotocore-workmailmessageflow (>=2.14.0,<2.15.0)", "types-aiobotocore-workspaces (>=2.14.0,<2.15.0)", "types-aiobotocore-workspaces-thin-client (>=2.14.0,<2.15.0)", "types-aiobotocore-workspaces-web (>=2.14.0,<2.15.0)", "types-aiobotocore-xray (>=2.14.0,<2.15.0)"] -amp = ["types-aiobotocore-amp (>=2.14.0,<2.15.0)"] -amplify = ["types-aiobotocore-amplify (>=2.14.0,<2.15.0)"] -amplifybackend = ["types-aiobotocore-amplifybackend (>=2.14.0,<2.15.0)"] -amplifyuibuilder = ["types-aiobotocore-amplifyuibuilder (>=2.14.0,<2.15.0)"] -apigateway = ["types-aiobotocore-apigateway (>=2.14.0,<2.15.0)"] -apigatewaymanagementapi = ["types-aiobotocore-apigatewaymanagementapi (>=2.14.0,<2.15.0)"] -apigatewayv2 = ["types-aiobotocore-apigatewayv2 (>=2.14.0,<2.15.0)"] -appconfig = ["types-aiobotocore-appconfig (>=2.14.0,<2.15.0)"] -appconfigdata = ["types-aiobotocore-appconfigdata (>=2.14.0,<2.15.0)"] -appfabric = ["types-aiobotocore-appfabric (>=2.14.0,<2.15.0)"] -appflow = ["types-aiobotocore-appflow (>=2.14.0,<2.15.0)"] -appintegrations = ["types-aiobotocore-appintegrations (>=2.14.0,<2.15.0)"] -application-autoscaling = ["types-aiobotocore-application-autoscaling (>=2.14.0,<2.15.0)"] -application-insights = ["types-aiobotocore-application-insights (>=2.14.0,<2.15.0)"] -application-signals = ["types-aiobotocore-application-signals (>=2.14.0,<2.15.0)"] -applicationcostprofiler = ["types-aiobotocore-applicationcostprofiler (>=2.14.0,<2.15.0)"] -appmesh = ["types-aiobotocore-appmesh (>=2.14.0,<2.15.0)"] -apprunner = ["types-aiobotocore-apprunner (>=2.14.0,<2.15.0)"] -appstream = ["types-aiobotocore-appstream (>=2.14.0,<2.15.0)"] -appsync = ["types-aiobotocore-appsync (>=2.14.0,<2.15.0)"] -apptest = ["types-aiobotocore-apptest (>=2.14.0,<2.15.0)"] -arc-zonal-shift = ["types-aiobotocore-arc-zonal-shift (>=2.14.0,<2.15.0)"] -artifact = ["types-aiobotocore-artifact (>=2.14.0,<2.15.0)"] -athena = ["types-aiobotocore-athena (>=2.14.0,<2.15.0)"] -auditmanager = ["types-aiobotocore-auditmanager (>=2.14.0,<2.15.0)"] -autoscaling = ["types-aiobotocore-autoscaling (>=2.14.0,<2.15.0)"] -autoscaling-plans = ["types-aiobotocore-autoscaling-plans (>=2.14.0,<2.15.0)"] -b2bi = ["types-aiobotocore-b2bi (>=2.14.0,<2.15.0)"] -backup = ["types-aiobotocore-backup (>=2.14.0,<2.15.0)"] -backup-gateway = ["types-aiobotocore-backup-gateway (>=2.14.0,<2.15.0)"] -batch = ["types-aiobotocore-batch (>=2.14.0,<2.15.0)"] -bcm-data-exports = ["types-aiobotocore-bcm-data-exports (>=2.14.0,<2.15.0)"] -bedrock = ["types-aiobotocore-bedrock (>=2.14.0,<2.15.0)"] -bedrock-agent = ["types-aiobotocore-bedrock-agent (>=2.14.0,<2.15.0)"] -bedrock-agent-runtime = ["types-aiobotocore-bedrock-agent-runtime (>=2.14.0,<2.15.0)"] -bedrock-runtime = ["types-aiobotocore-bedrock-runtime (>=2.14.0,<2.15.0)"] -billingconductor = ["types-aiobotocore-billingconductor (>=2.14.0,<2.15.0)"] -braket = ["types-aiobotocore-braket (>=2.14.0,<2.15.0)"] -budgets = ["types-aiobotocore-budgets (>=2.14.0,<2.15.0)"] -ce = ["types-aiobotocore-ce (>=2.14.0,<2.15.0)"] -chatbot = ["types-aiobotocore-chatbot (>=2.14.0,<2.15.0)"] -chime = ["types-aiobotocore-chime (>=2.14.0,<2.15.0)"] -chime-sdk-identity = ["types-aiobotocore-chime-sdk-identity (>=2.14.0,<2.15.0)"] -chime-sdk-media-pipelines = ["types-aiobotocore-chime-sdk-media-pipelines (>=2.14.0,<2.15.0)"] -chime-sdk-meetings = ["types-aiobotocore-chime-sdk-meetings (>=2.14.0,<2.15.0)"] -chime-sdk-messaging = ["types-aiobotocore-chime-sdk-messaging (>=2.14.0,<2.15.0)"] -chime-sdk-voice = ["types-aiobotocore-chime-sdk-voice (>=2.14.0,<2.15.0)"] -cleanrooms = ["types-aiobotocore-cleanrooms (>=2.14.0,<2.15.0)"] -cleanroomsml = ["types-aiobotocore-cleanroomsml (>=2.14.0,<2.15.0)"] -cloud9 = ["types-aiobotocore-cloud9 (>=2.14.0,<2.15.0)"] -cloudcontrol = ["types-aiobotocore-cloudcontrol (>=2.14.0,<2.15.0)"] -clouddirectory = ["types-aiobotocore-clouddirectory (>=2.14.0,<2.15.0)"] -cloudformation = ["types-aiobotocore-cloudformation (>=2.14.0,<2.15.0)"] -cloudfront = ["types-aiobotocore-cloudfront (>=2.14.0,<2.15.0)"] -cloudfront-keyvaluestore = ["types-aiobotocore-cloudfront-keyvaluestore (>=2.14.0,<2.15.0)"] -cloudhsm = ["types-aiobotocore-cloudhsm (>=2.14.0,<2.15.0)"] -cloudhsmv2 = ["types-aiobotocore-cloudhsmv2 (>=2.14.0,<2.15.0)"] -cloudsearch = ["types-aiobotocore-cloudsearch (>=2.14.0,<2.15.0)"] -cloudsearchdomain = ["types-aiobotocore-cloudsearchdomain (>=2.14.0,<2.15.0)"] -cloudtrail = ["types-aiobotocore-cloudtrail (>=2.14.0,<2.15.0)"] -cloudtrail-data = ["types-aiobotocore-cloudtrail-data (>=2.14.0,<2.15.0)"] -cloudwatch = ["types-aiobotocore-cloudwatch (>=2.14.0,<2.15.0)"] -codeartifact = ["types-aiobotocore-codeartifact (>=2.14.0,<2.15.0)"] -codebuild = ["types-aiobotocore-codebuild (>=2.14.0,<2.15.0)"] -codecatalyst = ["types-aiobotocore-codecatalyst (>=2.14.0,<2.15.0)"] -codecommit = ["types-aiobotocore-codecommit (>=2.14.0,<2.15.0)"] -codeconnections = ["types-aiobotocore-codeconnections (>=2.14.0,<2.15.0)"] -codedeploy = ["types-aiobotocore-codedeploy (>=2.14.0,<2.15.0)"] -codeguru-reviewer = ["types-aiobotocore-codeguru-reviewer (>=2.14.0,<2.15.0)"] -codeguru-security = ["types-aiobotocore-codeguru-security (>=2.14.0,<2.15.0)"] -codeguruprofiler = ["types-aiobotocore-codeguruprofiler (>=2.14.0,<2.15.0)"] -codepipeline = ["types-aiobotocore-codepipeline (>=2.14.0,<2.15.0)"] -codestar-connections = ["types-aiobotocore-codestar-connections (>=2.14.0,<2.15.0)"] -codestar-notifications = ["types-aiobotocore-codestar-notifications (>=2.14.0,<2.15.0)"] -cognito-identity = ["types-aiobotocore-cognito-identity (>=2.14.0,<2.15.0)"] -cognito-idp = ["types-aiobotocore-cognito-idp (>=2.14.0,<2.15.0)"] -cognito-sync = ["types-aiobotocore-cognito-sync (>=2.14.0,<2.15.0)"] -comprehend = ["types-aiobotocore-comprehend (>=2.14.0,<2.15.0)"] -comprehendmedical = ["types-aiobotocore-comprehendmedical (>=2.14.0,<2.15.0)"] -compute-optimizer = ["types-aiobotocore-compute-optimizer (>=2.14.0,<2.15.0)"] -config = ["types-aiobotocore-config (>=2.14.0,<2.15.0)"] -connect = ["types-aiobotocore-connect (>=2.14.0,<2.15.0)"] -connect-contact-lens = ["types-aiobotocore-connect-contact-lens (>=2.14.0,<2.15.0)"] -connectcampaigns = ["types-aiobotocore-connectcampaigns (>=2.14.0,<2.15.0)"] -connectcases = ["types-aiobotocore-connectcases (>=2.14.0,<2.15.0)"] -connectparticipant = ["types-aiobotocore-connectparticipant (>=2.14.0,<2.15.0)"] -controlcatalog = ["types-aiobotocore-controlcatalog (>=2.14.0,<2.15.0)"] -controltower = ["types-aiobotocore-controltower (>=2.14.0,<2.15.0)"] -cost-optimization-hub = ["types-aiobotocore-cost-optimization-hub (>=2.14.0,<2.15.0)"] -cur = ["types-aiobotocore-cur (>=2.14.0,<2.15.0)"] -customer-profiles = ["types-aiobotocore-customer-profiles (>=2.14.0,<2.15.0)"] -databrew = ["types-aiobotocore-databrew (>=2.14.0,<2.15.0)"] -dataexchange = ["types-aiobotocore-dataexchange (>=2.14.0,<2.15.0)"] -datapipeline = ["types-aiobotocore-datapipeline (>=2.14.0,<2.15.0)"] -datasync = ["types-aiobotocore-datasync (>=2.14.0,<2.15.0)"] -datazone = ["types-aiobotocore-datazone (>=2.14.0,<2.15.0)"] -dax = ["types-aiobotocore-dax (>=2.14.0,<2.15.0)"] -deadline = ["types-aiobotocore-deadline (>=2.14.0,<2.15.0)"] -detective = ["types-aiobotocore-detective (>=2.14.0,<2.15.0)"] -devicefarm = ["types-aiobotocore-devicefarm (>=2.14.0,<2.15.0)"] -devops-guru = ["types-aiobotocore-devops-guru (>=2.14.0,<2.15.0)"] -directconnect = ["types-aiobotocore-directconnect (>=2.14.0,<2.15.0)"] -discovery = ["types-aiobotocore-discovery (>=2.14.0,<2.15.0)"] -dlm = ["types-aiobotocore-dlm (>=2.14.0,<2.15.0)"] -dms = ["types-aiobotocore-dms (>=2.14.0,<2.15.0)"] -docdb = ["types-aiobotocore-docdb (>=2.14.0,<2.15.0)"] -docdb-elastic = ["types-aiobotocore-docdb-elastic (>=2.14.0,<2.15.0)"] -drs = ["types-aiobotocore-drs (>=2.14.0,<2.15.0)"] -ds = ["types-aiobotocore-ds (>=2.14.0,<2.15.0)"] -dynamodb = ["types-aiobotocore-dynamodb (>=2.14.0,<2.15.0)"] -dynamodbstreams = ["types-aiobotocore-dynamodbstreams (>=2.14.0,<2.15.0)"] -ebs = ["types-aiobotocore-ebs (>=2.14.0,<2.15.0)"] -ec2 = ["types-aiobotocore-ec2 (>=2.14.0,<2.15.0)"] -ec2-instance-connect = ["types-aiobotocore-ec2-instance-connect (>=2.14.0,<2.15.0)"] -ecr = ["types-aiobotocore-ecr (>=2.14.0,<2.15.0)"] -ecr-public = ["types-aiobotocore-ecr-public (>=2.14.0,<2.15.0)"] -ecs = ["types-aiobotocore-ecs (>=2.14.0,<2.15.0)"] -efs = ["types-aiobotocore-efs (>=2.14.0,<2.15.0)"] -eks = ["types-aiobotocore-eks (>=2.14.0,<2.15.0)"] -eks-auth = ["types-aiobotocore-eks-auth (>=2.14.0,<2.15.0)"] -elastic-inference = ["types-aiobotocore-elastic-inference (>=2.14.0,<2.15.0)"] -elasticache = ["types-aiobotocore-elasticache (>=2.14.0,<2.15.0)"] -elasticbeanstalk = ["types-aiobotocore-elasticbeanstalk (>=2.14.0,<2.15.0)"] -elastictranscoder = ["types-aiobotocore-elastictranscoder (>=2.14.0,<2.15.0)"] -elb = ["types-aiobotocore-elb (>=2.14.0,<2.15.0)"] -elbv2 = ["types-aiobotocore-elbv2 (>=2.14.0,<2.15.0)"] -emr = ["types-aiobotocore-emr (>=2.14.0,<2.15.0)"] -emr-containers = ["types-aiobotocore-emr-containers (>=2.14.0,<2.15.0)"] -emr-serverless = ["types-aiobotocore-emr-serverless (>=2.14.0,<2.15.0)"] -entityresolution = ["types-aiobotocore-entityresolution (>=2.14.0,<2.15.0)"] -es = ["types-aiobotocore-es (>=2.14.0,<2.15.0)"] -essential = ["types-aiobotocore-cloudformation (>=2.14.0,<2.15.0)", "types-aiobotocore-dynamodb (>=2.14.0,<2.15.0)", "types-aiobotocore-ec2 (>=2.14.0,<2.15.0)", "types-aiobotocore-lambda (>=2.14.0,<2.15.0)", "types-aiobotocore-rds (>=2.14.0,<2.15.0)", "types-aiobotocore-s3 (>=2.14.0,<2.15.0)", "types-aiobotocore-sqs (>=2.14.0,<2.15.0)"] -events = ["types-aiobotocore-events (>=2.14.0,<2.15.0)"] -evidently = ["types-aiobotocore-evidently (>=2.14.0,<2.15.0)"] -finspace = ["types-aiobotocore-finspace (>=2.14.0,<2.15.0)"] -finspace-data = ["types-aiobotocore-finspace-data (>=2.14.0,<2.15.0)"] -firehose = ["types-aiobotocore-firehose (>=2.14.0,<2.15.0)"] -fis = ["types-aiobotocore-fis (>=2.14.0,<2.15.0)"] -fms = ["types-aiobotocore-fms (>=2.14.0,<2.15.0)"] -forecast = ["types-aiobotocore-forecast (>=2.14.0,<2.15.0)"] -forecastquery = ["types-aiobotocore-forecastquery (>=2.14.0,<2.15.0)"] -frauddetector = ["types-aiobotocore-frauddetector (>=2.14.0,<2.15.0)"] -freetier = ["types-aiobotocore-freetier (>=2.14.0,<2.15.0)"] -fsx = ["types-aiobotocore-fsx (>=2.14.0,<2.15.0)"] -gamelift = ["types-aiobotocore-gamelift (>=2.14.0,<2.15.0)"] -glacier = ["types-aiobotocore-glacier (>=2.14.0,<2.15.0)"] -globalaccelerator = ["types-aiobotocore-globalaccelerator (>=2.14.0,<2.15.0)"] -glue = ["types-aiobotocore-glue (>=2.14.0,<2.15.0)"] -grafana = ["types-aiobotocore-grafana (>=2.14.0,<2.15.0)"] -greengrass = ["types-aiobotocore-greengrass (>=2.14.0,<2.15.0)"] -greengrassv2 = ["types-aiobotocore-greengrassv2 (>=2.14.0,<2.15.0)"] -groundstation = ["types-aiobotocore-groundstation (>=2.14.0,<2.15.0)"] -guardduty = ["types-aiobotocore-guardduty (>=2.14.0,<2.15.0)"] -health = ["types-aiobotocore-health (>=2.14.0,<2.15.0)"] -healthlake = ["types-aiobotocore-healthlake (>=2.14.0,<2.15.0)"] -iam = ["types-aiobotocore-iam (>=2.14.0,<2.15.0)"] -identitystore = ["types-aiobotocore-identitystore (>=2.14.0,<2.15.0)"] -imagebuilder = ["types-aiobotocore-imagebuilder (>=2.14.0,<2.15.0)"] -importexport = ["types-aiobotocore-importexport (>=2.14.0,<2.15.0)"] -inspector = ["types-aiobotocore-inspector (>=2.14.0,<2.15.0)"] -inspector-scan = ["types-aiobotocore-inspector-scan (>=2.14.0,<2.15.0)"] -inspector2 = ["types-aiobotocore-inspector2 (>=2.14.0,<2.15.0)"] -internetmonitor = ["types-aiobotocore-internetmonitor (>=2.14.0,<2.15.0)"] -iot = ["types-aiobotocore-iot (>=2.14.0,<2.15.0)"] -iot-data = ["types-aiobotocore-iot-data (>=2.14.0,<2.15.0)"] -iot-jobs-data = ["types-aiobotocore-iot-jobs-data (>=2.14.0,<2.15.0)"] -iot1click-devices = ["types-aiobotocore-iot1click-devices (>=2.14.0,<2.15.0)"] -iot1click-projects = ["types-aiobotocore-iot1click-projects (>=2.14.0,<2.15.0)"] -iotanalytics = ["types-aiobotocore-iotanalytics (>=2.14.0,<2.15.0)"] -iotdeviceadvisor = ["types-aiobotocore-iotdeviceadvisor (>=2.14.0,<2.15.0)"] -iotevents = ["types-aiobotocore-iotevents (>=2.14.0,<2.15.0)"] -iotevents-data = ["types-aiobotocore-iotevents-data (>=2.14.0,<2.15.0)"] -iotfleethub = ["types-aiobotocore-iotfleethub (>=2.14.0,<2.15.0)"] -iotfleetwise = ["types-aiobotocore-iotfleetwise (>=2.14.0,<2.15.0)"] -iotsecuretunneling = ["types-aiobotocore-iotsecuretunneling (>=2.14.0,<2.15.0)"] -iotsitewise = ["types-aiobotocore-iotsitewise (>=2.14.0,<2.15.0)"] -iotthingsgraph = ["types-aiobotocore-iotthingsgraph (>=2.14.0,<2.15.0)"] -iottwinmaker = ["types-aiobotocore-iottwinmaker (>=2.14.0,<2.15.0)"] -iotwireless = ["types-aiobotocore-iotwireless (>=2.14.0,<2.15.0)"] -ivs = ["types-aiobotocore-ivs (>=2.14.0,<2.15.0)"] -ivs-realtime = ["types-aiobotocore-ivs-realtime (>=2.14.0,<2.15.0)"] -ivschat = ["types-aiobotocore-ivschat (>=2.14.0,<2.15.0)"] -kafka = ["types-aiobotocore-kafka (>=2.14.0,<2.15.0)"] -kafkaconnect = ["types-aiobotocore-kafkaconnect (>=2.14.0,<2.15.0)"] -kendra = ["types-aiobotocore-kendra (>=2.14.0,<2.15.0)"] -kendra-ranking = ["types-aiobotocore-kendra-ranking (>=2.14.0,<2.15.0)"] -keyspaces = ["types-aiobotocore-keyspaces (>=2.14.0,<2.15.0)"] -kinesis = ["types-aiobotocore-kinesis (>=2.14.0,<2.15.0)"] -kinesis-video-archived-media = ["types-aiobotocore-kinesis-video-archived-media (>=2.14.0,<2.15.0)"] -kinesis-video-media = ["types-aiobotocore-kinesis-video-media (>=2.14.0,<2.15.0)"] -kinesis-video-signaling = ["types-aiobotocore-kinesis-video-signaling (>=2.14.0,<2.15.0)"] -kinesis-video-webrtc-storage = ["types-aiobotocore-kinesis-video-webrtc-storage (>=2.14.0,<2.15.0)"] -kinesisanalytics = ["types-aiobotocore-kinesisanalytics (>=2.14.0,<2.15.0)"] -kinesisanalyticsv2 = ["types-aiobotocore-kinesisanalyticsv2 (>=2.14.0,<2.15.0)"] -kinesisvideo = ["types-aiobotocore-kinesisvideo (>=2.14.0,<2.15.0)"] -kms = ["types-aiobotocore-kms (>=2.14.0,<2.15.0)"] -lakeformation = ["types-aiobotocore-lakeformation (>=2.14.0,<2.15.0)"] -lambda = ["types-aiobotocore-lambda (>=2.14.0,<2.15.0)"] -launch-wizard = ["types-aiobotocore-launch-wizard (>=2.14.0,<2.15.0)"] -lex-models = ["types-aiobotocore-lex-models (>=2.14.0,<2.15.0)"] -lex-runtime = ["types-aiobotocore-lex-runtime (>=2.14.0,<2.15.0)"] -lexv2-models = ["types-aiobotocore-lexv2-models (>=2.14.0,<2.15.0)"] -lexv2-runtime = ["types-aiobotocore-lexv2-runtime (>=2.14.0,<2.15.0)"] -license-manager = ["types-aiobotocore-license-manager (>=2.14.0,<2.15.0)"] -license-manager-linux-subscriptions = ["types-aiobotocore-license-manager-linux-subscriptions (>=2.14.0,<2.15.0)"] -license-manager-user-subscriptions = ["types-aiobotocore-license-manager-user-subscriptions (>=2.14.0,<2.15.0)"] -lightsail = ["types-aiobotocore-lightsail (>=2.14.0,<2.15.0)"] -location = ["types-aiobotocore-location (>=2.14.0,<2.15.0)"] -logs = ["types-aiobotocore-logs (>=2.14.0,<2.15.0)"] -lookoutequipment = ["types-aiobotocore-lookoutequipment (>=2.14.0,<2.15.0)"] -lookoutmetrics = ["types-aiobotocore-lookoutmetrics (>=2.14.0,<2.15.0)"] -lookoutvision = ["types-aiobotocore-lookoutvision (>=2.14.0,<2.15.0)"] -m2 = ["types-aiobotocore-m2 (>=2.14.0,<2.15.0)"] -machinelearning = ["types-aiobotocore-machinelearning (>=2.14.0,<2.15.0)"] -macie2 = ["types-aiobotocore-macie2 (>=2.14.0,<2.15.0)"] -mailmanager = ["types-aiobotocore-mailmanager (>=2.14.0,<2.15.0)"] -managedblockchain = ["types-aiobotocore-managedblockchain (>=2.14.0,<2.15.0)"] -managedblockchain-query = ["types-aiobotocore-managedblockchain-query (>=2.14.0,<2.15.0)"] -marketplace-agreement = ["types-aiobotocore-marketplace-agreement (>=2.14.0,<2.15.0)"] -marketplace-catalog = ["types-aiobotocore-marketplace-catalog (>=2.14.0,<2.15.0)"] -marketplace-deployment = ["types-aiobotocore-marketplace-deployment (>=2.14.0,<2.15.0)"] -marketplace-entitlement = ["types-aiobotocore-marketplace-entitlement (>=2.14.0,<2.15.0)"] -marketplacecommerceanalytics = ["types-aiobotocore-marketplacecommerceanalytics (>=2.14.0,<2.15.0)"] -mediaconnect = ["types-aiobotocore-mediaconnect (>=2.14.0,<2.15.0)"] -mediaconvert = ["types-aiobotocore-mediaconvert (>=2.14.0,<2.15.0)"] -medialive = ["types-aiobotocore-medialive (>=2.14.0,<2.15.0)"] -mediapackage = ["types-aiobotocore-mediapackage (>=2.14.0,<2.15.0)"] -mediapackage-vod = ["types-aiobotocore-mediapackage-vod (>=2.14.0,<2.15.0)"] -mediapackagev2 = ["types-aiobotocore-mediapackagev2 (>=2.14.0,<2.15.0)"] -mediastore = ["types-aiobotocore-mediastore (>=2.14.0,<2.15.0)"] -mediastore-data = ["types-aiobotocore-mediastore-data (>=2.14.0,<2.15.0)"] -mediatailor = ["types-aiobotocore-mediatailor (>=2.14.0,<2.15.0)"] -medical-imaging = ["types-aiobotocore-medical-imaging (>=2.14.0,<2.15.0)"] -memorydb = ["types-aiobotocore-memorydb (>=2.14.0,<2.15.0)"] -meteringmarketplace = ["types-aiobotocore-meteringmarketplace (>=2.14.0,<2.15.0)"] -mgh = ["types-aiobotocore-mgh (>=2.14.0,<2.15.0)"] -mgn = ["types-aiobotocore-mgn (>=2.14.0,<2.15.0)"] -migration-hub-refactor-spaces = ["types-aiobotocore-migration-hub-refactor-spaces (>=2.14.0,<2.15.0)"] -migrationhub-config = ["types-aiobotocore-migrationhub-config (>=2.14.0,<2.15.0)"] -migrationhuborchestrator = ["types-aiobotocore-migrationhuborchestrator (>=2.14.0,<2.15.0)"] -migrationhubstrategy = ["types-aiobotocore-migrationhubstrategy (>=2.14.0,<2.15.0)"] -mq = ["types-aiobotocore-mq (>=2.14.0,<2.15.0)"] -mturk = ["types-aiobotocore-mturk (>=2.14.0,<2.15.0)"] -mwaa = ["types-aiobotocore-mwaa (>=2.14.0,<2.15.0)"] -neptune = ["types-aiobotocore-neptune (>=2.14.0,<2.15.0)"] -neptune-graph = ["types-aiobotocore-neptune-graph (>=2.14.0,<2.15.0)"] -neptunedata = ["types-aiobotocore-neptunedata (>=2.14.0,<2.15.0)"] -network-firewall = ["types-aiobotocore-network-firewall (>=2.14.0,<2.15.0)"] -networkmanager = ["types-aiobotocore-networkmanager (>=2.14.0,<2.15.0)"] -networkmonitor = ["types-aiobotocore-networkmonitor (>=2.14.0,<2.15.0)"] -nimble = ["types-aiobotocore-nimble (>=2.14.0,<2.15.0)"] -oam = ["types-aiobotocore-oam (>=2.14.0,<2.15.0)"] -omics = ["types-aiobotocore-omics (>=2.14.0,<2.15.0)"] -opensearch = ["types-aiobotocore-opensearch (>=2.14.0,<2.15.0)"] -opensearchserverless = ["types-aiobotocore-opensearchserverless (>=2.14.0,<2.15.0)"] -opsworks = ["types-aiobotocore-opsworks (>=2.14.0,<2.15.0)"] -opsworkscm = ["types-aiobotocore-opsworkscm (>=2.14.0,<2.15.0)"] -organizations = ["types-aiobotocore-organizations (>=2.14.0,<2.15.0)"] -osis = ["types-aiobotocore-osis (>=2.14.0,<2.15.0)"] -outposts = ["types-aiobotocore-outposts (>=2.14.0,<2.15.0)"] -panorama = ["types-aiobotocore-panorama (>=2.14.0,<2.15.0)"] -payment-cryptography = ["types-aiobotocore-payment-cryptography (>=2.14.0,<2.15.0)"] -payment-cryptography-data = ["types-aiobotocore-payment-cryptography-data (>=2.14.0,<2.15.0)"] -pca-connector-ad = ["types-aiobotocore-pca-connector-ad (>=2.14.0,<2.15.0)"] -pca-connector-scep = ["types-aiobotocore-pca-connector-scep (>=2.14.0,<2.15.0)"] -personalize = ["types-aiobotocore-personalize (>=2.14.0,<2.15.0)"] -personalize-events = ["types-aiobotocore-personalize-events (>=2.14.0,<2.15.0)"] -personalize-runtime = ["types-aiobotocore-personalize-runtime (>=2.14.0,<2.15.0)"] -pi = ["types-aiobotocore-pi (>=2.14.0,<2.15.0)"] -pinpoint = ["types-aiobotocore-pinpoint (>=2.14.0,<2.15.0)"] -pinpoint-email = ["types-aiobotocore-pinpoint-email (>=2.14.0,<2.15.0)"] -pinpoint-sms-voice = ["types-aiobotocore-pinpoint-sms-voice (>=2.14.0,<2.15.0)"] -pinpoint-sms-voice-v2 = ["types-aiobotocore-pinpoint-sms-voice-v2 (>=2.14.0,<2.15.0)"] -pipes = ["types-aiobotocore-pipes (>=2.14.0,<2.15.0)"] -polly = ["types-aiobotocore-polly (>=2.14.0,<2.15.0)"] -pricing = ["types-aiobotocore-pricing (>=2.14.0,<2.15.0)"] -privatenetworks = ["types-aiobotocore-privatenetworks (>=2.14.0,<2.15.0)"] -proton = ["types-aiobotocore-proton (>=2.14.0,<2.15.0)"] -qapps = ["types-aiobotocore-qapps (>=2.14.0,<2.15.0)"] -qbusiness = ["types-aiobotocore-qbusiness (>=2.14.0,<2.15.0)"] -qconnect = ["types-aiobotocore-qconnect (>=2.14.0,<2.15.0)"] -qldb = ["types-aiobotocore-qldb (>=2.14.0,<2.15.0)"] -qldb-session = ["types-aiobotocore-qldb-session (>=2.14.0,<2.15.0)"] -quicksight = ["types-aiobotocore-quicksight (>=2.14.0,<2.15.0)"] -ram = ["types-aiobotocore-ram (>=2.14.0,<2.15.0)"] -rbin = ["types-aiobotocore-rbin (>=2.14.0,<2.15.0)"] -rds = ["types-aiobotocore-rds (>=2.14.0,<2.15.0)"] -rds-data = ["types-aiobotocore-rds-data (>=2.14.0,<2.15.0)"] -redshift = ["types-aiobotocore-redshift (>=2.14.0,<2.15.0)"] -redshift-data = ["types-aiobotocore-redshift-data (>=2.14.0,<2.15.0)"] -redshift-serverless = ["types-aiobotocore-redshift-serverless (>=2.14.0,<2.15.0)"] -rekognition = ["types-aiobotocore-rekognition (>=2.14.0,<2.15.0)"] -repostspace = ["types-aiobotocore-repostspace (>=2.14.0,<2.15.0)"] -resiliencehub = ["types-aiobotocore-resiliencehub (>=2.14.0,<2.15.0)"] -resource-explorer-2 = ["types-aiobotocore-resource-explorer-2 (>=2.14.0,<2.15.0)"] -resource-groups = ["types-aiobotocore-resource-groups (>=2.14.0,<2.15.0)"] -resourcegroupstaggingapi = ["types-aiobotocore-resourcegroupstaggingapi (>=2.14.0,<2.15.0)"] -robomaker = ["types-aiobotocore-robomaker (>=2.14.0,<2.15.0)"] -rolesanywhere = ["types-aiobotocore-rolesanywhere (>=2.14.0,<2.15.0)"] -route53 = ["types-aiobotocore-route53 (>=2.14.0,<2.15.0)"] -route53-recovery-cluster = ["types-aiobotocore-route53-recovery-cluster (>=2.14.0,<2.15.0)"] -route53-recovery-control-config = ["types-aiobotocore-route53-recovery-control-config (>=2.14.0,<2.15.0)"] -route53-recovery-readiness = ["types-aiobotocore-route53-recovery-readiness (>=2.14.0,<2.15.0)"] -route53domains = ["types-aiobotocore-route53domains (>=2.14.0,<2.15.0)"] -route53profiles = ["types-aiobotocore-route53profiles (>=2.14.0,<2.15.0)"] -route53resolver = ["types-aiobotocore-route53resolver (>=2.14.0,<2.15.0)"] -rum = ["types-aiobotocore-rum (>=2.14.0,<2.15.0)"] -s3 = ["types-aiobotocore-s3 (>=2.14.0,<2.15.0)"] -s3control = ["types-aiobotocore-s3control (>=2.14.0,<2.15.0)"] -s3outposts = ["types-aiobotocore-s3outposts (>=2.14.0,<2.15.0)"] -sagemaker = ["types-aiobotocore-sagemaker (>=2.14.0,<2.15.0)"] -sagemaker-a2i-runtime = ["types-aiobotocore-sagemaker-a2i-runtime (>=2.14.0,<2.15.0)"] -sagemaker-edge = ["types-aiobotocore-sagemaker-edge (>=2.14.0,<2.15.0)"] -sagemaker-featurestore-runtime = ["types-aiobotocore-sagemaker-featurestore-runtime (>=2.14.0,<2.15.0)"] -sagemaker-geospatial = ["types-aiobotocore-sagemaker-geospatial (>=2.14.0,<2.15.0)"] -sagemaker-metrics = ["types-aiobotocore-sagemaker-metrics (>=2.14.0,<2.15.0)"] -sagemaker-runtime = ["types-aiobotocore-sagemaker-runtime (>=2.14.0,<2.15.0)"] -savingsplans = ["types-aiobotocore-savingsplans (>=2.14.0,<2.15.0)"] -scheduler = ["types-aiobotocore-scheduler (>=2.14.0,<2.15.0)"] -schemas = ["types-aiobotocore-schemas (>=2.14.0,<2.15.0)"] -sdb = ["types-aiobotocore-sdb (>=2.14.0,<2.15.0)"] -secretsmanager = ["types-aiobotocore-secretsmanager (>=2.14.0,<2.15.0)"] -securityhub = ["types-aiobotocore-securityhub (>=2.14.0,<2.15.0)"] -securitylake = ["types-aiobotocore-securitylake (>=2.14.0,<2.15.0)"] -serverlessrepo = ["types-aiobotocore-serverlessrepo (>=2.14.0,<2.15.0)"] -service-quotas = ["types-aiobotocore-service-quotas (>=2.14.0,<2.15.0)"] -servicecatalog = ["types-aiobotocore-servicecatalog (>=2.14.0,<2.15.0)"] -servicecatalog-appregistry = ["types-aiobotocore-servicecatalog-appregistry (>=2.14.0,<2.15.0)"] -servicediscovery = ["types-aiobotocore-servicediscovery (>=2.14.0,<2.15.0)"] -ses = ["types-aiobotocore-ses (>=2.14.0,<2.15.0)"] -sesv2 = ["types-aiobotocore-sesv2 (>=2.14.0,<2.15.0)"] -shield = ["types-aiobotocore-shield (>=2.14.0,<2.15.0)"] -signer = ["types-aiobotocore-signer (>=2.14.0,<2.15.0)"] -simspaceweaver = ["types-aiobotocore-simspaceweaver (>=2.14.0,<2.15.0)"] -sms = ["types-aiobotocore-sms (>=2.14.0,<2.15.0)"] -sms-voice = ["types-aiobotocore-sms-voice (>=2.14.0,<2.15.0)"] -snow-device-management = ["types-aiobotocore-snow-device-management (>=2.14.0,<2.15.0)"] -snowball = ["types-aiobotocore-snowball (>=2.14.0,<2.15.0)"] -sns = ["types-aiobotocore-sns (>=2.14.0,<2.15.0)"] -sqs = ["types-aiobotocore-sqs (>=2.14.0,<2.15.0)"] -ssm = ["types-aiobotocore-ssm (>=2.14.0,<2.15.0)"] -ssm-contacts = ["types-aiobotocore-ssm-contacts (>=2.14.0,<2.15.0)"] -ssm-incidents = ["types-aiobotocore-ssm-incidents (>=2.14.0,<2.15.0)"] -ssm-quicksetup = ["types-aiobotocore-ssm-quicksetup (>=2.14.0,<2.15.0)"] -ssm-sap = ["types-aiobotocore-ssm-sap (>=2.14.0,<2.15.0)"] -sso = ["types-aiobotocore-sso (>=2.14.0,<2.15.0)"] -sso-admin = ["types-aiobotocore-sso-admin (>=2.14.0,<2.15.0)"] -sso-oidc = ["types-aiobotocore-sso-oidc (>=2.14.0,<2.15.0)"] -stepfunctions = ["types-aiobotocore-stepfunctions (>=2.14.0,<2.15.0)"] -storagegateway = ["types-aiobotocore-storagegateway (>=2.14.0,<2.15.0)"] -sts = ["types-aiobotocore-sts (>=2.14.0,<2.15.0)"] -supplychain = ["types-aiobotocore-supplychain (>=2.14.0,<2.15.0)"] -support = ["types-aiobotocore-support (>=2.14.0,<2.15.0)"] -support-app = ["types-aiobotocore-support-app (>=2.14.0,<2.15.0)"] -swf = ["types-aiobotocore-swf (>=2.14.0,<2.15.0)"] -synthetics = ["types-aiobotocore-synthetics (>=2.14.0,<2.15.0)"] -taxsettings = ["types-aiobotocore-taxsettings (>=2.14.0,<2.15.0)"] -textract = ["types-aiobotocore-textract (>=2.14.0,<2.15.0)"] -timestream-influxdb = ["types-aiobotocore-timestream-influxdb (>=2.14.0,<2.15.0)"] -timestream-query = ["types-aiobotocore-timestream-query (>=2.14.0,<2.15.0)"] -timestream-write = ["types-aiobotocore-timestream-write (>=2.14.0,<2.15.0)"] -tnb = ["types-aiobotocore-tnb (>=2.14.0,<2.15.0)"] -transcribe = ["types-aiobotocore-transcribe (>=2.14.0,<2.15.0)"] -transfer = ["types-aiobotocore-transfer (>=2.14.0,<2.15.0)"] -translate = ["types-aiobotocore-translate (>=2.14.0,<2.15.0)"] -trustedadvisor = ["types-aiobotocore-trustedadvisor (>=2.14.0,<2.15.0)"] -verifiedpermissions = ["types-aiobotocore-verifiedpermissions (>=2.14.0,<2.15.0)"] -voice-id = ["types-aiobotocore-voice-id (>=2.14.0,<2.15.0)"] -vpc-lattice = ["types-aiobotocore-vpc-lattice (>=2.14.0,<2.15.0)"] -waf = ["types-aiobotocore-waf (>=2.14.0,<2.15.0)"] -waf-regional = ["types-aiobotocore-waf-regional (>=2.14.0,<2.15.0)"] -wafv2 = ["types-aiobotocore-wafv2 (>=2.14.0,<2.15.0)"] -wellarchitected = ["types-aiobotocore-wellarchitected (>=2.14.0,<2.15.0)"] -wisdom = ["types-aiobotocore-wisdom (>=2.14.0,<2.15.0)"] -workdocs = ["types-aiobotocore-workdocs (>=2.14.0,<2.15.0)"] -worklink = ["types-aiobotocore-worklink (>=2.14.0,<2.15.0)"] -workmail = ["types-aiobotocore-workmail (>=2.14.0,<2.15.0)"] -workmailmessageflow = ["types-aiobotocore-workmailmessageflow (>=2.14.0,<2.15.0)"] -workspaces = ["types-aiobotocore-workspaces (>=2.14.0,<2.15.0)"] -workspaces-thin-client = ["types-aiobotocore-workspaces-thin-client (>=2.14.0,<2.15.0)"] -workspaces-web = ["types-aiobotocore-workspaces-web (>=2.14.0,<2.15.0)"] -xray = ["types-aiobotocore-xray (>=2.14.0,<2.15.0)"] +accessanalyzer = ["types-aiobotocore-accessanalyzer (>=2.15.0,<2.16.0)"] +account = ["types-aiobotocore-account (>=2.15.0,<2.16.0)"] +acm = ["types-aiobotocore-acm (>=2.15.0,<2.16.0)"] +acm-pca = ["types-aiobotocore-acm-pca (>=2.15.0,<2.16.0)"] +aiobotocore = ["aiobotocore (==2.15.1)", "botocore (==1.35.23)"] +all = ["types-aiobotocore-accessanalyzer (>=2.15.0,<2.16.0)", "types-aiobotocore-account (>=2.15.0,<2.16.0)", "types-aiobotocore-acm (>=2.15.0,<2.16.0)", "types-aiobotocore-acm-pca (>=2.15.0,<2.16.0)", "types-aiobotocore-amp (>=2.15.0,<2.16.0)", "types-aiobotocore-amplify (>=2.15.0,<2.16.0)", "types-aiobotocore-amplifybackend (>=2.15.0,<2.16.0)", "types-aiobotocore-amplifyuibuilder (>=2.15.0,<2.16.0)", "types-aiobotocore-apigateway (>=2.15.0,<2.16.0)", "types-aiobotocore-apigatewaymanagementapi (>=2.15.0,<2.16.0)", "types-aiobotocore-apigatewayv2 (>=2.15.0,<2.16.0)", "types-aiobotocore-appconfig (>=2.15.0,<2.16.0)", "types-aiobotocore-appconfigdata (>=2.15.0,<2.16.0)", "types-aiobotocore-appfabric (>=2.15.0,<2.16.0)", "types-aiobotocore-appflow (>=2.15.0,<2.16.0)", "types-aiobotocore-appintegrations (>=2.15.0,<2.16.0)", "types-aiobotocore-application-autoscaling (>=2.15.0,<2.16.0)", "types-aiobotocore-application-insights (>=2.15.0,<2.16.0)", "types-aiobotocore-application-signals (>=2.15.0,<2.16.0)", "types-aiobotocore-applicationcostprofiler (>=2.15.0,<2.16.0)", "types-aiobotocore-appmesh (>=2.15.0,<2.16.0)", "types-aiobotocore-apprunner (>=2.15.0,<2.16.0)", "types-aiobotocore-appstream (>=2.15.0,<2.16.0)", "types-aiobotocore-appsync (>=2.15.0,<2.16.0)", "types-aiobotocore-apptest (>=2.15.0,<2.16.0)", "types-aiobotocore-arc-zonal-shift (>=2.15.0,<2.16.0)", "types-aiobotocore-artifact (>=2.15.0,<2.16.0)", "types-aiobotocore-athena (>=2.15.0,<2.16.0)", "types-aiobotocore-auditmanager (>=2.15.0,<2.16.0)", "types-aiobotocore-autoscaling (>=2.15.0,<2.16.0)", "types-aiobotocore-autoscaling-plans (>=2.15.0,<2.16.0)", "types-aiobotocore-b2bi (>=2.15.0,<2.16.0)", "types-aiobotocore-backup (>=2.15.0,<2.16.0)", "types-aiobotocore-backup-gateway (>=2.15.0,<2.16.0)", "types-aiobotocore-batch (>=2.15.0,<2.16.0)", "types-aiobotocore-bcm-data-exports (>=2.15.0,<2.16.0)", "types-aiobotocore-bedrock (>=2.15.0,<2.16.0)", "types-aiobotocore-bedrock-agent (>=2.15.0,<2.16.0)", "types-aiobotocore-bedrock-agent-runtime (>=2.15.0,<2.16.0)", "types-aiobotocore-bedrock-runtime (>=2.15.0,<2.16.0)", "types-aiobotocore-billingconductor (>=2.15.0,<2.16.0)", "types-aiobotocore-braket (>=2.15.0,<2.16.0)", "types-aiobotocore-budgets (>=2.15.0,<2.16.0)", "types-aiobotocore-ce (>=2.15.0,<2.16.0)", "types-aiobotocore-chatbot (>=2.15.0,<2.16.0)", "types-aiobotocore-chime (>=2.15.0,<2.16.0)", "types-aiobotocore-chime-sdk-identity (>=2.15.0,<2.16.0)", "types-aiobotocore-chime-sdk-media-pipelines (>=2.15.0,<2.16.0)", "types-aiobotocore-chime-sdk-meetings (>=2.15.0,<2.16.0)", "types-aiobotocore-chime-sdk-messaging (>=2.15.0,<2.16.0)", "types-aiobotocore-chime-sdk-voice (>=2.15.0,<2.16.0)", "types-aiobotocore-cleanrooms (>=2.15.0,<2.16.0)", "types-aiobotocore-cleanroomsml (>=2.15.0,<2.16.0)", "types-aiobotocore-cloud9 (>=2.15.0,<2.16.0)", "types-aiobotocore-cloudcontrol (>=2.15.0,<2.16.0)", "types-aiobotocore-clouddirectory (>=2.15.0,<2.16.0)", "types-aiobotocore-cloudformation (>=2.15.0,<2.16.0)", "types-aiobotocore-cloudfront (>=2.15.0,<2.16.0)", "types-aiobotocore-cloudfront-keyvaluestore (>=2.15.0,<2.16.0)", "types-aiobotocore-cloudhsm (>=2.15.0,<2.16.0)", "types-aiobotocore-cloudhsmv2 (>=2.15.0,<2.16.0)", "types-aiobotocore-cloudsearch (>=2.15.0,<2.16.0)", "types-aiobotocore-cloudsearchdomain (>=2.15.0,<2.16.0)", "types-aiobotocore-cloudtrail (>=2.15.0,<2.16.0)", "types-aiobotocore-cloudtrail-data (>=2.15.0,<2.16.0)", "types-aiobotocore-cloudwatch (>=2.15.0,<2.16.0)", "types-aiobotocore-codeartifact (>=2.15.0,<2.16.0)", "types-aiobotocore-codebuild (>=2.15.0,<2.16.0)", "types-aiobotocore-codecatalyst (>=2.15.0,<2.16.0)", "types-aiobotocore-codecommit (>=2.15.0,<2.16.0)", "types-aiobotocore-codeconnections (>=2.15.0,<2.16.0)", "types-aiobotocore-codedeploy (>=2.15.0,<2.16.0)", "types-aiobotocore-codeguru-reviewer (>=2.15.0,<2.16.0)", "types-aiobotocore-codeguru-security (>=2.15.0,<2.16.0)", "types-aiobotocore-codeguruprofiler (>=2.15.0,<2.16.0)", "types-aiobotocore-codepipeline (>=2.15.0,<2.16.0)", "types-aiobotocore-codestar-connections (>=2.15.0,<2.16.0)", "types-aiobotocore-codestar-notifications (>=2.15.0,<2.16.0)", "types-aiobotocore-cognito-identity (>=2.15.0,<2.16.0)", "types-aiobotocore-cognito-idp (>=2.15.0,<2.16.0)", "types-aiobotocore-cognito-sync (>=2.15.0,<2.16.0)", "types-aiobotocore-comprehend (>=2.15.0,<2.16.0)", "types-aiobotocore-comprehendmedical (>=2.15.0,<2.16.0)", "types-aiobotocore-compute-optimizer (>=2.15.0,<2.16.0)", "types-aiobotocore-config (>=2.15.0,<2.16.0)", "types-aiobotocore-connect (>=2.15.0,<2.16.0)", "types-aiobotocore-connect-contact-lens (>=2.15.0,<2.16.0)", "types-aiobotocore-connectcampaigns (>=2.15.0,<2.16.0)", "types-aiobotocore-connectcases (>=2.15.0,<2.16.0)", "types-aiobotocore-connectparticipant (>=2.15.0,<2.16.0)", "types-aiobotocore-controlcatalog (>=2.15.0,<2.16.0)", "types-aiobotocore-controltower (>=2.15.0,<2.16.0)", "types-aiobotocore-cost-optimization-hub (>=2.15.0,<2.16.0)", "types-aiobotocore-cur (>=2.15.0,<2.16.0)", "types-aiobotocore-customer-profiles (>=2.15.0,<2.16.0)", "types-aiobotocore-databrew (>=2.15.0,<2.16.0)", "types-aiobotocore-dataexchange (>=2.15.0,<2.16.0)", "types-aiobotocore-datapipeline (>=2.15.0,<2.16.0)", "types-aiobotocore-datasync (>=2.15.0,<2.16.0)", "types-aiobotocore-datazone (>=2.15.0,<2.16.0)", "types-aiobotocore-dax (>=2.15.0,<2.16.0)", "types-aiobotocore-deadline (>=2.15.0,<2.16.0)", "types-aiobotocore-detective (>=2.15.0,<2.16.0)", "types-aiobotocore-devicefarm (>=2.15.0,<2.16.0)", "types-aiobotocore-devops-guru (>=2.15.0,<2.16.0)", "types-aiobotocore-directconnect (>=2.15.0,<2.16.0)", "types-aiobotocore-discovery (>=2.15.0,<2.16.0)", "types-aiobotocore-dlm (>=2.15.0,<2.16.0)", "types-aiobotocore-dms (>=2.15.0,<2.16.0)", "types-aiobotocore-docdb (>=2.15.0,<2.16.0)", "types-aiobotocore-docdb-elastic (>=2.15.0,<2.16.0)", "types-aiobotocore-drs (>=2.15.0,<2.16.0)", "types-aiobotocore-ds (>=2.15.0,<2.16.0)", "types-aiobotocore-ds-data (>=2.15.0,<2.16.0)", "types-aiobotocore-dynamodb (>=2.15.0,<2.16.0)", "types-aiobotocore-dynamodbstreams (>=2.15.0,<2.16.0)", "types-aiobotocore-ebs (>=2.15.0,<2.16.0)", "types-aiobotocore-ec2 (>=2.15.0,<2.16.0)", "types-aiobotocore-ec2-instance-connect (>=2.15.0,<2.16.0)", "types-aiobotocore-ecr (>=2.15.0,<2.16.0)", "types-aiobotocore-ecr-public (>=2.15.0,<2.16.0)", "types-aiobotocore-ecs (>=2.15.0,<2.16.0)", "types-aiobotocore-efs (>=2.15.0,<2.16.0)", "types-aiobotocore-eks (>=2.15.0,<2.16.0)", "types-aiobotocore-eks-auth (>=2.15.0,<2.16.0)", "types-aiobotocore-elastic-inference (>=2.15.0,<2.16.0)", "types-aiobotocore-elasticache (>=2.15.0,<2.16.0)", "types-aiobotocore-elasticbeanstalk (>=2.15.0,<2.16.0)", "types-aiobotocore-elastictranscoder (>=2.15.0,<2.16.0)", "types-aiobotocore-elb (>=2.15.0,<2.16.0)", "types-aiobotocore-elbv2 (>=2.15.0,<2.16.0)", "types-aiobotocore-emr (>=2.15.0,<2.16.0)", "types-aiobotocore-emr-containers (>=2.15.0,<2.16.0)", "types-aiobotocore-emr-serverless (>=2.15.0,<2.16.0)", "types-aiobotocore-entityresolution (>=2.15.0,<2.16.0)", "types-aiobotocore-es (>=2.15.0,<2.16.0)", "types-aiobotocore-events (>=2.15.0,<2.16.0)", "types-aiobotocore-evidently (>=2.15.0,<2.16.0)", "types-aiobotocore-finspace (>=2.15.0,<2.16.0)", "types-aiobotocore-finspace-data (>=2.15.0,<2.16.0)", "types-aiobotocore-firehose (>=2.15.0,<2.16.0)", "types-aiobotocore-fis (>=2.15.0,<2.16.0)", "types-aiobotocore-fms (>=2.15.0,<2.16.0)", "types-aiobotocore-forecast (>=2.15.0,<2.16.0)", "types-aiobotocore-forecastquery (>=2.15.0,<2.16.0)", "types-aiobotocore-frauddetector (>=2.15.0,<2.16.0)", "types-aiobotocore-freetier (>=2.15.0,<2.16.0)", "types-aiobotocore-fsx (>=2.15.0,<2.16.0)", "types-aiobotocore-gamelift (>=2.15.0,<2.16.0)", "types-aiobotocore-glacier (>=2.15.0,<2.16.0)", "types-aiobotocore-globalaccelerator (>=2.15.0,<2.16.0)", "types-aiobotocore-glue (>=2.15.0,<2.16.0)", "types-aiobotocore-grafana (>=2.15.0,<2.16.0)", "types-aiobotocore-greengrass (>=2.15.0,<2.16.0)", "types-aiobotocore-greengrassv2 (>=2.15.0,<2.16.0)", "types-aiobotocore-groundstation (>=2.15.0,<2.16.0)", "types-aiobotocore-guardduty (>=2.15.0,<2.16.0)", "types-aiobotocore-health (>=2.15.0,<2.16.0)", "types-aiobotocore-healthlake (>=2.15.0,<2.16.0)", "types-aiobotocore-iam (>=2.15.0,<2.16.0)", "types-aiobotocore-identitystore (>=2.15.0,<2.16.0)", "types-aiobotocore-imagebuilder (>=2.15.0,<2.16.0)", "types-aiobotocore-importexport (>=2.15.0,<2.16.0)", "types-aiobotocore-inspector (>=2.15.0,<2.16.0)", "types-aiobotocore-inspector-scan (>=2.15.0,<2.16.0)", "types-aiobotocore-inspector2 (>=2.15.0,<2.16.0)", "types-aiobotocore-internetmonitor (>=2.15.0,<2.16.0)", "types-aiobotocore-iot (>=2.15.0,<2.16.0)", "types-aiobotocore-iot-data (>=2.15.0,<2.16.0)", "types-aiobotocore-iot-jobs-data (>=2.15.0,<2.16.0)", "types-aiobotocore-iot1click-devices (>=2.15.0,<2.16.0)", "types-aiobotocore-iot1click-projects (>=2.15.0,<2.16.0)", "types-aiobotocore-iotanalytics (>=2.15.0,<2.16.0)", "types-aiobotocore-iotdeviceadvisor (>=2.15.0,<2.16.0)", "types-aiobotocore-iotevents (>=2.15.0,<2.16.0)", "types-aiobotocore-iotevents-data (>=2.15.0,<2.16.0)", "types-aiobotocore-iotfleethub (>=2.15.0,<2.16.0)", "types-aiobotocore-iotfleetwise (>=2.15.0,<2.16.0)", "types-aiobotocore-iotsecuretunneling (>=2.15.0,<2.16.0)", "types-aiobotocore-iotsitewise (>=2.15.0,<2.16.0)", "types-aiobotocore-iotthingsgraph (>=2.15.0,<2.16.0)", "types-aiobotocore-iottwinmaker (>=2.15.0,<2.16.0)", "types-aiobotocore-iotwireless (>=2.15.0,<2.16.0)", "types-aiobotocore-ivs (>=2.15.0,<2.16.0)", "types-aiobotocore-ivs-realtime (>=2.15.0,<2.16.0)", "types-aiobotocore-ivschat (>=2.15.0,<2.16.0)", "types-aiobotocore-kafka (>=2.15.0,<2.16.0)", "types-aiobotocore-kafkaconnect (>=2.15.0,<2.16.0)", "types-aiobotocore-kendra (>=2.15.0,<2.16.0)", "types-aiobotocore-kendra-ranking (>=2.15.0,<2.16.0)", "types-aiobotocore-keyspaces (>=2.15.0,<2.16.0)", "types-aiobotocore-kinesis (>=2.15.0,<2.16.0)", "types-aiobotocore-kinesis-video-archived-media (>=2.15.0,<2.16.0)", "types-aiobotocore-kinesis-video-media (>=2.15.0,<2.16.0)", "types-aiobotocore-kinesis-video-signaling (>=2.15.0,<2.16.0)", "types-aiobotocore-kinesis-video-webrtc-storage (>=2.15.0,<2.16.0)", "types-aiobotocore-kinesisanalytics (>=2.15.0,<2.16.0)", "types-aiobotocore-kinesisanalyticsv2 (>=2.15.0,<2.16.0)", "types-aiobotocore-kinesisvideo (>=2.15.0,<2.16.0)", "types-aiobotocore-kms (>=2.15.0,<2.16.0)", "types-aiobotocore-lakeformation (>=2.15.0,<2.16.0)", "types-aiobotocore-lambda (>=2.15.0,<2.16.0)", "types-aiobotocore-launch-wizard (>=2.15.0,<2.16.0)", "types-aiobotocore-lex-models (>=2.15.0,<2.16.0)", "types-aiobotocore-lex-runtime (>=2.15.0,<2.16.0)", "types-aiobotocore-lexv2-models (>=2.15.0,<2.16.0)", "types-aiobotocore-lexv2-runtime (>=2.15.0,<2.16.0)", "types-aiobotocore-license-manager (>=2.15.0,<2.16.0)", "types-aiobotocore-license-manager-linux-subscriptions (>=2.15.0,<2.16.0)", "types-aiobotocore-license-manager-user-subscriptions (>=2.15.0,<2.16.0)", "types-aiobotocore-lightsail (>=2.15.0,<2.16.0)", "types-aiobotocore-location (>=2.15.0,<2.16.0)", "types-aiobotocore-logs (>=2.15.0,<2.16.0)", "types-aiobotocore-lookoutequipment (>=2.15.0,<2.16.0)", "types-aiobotocore-lookoutmetrics (>=2.15.0,<2.16.0)", "types-aiobotocore-lookoutvision (>=2.15.0,<2.16.0)", "types-aiobotocore-m2 (>=2.15.0,<2.16.0)", "types-aiobotocore-machinelearning (>=2.15.0,<2.16.0)", "types-aiobotocore-macie2 (>=2.15.0,<2.16.0)", "types-aiobotocore-mailmanager (>=2.15.0,<2.16.0)", "types-aiobotocore-managedblockchain (>=2.15.0,<2.16.0)", "types-aiobotocore-managedblockchain-query (>=2.15.0,<2.16.0)", "types-aiobotocore-marketplace-agreement (>=2.15.0,<2.16.0)", "types-aiobotocore-marketplace-catalog (>=2.15.0,<2.16.0)", "types-aiobotocore-marketplace-deployment (>=2.15.0,<2.16.0)", "types-aiobotocore-marketplace-entitlement (>=2.15.0,<2.16.0)", "types-aiobotocore-marketplacecommerceanalytics (>=2.15.0,<2.16.0)", "types-aiobotocore-mediaconnect (>=2.15.0,<2.16.0)", "types-aiobotocore-mediaconvert (>=2.15.0,<2.16.0)", "types-aiobotocore-medialive (>=2.15.0,<2.16.0)", "types-aiobotocore-mediapackage (>=2.15.0,<2.16.0)", "types-aiobotocore-mediapackage-vod (>=2.15.0,<2.16.0)", "types-aiobotocore-mediapackagev2 (>=2.15.0,<2.16.0)", "types-aiobotocore-mediastore (>=2.15.0,<2.16.0)", "types-aiobotocore-mediastore-data (>=2.15.0,<2.16.0)", "types-aiobotocore-mediatailor (>=2.15.0,<2.16.0)", "types-aiobotocore-medical-imaging (>=2.15.0,<2.16.0)", "types-aiobotocore-memorydb (>=2.15.0,<2.16.0)", "types-aiobotocore-meteringmarketplace (>=2.15.0,<2.16.0)", "types-aiobotocore-mgh (>=2.15.0,<2.16.0)", "types-aiobotocore-mgn (>=2.15.0,<2.16.0)", "types-aiobotocore-migration-hub-refactor-spaces (>=2.15.0,<2.16.0)", "types-aiobotocore-migrationhub-config (>=2.15.0,<2.16.0)", "types-aiobotocore-migrationhuborchestrator (>=2.15.0,<2.16.0)", "types-aiobotocore-migrationhubstrategy (>=2.15.0,<2.16.0)", "types-aiobotocore-mq (>=2.15.0,<2.16.0)", "types-aiobotocore-mturk (>=2.15.0,<2.16.0)", "types-aiobotocore-mwaa (>=2.15.0,<2.16.0)", "types-aiobotocore-neptune (>=2.15.0,<2.16.0)", "types-aiobotocore-neptune-graph (>=2.15.0,<2.16.0)", "types-aiobotocore-neptunedata (>=2.15.0,<2.16.0)", "types-aiobotocore-network-firewall (>=2.15.0,<2.16.0)", "types-aiobotocore-networkmanager (>=2.15.0,<2.16.0)", "types-aiobotocore-networkmonitor (>=2.15.0,<2.16.0)", "types-aiobotocore-nimble (>=2.15.0,<2.16.0)", "types-aiobotocore-oam (>=2.15.0,<2.16.0)", "types-aiobotocore-omics (>=2.15.0,<2.16.0)", "types-aiobotocore-opensearch (>=2.15.0,<2.16.0)", "types-aiobotocore-opensearchserverless (>=2.15.0,<2.16.0)", "types-aiobotocore-opsworks (>=2.15.0,<2.16.0)", "types-aiobotocore-opsworkscm (>=2.15.0,<2.16.0)", "types-aiobotocore-organizations (>=2.15.0,<2.16.0)", "types-aiobotocore-osis (>=2.15.0,<2.16.0)", "types-aiobotocore-outposts (>=2.15.0,<2.16.0)", "types-aiobotocore-panorama (>=2.15.0,<2.16.0)", "types-aiobotocore-payment-cryptography (>=2.15.0,<2.16.0)", "types-aiobotocore-payment-cryptography-data (>=2.15.0,<2.16.0)", "types-aiobotocore-pca-connector-ad (>=2.15.0,<2.16.0)", "types-aiobotocore-pca-connector-scep (>=2.15.0,<2.16.0)", "types-aiobotocore-pcs (>=2.15.0,<2.16.0)", "types-aiobotocore-personalize (>=2.15.0,<2.16.0)", "types-aiobotocore-personalize-events (>=2.15.0,<2.16.0)", "types-aiobotocore-personalize-runtime (>=2.15.0,<2.16.0)", "types-aiobotocore-pi (>=2.15.0,<2.16.0)", "types-aiobotocore-pinpoint (>=2.15.0,<2.16.0)", "types-aiobotocore-pinpoint-email (>=2.15.0,<2.16.0)", "types-aiobotocore-pinpoint-sms-voice (>=2.15.0,<2.16.0)", "types-aiobotocore-pinpoint-sms-voice-v2 (>=2.15.0,<2.16.0)", "types-aiobotocore-pipes (>=2.15.0,<2.16.0)", "types-aiobotocore-polly (>=2.15.0,<2.16.0)", "types-aiobotocore-pricing (>=2.15.0,<2.16.0)", "types-aiobotocore-privatenetworks (>=2.15.0,<2.16.0)", "types-aiobotocore-proton (>=2.15.0,<2.16.0)", "types-aiobotocore-qapps (>=2.15.0,<2.16.0)", "types-aiobotocore-qbusiness (>=2.15.0,<2.16.0)", "types-aiobotocore-qconnect (>=2.15.0,<2.16.0)", "types-aiobotocore-qldb (>=2.15.0,<2.16.0)", "types-aiobotocore-qldb-session (>=2.15.0,<2.16.0)", "types-aiobotocore-quicksight (>=2.15.0,<2.16.0)", "types-aiobotocore-ram (>=2.15.0,<2.16.0)", "types-aiobotocore-rbin (>=2.15.0,<2.16.0)", "types-aiobotocore-rds (>=2.15.0,<2.16.0)", "types-aiobotocore-rds-data (>=2.15.0,<2.16.0)", "types-aiobotocore-redshift (>=2.15.0,<2.16.0)", "types-aiobotocore-redshift-data (>=2.15.0,<2.16.0)", "types-aiobotocore-redshift-serverless (>=2.15.0,<2.16.0)", "types-aiobotocore-rekognition (>=2.15.0,<2.16.0)", "types-aiobotocore-repostspace (>=2.15.0,<2.16.0)", "types-aiobotocore-resiliencehub (>=2.15.0,<2.16.0)", "types-aiobotocore-resource-explorer-2 (>=2.15.0,<2.16.0)", "types-aiobotocore-resource-groups (>=2.15.0,<2.16.0)", "types-aiobotocore-resourcegroupstaggingapi (>=2.15.0,<2.16.0)", "types-aiobotocore-robomaker (>=2.15.0,<2.16.0)", "types-aiobotocore-rolesanywhere (>=2.15.0,<2.16.0)", "types-aiobotocore-route53 (>=2.15.0,<2.16.0)", "types-aiobotocore-route53-recovery-cluster (>=2.15.0,<2.16.0)", "types-aiobotocore-route53-recovery-control-config (>=2.15.0,<2.16.0)", "types-aiobotocore-route53-recovery-readiness (>=2.15.0,<2.16.0)", "types-aiobotocore-route53domains (>=2.15.0,<2.16.0)", "types-aiobotocore-route53profiles (>=2.15.0,<2.16.0)", "types-aiobotocore-route53resolver (>=2.15.0,<2.16.0)", "types-aiobotocore-rum (>=2.15.0,<2.16.0)", "types-aiobotocore-s3 (>=2.15.0,<2.16.0)", "types-aiobotocore-s3control (>=2.15.0,<2.16.0)", "types-aiobotocore-s3outposts (>=2.15.0,<2.16.0)", "types-aiobotocore-sagemaker (>=2.15.0,<2.16.0)", "types-aiobotocore-sagemaker-a2i-runtime (>=2.15.0,<2.16.0)", "types-aiobotocore-sagemaker-edge (>=2.15.0,<2.16.0)", "types-aiobotocore-sagemaker-featurestore-runtime (>=2.15.0,<2.16.0)", "types-aiobotocore-sagemaker-geospatial (>=2.15.0,<2.16.0)", "types-aiobotocore-sagemaker-metrics (>=2.15.0,<2.16.0)", "types-aiobotocore-sagemaker-runtime (>=2.15.0,<2.16.0)", "types-aiobotocore-savingsplans (>=2.15.0,<2.16.0)", "types-aiobotocore-scheduler (>=2.15.0,<2.16.0)", "types-aiobotocore-schemas (>=2.15.0,<2.16.0)", "types-aiobotocore-sdb (>=2.15.0,<2.16.0)", "types-aiobotocore-secretsmanager (>=2.15.0,<2.16.0)", "types-aiobotocore-securityhub (>=2.15.0,<2.16.0)", "types-aiobotocore-securitylake (>=2.15.0,<2.16.0)", "types-aiobotocore-serverlessrepo (>=2.15.0,<2.16.0)", "types-aiobotocore-service-quotas (>=2.15.0,<2.16.0)", "types-aiobotocore-servicecatalog (>=2.15.0,<2.16.0)", "types-aiobotocore-servicecatalog-appregistry (>=2.15.0,<2.16.0)", "types-aiobotocore-servicediscovery (>=2.15.0,<2.16.0)", "types-aiobotocore-ses (>=2.15.0,<2.16.0)", "types-aiobotocore-sesv2 (>=2.15.0,<2.16.0)", "types-aiobotocore-shield (>=2.15.0,<2.16.0)", "types-aiobotocore-signer (>=2.15.0,<2.16.0)", "types-aiobotocore-simspaceweaver (>=2.15.0,<2.16.0)", "types-aiobotocore-sms (>=2.15.0,<2.16.0)", "types-aiobotocore-sms-voice (>=2.15.0,<2.16.0)", "types-aiobotocore-snow-device-management (>=2.15.0,<2.16.0)", "types-aiobotocore-snowball (>=2.15.0,<2.16.0)", "types-aiobotocore-sns (>=2.15.0,<2.16.0)", "types-aiobotocore-sqs (>=2.15.0,<2.16.0)", "types-aiobotocore-ssm (>=2.15.0,<2.16.0)", "types-aiobotocore-ssm-contacts (>=2.15.0,<2.16.0)", "types-aiobotocore-ssm-incidents (>=2.15.0,<2.16.0)", "types-aiobotocore-ssm-quicksetup (>=2.15.0,<2.16.0)", "types-aiobotocore-ssm-sap (>=2.15.0,<2.16.0)", "types-aiobotocore-sso (>=2.15.0,<2.16.0)", "types-aiobotocore-sso-admin (>=2.15.0,<2.16.0)", "types-aiobotocore-sso-oidc (>=2.15.0,<2.16.0)", "types-aiobotocore-stepfunctions (>=2.15.0,<2.16.0)", "types-aiobotocore-storagegateway (>=2.15.0,<2.16.0)", "types-aiobotocore-sts (>=2.15.0,<2.16.0)", "types-aiobotocore-supplychain (>=2.15.0,<2.16.0)", "types-aiobotocore-support (>=2.15.0,<2.16.0)", "types-aiobotocore-support-app (>=2.15.0,<2.16.0)", "types-aiobotocore-swf (>=2.15.0,<2.16.0)", "types-aiobotocore-synthetics (>=2.15.0,<2.16.0)", "types-aiobotocore-taxsettings (>=2.15.0,<2.16.0)", "types-aiobotocore-textract (>=2.15.0,<2.16.0)", "types-aiobotocore-timestream-influxdb (>=2.15.0,<2.16.0)", "types-aiobotocore-timestream-query (>=2.15.0,<2.16.0)", "types-aiobotocore-timestream-write (>=2.15.0,<2.16.0)", "types-aiobotocore-tnb (>=2.15.0,<2.16.0)", "types-aiobotocore-transcribe (>=2.15.0,<2.16.0)", "types-aiobotocore-transfer (>=2.15.0,<2.16.0)", "types-aiobotocore-translate (>=2.15.0,<2.16.0)", "types-aiobotocore-trustedadvisor (>=2.15.0,<2.16.0)", "types-aiobotocore-verifiedpermissions (>=2.15.0,<2.16.0)", "types-aiobotocore-voice-id (>=2.15.0,<2.16.0)", "types-aiobotocore-vpc-lattice (>=2.15.0,<2.16.0)", "types-aiobotocore-waf (>=2.15.0,<2.16.0)", "types-aiobotocore-waf-regional (>=2.15.0,<2.16.0)", "types-aiobotocore-wafv2 (>=2.15.0,<2.16.0)", "types-aiobotocore-wellarchitected (>=2.15.0,<2.16.0)", "types-aiobotocore-wisdom (>=2.15.0,<2.16.0)", "types-aiobotocore-workdocs (>=2.15.0,<2.16.0)", "types-aiobotocore-worklink (>=2.15.0,<2.16.0)", "types-aiobotocore-workmail (>=2.15.0,<2.16.0)", "types-aiobotocore-workmailmessageflow (>=2.15.0,<2.16.0)", "types-aiobotocore-workspaces (>=2.15.0,<2.16.0)", "types-aiobotocore-workspaces-thin-client (>=2.15.0,<2.16.0)", "types-aiobotocore-workspaces-web (>=2.15.0,<2.16.0)", "types-aiobotocore-xray (>=2.15.0,<2.16.0)"] +amp = ["types-aiobotocore-amp (>=2.15.0,<2.16.0)"] +amplify = ["types-aiobotocore-amplify (>=2.15.0,<2.16.0)"] +amplifybackend = ["types-aiobotocore-amplifybackend (>=2.15.0,<2.16.0)"] +amplifyuibuilder = ["types-aiobotocore-amplifyuibuilder (>=2.15.0,<2.16.0)"] +apigateway = ["types-aiobotocore-apigateway (>=2.15.0,<2.16.0)"] +apigatewaymanagementapi = ["types-aiobotocore-apigatewaymanagementapi (>=2.15.0,<2.16.0)"] +apigatewayv2 = ["types-aiobotocore-apigatewayv2 (>=2.15.0,<2.16.0)"] +appconfig = ["types-aiobotocore-appconfig (>=2.15.0,<2.16.0)"] +appconfigdata = ["types-aiobotocore-appconfigdata (>=2.15.0,<2.16.0)"] +appfabric = ["types-aiobotocore-appfabric (>=2.15.0,<2.16.0)"] +appflow = ["types-aiobotocore-appflow (>=2.15.0,<2.16.0)"] +appintegrations = ["types-aiobotocore-appintegrations (>=2.15.0,<2.16.0)"] +application-autoscaling = ["types-aiobotocore-application-autoscaling (>=2.15.0,<2.16.0)"] +application-insights = ["types-aiobotocore-application-insights (>=2.15.0,<2.16.0)"] +application-signals = ["types-aiobotocore-application-signals (>=2.15.0,<2.16.0)"] +applicationcostprofiler = ["types-aiobotocore-applicationcostprofiler (>=2.15.0,<2.16.0)"] +appmesh = ["types-aiobotocore-appmesh (>=2.15.0,<2.16.0)"] +apprunner = ["types-aiobotocore-apprunner (>=2.15.0,<2.16.0)"] +appstream = ["types-aiobotocore-appstream (>=2.15.0,<2.16.0)"] +appsync = ["types-aiobotocore-appsync (>=2.15.0,<2.16.0)"] +apptest = ["types-aiobotocore-apptest (>=2.15.0,<2.16.0)"] +arc-zonal-shift = ["types-aiobotocore-arc-zonal-shift (>=2.15.0,<2.16.0)"] +artifact = ["types-aiobotocore-artifact (>=2.15.0,<2.16.0)"] +athena = ["types-aiobotocore-athena (>=2.15.0,<2.16.0)"] +auditmanager = ["types-aiobotocore-auditmanager (>=2.15.0,<2.16.0)"] +autoscaling = ["types-aiobotocore-autoscaling (>=2.15.0,<2.16.0)"] +autoscaling-plans = ["types-aiobotocore-autoscaling-plans (>=2.15.0,<2.16.0)"] +b2bi = ["types-aiobotocore-b2bi (>=2.15.0,<2.16.0)"] +backup = ["types-aiobotocore-backup (>=2.15.0,<2.16.0)"] +backup-gateway = ["types-aiobotocore-backup-gateway (>=2.15.0,<2.16.0)"] +batch = ["types-aiobotocore-batch (>=2.15.0,<2.16.0)"] +bcm-data-exports = ["types-aiobotocore-bcm-data-exports (>=2.15.0,<2.16.0)"] +bedrock = ["types-aiobotocore-bedrock (>=2.15.0,<2.16.0)"] +bedrock-agent = ["types-aiobotocore-bedrock-agent (>=2.15.0,<2.16.0)"] +bedrock-agent-runtime = ["types-aiobotocore-bedrock-agent-runtime (>=2.15.0,<2.16.0)"] +bedrock-runtime = ["types-aiobotocore-bedrock-runtime (>=2.15.0,<2.16.0)"] +billingconductor = ["types-aiobotocore-billingconductor (>=2.15.0,<2.16.0)"] +braket = ["types-aiobotocore-braket (>=2.15.0,<2.16.0)"] +budgets = ["types-aiobotocore-budgets (>=2.15.0,<2.16.0)"] +ce = ["types-aiobotocore-ce (>=2.15.0,<2.16.0)"] +chatbot = ["types-aiobotocore-chatbot (>=2.15.0,<2.16.0)"] +chime = ["types-aiobotocore-chime (>=2.15.0,<2.16.0)"] +chime-sdk-identity = ["types-aiobotocore-chime-sdk-identity (>=2.15.0,<2.16.0)"] +chime-sdk-media-pipelines = ["types-aiobotocore-chime-sdk-media-pipelines (>=2.15.0,<2.16.0)"] +chime-sdk-meetings = ["types-aiobotocore-chime-sdk-meetings (>=2.15.0,<2.16.0)"] +chime-sdk-messaging = ["types-aiobotocore-chime-sdk-messaging (>=2.15.0,<2.16.0)"] +chime-sdk-voice = ["types-aiobotocore-chime-sdk-voice (>=2.15.0,<2.16.0)"] +cleanrooms = ["types-aiobotocore-cleanrooms (>=2.15.0,<2.16.0)"] +cleanroomsml = ["types-aiobotocore-cleanroomsml (>=2.15.0,<2.16.0)"] +cloud9 = ["types-aiobotocore-cloud9 (>=2.15.0,<2.16.0)"] +cloudcontrol = ["types-aiobotocore-cloudcontrol (>=2.15.0,<2.16.0)"] +clouddirectory = ["types-aiobotocore-clouddirectory (>=2.15.0,<2.16.0)"] +cloudformation = ["types-aiobotocore-cloudformation (>=2.15.0,<2.16.0)"] +cloudfront = ["types-aiobotocore-cloudfront (>=2.15.0,<2.16.0)"] +cloudfront-keyvaluestore = ["types-aiobotocore-cloudfront-keyvaluestore (>=2.15.0,<2.16.0)"] +cloudhsm = ["types-aiobotocore-cloudhsm (>=2.15.0,<2.16.0)"] +cloudhsmv2 = ["types-aiobotocore-cloudhsmv2 (>=2.15.0,<2.16.0)"] +cloudsearch = ["types-aiobotocore-cloudsearch (>=2.15.0,<2.16.0)"] +cloudsearchdomain = ["types-aiobotocore-cloudsearchdomain (>=2.15.0,<2.16.0)"] +cloudtrail = ["types-aiobotocore-cloudtrail (>=2.15.0,<2.16.0)"] +cloudtrail-data = ["types-aiobotocore-cloudtrail-data (>=2.15.0,<2.16.0)"] +cloudwatch = ["types-aiobotocore-cloudwatch (>=2.15.0,<2.16.0)"] +codeartifact = ["types-aiobotocore-codeartifact (>=2.15.0,<2.16.0)"] +codebuild = ["types-aiobotocore-codebuild (>=2.15.0,<2.16.0)"] +codecatalyst = ["types-aiobotocore-codecatalyst (>=2.15.0,<2.16.0)"] +codecommit = ["types-aiobotocore-codecommit (>=2.15.0,<2.16.0)"] +codeconnections = ["types-aiobotocore-codeconnections (>=2.15.0,<2.16.0)"] +codedeploy = ["types-aiobotocore-codedeploy (>=2.15.0,<2.16.0)"] +codeguru-reviewer = ["types-aiobotocore-codeguru-reviewer (>=2.15.0,<2.16.0)"] +codeguru-security = ["types-aiobotocore-codeguru-security (>=2.15.0,<2.16.0)"] +codeguruprofiler = ["types-aiobotocore-codeguruprofiler (>=2.15.0,<2.16.0)"] +codepipeline = ["types-aiobotocore-codepipeline (>=2.15.0,<2.16.0)"] +codestar-connections = ["types-aiobotocore-codestar-connections (>=2.15.0,<2.16.0)"] +codestar-notifications = ["types-aiobotocore-codestar-notifications (>=2.15.0,<2.16.0)"] +cognito-identity = ["types-aiobotocore-cognito-identity (>=2.15.0,<2.16.0)"] +cognito-idp = ["types-aiobotocore-cognito-idp (>=2.15.0,<2.16.0)"] +cognito-sync = ["types-aiobotocore-cognito-sync (>=2.15.0,<2.16.0)"] +comprehend = ["types-aiobotocore-comprehend (>=2.15.0,<2.16.0)"] +comprehendmedical = ["types-aiobotocore-comprehendmedical (>=2.15.0,<2.16.0)"] +compute-optimizer = ["types-aiobotocore-compute-optimizer (>=2.15.0,<2.16.0)"] +config = ["types-aiobotocore-config (>=2.15.0,<2.16.0)"] +connect = ["types-aiobotocore-connect (>=2.15.0,<2.16.0)"] +connect-contact-lens = ["types-aiobotocore-connect-contact-lens (>=2.15.0,<2.16.0)"] +connectcampaigns = ["types-aiobotocore-connectcampaigns (>=2.15.0,<2.16.0)"] +connectcases = ["types-aiobotocore-connectcases (>=2.15.0,<2.16.0)"] +connectparticipant = ["types-aiobotocore-connectparticipant (>=2.15.0,<2.16.0)"] +controlcatalog = ["types-aiobotocore-controlcatalog (>=2.15.0,<2.16.0)"] +controltower = ["types-aiobotocore-controltower (>=2.15.0,<2.16.0)"] +cost-optimization-hub = ["types-aiobotocore-cost-optimization-hub (>=2.15.0,<2.16.0)"] +cur = ["types-aiobotocore-cur (>=2.15.0,<2.16.0)"] +customer-profiles = ["types-aiobotocore-customer-profiles (>=2.15.0,<2.16.0)"] +databrew = ["types-aiobotocore-databrew (>=2.15.0,<2.16.0)"] +dataexchange = ["types-aiobotocore-dataexchange (>=2.15.0,<2.16.0)"] +datapipeline = ["types-aiobotocore-datapipeline (>=2.15.0,<2.16.0)"] +datasync = ["types-aiobotocore-datasync (>=2.15.0,<2.16.0)"] +datazone = ["types-aiobotocore-datazone (>=2.15.0,<2.16.0)"] +dax = ["types-aiobotocore-dax (>=2.15.0,<2.16.0)"] +deadline = ["types-aiobotocore-deadline (>=2.15.0,<2.16.0)"] +detective = ["types-aiobotocore-detective (>=2.15.0,<2.16.0)"] +devicefarm = ["types-aiobotocore-devicefarm (>=2.15.0,<2.16.0)"] +devops-guru = ["types-aiobotocore-devops-guru (>=2.15.0,<2.16.0)"] +directconnect = ["types-aiobotocore-directconnect (>=2.15.0,<2.16.0)"] +discovery = ["types-aiobotocore-discovery (>=2.15.0,<2.16.0)"] +dlm = ["types-aiobotocore-dlm (>=2.15.0,<2.16.0)"] +dms = ["types-aiobotocore-dms (>=2.15.0,<2.16.0)"] +docdb = ["types-aiobotocore-docdb (>=2.15.0,<2.16.0)"] +docdb-elastic = ["types-aiobotocore-docdb-elastic (>=2.15.0,<2.16.0)"] +drs = ["types-aiobotocore-drs (>=2.15.0,<2.16.0)"] +ds = ["types-aiobotocore-ds (>=2.15.0,<2.16.0)"] +ds-data = ["types-aiobotocore-ds-data (>=2.15.0,<2.16.0)"] +dynamodb = ["types-aiobotocore-dynamodb (>=2.15.0,<2.16.0)"] +dynamodbstreams = ["types-aiobotocore-dynamodbstreams (>=2.15.0,<2.16.0)"] +ebs = ["types-aiobotocore-ebs (>=2.15.0,<2.16.0)"] +ec2 = ["types-aiobotocore-ec2 (>=2.15.0,<2.16.0)"] +ec2-instance-connect = ["types-aiobotocore-ec2-instance-connect (>=2.15.0,<2.16.0)"] +ecr = ["types-aiobotocore-ecr (>=2.15.0,<2.16.0)"] +ecr-public = ["types-aiobotocore-ecr-public (>=2.15.0,<2.16.0)"] +ecs = ["types-aiobotocore-ecs (>=2.15.0,<2.16.0)"] +efs = ["types-aiobotocore-efs (>=2.15.0,<2.16.0)"] +eks = ["types-aiobotocore-eks (>=2.15.0,<2.16.0)"] +eks-auth = ["types-aiobotocore-eks-auth (>=2.15.0,<2.16.0)"] +elastic-inference = ["types-aiobotocore-elastic-inference (>=2.15.0,<2.16.0)"] +elasticache = ["types-aiobotocore-elasticache (>=2.15.0,<2.16.0)"] +elasticbeanstalk = ["types-aiobotocore-elasticbeanstalk (>=2.15.0,<2.16.0)"] +elastictranscoder = ["types-aiobotocore-elastictranscoder (>=2.15.0,<2.16.0)"] +elb = ["types-aiobotocore-elb (>=2.15.0,<2.16.0)"] +elbv2 = ["types-aiobotocore-elbv2 (>=2.15.0,<2.16.0)"] +emr = ["types-aiobotocore-emr (>=2.15.0,<2.16.0)"] +emr-containers = ["types-aiobotocore-emr-containers (>=2.15.0,<2.16.0)"] +emr-serverless = ["types-aiobotocore-emr-serverless (>=2.15.0,<2.16.0)"] +entityresolution = ["types-aiobotocore-entityresolution (>=2.15.0,<2.16.0)"] +es = ["types-aiobotocore-es (>=2.15.0,<2.16.0)"] +essential = ["types-aiobotocore-cloudformation (>=2.15.0,<2.16.0)", "types-aiobotocore-dynamodb (>=2.15.0,<2.16.0)", "types-aiobotocore-ec2 (>=2.15.0,<2.16.0)", "types-aiobotocore-lambda (>=2.15.0,<2.16.0)", "types-aiobotocore-rds (>=2.15.0,<2.16.0)", "types-aiobotocore-s3 (>=2.15.0,<2.16.0)", "types-aiobotocore-sqs (>=2.15.0,<2.16.0)"] +events = ["types-aiobotocore-events (>=2.15.0,<2.16.0)"] +evidently = ["types-aiobotocore-evidently (>=2.15.0,<2.16.0)"] +finspace = ["types-aiobotocore-finspace (>=2.15.0,<2.16.0)"] +finspace-data = ["types-aiobotocore-finspace-data (>=2.15.0,<2.16.0)"] +firehose = ["types-aiobotocore-firehose (>=2.15.0,<2.16.0)"] +fis = ["types-aiobotocore-fis (>=2.15.0,<2.16.0)"] +fms = ["types-aiobotocore-fms (>=2.15.0,<2.16.0)"] +forecast = ["types-aiobotocore-forecast (>=2.15.0,<2.16.0)"] +forecastquery = ["types-aiobotocore-forecastquery (>=2.15.0,<2.16.0)"] +frauddetector = ["types-aiobotocore-frauddetector (>=2.15.0,<2.16.0)"] +freetier = ["types-aiobotocore-freetier (>=2.15.0,<2.16.0)"] +fsx = ["types-aiobotocore-fsx (>=2.15.0,<2.16.0)"] +full = ["types-aiobotocore-full"] +gamelift = ["types-aiobotocore-gamelift (>=2.15.0,<2.16.0)"] +glacier = ["types-aiobotocore-glacier (>=2.15.0,<2.16.0)"] +globalaccelerator = ["types-aiobotocore-globalaccelerator (>=2.15.0,<2.16.0)"] +glue = ["types-aiobotocore-glue (>=2.15.0,<2.16.0)"] +grafana = ["types-aiobotocore-grafana (>=2.15.0,<2.16.0)"] +greengrass = ["types-aiobotocore-greengrass (>=2.15.0,<2.16.0)"] +greengrassv2 = ["types-aiobotocore-greengrassv2 (>=2.15.0,<2.16.0)"] +groundstation = ["types-aiobotocore-groundstation (>=2.15.0,<2.16.0)"] +guardduty = ["types-aiobotocore-guardduty (>=2.15.0,<2.16.0)"] +health = ["types-aiobotocore-health (>=2.15.0,<2.16.0)"] +healthlake = ["types-aiobotocore-healthlake (>=2.15.0,<2.16.0)"] +iam = ["types-aiobotocore-iam (>=2.15.0,<2.16.0)"] +identitystore = ["types-aiobotocore-identitystore (>=2.15.0,<2.16.0)"] +imagebuilder = ["types-aiobotocore-imagebuilder (>=2.15.0,<2.16.0)"] +importexport = ["types-aiobotocore-importexport (>=2.15.0,<2.16.0)"] +inspector = ["types-aiobotocore-inspector (>=2.15.0,<2.16.0)"] +inspector-scan = ["types-aiobotocore-inspector-scan (>=2.15.0,<2.16.0)"] +inspector2 = ["types-aiobotocore-inspector2 (>=2.15.0,<2.16.0)"] +internetmonitor = ["types-aiobotocore-internetmonitor (>=2.15.0,<2.16.0)"] +iot = ["types-aiobotocore-iot (>=2.15.0,<2.16.0)"] +iot-data = ["types-aiobotocore-iot-data (>=2.15.0,<2.16.0)"] +iot-jobs-data = ["types-aiobotocore-iot-jobs-data (>=2.15.0,<2.16.0)"] +iot1click-devices = ["types-aiobotocore-iot1click-devices (>=2.15.0,<2.16.0)"] +iot1click-projects = ["types-aiobotocore-iot1click-projects (>=2.15.0,<2.16.0)"] +iotanalytics = ["types-aiobotocore-iotanalytics (>=2.15.0,<2.16.0)"] +iotdeviceadvisor = ["types-aiobotocore-iotdeviceadvisor (>=2.15.0,<2.16.0)"] +iotevents = ["types-aiobotocore-iotevents (>=2.15.0,<2.16.0)"] +iotevents-data = ["types-aiobotocore-iotevents-data (>=2.15.0,<2.16.0)"] +iotfleethub = ["types-aiobotocore-iotfleethub (>=2.15.0,<2.16.0)"] +iotfleetwise = ["types-aiobotocore-iotfleetwise (>=2.15.0,<2.16.0)"] +iotsecuretunneling = ["types-aiobotocore-iotsecuretunneling (>=2.15.0,<2.16.0)"] +iotsitewise = ["types-aiobotocore-iotsitewise (>=2.15.0,<2.16.0)"] +iotthingsgraph = ["types-aiobotocore-iotthingsgraph (>=2.15.0,<2.16.0)"] +iottwinmaker = ["types-aiobotocore-iottwinmaker (>=2.15.0,<2.16.0)"] +iotwireless = ["types-aiobotocore-iotwireless (>=2.15.0,<2.16.0)"] +ivs = ["types-aiobotocore-ivs (>=2.15.0,<2.16.0)"] +ivs-realtime = ["types-aiobotocore-ivs-realtime (>=2.15.0,<2.16.0)"] +ivschat = ["types-aiobotocore-ivschat (>=2.15.0,<2.16.0)"] +kafka = ["types-aiobotocore-kafka (>=2.15.0,<2.16.0)"] +kafkaconnect = ["types-aiobotocore-kafkaconnect (>=2.15.0,<2.16.0)"] +kendra = ["types-aiobotocore-kendra (>=2.15.0,<2.16.0)"] +kendra-ranking = ["types-aiobotocore-kendra-ranking (>=2.15.0,<2.16.0)"] +keyspaces = ["types-aiobotocore-keyspaces (>=2.15.0,<2.16.0)"] +kinesis = ["types-aiobotocore-kinesis (>=2.15.0,<2.16.0)"] +kinesis-video-archived-media = ["types-aiobotocore-kinesis-video-archived-media (>=2.15.0,<2.16.0)"] +kinesis-video-media = ["types-aiobotocore-kinesis-video-media (>=2.15.0,<2.16.0)"] +kinesis-video-signaling = ["types-aiobotocore-kinesis-video-signaling (>=2.15.0,<2.16.0)"] +kinesis-video-webrtc-storage = ["types-aiobotocore-kinesis-video-webrtc-storage (>=2.15.0,<2.16.0)"] +kinesisanalytics = ["types-aiobotocore-kinesisanalytics (>=2.15.0,<2.16.0)"] +kinesisanalyticsv2 = ["types-aiobotocore-kinesisanalyticsv2 (>=2.15.0,<2.16.0)"] +kinesisvideo = ["types-aiobotocore-kinesisvideo (>=2.15.0,<2.16.0)"] +kms = ["types-aiobotocore-kms (>=2.15.0,<2.16.0)"] +lakeformation = ["types-aiobotocore-lakeformation (>=2.15.0,<2.16.0)"] +lambda = ["types-aiobotocore-lambda (>=2.15.0,<2.16.0)"] +launch-wizard = ["types-aiobotocore-launch-wizard (>=2.15.0,<2.16.0)"] +lex-models = ["types-aiobotocore-lex-models (>=2.15.0,<2.16.0)"] +lex-runtime = ["types-aiobotocore-lex-runtime (>=2.15.0,<2.16.0)"] +lexv2-models = ["types-aiobotocore-lexv2-models (>=2.15.0,<2.16.0)"] +lexv2-runtime = ["types-aiobotocore-lexv2-runtime (>=2.15.0,<2.16.0)"] +license-manager = ["types-aiobotocore-license-manager (>=2.15.0,<2.16.0)"] +license-manager-linux-subscriptions = ["types-aiobotocore-license-manager-linux-subscriptions (>=2.15.0,<2.16.0)"] +license-manager-user-subscriptions = ["types-aiobotocore-license-manager-user-subscriptions (>=2.15.0,<2.16.0)"] +lightsail = ["types-aiobotocore-lightsail (>=2.15.0,<2.16.0)"] +location = ["types-aiobotocore-location (>=2.15.0,<2.16.0)"] +logs = ["types-aiobotocore-logs (>=2.15.0,<2.16.0)"] +lookoutequipment = ["types-aiobotocore-lookoutequipment (>=2.15.0,<2.16.0)"] +lookoutmetrics = ["types-aiobotocore-lookoutmetrics (>=2.15.0,<2.16.0)"] +lookoutvision = ["types-aiobotocore-lookoutvision (>=2.15.0,<2.16.0)"] +m2 = ["types-aiobotocore-m2 (>=2.15.0,<2.16.0)"] +machinelearning = ["types-aiobotocore-machinelearning (>=2.15.0,<2.16.0)"] +macie2 = ["types-aiobotocore-macie2 (>=2.15.0,<2.16.0)"] +mailmanager = ["types-aiobotocore-mailmanager (>=2.15.0,<2.16.0)"] +managedblockchain = ["types-aiobotocore-managedblockchain (>=2.15.0,<2.16.0)"] +managedblockchain-query = ["types-aiobotocore-managedblockchain-query (>=2.15.0,<2.16.0)"] +marketplace-agreement = ["types-aiobotocore-marketplace-agreement (>=2.15.0,<2.16.0)"] +marketplace-catalog = ["types-aiobotocore-marketplace-catalog (>=2.15.0,<2.16.0)"] +marketplace-deployment = ["types-aiobotocore-marketplace-deployment (>=2.15.0,<2.16.0)"] +marketplace-entitlement = ["types-aiobotocore-marketplace-entitlement (>=2.15.0,<2.16.0)"] +marketplacecommerceanalytics = ["types-aiobotocore-marketplacecommerceanalytics (>=2.15.0,<2.16.0)"] +mediaconnect = ["types-aiobotocore-mediaconnect (>=2.15.0,<2.16.0)"] +mediaconvert = ["types-aiobotocore-mediaconvert (>=2.15.0,<2.16.0)"] +medialive = ["types-aiobotocore-medialive (>=2.15.0,<2.16.0)"] +mediapackage = ["types-aiobotocore-mediapackage (>=2.15.0,<2.16.0)"] +mediapackage-vod = ["types-aiobotocore-mediapackage-vod (>=2.15.0,<2.16.0)"] +mediapackagev2 = ["types-aiobotocore-mediapackagev2 (>=2.15.0,<2.16.0)"] +mediastore = ["types-aiobotocore-mediastore (>=2.15.0,<2.16.0)"] +mediastore-data = ["types-aiobotocore-mediastore-data (>=2.15.0,<2.16.0)"] +mediatailor = ["types-aiobotocore-mediatailor (>=2.15.0,<2.16.0)"] +medical-imaging = ["types-aiobotocore-medical-imaging (>=2.15.0,<2.16.0)"] +memorydb = ["types-aiobotocore-memorydb (>=2.15.0,<2.16.0)"] +meteringmarketplace = ["types-aiobotocore-meteringmarketplace (>=2.15.0,<2.16.0)"] +mgh = ["types-aiobotocore-mgh (>=2.15.0,<2.16.0)"] +mgn = ["types-aiobotocore-mgn (>=2.15.0,<2.16.0)"] +migration-hub-refactor-spaces = ["types-aiobotocore-migration-hub-refactor-spaces (>=2.15.0,<2.16.0)"] +migrationhub-config = ["types-aiobotocore-migrationhub-config (>=2.15.0,<2.16.0)"] +migrationhuborchestrator = ["types-aiobotocore-migrationhuborchestrator (>=2.15.0,<2.16.0)"] +migrationhubstrategy = ["types-aiobotocore-migrationhubstrategy (>=2.15.0,<2.16.0)"] +mq = ["types-aiobotocore-mq (>=2.15.0,<2.16.0)"] +mturk = ["types-aiobotocore-mturk (>=2.15.0,<2.16.0)"] +mwaa = ["types-aiobotocore-mwaa (>=2.15.0,<2.16.0)"] +neptune = ["types-aiobotocore-neptune (>=2.15.0,<2.16.0)"] +neptune-graph = ["types-aiobotocore-neptune-graph (>=2.15.0,<2.16.0)"] +neptunedata = ["types-aiobotocore-neptunedata (>=2.15.0,<2.16.0)"] +network-firewall = ["types-aiobotocore-network-firewall (>=2.15.0,<2.16.0)"] +networkmanager = ["types-aiobotocore-networkmanager (>=2.15.0,<2.16.0)"] +networkmonitor = ["types-aiobotocore-networkmonitor (>=2.15.0,<2.16.0)"] +nimble = ["types-aiobotocore-nimble (>=2.15.0,<2.16.0)"] +oam = ["types-aiobotocore-oam (>=2.15.0,<2.16.0)"] +omics = ["types-aiobotocore-omics (>=2.15.0,<2.16.0)"] +opensearch = ["types-aiobotocore-opensearch (>=2.15.0,<2.16.0)"] +opensearchserverless = ["types-aiobotocore-opensearchserverless (>=2.15.0,<2.16.0)"] +opsworks = ["types-aiobotocore-opsworks (>=2.15.0,<2.16.0)"] +opsworkscm = ["types-aiobotocore-opsworkscm (>=2.15.0,<2.16.0)"] +organizations = ["types-aiobotocore-organizations (>=2.15.0,<2.16.0)"] +osis = ["types-aiobotocore-osis (>=2.15.0,<2.16.0)"] +outposts = ["types-aiobotocore-outposts (>=2.15.0,<2.16.0)"] +panorama = ["types-aiobotocore-panorama (>=2.15.0,<2.16.0)"] +payment-cryptography = ["types-aiobotocore-payment-cryptography (>=2.15.0,<2.16.0)"] +payment-cryptography-data = ["types-aiobotocore-payment-cryptography-data (>=2.15.0,<2.16.0)"] +pca-connector-ad = ["types-aiobotocore-pca-connector-ad (>=2.15.0,<2.16.0)"] +pca-connector-scep = ["types-aiobotocore-pca-connector-scep (>=2.15.0,<2.16.0)"] +pcs = ["types-aiobotocore-pcs (>=2.15.0,<2.16.0)"] +personalize = ["types-aiobotocore-personalize (>=2.15.0,<2.16.0)"] +personalize-events = ["types-aiobotocore-personalize-events (>=2.15.0,<2.16.0)"] +personalize-runtime = ["types-aiobotocore-personalize-runtime (>=2.15.0,<2.16.0)"] +pi = ["types-aiobotocore-pi (>=2.15.0,<2.16.0)"] +pinpoint = ["types-aiobotocore-pinpoint (>=2.15.0,<2.16.0)"] +pinpoint-email = ["types-aiobotocore-pinpoint-email (>=2.15.0,<2.16.0)"] +pinpoint-sms-voice = ["types-aiobotocore-pinpoint-sms-voice (>=2.15.0,<2.16.0)"] +pinpoint-sms-voice-v2 = ["types-aiobotocore-pinpoint-sms-voice-v2 (>=2.15.0,<2.16.0)"] +pipes = ["types-aiobotocore-pipes (>=2.15.0,<2.16.0)"] +polly = ["types-aiobotocore-polly (>=2.15.0,<2.16.0)"] +pricing = ["types-aiobotocore-pricing (>=2.15.0,<2.16.0)"] +privatenetworks = ["types-aiobotocore-privatenetworks (>=2.15.0,<2.16.0)"] +proton = ["types-aiobotocore-proton (>=2.15.0,<2.16.0)"] +qapps = ["types-aiobotocore-qapps (>=2.15.0,<2.16.0)"] +qbusiness = ["types-aiobotocore-qbusiness (>=2.15.0,<2.16.0)"] +qconnect = ["types-aiobotocore-qconnect (>=2.15.0,<2.16.0)"] +qldb = ["types-aiobotocore-qldb (>=2.15.0,<2.16.0)"] +qldb-session = ["types-aiobotocore-qldb-session (>=2.15.0,<2.16.0)"] +quicksight = ["types-aiobotocore-quicksight (>=2.15.0,<2.16.0)"] +ram = ["types-aiobotocore-ram (>=2.15.0,<2.16.0)"] +rbin = ["types-aiobotocore-rbin (>=2.15.0,<2.16.0)"] +rds = ["types-aiobotocore-rds (>=2.15.0,<2.16.0)"] +rds-data = ["types-aiobotocore-rds-data (>=2.15.0,<2.16.0)"] +redshift = ["types-aiobotocore-redshift (>=2.15.0,<2.16.0)"] +redshift-data = ["types-aiobotocore-redshift-data (>=2.15.0,<2.16.0)"] +redshift-serverless = ["types-aiobotocore-redshift-serverless (>=2.15.0,<2.16.0)"] +rekognition = ["types-aiobotocore-rekognition (>=2.15.0,<2.16.0)"] +repostspace = ["types-aiobotocore-repostspace (>=2.15.0,<2.16.0)"] +resiliencehub = ["types-aiobotocore-resiliencehub (>=2.15.0,<2.16.0)"] +resource-explorer-2 = ["types-aiobotocore-resource-explorer-2 (>=2.15.0,<2.16.0)"] +resource-groups = ["types-aiobotocore-resource-groups (>=2.15.0,<2.16.0)"] +resourcegroupstaggingapi = ["types-aiobotocore-resourcegroupstaggingapi (>=2.15.0,<2.16.0)"] +robomaker = ["types-aiobotocore-robomaker (>=2.15.0,<2.16.0)"] +rolesanywhere = ["types-aiobotocore-rolesanywhere (>=2.15.0,<2.16.0)"] +route53 = ["types-aiobotocore-route53 (>=2.15.0,<2.16.0)"] +route53-recovery-cluster = ["types-aiobotocore-route53-recovery-cluster (>=2.15.0,<2.16.0)"] +route53-recovery-control-config = ["types-aiobotocore-route53-recovery-control-config (>=2.15.0,<2.16.0)"] +route53-recovery-readiness = ["types-aiobotocore-route53-recovery-readiness (>=2.15.0,<2.16.0)"] +route53domains = ["types-aiobotocore-route53domains (>=2.15.0,<2.16.0)"] +route53profiles = ["types-aiobotocore-route53profiles (>=2.15.0,<2.16.0)"] +route53resolver = ["types-aiobotocore-route53resolver (>=2.15.0,<2.16.0)"] +rum = ["types-aiobotocore-rum (>=2.15.0,<2.16.0)"] +s3 = ["types-aiobotocore-s3 (>=2.15.0,<2.16.0)"] +s3control = ["types-aiobotocore-s3control (>=2.15.0,<2.16.0)"] +s3outposts = ["types-aiobotocore-s3outposts (>=2.15.0,<2.16.0)"] +sagemaker = ["types-aiobotocore-sagemaker (>=2.15.0,<2.16.0)"] +sagemaker-a2i-runtime = ["types-aiobotocore-sagemaker-a2i-runtime (>=2.15.0,<2.16.0)"] +sagemaker-edge = ["types-aiobotocore-sagemaker-edge (>=2.15.0,<2.16.0)"] +sagemaker-featurestore-runtime = ["types-aiobotocore-sagemaker-featurestore-runtime (>=2.15.0,<2.16.0)"] +sagemaker-geospatial = ["types-aiobotocore-sagemaker-geospatial (>=2.15.0,<2.16.0)"] +sagemaker-metrics = ["types-aiobotocore-sagemaker-metrics (>=2.15.0,<2.16.0)"] +sagemaker-runtime = ["types-aiobotocore-sagemaker-runtime (>=2.15.0,<2.16.0)"] +savingsplans = ["types-aiobotocore-savingsplans (>=2.15.0,<2.16.0)"] +scheduler = ["types-aiobotocore-scheduler (>=2.15.0,<2.16.0)"] +schemas = ["types-aiobotocore-schemas (>=2.15.0,<2.16.0)"] +sdb = ["types-aiobotocore-sdb (>=2.15.0,<2.16.0)"] +secretsmanager = ["types-aiobotocore-secretsmanager (>=2.15.0,<2.16.0)"] +securityhub = ["types-aiobotocore-securityhub (>=2.15.0,<2.16.0)"] +securitylake = ["types-aiobotocore-securitylake (>=2.15.0,<2.16.0)"] +serverlessrepo = ["types-aiobotocore-serverlessrepo (>=2.15.0,<2.16.0)"] +service-quotas = ["types-aiobotocore-service-quotas (>=2.15.0,<2.16.0)"] +servicecatalog = ["types-aiobotocore-servicecatalog (>=2.15.0,<2.16.0)"] +servicecatalog-appregistry = ["types-aiobotocore-servicecatalog-appregistry (>=2.15.0,<2.16.0)"] +servicediscovery = ["types-aiobotocore-servicediscovery (>=2.15.0,<2.16.0)"] +ses = ["types-aiobotocore-ses (>=2.15.0,<2.16.0)"] +sesv2 = ["types-aiobotocore-sesv2 (>=2.15.0,<2.16.0)"] +shield = ["types-aiobotocore-shield (>=2.15.0,<2.16.0)"] +signer = ["types-aiobotocore-signer (>=2.15.0,<2.16.0)"] +simspaceweaver = ["types-aiobotocore-simspaceweaver (>=2.15.0,<2.16.0)"] +sms = ["types-aiobotocore-sms (>=2.15.0,<2.16.0)"] +sms-voice = ["types-aiobotocore-sms-voice (>=2.15.0,<2.16.0)"] +snow-device-management = ["types-aiobotocore-snow-device-management (>=2.15.0,<2.16.0)"] +snowball = ["types-aiobotocore-snowball (>=2.15.0,<2.16.0)"] +sns = ["types-aiobotocore-sns (>=2.15.0,<2.16.0)"] +sqs = ["types-aiobotocore-sqs (>=2.15.0,<2.16.0)"] +ssm = ["types-aiobotocore-ssm (>=2.15.0,<2.16.0)"] +ssm-contacts = ["types-aiobotocore-ssm-contacts (>=2.15.0,<2.16.0)"] +ssm-incidents = ["types-aiobotocore-ssm-incidents (>=2.15.0,<2.16.0)"] +ssm-quicksetup = ["types-aiobotocore-ssm-quicksetup (>=2.15.0,<2.16.0)"] +ssm-sap = ["types-aiobotocore-ssm-sap (>=2.15.0,<2.16.0)"] +sso = ["types-aiobotocore-sso (>=2.15.0,<2.16.0)"] +sso-admin = ["types-aiobotocore-sso-admin (>=2.15.0,<2.16.0)"] +sso-oidc = ["types-aiobotocore-sso-oidc (>=2.15.0,<2.16.0)"] +stepfunctions = ["types-aiobotocore-stepfunctions (>=2.15.0,<2.16.0)"] +storagegateway = ["types-aiobotocore-storagegateway (>=2.15.0,<2.16.0)"] +sts = ["types-aiobotocore-sts (>=2.15.0,<2.16.0)"] +supplychain = ["types-aiobotocore-supplychain (>=2.15.0,<2.16.0)"] +support = ["types-aiobotocore-support (>=2.15.0,<2.16.0)"] +support-app = ["types-aiobotocore-support-app (>=2.15.0,<2.16.0)"] +swf = ["types-aiobotocore-swf (>=2.15.0,<2.16.0)"] +synthetics = ["types-aiobotocore-synthetics (>=2.15.0,<2.16.0)"] +taxsettings = ["types-aiobotocore-taxsettings (>=2.15.0,<2.16.0)"] +textract = ["types-aiobotocore-textract (>=2.15.0,<2.16.0)"] +timestream-influxdb = ["types-aiobotocore-timestream-influxdb (>=2.15.0,<2.16.0)"] +timestream-query = ["types-aiobotocore-timestream-query (>=2.15.0,<2.16.0)"] +timestream-write = ["types-aiobotocore-timestream-write (>=2.15.0,<2.16.0)"] +tnb = ["types-aiobotocore-tnb (>=2.15.0,<2.16.0)"] +transcribe = ["types-aiobotocore-transcribe (>=2.15.0,<2.16.0)"] +transfer = ["types-aiobotocore-transfer (>=2.15.0,<2.16.0)"] +translate = ["types-aiobotocore-translate (>=2.15.0,<2.16.0)"] +trustedadvisor = ["types-aiobotocore-trustedadvisor (>=2.15.0,<2.16.0)"] +verifiedpermissions = ["types-aiobotocore-verifiedpermissions (>=2.15.0,<2.16.0)"] +voice-id = ["types-aiobotocore-voice-id (>=2.15.0,<2.16.0)"] +vpc-lattice = ["types-aiobotocore-vpc-lattice (>=2.15.0,<2.16.0)"] +waf = ["types-aiobotocore-waf (>=2.15.0,<2.16.0)"] +waf-regional = ["types-aiobotocore-waf-regional (>=2.15.0,<2.16.0)"] +wafv2 = ["types-aiobotocore-wafv2 (>=2.15.0,<2.16.0)"] +wellarchitected = ["types-aiobotocore-wellarchitected (>=2.15.0,<2.16.0)"] +wisdom = ["types-aiobotocore-wisdom (>=2.15.0,<2.16.0)"] +workdocs = ["types-aiobotocore-workdocs (>=2.15.0,<2.16.0)"] +worklink = ["types-aiobotocore-worklink (>=2.15.0,<2.16.0)"] +workmail = ["types-aiobotocore-workmail (>=2.15.0,<2.16.0)"] +workmailmessageflow = ["types-aiobotocore-workmailmessageflow (>=2.15.0,<2.16.0)"] +workspaces = ["types-aiobotocore-workspaces (>=2.15.0,<2.16.0)"] +workspaces-thin-client = ["types-aiobotocore-workspaces-thin-client (>=2.15.0,<2.16.0)"] +workspaces-web = ["types-aiobotocore-workspaces-web (>=2.15.0,<2.16.0)"] +xray = ["types-aiobotocore-xray (>=2.15.0,<2.16.0)"] [[package]] name = "types-aiobotocore-sts" -version = "2.14.0" -description = "Type annotations for aiobotocore.STS 2.14.0 service generated with mypy-boto3-builder 7.26.1" +version = "2.15.1" +description = "Type annotations for aiobotocore.STS 2.15.1 service generated with mypy-boto3-builder 8.1.2" optional = false python-versions = ">=3.8" files = [ - {file = "types_aiobotocore_sts-2.14.0-py3-none-any.whl", hash = "sha256:a6a45197a380709f49a626b3561165d13f1f3ac4b06c57517a9f616236bc6b05"}, - {file = "types_aiobotocore_sts-2.14.0.tar.gz", hash = "sha256:ac81c120a7fa430169e414c1747d1f55ca8ce4bc816ffe642728a3b72a08d5e6"}, + {file = "types_aiobotocore_sts-2.15.1-py3-none-any.whl", hash = "sha256:cd6aae0c5883df936a8f04bbd1f038af994bc507ce81becce1a2856716131781"}, + {file = "types_aiobotocore_sts-2.15.1.tar.gz", hash = "sha256:2ccb368806e882ea7426b5c5048261a609fca05ba11f78c69dbfd787ad31b0c8"}, ] [package.dependencies] @@ -3592,24 +3617,24 @@ typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} [[package]] name = "types-awscrt" -version = "0.21.2" +version = "0.21.5" description = "Type annotations and code completion for awscrt" optional = false -python-versions = "<4.0,>=3.7" +python-versions = ">=3.8" files = [ - {file = "types_awscrt-0.21.2-py3-none-any.whl", hash = "sha256:0839fe12f0f914d8f7d63ed777c728cb4eccc2d5d79a26e377d12b0604e7bf0e"}, - {file = "types_awscrt-0.21.2.tar.gz", hash = "sha256:84a9f4f422ec525c314fdf54c23a1e73edfbcec968560943ca2d41cfae623b38"}, + {file = "types_awscrt-0.21.5-py3-none-any.whl", hash = "sha256:117ff2b1bb657f09d01b7e0ce3fe3fa6e039be12d30b826896182725c9ce85b1"}, + {file = "types_awscrt-0.21.5.tar.gz", hash = "sha256:9f7f47de68799cb2bcb9e486f48d77b9f58962b92fba43cb8860da70b3c57d1b"}, ] [[package]] name = "types-python-dateutil" -version = "2.9.0.20240821" +version = "2.9.0.20240906" description = "Typing stubs for python-dateutil" optional = false python-versions = ">=3.8" files = [ - {file = "types-python-dateutil-2.9.0.20240821.tar.gz", hash = "sha256:9649d1dcb6fef1046fb18bebe9ea2aa0028b160918518c34589a46045f6ebd98"}, - {file = "types_python_dateutil-2.9.0.20240821-py3-none-any.whl", hash = "sha256:f5889fcb4e63ed4aaa379b44f93c32593d50b9a94c9a60a0c854d8cc3511cd57"}, + {file = "types-python-dateutil-2.9.0.20240906.tar.gz", hash = "sha256:9706c3b68284c25adffc47319ecc7947e5bb86b3773f843c73906fd598bc176e"}, + {file = "types_python_dateutil-2.9.0.20240906-py3-none-any.whl", hash = "sha256:27c8cc2d058ccb14946eebcaaa503088f4f6dbc4fb6093d3d456a49aef2753f6"}, ] [[package]] @@ -3636,13 +3661,13 @@ files = [ [[package]] name = "urllib3" -version = "2.2.2" +version = "2.2.3" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.8" files = [ - {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, - {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"}, + {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, + {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, ] [package.extras] @@ -3817,97 +3842,97 @@ anyio = ">=3.0.0" [[package]] name = "websockets" -version = "13.0.1" +version = "13.1" description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" optional = false python-versions = ">=3.8" files = [ - {file = "websockets-13.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1841c9082a3ba4a05ea824cf6d99570a6a2d8849ef0db16e9c826acb28089e8f"}, - {file = "websockets-13.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c5870b4a11b77e4caa3937142b650fbbc0914a3e07a0cf3131f35c0587489c1c"}, - {file = "websockets-13.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f1d3d1f2eb79fe7b0fb02e599b2bf76a7619c79300fc55f0b5e2d382881d4f7f"}, - {file = "websockets-13.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15c7d62ee071fa94a2fc52c2b472fed4af258d43f9030479d9c4a2de885fd543"}, - {file = "websockets-13.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6724b554b70d6195ba19650fef5759ef11346f946c07dbbe390e039bcaa7cc3d"}, - {file = "websockets-13.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56a952fa2ae57a42ba7951e6b2605e08a24801a4931b5644dfc68939e041bc7f"}, - {file = "websockets-13.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:17118647c0ea14796364299e942c330d72acc4b248e07e639d34b75067b3cdd8"}, - {file = "websockets-13.0.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:64a11aae1de4c178fa653b07d90f2fb1a2ed31919a5ea2361a38760192e1858b"}, - {file = "websockets-13.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0617fd0b1d14309c7eab6ba5deae8a7179959861846cbc5cb528a7531c249448"}, - {file = "websockets-13.0.1-cp310-cp310-win32.whl", hash = "sha256:11f9976ecbc530248cf162e359a92f37b7b282de88d1d194f2167b5e7ad80ce3"}, - {file = "websockets-13.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:c3c493d0e5141ec055a7d6809a28ac2b88d5b878bb22df8c621ebe79a61123d0"}, - {file = "websockets-13.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:699ba9dd6a926f82a277063603fc8d586b89f4cb128efc353b749b641fcddda7"}, - {file = "websockets-13.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cf2fae6d85e5dc384bf846f8243ddaa9197f3a1a70044f59399af001fd1f51d4"}, - {file = "websockets-13.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:52aed6ef21a0f1a2a5e310fb5c42d7555e9c5855476bbd7173c3aa3d8a0302f2"}, - {file = "websockets-13.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8eb2b9a318542153674c6e377eb8cb9ca0fc011c04475110d3477862f15d29f0"}, - {file = "websockets-13.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5df891c86fe68b2c38da55b7aea7095beca105933c697d719f3f45f4220a5e0e"}, - {file = "websockets-13.0.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fac2d146ff30d9dd2fcf917e5d147db037a5c573f0446c564f16f1f94cf87462"}, - {file = "websockets-13.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b8ac5b46fd798bbbf2ac6620e0437c36a202b08e1f827832c4bf050da081b501"}, - {file = "websockets-13.0.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:46af561eba6f9b0848b2c9d2427086cabadf14e0abdd9fde9d72d447df268418"}, - {file = "websockets-13.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b5a06d7f60bc2fc378a333978470dfc4e1415ee52f5f0fce4f7853eb10c1e9df"}, - {file = "websockets-13.0.1-cp311-cp311-win32.whl", hash = "sha256:556e70e4f69be1082e6ef26dcb70efcd08d1850f5d6c5f4f2bcb4e397e68f01f"}, - {file = "websockets-13.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:67494e95d6565bf395476e9d040037ff69c8b3fa356a886b21d8422ad86ae075"}, - {file = "websockets-13.0.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f9c9e258e3d5efe199ec23903f5da0eeaad58cf6fccb3547b74fd4750e5ac47a"}, - {file = "websockets-13.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6b41a1b3b561f1cba8321fb32987552a024a8f67f0d05f06fcf29f0090a1b956"}, - {file = "websockets-13.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f73e676a46b0fe9426612ce8caeca54c9073191a77c3e9d5c94697aef99296af"}, - {file = "websockets-13.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f613289f4a94142f914aafad6c6c87903de78eae1e140fa769a7385fb232fdf"}, - {file = "websockets-13.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0f52504023b1480d458adf496dc1c9e9811df4ba4752f0bc1f89ae92f4f07d0c"}, - {file = "websockets-13.0.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:139add0f98206cb74109faf3611b7783ceafc928529c62b389917a037d4cfdf4"}, - {file = "websockets-13.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:47236c13be337ef36546004ce8c5580f4b1150d9538b27bf8a5ad8edf23ccfab"}, - {file = "websockets-13.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c44ca9ade59b2e376612df34e837013e2b273e6c92d7ed6636d0556b6f4db93d"}, - {file = "websockets-13.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9bbc525f4be3e51b89b2a700f5746c2a6907d2e2ef4513a8daafc98198b92237"}, - {file = "websockets-13.0.1-cp312-cp312-win32.whl", hash = "sha256:3624fd8664f2577cf8de996db3250662e259bfbc870dd8ebdcf5d7c6ac0b5185"}, - {file = "websockets-13.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0513c727fb8adffa6d9bf4a4463b2bade0186cbd8c3604ae5540fae18a90cb99"}, - {file = "websockets-13.0.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1ee4cc030a4bdab482a37462dbf3ffb7e09334d01dd37d1063be1136a0d825fa"}, - {file = "websockets-13.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dbb0b697cc0655719522406c059eae233abaa3243821cfdfab1215d02ac10231"}, - {file = "websockets-13.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:acbebec8cb3d4df6e2488fbf34702cbc37fc39ac7abf9449392cefb3305562e9"}, - {file = "websockets-13.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63848cdb6fcc0bf09d4a155464c46c64ffdb5807ede4fb251da2c2692559ce75"}, - {file = "websockets-13.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:872afa52a9f4c414d6955c365b6588bc4401272c629ff8321a55f44e3f62b553"}, - {file = "websockets-13.0.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05e70fec7c54aad4d71eae8e8cab50525e899791fc389ec6f77b95312e4e9920"}, - {file = "websockets-13.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e82db3756ccb66266504f5a3de05ac6b32f287faacff72462612120074103329"}, - {file = "websockets-13.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4e85f46ce287f5c52438bb3703d86162263afccf034a5ef13dbe4318e98d86e7"}, - {file = "websockets-13.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f3fea72e4e6edb983908f0db373ae0732b275628901d909c382aae3b592589f2"}, - {file = "websockets-13.0.1-cp313-cp313-win32.whl", hash = "sha256:254ecf35572fca01a9f789a1d0f543898e222f7b69ecd7d5381d8d8047627bdb"}, - {file = "websockets-13.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:ca48914cdd9f2ccd94deab5bcb5ac98025a5ddce98881e5cce762854a5de330b"}, - {file = "websockets-13.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:b74593e9acf18ea5469c3edaa6b27fa7ecf97b30e9dabd5a94c4c940637ab96e"}, - {file = "websockets-13.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:132511bfd42e77d152c919147078460c88a795af16b50e42a0bd14f0ad71ddd2"}, - {file = "websockets-13.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:165bedf13556f985a2aa064309baa01462aa79bf6112fbd068ae38993a0e1f1b"}, - {file = "websockets-13.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e801ca2f448850685417d723ec70298feff3ce4ff687c6f20922c7474b4746ae"}, - {file = "websockets-13.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30d3a1f041360f029765d8704eae606781e673e8918e6b2c792e0775de51352f"}, - {file = "websockets-13.0.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67648f5e50231b5a7f6d83b32f9c525e319f0ddc841be0de64f24928cd75a603"}, - {file = "websockets-13.0.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:4f0426d51c8f0926a4879390f53c7f5a855e42d68df95fff6032c82c888b5f36"}, - {file = "websockets-13.0.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ef48e4137e8799998a343706531e656fdec6797b80efd029117edacb74b0a10a"}, - {file = "websockets-13.0.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:249aab278810bee585cd0d4de2f08cfd67eed4fc75bde623be163798ed4db2eb"}, - {file = "websockets-13.0.1-cp38-cp38-win32.whl", hash = "sha256:06c0a667e466fcb56a0886d924b5f29a7f0886199102f0a0e1c60a02a3751cb4"}, - {file = "websockets-13.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1f3cf6d6ec1142412d4535adabc6bd72a63f5f148c43fe559f06298bc21953c9"}, - {file = "websockets-13.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:1fa082ea38d5de51dd409434edc27c0dcbd5fed2b09b9be982deb6f0508d25bc"}, - {file = "websockets-13.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4a365bcb7be554e6e1f9f3ed64016e67e2fa03d7b027a33e436aecf194febb63"}, - {file = "websockets-13.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:10a0dc7242215d794fb1918f69c6bb235f1f627aaf19e77f05336d147fce7c37"}, - {file = "websockets-13.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59197afd478545b1f73367620407b0083303569c5f2d043afe5363676f2697c9"}, - {file = "websockets-13.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d20516990d8ad557b5abeb48127b8b779b0b7e6771a265fa3e91767596d7d97"}, - {file = "websockets-13.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1a2e272d067030048e1fe41aa1ec8cfbbaabce733b3d634304fa2b19e5c897f"}, - {file = "websockets-13.0.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:ad327ac80ba7ee61da85383ca8822ff808ab5ada0e4a030d66703cc025b021c4"}, - {file = "websockets-13.0.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:518f90e6dd089d34eaade01101fd8a990921c3ba18ebbe9b0165b46ebff947f0"}, - {file = "websockets-13.0.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:68264802399aed6fe9652e89761031acc734fc4c653137a5911c2bfa995d6d6d"}, - {file = "websockets-13.0.1-cp39-cp39-win32.whl", hash = "sha256:a5dc0c42ded1557cc7c3f0240b24129aefbad88af4f09346164349391dea8e58"}, - {file = "websockets-13.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:b448a0690ef43db5ef31b3a0d9aea79043882b4632cfc3eaab20105edecf6097"}, - {file = "websockets-13.0.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:faef9ec6354fe4f9a2c0bbb52fb1ff852effc897e2a4501e25eb3a47cb0a4f89"}, - {file = "websockets-13.0.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:03d3f9ba172e0a53e37fa4e636b86cc60c3ab2cfee4935e66ed1d7acaa4625ad"}, - {file = "websockets-13.0.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d450f5a7a35662a9b91a64aefa852f0c0308ee256122f5218a42f1d13577d71e"}, - {file = "websockets-13.0.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3f55b36d17ac50aa8a171b771e15fbe1561217510c8768af3d546f56c7576cdc"}, - {file = "websockets-13.0.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14b9c006cac63772b31abbcd3e3abb6228233eec966bf062e89e7fa7ae0b7333"}, - {file = "websockets-13.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b79915a1179a91f6c5f04ece1e592e2e8a6bd245a0e45d12fd56b2b59e559a32"}, - {file = "websockets-13.0.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f40de079779acbcdbb6ed4c65af9f018f8b77c5ec4e17a4b737c05c2db554491"}, - {file = "websockets-13.0.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:80e4ba642fc87fa532bac07e5ed7e19d56940b6af6a8c61d4429be48718a380f"}, - {file = "websockets-13.0.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a02b0161c43cc9e0232711eff846569fad6ec836a7acab16b3cf97b2344c060"}, - {file = "websockets-13.0.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6aa74a45d4cdc028561a7d6ab3272c8b3018e23723100b12e58be9dfa5a24491"}, - {file = "websockets-13.0.1-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00fd961943b6c10ee6f0b1130753e50ac5dcd906130dcd77b0003c3ab797d026"}, - {file = "websockets-13.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:d93572720d781331fb10d3da9ca1067817d84ad1e7c31466e9f5e59965618096"}, - {file = "websockets-13.0.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:71e6e5a3a3728886caee9ab8752e8113670936a193284be9d6ad2176a137f376"}, - {file = "websockets-13.0.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:c4a6343e3b0714e80da0b0893543bf9a5b5fa71b846ae640e56e9abc6fbc4c83"}, - {file = "websockets-13.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a678532018e435396e37422a95e3ab87f75028ac79570ad11f5bf23cd2a7d8c"}, - {file = "websockets-13.0.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6716c087e4aa0b9260c4e579bb82e068f84faddb9bfba9906cb87726fa2e870"}, - {file = "websockets-13.0.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e33505534f3f673270dd67f81e73550b11de5b538c56fe04435d63c02c3f26b5"}, - {file = "websockets-13.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:acab3539a027a85d568c2573291e864333ec9d912675107d6efceb7e2be5d980"}, - {file = "websockets-13.0.1-py3-none-any.whl", hash = "sha256:b80f0c51681c517604152eb6a572f5a9378f877763231fddb883ba2f968e8817"}, - {file = "websockets-13.0.1.tar.gz", hash = "sha256:4d6ece65099411cfd9a48d13701d7438d9c34f479046b34c50ff60bb8834e43e"}, + {file = "websockets-13.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f48c749857f8fb598fb890a75f540e3221d0976ed0bf879cf3c7eef34151acee"}, + {file = "websockets-13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c7e72ce6bda6fb9409cc1e8164dd41d7c91466fb599eb047cfda72fe758a34a7"}, + {file = "websockets-13.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f779498eeec470295a2b1a5d97aa1bc9814ecd25e1eb637bd9d1c73a327387f6"}, + {file = "websockets-13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4676df3fe46956fbb0437d8800cd5f2b6d41143b6e7e842e60554398432cf29b"}, + {file = "websockets-13.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a7affedeb43a70351bb811dadf49493c9cfd1ed94c9c70095fd177e9cc1541fa"}, + {file = "websockets-13.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1971e62d2caa443e57588e1d82d15f663b29ff9dfe7446d9964a4b6f12c1e700"}, + {file = "websockets-13.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5f2e75431f8dc4a47f31565a6e1355fb4f2ecaa99d6b89737527ea917066e26c"}, + {file = "websockets-13.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:58cf7e75dbf7e566088b07e36ea2e3e2bd5676e22216e4cad108d4df4a7402a0"}, + {file = "websockets-13.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c90d6dec6be2c7d03378a574de87af9b1efea77d0c52a8301dd831ece938452f"}, + {file = "websockets-13.1-cp310-cp310-win32.whl", hash = "sha256:730f42125ccb14602f455155084f978bd9e8e57e89b569b4d7f0f0c17a448ffe"}, + {file = "websockets-13.1-cp310-cp310-win_amd64.whl", hash = "sha256:5993260f483d05a9737073be197371940c01b257cc45ae3f1d5d7adb371b266a"}, + {file = "websockets-13.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:61fc0dfcda609cda0fc9fe7977694c0c59cf9d749fbb17f4e9483929e3c48a19"}, + {file = "websockets-13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ceec59f59d092c5007e815def4ebb80c2de330e9588e101cf8bd94c143ec78a5"}, + {file = "websockets-13.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c1dca61c6db1166c48b95198c0b7d9c990b30c756fc2923cc66f68d17dc558fd"}, + {file = "websockets-13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:308e20f22c2c77f3f39caca508e765f8725020b84aa963474e18c59accbf4c02"}, + {file = "websockets-13.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62d516c325e6540e8a57b94abefc3459d7dab8ce52ac75c96cad5549e187e3a7"}, + {file = "websockets-13.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87c6e35319b46b99e168eb98472d6c7d8634ee37750d7693656dc766395df096"}, + {file = "websockets-13.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5f9fee94ebafbc3117c30be1844ed01a3b177bb6e39088bc6b2fa1dc15572084"}, + {file = "websockets-13.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:7c1e90228c2f5cdde263253fa5db63e6653f1c00e7ec64108065a0b9713fa1b3"}, + {file = "websockets-13.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6548f29b0e401eea2b967b2fdc1c7c7b5ebb3eeb470ed23a54cd45ef078a0db9"}, + {file = "websockets-13.1-cp311-cp311-win32.whl", hash = "sha256:c11d4d16e133f6df8916cc5b7e3e96ee4c44c936717d684a94f48f82edb7c92f"}, + {file = "websockets-13.1-cp311-cp311-win_amd64.whl", hash = "sha256:d04f13a1d75cb2b8382bdc16ae6fa58c97337253826dfe136195b7f89f661557"}, + {file = "websockets-13.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:9d75baf00138f80b48f1eac72ad1535aac0b6461265a0bcad391fc5aba875cfc"}, + {file = "websockets-13.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:9b6f347deb3dcfbfde1c20baa21c2ac0751afaa73e64e5b693bb2b848efeaa49"}, + {file = "websockets-13.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de58647e3f9c42f13f90ac7e5f58900c80a39019848c5547bc691693098ae1bd"}, + {file = "websockets-13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1b54689e38d1279a51d11e3467dd2f3a50f5f2e879012ce8f2d6943f00e83f0"}, + {file = "websockets-13.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf1781ef73c073e6b0f90af841aaf98501f975d306bbf6221683dd594ccc52b6"}, + {file = "websockets-13.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d23b88b9388ed85c6faf0e74d8dec4f4d3baf3ecf20a65a47b836d56260d4b9"}, + {file = "websockets-13.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3c78383585f47ccb0fcf186dcb8a43f5438bd7d8f47d69e0b56f71bf431a0a68"}, + {file = "websockets-13.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:d6d300f8ec35c24025ceb9b9019ae9040c1ab2f01cddc2bcc0b518af31c75c14"}, + {file = "websockets-13.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a9dcaf8b0cc72a392760bb8755922c03e17a5a54e08cca58e8b74f6902b433cf"}, + {file = "websockets-13.1-cp312-cp312-win32.whl", hash = "sha256:2f85cf4f2a1ba8f602298a853cec8526c2ca42a9a4b947ec236eaedb8f2dc80c"}, + {file = "websockets-13.1-cp312-cp312-win_amd64.whl", hash = "sha256:38377f8b0cdeee97c552d20cf1865695fcd56aba155ad1b4ca8779a5b6ef4ac3"}, + {file = "websockets-13.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a9ab1e71d3d2e54a0aa646ab6d4eebfaa5f416fe78dfe4da2839525dc5d765c6"}, + {file = "websockets-13.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b9d7439d7fab4dce00570bb906875734df13d9faa4b48e261c440a5fec6d9708"}, + {file = "websockets-13.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:327b74e915cf13c5931334c61e1a41040e365d380f812513a255aa804b183418"}, + {file = "websockets-13.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:325b1ccdbf5e5725fdcb1b0e9ad4d2545056479d0eee392c291c1bf76206435a"}, + {file = "websockets-13.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:346bee67a65f189e0e33f520f253d5147ab76ae42493804319b5716e46dddf0f"}, + {file = "websockets-13.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:91a0fa841646320ec0d3accdff5b757b06e2e5c86ba32af2e0815c96c7a603c5"}, + {file = "websockets-13.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:18503d2c5f3943e93819238bf20df71982d193f73dcecd26c94514f417f6b135"}, + {file = "websockets-13.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:a9cd1af7e18e5221d2878378fbc287a14cd527fdd5939ed56a18df8a31136bb2"}, + {file = "websockets-13.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:70c5be9f416aa72aab7a2a76c90ae0a4fe2755c1816c153c1a2bcc3333ce4ce6"}, + {file = "websockets-13.1-cp313-cp313-win32.whl", hash = "sha256:624459daabeb310d3815b276c1adef475b3e6804abaf2d9d2c061c319f7f187d"}, + {file = "websockets-13.1-cp313-cp313-win_amd64.whl", hash = "sha256:c518e84bb59c2baae725accd355c8dc517b4a3ed8db88b4bc93c78dae2974bf2"}, + {file = "websockets-13.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c7934fd0e920e70468e676fe7f1b7261c1efa0d6c037c6722278ca0228ad9d0d"}, + {file = "websockets-13.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:149e622dc48c10ccc3d2760e5f36753db9cacf3ad7bc7bbbfd7d9c819e286f23"}, + {file = "websockets-13.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a569eb1b05d72f9bce2ebd28a1ce2054311b66677fcd46cf36204ad23acead8c"}, + {file = "websockets-13.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95df24ca1e1bd93bbca51d94dd049a984609687cb2fb08a7f2c56ac84e9816ea"}, + {file = "websockets-13.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d8dbb1bf0c0a4ae8b40bdc9be7f644e2f3fb4e8a9aca7145bfa510d4a374eeb7"}, + {file = "websockets-13.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:035233b7531fb92a76beefcbf479504db8c72eb3bff41da55aecce3a0f729e54"}, + {file = "websockets-13.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:e4450fc83a3df53dec45922b576e91e94f5578d06436871dce3a6be38e40f5db"}, + {file = "websockets-13.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:463e1c6ec853202dd3657f156123d6b4dad0c546ea2e2e38be2b3f7c5b8e7295"}, + {file = "websockets-13.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:6d6855bbe70119872c05107e38fbc7f96b1d8cb047d95c2c50869a46c65a8e96"}, + {file = "websockets-13.1-cp38-cp38-win32.whl", hash = "sha256:204e5107f43095012b00f1451374693267adbb832d29966a01ecc4ce1db26faf"}, + {file = "websockets-13.1-cp38-cp38-win_amd64.whl", hash = "sha256:485307243237328c022bc908b90e4457d0daa8b5cf4b3723fd3c4a8012fce4c6"}, + {file = "websockets-13.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9b37c184f8b976f0c0a231a5f3d6efe10807d41ccbe4488df8c74174805eea7d"}, + {file = "websockets-13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:163e7277e1a0bd9fb3c8842a71661ad19c6aa7bb3d6678dc7f89b17fbcc4aeb7"}, + {file = "websockets-13.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4b889dbd1342820cc210ba44307cf75ae5f2f96226c0038094455a96e64fb07a"}, + {file = "websockets-13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:586a356928692c1fed0eca68b4d1c2cbbd1ca2acf2ac7e7ebd3b9052582deefa"}, + {file = "websockets-13.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7bd6abf1e070a6b72bfeb71049d6ad286852e285f146682bf30d0296f5fbadfa"}, + {file = "websockets-13.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d2aad13a200e5934f5a6767492fb07151e1de1d6079c003ab31e1823733ae79"}, + {file = "websockets-13.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:df01aea34b6e9e33572c35cd16bae5a47785e7d5c8cb2b54b2acdb9678315a17"}, + {file = "websockets-13.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e54affdeb21026329fb0744ad187cf812f7d3c2aa702a5edb562b325191fcab6"}, + {file = "websockets-13.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:9ef8aa8bdbac47f4968a5d66462a2a0935d044bf35c0e5a8af152d58516dbeb5"}, + {file = "websockets-13.1-cp39-cp39-win32.whl", hash = "sha256:deeb929efe52bed518f6eb2ddc00cc496366a14c726005726ad62c2dd9017a3c"}, + {file = "websockets-13.1-cp39-cp39-win_amd64.whl", hash = "sha256:7c65ffa900e7cc958cd088b9a9157a8141c991f8c53d11087e6fb7277a03f81d"}, + {file = "websockets-13.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5dd6da9bec02735931fccec99d97c29f47cc61f644264eb995ad6c0c27667238"}, + {file = "websockets-13.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:2510c09d8e8df777177ee3d40cd35450dc169a81e747455cc4197e63f7e7bfe5"}, + {file = "websockets-13.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f1c3cf67185543730888b20682fb186fc8d0fa6f07ccc3ef4390831ab4b388d9"}, + {file = "websockets-13.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bcc03c8b72267e97b49149e4863d57c2d77f13fae12066622dc78fe322490fe6"}, + {file = "websockets-13.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:004280a140f220c812e65f36944a9ca92d766b6cc4560be652a0a3883a79ed8a"}, + {file = "websockets-13.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:e2620453c075abeb0daa949a292e19f56de518988e079c36478bacf9546ced23"}, + {file = "websockets-13.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9156c45750b37337f7b0b00e6248991a047be4aa44554c9886fe6bdd605aab3b"}, + {file = "websockets-13.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:80c421e07973a89fbdd93e6f2003c17d20b69010458d3a8e37fb47874bd67d51"}, + {file = "websockets-13.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82d0ba76371769d6a4e56f7e83bb8e81846d17a6190971e38b5de108bde9b0d7"}, + {file = "websockets-13.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e9875a0143f07d74dc5e1ded1c4581f0d9f7ab86c78994e2ed9e95050073c94d"}, + {file = "websockets-13.1-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a11e38ad8922c7961447f35c7b17bffa15de4d17c70abd07bfbe12d6faa3e027"}, + {file = "websockets-13.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4059f790b6ae8768471cddb65d3c4fe4792b0ab48e154c9f0a04cefaabcd5978"}, + {file = "websockets-13.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:25c35bf84bf7c7369d247f0b8cfa157f989862c49104c5cf85cb5436a641d93e"}, + {file = "websockets-13.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:83f91d8a9bb404b8c2c41a707ac7f7f75b9442a0a876df295de27251a856ad09"}, + {file = "websockets-13.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7a43cfdcddd07f4ca2b1afb459824dd3c6d53a51410636a2c7fc97b9a8cf4842"}, + {file = "websockets-13.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48a2ef1381632a2f0cb4efeff34efa97901c9fbc118e01951ad7cfc10601a9bb"}, + {file = "websockets-13.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:459bf774c754c35dbb487360b12c5727adab887f1622b8aed5755880a21c4a20"}, + {file = "websockets-13.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:95858ca14a9f6fa8413d29e0a585b31b278388aa775b8a81fa24830123874678"}, + {file = "websockets-13.1-py3-none-any.whl", hash = "sha256:a9a396a6ad26130cdae92ae10c36af09d9bfe6cafe69670fd3b6da9b07b4044f"}, + {file = "websockets-13.1.tar.gz", hash = "sha256:a3b3366087c1bc0a2795111edcadddb8b3b59509d5db5d7ea3fdd69f954a8878"}, ] [[package]] @@ -4022,101 +4047,103 @@ files = [ [[package]] name = "yarl" -version = "1.9.4" +version = "1.12.1" description = "Yet another URL library" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "yarl-1.9.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a8c1df72eb746f4136fe9a2e72b0c9dc1da1cbd23b5372f94b5820ff8ae30e0e"}, - {file = "yarl-1.9.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a3a6ed1d525bfb91b3fc9b690c5a21bb52de28c018530ad85093cc488bee2dd2"}, - {file = "yarl-1.9.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c38c9ddb6103ceae4e4498f9c08fac9b590c5c71b0370f98714768e22ac6fa66"}, - {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9e09c9d74f4566e905a0b8fa668c58109f7624db96a2171f21747abc7524234"}, - {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8477c1ee4bd47c57d49621a062121c3023609f7a13b8a46953eb6c9716ca392"}, - {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5ff2c858f5f6a42c2a8e751100f237c5e869cbde669a724f2062d4c4ef93551"}, - {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:357495293086c5b6d34ca9616a43d329317feab7917518bc97a08f9e55648455"}, - {file = "yarl-1.9.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54525ae423d7b7a8ee81ba189f131054defdb122cde31ff17477951464c1691c"}, - {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:801e9264d19643548651b9db361ce3287176671fb0117f96b5ac0ee1c3530d53"}, - {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e516dc8baf7b380e6c1c26792610230f37147bb754d6426462ab115a02944385"}, - {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:7d5aaac37d19b2904bb9dfe12cdb08c8443e7ba7d2852894ad448d4b8f442863"}, - {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:54beabb809ffcacbd9d28ac57b0db46e42a6e341a030293fb3185c409e626b8b"}, - {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bac8d525a8dbc2a1507ec731d2867025d11ceadcb4dd421423a5d42c56818541"}, - {file = "yarl-1.9.4-cp310-cp310-win32.whl", hash = "sha256:7855426dfbddac81896b6e533ebefc0af2f132d4a47340cee6d22cac7190022d"}, - {file = "yarl-1.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:848cd2a1df56ddbffeb375535fb62c9d1645dde33ca4d51341378b3f5954429b"}, - {file = "yarl-1.9.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:35a2b9396879ce32754bd457d31a51ff0a9d426fd9e0e3c33394bf4b9036b099"}, - {file = "yarl-1.9.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c7d56b293cc071e82532f70adcbd8b61909eec973ae9d2d1f9b233f3d943f2c"}, - {file = "yarl-1.9.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d8a1c6c0be645c745a081c192e747c5de06e944a0d21245f4cf7c05e457c36e0"}, - {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b3c1ffe10069f655ea2d731808e76e0f452fc6c749bea04781daf18e6039525"}, - {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:549d19c84c55d11687ddbd47eeb348a89df9cb30e1993f1b128f4685cd0ebbf8"}, - {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7409f968456111140c1c95301cadf071bd30a81cbd7ab829169fb9e3d72eae9"}, - {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e23a6d84d9d1738dbc6e38167776107e63307dfc8ad108e580548d1f2c587f42"}, - {file = "yarl-1.9.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d8b889777de69897406c9fb0b76cdf2fd0f31267861ae7501d93003d55f54fbe"}, - {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:03caa9507d3d3c83bca08650678e25364e1843b484f19986a527630ca376ecce"}, - {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4e9035df8d0880b2f1c7f5031f33f69e071dfe72ee9310cfc76f7b605958ceb9"}, - {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:c0ec0ed476f77db9fb29bca17f0a8fcc7bc97ad4c6c1d8959c507decb22e8572"}, - {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:ee04010f26d5102399bd17f8df8bc38dc7ccd7701dc77f4a68c5b8d733406958"}, - {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:49a180c2e0743d5d6e0b4d1a9e5f633c62eca3f8a86ba5dd3c471060e352ca98"}, - {file = "yarl-1.9.4-cp311-cp311-win32.whl", hash = "sha256:81eb57278deb6098a5b62e88ad8281b2ba09f2f1147c4767522353eaa6260b31"}, - {file = "yarl-1.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:d1d2532b340b692880261c15aee4dc94dd22ca5d61b9db9a8a361953d36410b1"}, - {file = "yarl-1.9.4-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0d2454f0aef65ea81037759be5ca9947539667eecebca092733b2eb43c965a81"}, - {file = "yarl-1.9.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:44d8ffbb9c06e5a7f529f38f53eda23e50d1ed33c6c869e01481d3fafa6b8142"}, - {file = "yarl-1.9.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:aaaea1e536f98754a6e5c56091baa1b6ce2f2700cc4a00b0d49eca8dea471074"}, - {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3777ce5536d17989c91696db1d459574e9a9bd37660ea7ee4d3344579bb6f129"}, - {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fc5fc1eeb029757349ad26bbc5880557389a03fa6ada41703db5e068881e5f2"}, - {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ea65804b5dc88dacd4a40279af0cdadcfe74b3e5b4c897aa0d81cf86927fee78"}, - {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa102d6d280a5455ad6a0f9e6d769989638718e938a6a0a2ff3f4a7ff8c62cc4"}, - {file = "yarl-1.9.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09efe4615ada057ba2d30df871d2f668af661e971dfeedf0c159927d48bbeff0"}, - {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:008d3e808d03ef28542372d01057fd09168419cdc8f848efe2804f894ae03e51"}, - {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6f5cb257bc2ec58f437da2b37a8cd48f666db96d47b8a3115c29f316313654ff"}, - {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:992f18e0ea248ee03b5a6e8b3b4738850ae7dbb172cc41c966462801cbf62cf7"}, - {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:0e9d124c191d5b881060a9e5060627694c3bdd1fe24c5eecc8d5d7d0eb6faabc"}, - {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3986b6f41ad22988e53d5778f91855dc0399b043fc8946d4f2e68af22ee9ff10"}, - {file = "yarl-1.9.4-cp312-cp312-win32.whl", hash = "sha256:4b21516d181cd77ebd06ce160ef8cc2a5e9ad35fb1c5930882baff5ac865eee7"}, - {file = "yarl-1.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a9bd00dc3bc395a662900f33f74feb3e757429e545d831eef5bb280252631984"}, - {file = "yarl-1.9.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:63b20738b5aac74e239622d2fe30df4fca4942a86e31bf47a81a0e94c14df94f"}, - {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7d7f7de27b8944f1fee2c26a88b4dabc2409d2fea7a9ed3df79b67277644e17"}, - {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c74018551e31269d56fab81a728f683667e7c28c04e807ba08f8c9e3bba32f14"}, - {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ca06675212f94e7a610e85ca36948bb8fc023e458dd6c63ef71abfd482481aa5"}, - {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5aef935237d60a51a62b86249839b51345f47564208c6ee615ed2a40878dccdd"}, - {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2b134fd795e2322b7684155b7855cc99409d10b2e408056db2b93b51a52accc7"}, - {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d25039a474c4c72a5ad4b52495056f843a7ff07b632c1b92ea9043a3d9950f6e"}, - {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f7d6b36dd2e029b6bcb8a13cf19664c7b8e19ab3a58e0fefbb5b8461447ed5ec"}, - {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:957b4774373cf6f709359e5c8c4a0af9f6d7875db657adb0feaf8d6cb3c3964c"}, - {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d7eeb6d22331e2fd42fce928a81c697c9ee2d51400bd1a28803965883e13cead"}, - {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:6a962e04b8f91f8c4e5917e518d17958e3bdee71fd1d8b88cdce74dd0ebbf434"}, - {file = "yarl-1.9.4-cp37-cp37m-win32.whl", hash = "sha256:f3bc6af6e2b8f92eced34ef6a96ffb248e863af20ef4fde9448cc8c9b858b749"}, - {file = "yarl-1.9.4-cp37-cp37m-win_amd64.whl", hash = "sha256:ad4d7a90a92e528aadf4965d685c17dacff3df282db1121136c382dc0b6014d2"}, - {file = "yarl-1.9.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ec61d826d80fc293ed46c9dd26995921e3a82146feacd952ef0757236fc137be"}, - {file = "yarl-1.9.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8be9e837ea9113676e5754b43b940b50cce76d9ed7d2461df1af39a8ee674d9f"}, - {file = "yarl-1.9.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:bef596fdaa8f26e3d66af846bbe77057237cb6e8efff8cd7cc8dff9a62278bbf"}, - {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d47552b6e52c3319fede1b60b3de120fe83bde9b7bddad11a69fb0af7db32f1"}, - {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:84fc30f71689d7fc9168b92788abc977dc8cefa806909565fc2951d02f6b7d57"}, - {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4aa9741085f635934f3a2583e16fcf62ba835719a8b2b28fb2917bb0537c1dfa"}, - {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:206a55215e6d05dbc6c98ce598a59e6fbd0c493e2de4ea6cc2f4934d5a18d130"}, - {file = "yarl-1.9.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07574b007ee20e5c375a8fe4a0789fad26db905f9813be0f9fef5a68080de559"}, - {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5a2e2433eb9344a163aced6a5f6c9222c0786e5a9e9cac2c89f0b28433f56e23"}, - {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6ad6d10ed9b67a382b45f29ea028f92d25bc0bc1daf6c5b801b90b5aa70fb9ec"}, - {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:6fe79f998a4052d79e1c30eeb7d6c1c1056ad33300f682465e1b4e9b5a188b78"}, - {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a825ec844298c791fd28ed14ed1bffc56a98d15b8c58a20e0e08c1f5f2bea1be"}, - {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8619d6915b3b0b34420cf9b2bb6d81ef59d984cb0fde7544e9ece32b4b3043c3"}, - {file = "yarl-1.9.4-cp38-cp38-win32.whl", hash = "sha256:686a0c2f85f83463272ddffd4deb5e591c98aac1897d65e92319f729c320eece"}, - {file = "yarl-1.9.4-cp38-cp38-win_amd64.whl", hash = "sha256:a00862fb23195b6b8322f7d781b0dc1d82cb3bcac346d1e38689370cc1cc398b"}, - {file = "yarl-1.9.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:604f31d97fa493083ea21bd9b92c419012531c4e17ea6da0f65cacdcf5d0bd27"}, - {file = "yarl-1.9.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8a854227cf581330ffa2c4824d96e52ee621dd571078a252c25e3a3b3d94a1b1"}, - {file = "yarl-1.9.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ba6f52cbc7809cd8d74604cce9c14868306ae4aa0282016b641c661f981a6e91"}, - {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6327976c7c2f4ee6816eff196e25385ccc02cb81427952414a64811037bbc8b"}, - {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8397a3817d7dcdd14bb266283cd1d6fc7264a48c186b986f32e86d86d35fbac5"}, - {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0381b4ce23ff92f8170080c97678040fc5b08da85e9e292292aba67fdac6c34"}, - {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23d32a2594cb5d565d358a92e151315d1b2268bc10f4610d098f96b147370136"}, - {file = "yarl-1.9.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ddb2a5c08a4eaaba605340fdee8fc08e406c56617566d9643ad8bf6852778fc7"}, - {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:26a1dc6285e03f3cc9e839a2da83bcbf31dcb0d004c72d0730e755b33466c30e"}, - {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:18580f672e44ce1238b82f7fb87d727c4a131f3a9d33a5e0e82b793362bf18b4"}, - {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:29e0f83f37610f173eb7e7b5562dd71467993495e568e708d99e9d1944f561ec"}, - {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:1f23e4fe1e8794f74b6027d7cf19dc25f8b63af1483d91d595d4a07eca1fb26c"}, - {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:db8e58b9d79200c76956cefd14d5c90af54416ff5353c5bfd7cbe58818e26ef0"}, - {file = "yarl-1.9.4-cp39-cp39-win32.whl", hash = "sha256:c7224cab95645c7ab53791022ae77a4509472613e839dab722a72abe5a684575"}, - {file = "yarl-1.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:824d6c50492add5da9374875ce72db7a0733b29c2394890aef23d533106e2b15"}, - {file = "yarl-1.9.4-py3-none-any.whl", hash = "sha256:928cecb0ef9d5a7946eb6ff58417ad2fe9375762382f1bf5c55e61645f2c43ad"}, - {file = "yarl-1.9.4.tar.gz", hash = "sha256:566db86717cf8080b99b58b083b773a908ae40f06681e87e589a976faf8246bf"}, + {file = "yarl-1.12.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:64c5b0f2b937fe40d0967516eee5504b23cb247b8b7ffeba7213a467d9646fdc"}, + {file = "yarl-1.12.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2e430ac432f969ef21770645743611c1618362309e3ad7cab45acd1ad1a540ff"}, + {file = "yarl-1.12.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3e26e64f42bce5ddf9002092b2c37b13071c2e6413d5c05f9fa9de58ed2f7749"}, + {file = "yarl-1.12.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0103c52f8dfe5d573c856322149ddcd6d28f51b4d4a3ee5c4b3c1b0a05c3d034"}, + {file = "yarl-1.12.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b63465b53baeaf2122a337d4ab57d6bbdd09fcadceb17a974cfa8a0300ad9c67"}, + {file = "yarl-1.12.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17d4dc4ff47893a06737b8788ed2ba2f5ac4e8bb40281c8603920f7d011d5bdd"}, + {file = "yarl-1.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8b54949267bd5704324397efe9fbb6aa306466dee067550964e994d309db5f1"}, + {file = "yarl-1.12.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10b690cd78cbaca2f96a7462f303fdd2b596d3978b49892e4b05a7567c591572"}, + {file = "yarl-1.12.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c85ab016e96a975afbdb9d49ca90f3bca9920ef27c64300843fe91c3d59d8d20"}, + {file = "yarl-1.12.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:c1caa5763d1770216596e0a71b5567f27aac28c95992110212c108ec74589a48"}, + {file = "yarl-1.12.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:595bbcdbfc4a9c6989d7489dca8510cba053ff46b16c84ffd95ac8e90711d419"}, + {file = "yarl-1.12.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e64f0421892a207d3780903085c1b04efeb53b16803b23d947de5a7261b71355"}, + {file = "yarl-1.12.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:319c206e83e46ec2421b25b300c8482b6fe8a018baca246be308c736d9dab267"}, + {file = "yarl-1.12.1-cp310-cp310-win32.whl", hash = "sha256:da045bd1147d12bd43fb032296640a7cc17a7f2eaba67495988362e99db24fd2"}, + {file = "yarl-1.12.1-cp310-cp310-win_amd64.whl", hash = "sha256:aebbd47df77190ada603157f0b3670d578c110c31746ecc5875c394fdcc59a99"}, + {file = "yarl-1.12.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:28389a68981676bf74e2e199fe42f35d1aa27a9c98e3a03e6f58d2d3d054afe1"}, + {file = "yarl-1.12.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f736f54565f8dd7e3ab664fef2bc461d7593a389a7f28d4904af8d55a91bd55f"}, + {file = "yarl-1.12.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dee0496d5f1a8f57f0f28a16f81a2033fc057a2cf9cd710742d11828f8c80e2"}, + {file = "yarl-1.12.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8981a94a27ac520a398302afb74ae2c0be1c3d2d215c75c582186a006c9e7b0"}, + {file = "yarl-1.12.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ff54340fc1129e8e181827e2234af3ff659b4f17d9bbe77f43bc19e6577fadec"}, + {file = "yarl-1.12.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:54c8cee662b5f8c30ad7eedfc26123f845f007798e4ff1001d9528fe959fd23c"}, + {file = "yarl-1.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e97a29b37830ba1262d8dfd48ddb5b28ad4d3ebecc5d93a9c7591d98641ec737"}, + {file = "yarl-1.12.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6c89894cc6f6ddd993813e79244b36b215c14f65f9e4f1660b1f2ba9e5594b95"}, + {file = "yarl-1.12.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:712ba8722c0699daf186de089ddc4677651eb9875ed7447b2ad50697522cbdd9"}, + {file = "yarl-1.12.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6e9a9f50892153bad5046c2a6df153224aa6f0573a5a8ab44fc54a1e886f6e21"}, + {file = "yarl-1.12.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:1d4017e78fb22bc797c089b746230ad78ecd3cdb215bc0bd61cb72b5867da57e"}, + {file = "yarl-1.12.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:f494c01b28645c431239863cb17af8b8d15b93b0d697a0320d5dd34cd9d7c2fa"}, + {file = "yarl-1.12.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:de4544b1fb29cf14870c4e2b8a897c0242449f5dcebd3e0366aa0aa3cf58a23a"}, + {file = "yarl-1.12.1-cp311-cp311-win32.whl", hash = "sha256:7564525a4673fde53dee7d4c307a961c0951918f0b8c7f09b2c9e02067cf6504"}, + {file = "yarl-1.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:f23bb1a7a6e8e8b612a164fdd08e683bcc16c76f928d6dbb7bdbee2374fbfee6"}, + {file = "yarl-1.12.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a3e2aff8b822ab0e0bdbed9f50494b3a35629c4b9488ae391659973a37a9f53f"}, + {file = "yarl-1.12.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:22dda2799c8d39041d731e02bf7690f0ef34f1691d9ac9dfcb98dd1e94c8b058"}, + {file = "yarl-1.12.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:18c2a7757561f05439c243f517dbbb174cadfae3a72dee4ae7c693f5b336570f"}, + {file = "yarl-1.12.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:835010cc17d0020e7931d39e487d72c8e01c98e669b6896a8b8c9aa8ca69a949"}, + {file = "yarl-1.12.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2254fe137c4a360b0a13173a56444f756252c9283ba4d267ca8e9081cd140ea"}, + {file = "yarl-1.12.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6a071d2c3d39b4104f94fc08ab349e9b19b951ad4b8e3b6d7ea92d6ef7ccaf8"}, + {file = "yarl-1.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:73a183042ae0918c82ce2df38c3db2409b0eeae88e3afdfc80fb67471a95b33b"}, + {file = "yarl-1.12.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:326b8a079a9afcac0575971e56dabdf7abb2ea89a893e6949b77adfeb058b50e"}, + {file = "yarl-1.12.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:126309c0f52a2219b3d1048aca00766429a1346596b186d51d9fa5d2070b7b13"}, + {file = "yarl-1.12.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:ba1c779b45a399cc25f511c681016626f69e51e45b9d350d7581998722825af9"}, + {file = "yarl-1.12.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:af1107299cef049ad00a93df4809517be432283a0847bcae48343ebe5ea340dc"}, + {file = "yarl-1.12.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:20d817c0893191b2ab0ba30b45b77761e8dfec30a029b7c7063055ca71157f84"}, + {file = "yarl-1.12.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d4f818f6371970d6a5d1e42878389bbfb69dcde631e4bbac5ec1cb11158565ca"}, + {file = "yarl-1.12.1-cp312-cp312-win32.whl", hash = "sha256:0ac33d22b2604b020569a82d5f8a03ba637ba42cc1adf31f616af70baf81710b"}, + {file = "yarl-1.12.1-cp312-cp312-win_amd64.whl", hash = "sha256:fd24996e12e1ba7c397c44be75ca299da14cde34d74bc5508cce233676cc68d0"}, + {file = "yarl-1.12.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dea360778e0668a7ad25d7727d03364de8a45bfd5d808f81253516b9f2217765"}, + {file = "yarl-1.12.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1f50a37aeeb5179d293465e522fd686080928c4d89e0ff215e1f963405ec4def"}, + {file = "yarl-1.12.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0274b1b7a9c9c32b7bf250583e673ff99fb9fccb389215841e2652d9982de740"}, + {file = "yarl-1.12.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a4f3ab9eb8ab2d585ece959c48d234f7b39ac0ca1954a34d8b8e58a52064bdb3"}, + {file = "yarl-1.12.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8d31dd0245d88cf7239e96e8f2a99f815b06e458a5854150f8e6f0e61618d41b"}, + {file = "yarl-1.12.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a96198d5d26f40557d986c1253bfe0e02d18c9d9b93cf389daf1a3c9f7c755fa"}, + {file = "yarl-1.12.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddae504cfb556fe220efae65e35be63cd11e3c314b202723fc2119ce19f0ca2e"}, + {file = "yarl-1.12.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bce00f3b1f7f644faae89677ca68645ed5365f1c7f874fdd5ebf730a69640d38"}, + {file = "yarl-1.12.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:eee5ff934b0c9f4537ff9596169d56cab1890918004791a7a06b879b3ba2a7ef"}, + {file = "yarl-1.12.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4ea99e64b2ad2635e0f0597b63f5ea6c374791ff2fa81cdd4bad8ed9f047f56f"}, + {file = "yarl-1.12.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5c667b383529520b8dd6bd496fc318678320cb2a6062fdfe6d3618da6b8790f6"}, + {file = "yarl-1.12.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:d920401941cb898ef089422e889759dd403309eb370d0e54f1bdf6ca07fef603"}, + {file = "yarl-1.12.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:501a1576716032cc6d48c7c47bcdc42d682273415a8f2908e7e72cb4625801f3"}, + {file = "yarl-1.12.1-cp313-cp313-win32.whl", hash = "sha256:24416bb5e221e29ddf8aac5b97e94e635ca2c5be44a1617ad6fe32556df44294"}, + {file = "yarl-1.12.1-cp313-cp313-win_amd64.whl", hash = "sha256:71af3766bb46738d12cc288d9b8de7ef6f79c31fd62757e2b8a505fe3680b27f"}, + {file = "yarl-1.12.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c924deab8105f86980983eced740433fb7554a7f66db73991affa4eda99d5402"}, + {file = "yarl-1.12.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5fb475a4cdde582c9528bb412b98f899680492daaba318231e96f1a0a1bb0d53"}, + {file = "yarl-1.12.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:36ee0115b9edca904153a66bb74a9ff1ce38caff015de94eadfb9ba8e6ecd317"}, + {file = "yarl-1.12.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2631c9d7386bd2d4ce24ecc6ebf9ae90b3efd713d588d90504eaa77fec4dba01"}, + {file = "yarl-1.12.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2376d8cf506dffd0e5f2391025ae8675b09711016656590cb03b55894161fcfa"}, + {file = "yarl-1.12.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:24197ba3114cc85ddd4091e19b2ddc62650f2e4a899e51b074dfd52d56cf8c72"}, + {file = "yarl-1.12.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfdf419bf5d3644f94cd7052954fc233522f5a1b371fc0b00219ebd9c14d5798"}, + {file = "yarl-1.12.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8112f640a4f7e7bf59f7cabf0d47a29b8977528c521d73a64d5cc9e99e48a174"}, + {file = "yarl-1.12.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:607d12f0901f6419a8adceb139847c42c83864b85371f58270e42753f9780fa6"}, + {file = "yarl-1.12.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:664380c7ed524a280b6a2d5d9126389c3e96cd6e88986cdb42ca72baa27421d6"}, + {file = "yarl-1.12.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:0d0a5e87bc48d76dfcfc16295201e9812d5f33d55b4a0b7cad1025b92bf8b91b"}, + {file = "yarl-1.12.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:eff6bac402719c14e17efe845d6b98593c56c843aca6def72080fbede755fd1f"}, + {file = "yarl-1.12.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:22839d1d1eab9e4b427828a88a22beb86f67c14d8ff81175505f1cc8493f3500"}, + {file = "yarl-1.12.1-cp38-cp38-win32.whl", hash = "sha256:717f185086bb9d817d4537dd18d5df5d657598cd00e6fc22e4d54d84de266c1d"}, + {file = "yarl-1.12.1-cp38-cp38-win_amd64.whl", hash = "sha256:71978ba778948760cff528235c951ea0ef7a4f9c84ac5a49975f8540f76c3f73"}, + {file = "yarl-1.12.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:30ffc046ebddccb3c4cac72c1a3e1bc343492336f3ca86d24672e90ccc5e788a"}, + {file = "yarl-1.12.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f10954b233d4df5cc3137ffa5ced97f8894152df817e5d149bf05a0ef2ab8134"}, + {file = "yarl-1.12.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2e912b282466444023610e4498e3795c10e7cfd641744524876239fcf01d538d"}, + {file = "yarl-1.12.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6af871f70cfd5b528bd322c65793b5fd5659858cdfaa35fbe563fb99b667ed1f"}, + {file = "yarl-1.12.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c3e4e1f7b08d1ec6b685ccd3e2d762219c550164fbf524498532e39f9413436e"}, + {file = "yarl-1.12.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9a7ee79183f0b17dcede8b6723e7da2ded529cf159a878214be9a5d3098f5b1e"}, + {file = "yarl-1.12.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96c8ff1e1dd680e38af0887927cab407a4e51d84a5f02ae3d6eb87233036c763"}, + {file = "yarl-1.12.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e9905fc2dc1319e4c39837b906a024cf71b1261cc66b0cd89678f779c0c61f5"}, + {file = "yarl-1.12.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:01549468858b87d36f967c97d02e6e54106f444aeb947ed76f8f71f85ed07cec"}, + {file = "yarl-1.12.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:96b34830bd6825ca0220bf005ea99ac83eb9ce51301ddb882dcf613ae6cd95fb"}, + {file = "yarl-1.12.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:2aee7594d2c2221c717a8e394bbed4740029df4c0211ceb0f04815686e99c795"}, + {file = "yarl-1.12.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:15871130439ad10abb25a4631120d60391aa762b85fcab971411e556247210a0"}, + {file = "yarl-1.12.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:838dde2cb570cfbb4cab8a876a0974e8b90973ea40b3ac27a79b8a74c8a2db15"}, + {file = "yarl-1.12.1-cp39-cp39-win32.whl", hash = "sha256:eacbcf30efaca7dc5cb264228ffecdb95fdb1e715b1ec937c0ce6b734161e0c8"}, + {file = "yarl-1.12.1-cp39-cp39-win_amd64.whl", hash = "sha256:76a59d1b63de859398bc7764c860a769499511463c1232155061fe0147f13e01"}, + {file = "yarl-1.12.1-py3-none-any.whl", hash = "sha256:dc3192a81ecd5ff954cecd690327badd5a84d00b877e1573f7c9097ce13e5bfb"}, + {file = "yarl-1.12.1.tar.gz", hash = "sha256:5b860055199aec8d6fe4dcee3c5196ce506ca198a50aab0059ffd26e8e815828"}, ] [package.dependencies] @@ -4126,4 +4153,4 @@ multidict = ">=4.0" [metadata] lock-version = "2.0" python-versions = "^3.11" -content-hash = "44881173d07ef617d939812527552b66a59b67fe3f28b32a6f70f26ff3a25e40" +content-hash = "4ad24c676a4b08092785abc66ef59958d1a781f75d66f33c8d6c2ed60b74676e" diff --git a/integrations/aws/pyproject.toml b/integrations/aws/pyproject.toml index ded2a4facf..4a32ceb930 100644 --- a/integrations/aws/pyproject.toml +++ b/integrations/aws/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "aws" -version = "0.2.42" +version = "0.2.43" description = "This integration will map all your resources in all the available accounts to your Port entities" authors = ["Shalev Avhar ", "Erik Zaadi "] @@ -12,6 +12,7 @@ aioboto3 = "^12.4.0" boto3-stubs = {version = "1.34.76", extras = ["acm", "apigateway", "appconfig", "athena", "cloudcontrol", "cloudformation", "cloudwatch", "dynamodb", "ec2", "ec2-instance-connect", "ecr", "ecs", "elasticache", "elb", "elbv2", "events", "iam", "lambda", "logs", "organizations", "rds", "route53", "s3", "sagemaker", "secretsmanager", "sns", "sqs", "ssm", "sts"]} types-aioboto3 = "^12.4.0" types-aiobotocore = {extras = ["sts"], version = "^2.12.3"} +aiocache = "^0.12.2" [tool.poetry.group.dev.dependencies] # Uncomment this if you want to debug the ocean core together with your integration @@ -89,6 +90,7 @@ disallow_untyped_defs = true [tool.ruff] # Never enforce `E501` (line length violations). ignore = ["E501"] +target-version = "py311" [tool.pydantic-mypy] init_forbid_extra = true diff --git a/integrations/aws/tests/utils/test_aws.py b/integrations/aws/tests/utils/test_aws.py new file mode 100644 index 0000000000..c74b16d1bd --- /dev/null +++ b/integrations/aws/tests/utils/test_aws.py @@ -0,0 +1,127 @@ +import unittest +from unittest.mock import AsyncMock, patch +from typing import AsyncGenerator, Any, List +from utils.aws import update_available_access_credentials, get_sessions, session_factory +from port_ocean.utils.async_iterators import stream_async_iterators_tasks +from aws.aws_credentials import AwsCredentials +from aws.session_manager import SessionManager +from aioboto3 import Session + + +class TestUpdateAvailableAccessCredentials(unittest.IsolatedAsyncioTestCase): + """Test cases to simulate and handle the thundering herd problem in AWS credentials reset.""" + + @staticmethod + async def _run_update_access_iterator_result() -> AsyncGenerator[bool, None]: + result: bool = await update_available_access_credentials() + yield result + + @staticmethod + async def _create_iterator_tasks(func: Any, count: int) -> List[Any]: + """Helper to create async tasks.""" + return [func() for _ in range(count)] + + @patch("utils.aws._session_manager.reset", new_callable=AsyncMock) + @patch("utils.aws.lock", new_callable=AsyncMock) + async def test_multiple_task_execution( + self, mock_lock: AsyncMock, mock_reset: AsyncMock + ) -> None: + tasks: List[Any] = await self._create_iterator_tasks( + self._run_update_access_iterator_result, 10 + ) + async for result in stream_async_iterators_tasks(*tasks): + self.assertTrue(result) + + # Assert that the reset method was awaited exactly once (i.e., no thundering herd) + mock_reset.assert_awaited_once() + + mock_lock.__aenter__.assert_awaited_once() + mock_lock.__aexit__.assert_awaited_once() + + +class TestAwsSessions(unittest.IsolatedAsyncioTestCase): + def setUp(self) -> None: + self.session_manager_mock: AsyncMock = patch( + "utils.aws._session_manager", autospec=SessionManager + ).start() + + self.credentials_mock: AsyncMock = AsyncMock(spec=AwsCredentials) + self.session_mock: AsyncMock = AsyncMock(spec=Session) + + def tearDown(self) -> None: + patch.stopall() + + async def test_get_sessions_with_custom_account_id(self) -> None: + """Test get_sessions with a custom account ID and region.""" + self.credentials_mock.create_session = AsyncMock(return_value=self.session_mock) + + self.session_manager_mock.find_credentials_by_account_id.return_value = ( + self.credentials_mock + ) + + sessions: List[Session] = [ + s + async for s in get_sessions( + custom_account_id="123456789", custom_region="us-west-2" + ) + ] + + self.credentials_mock.create_session.assert_called_once_with("us-west-2") + self.assertEqual(sessions[0], self.session_mock) + + async def test_session_factory_with_custom_region(self) -> None: + """Test session_factory with custom region.""" + self.credentials_mock.create_session = AsyncMock(return_value=self.session_mock) + sessions: List[Session] = [ + s + async for s in session_factory( + self.credentials_mock, + custom_region="us-east-1", + use_default_region=False, + ) + ] + + self.credentials_mock.create_session.assert_called_once_with("us-east-1") + self.assertEqual(sessions[0], self.session_mock) + + async def test_get_sessions_with_default_region(self) -> None: + """Test get_sessions with default region.""" + self.credentials_mock.default_regions = ["us-west-1"] + self.credentials_mock.create_session = AsyncMock(return_value=self.session_mock) + self.session_manager_mock._aws_credentials = [self.credentials_mock] + + sessions: List[Session] = [ + s async for s in get_sessions(use_default_region=True) + ] + + self.credentials_mock.create_session.assert_called_once_with("us-west-1") + self.assertEqual(len(sessions), 1) + self.assertEqual(sessions[0], self.session_mock) + + async def test_get_sessions_with_multiple_credentials(self) -> None: + """Test get_sessions with multiple AWS credentials.""" + self.credentials_mock_1: AsyncMock = AsyncMock(spec=AwsCredentials) + self.credentials_mock_2: AsyncMock = AsyncMock(spec=AwsCredentials) + + self.credentials_mock_1.default_regions = ["us-west-1"] + self.credentials_mock_2.default_regions = ["us-east-1"] + + self.credentials_mock_1.create_session = AsyncMock( + return_value=self.session_mock + ) + self.credentials_mock_2.create_session = AsyncMock( + return_value=self.session_mock + ) + + self.session_manager_mock._aws_credentials = [ + self.credentials_mock_1, + self.credentials_mock_2, + ] + + sessions: List[Session] = [ + s async for s in get_sessions(use_default_region=True) + ] + + self.assertEqual(len(sessions), 2) + self.credentials_mock_1.create_session.assert_called_once_with("us-west-1") + self.credentials_mock_2.create_session.assert_called_once_with("us-east-1") diff --git a/integrations/aws/tests/test_utils.py b/integrations/aws/tests/utils/test_misc.py similarity index 100% rename from integrations/aws/tests/test_utils.py rename to integrations/aws/tests/utils/test_misc.py diff --git a/integrations/aws/utils/aws.py b/integrations/aws/utils/aws.py index 93fa3e5aa9..840de59138 100644 --- a/integrations/aws/utils/aws.py +++ b/integrations/aws/utils/aws.py @@ -1,33 +1,39 @@ from typing import Any, AsyncIterator, Optional, Union import aioboto3 -from loguru import logger -from port_ocean.context.event import event from port_ocean.context.ocean import ocean from starlette.requests import Request -from aws.session_manager import SessionManager +from aws.session_manager import SessionManager, ASSUME_ROLE_DURATION_SECONDS from aws.aws_credentials import AwsCredentials +from aiocache import cached, Cache # type: ignore +from asyncio import Lock + +from port_ocean.utils.async_iterators import stream_async_iterators_tasks +from utils.misc import semaphore + _session_manager: SessionManager = SessionManager() +CACHE_DURATION_SECONDS = ( + 0.80 * ASSUME_ROLE_DURATION_SECONDS +) # Refresh role credentials after exhausting 80% of the session duration + +lock = Lock() + -async def update_available_access_credentials() -> None: +@cached(ttl=CACHE_DURATION_SECONDS, cache=Cache.MEMORY) +async def update_available_access_credentials() -> bool: """ Fetches the AWS account IDs that the current IAM role can access. and saves them up to use as sessions :return: List of AWS account IDs. """ - CACHE_KEY = "CREDENTIALS_CACHE" - - if CACHE_KEY in event.attributes: - return - - logger.info("Updating AWS credentials") - await _session_manager.reset() - # makes this run once per resync - event.attributes[CACHE_KEY] = True + async with lock: + await _session_manager.reset() + # makes this run once per DurationSeconds + return True def describe_accessible_accounts() -> list[dict[str, Any]]: @@ -49,37 +55,49 @@ async def get_accounts() -> AsyncIterator[AwsCredentials]: yield credentials +async def session_factory( + credentials: AwsCredentials, + custom_region: Optional[str], + use_default_region: Optional[bool], +) -> AsyncIterator[aioboto3.Session]: + + if use_default_region: + default_region = get_default_region_from_credentials(credentials) + yield await credentials.create_session(default_region) + elif custom_region: + yield await credentials.create_session(custom_region) + else: + async for session in credentials.create_session_for_each_region(): + yield session + + async def get_sessions( custom_account_id: Optional[str] = None, custom_region: Optional[str] = None, use_default_region: Optional[bool] = None, ) -> AsyncIterator[aioboto3.Session]: """ - Gets boto3 sessions for the AWS regions + Gets boto3 sessions for the AWS regions. """ await update_available_access_credentials() - if custom_account_id: - credentials = _session_manager.find_credentials_by_account_id(custom_account_id) - if use_default_region: - default_region = get_default_region_from_credentials(credentials) - yield await credentials.create_session(default_region) - elif custom_region: - yield await credentials.create_session(custom_region) - else: - async for session in credentials.create_session_for_each_region(): + async with semaphore: + if custom_account_id: + credentials = _session_manager.find_credentials_by_account_id( + custom_account_id + ) + async for session in session_factory( + credentials, custom_region, use_default_region + ): yield session - return - - async for credentials in get_accounts(): - if use_default_region: - default_region = get_default_region_from_credentials(credentials) - yield await credentials.create_session(default_region) - elif custom_region: - yield await credentials.create_session(custom_region) else: - async for session in credentials.create_session_for_each_region(): - yield session + tasks = [ + session_factory(credentials, custom_region, use_default_region) + async for credentials in get_accounts() + ] + if tasks: + async for batch in stream_async_iterators_tasks(*tasks): + yield batch def validate_request(request: Request) -> tuple[bool, str]: diff --git a/integrations/aws/utils/misc.py b/integrations/aws/utils/misc.py index bcc3285456..ca416373f5 100644 --- a/integrations/aws/utils/misc.py +++ b/integrations/aws/utils/misc.py @@ -1,6 +1,11 @@ import enum from port_ocean.context.event import event +import asyncio + + +MAX_CONCURRENT_TASKS = 50 +semaphore = asyncio.BoundedSemaphore(MAX_CONCURRENT_TASKS) class CustomProperties(enum.StrEnum): diff --git a/integrations/aws/utils/resources.py b/integrations/aws/utils/resources.py index d8f408f314..0b9e26e393 100644 --- a/integrations/aws/utils/resources.py +++ b/integrations/aws/utils/resources.py @@ -14,7 +14,7 @@ from utils.aws import get_sessions from port_ocean.core.ocean_types import ASYNC_GENERATOR_RESYNC_TYPE -from utils.aws import _session_manager +from utils.aws import _session_manager, update_available_access_credentials from utils.overrides import AWSResourceConfig from botocore.config import Config as Boto3Config @@ -127,7 +127,7 @@ async def resync_custom_kind( next_token = None if not describe_method_params: describe_method_params = {} - while True: + while await update_available_access_credentials(): async with session.client(service_name) as client: try: params: dict[str, Any] = describe_method_params @@ -172,7 +172,7 @@ async def resync_cloudcontrol( account_id = await _session_manager.find_account_id_by_session(session) logger.info(f"Resyncing {kind} in account {account_id} in region {region}") next_token = None - while True: + while await update_available_access_credentials(): async with session.client("cloudcontrol") as cloudcontrol: try: params = {