{"id":23216,"library":"aiomoto","title":"aiomoto","description":"aiomoto provides Moto-style AWS service mocks for aiobotocore/aioboto3, enabling async mocking of AWS services like S3, SES, etc. Current version is 0.3.0, with an active release cadence targeting developers using async AWS SDKs.","status":"active","version":"0.3.0","language":"python","source_language":"en","source_url":"https://github.com/owenlamont/aiomoto","tags":["aws","mocking","testing","async","aiobotocore","aioboto3"],"install":[{"cmd":"pip install aiomoto","lang":"bash","label":"Install with pip"}],"dependencies":[{"reason":"Required for async AWS client mocking","package":"aiobotocore","optional":false},{"reason":"Alternative async SDK; aiomoto supports both","package":"aioboto3","optional":true}],"imports":[{"note":"AioMoto is exported at package level, not from a submodule","wrong":"from aiomoto.core import AioMoto","symbol":"AioMoto","correct":"from aiomoto import AioMoto"},{"note":"","wrong":"","symbol":"mock_s3","correct":"from aiomoto import mock_s3"}],"quickstart":{"code":"import aioboto3\nfrom aiomoto import mock_s3\n\n@mock_s3\nasync def test_s3_bucket():\n    session = aioboto3.Session()\n    async with session.client('s3', region_name='us-east-1') as s3:\n        await s3.create_bucket(Bucket='mybucket')\n        response = await s3.list_buckets()\n        assert 'mybucket' in [b['Name'] for b in response['Buckets']]\n\nimport asyncio\nasyncio.run(test_s3_bucket())","lang":"python","description":"Apply @mock_s3 decorator to async test functions to mock S3 operations."},"warnings":[{"fix":"Review if server-mode changes affect your usage; no breaking changes reported for basic mocking.","message":"Version 0.3.0 introduced a new server-mode attach/registry feature with custom exceptions; existing code using older mock decorators should remain compatible.","severity":"breaking","affected_versions":"<0.3.0"},{"fix":"Upgrade Python to 3.10 or later.","message":"aiomoto requires Python >=3.10; Python 3.9 or older will cause installation failures.","severity":"deprecated","affected_versions":"all"},{"fix":"Ensure the decorated function is defined with 'async def'.","message":"Mock decorators must be applied to async functions; applying to sync functions will not work.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run 'pip install aiomoto' in your virtual environment.","cause":"aiomoto not installed or installed in wrong environment.","error":"ModuleNotFoundError: No module named 'aiomoto'"},{"fix":"Update to latest version: 'pip install --upgrade aiomoto' and check imports from aiomoto.","cause":"Old version of aiomoto that may not support 'mock_s3' or import path changed.","error":"AttributeError: module 'aiomoto' has no attribute 'mock_s3'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}