skillfed

moto

A library that allows you to easily mock out tests based on AWS infrastructure

moto Permissive license Apache-2.0 Active 8,613 v5.2.2 released

Install

moto on PyPI

pip

pip install moto

uv

uv add moto

poetry

poetry add moto

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 7 — boto3, botocore, cryptography, requests, xmltodict, werkzeug, responses
Maintenance actively maintained — 68 days since the last release
Last repo commit
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: moto-5.2.2-py3-none-any.whl

Keywords: aws, ec2, s3, boto3, mock

Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Software Development :: Testing

About moto

from the package's own PyPI description — quoted content, verbatim

Read as markdown · JSON record · Source repository · Homepage · Docs

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

Moto mocks AWS services for testing, allowing you to test code that calls boto3 without hitting real AWS infrastructure. It intercepts boto3 calls and simulates AWS service behavior in memory.

Low friction installation with a pure-Python wheel. Active maintenance (last commit 2026-08-11, 68 days since release) and broad Python 3.10–3.14 support. Seven runtime dependencies are all well-established libraries.

Apache-2.0 is permissive; you may use, modify, and distribute moto freely in commercial and private projects, provided you include a copy of the license and state significant changes.

Usage

pip install moto

import boto3
from moto import mock_aws

@mock_aws
def test_s3():
    s3 = boto3.client('s3', region_name='us-east-1')
    s3.create_bucket(Bucket='test')
    s3.put_object(Bucket='test', Key='file', Body=b'data')
    obj = s3.get_object(Bucket='test', Key='file')
    assert obj['Body'].read() == b'data'

Verdict: Moto is a mature, actively maintained testing library with no known vulnerabilities. It offers low-friction installation and broad Python version support (3.10–3.14). Apache-2.0 licensing is permissive. Ideal for unit and integration testing of AWS-dependent code without external service calls.

Needs verification

  • Coverage of specific AWS services beyond S3 and EC2 (implementation coverage page referenced but not provided)
  • Performance characteristics when mocking large-scale or complex AWS operations
  • Community adoption metrics and real-world usage patterns
mock aws services testingboto3 mocking libraryaws service mockstest aws code locallys3 ec2 mock testingaws infrastructure mocking

Similar packages