MutPy
github.com
What it is
MutPy is a mutation testing tool for Python that checks whether a test suite catches changes to its source code. It creates mutations at the abstract syntax tree level, then runs tests to reveal which changes go undetected. The project describes compatibility with Python 3.3 and later. It uses unittest by default, while pytest support is experimental. Reports can be generated in YAML or HTML, and coverage analysis can restrict mutation to code exercised by tests. Users can also select or disable operators and sample a percentage of mutants. MutPy supports higher order mutations and includes standard and experimental operator sets. Installation is documented through pip from PyPI or from the repository source. The software is free at free and licensed under Apache License 2.0. PyPI lists version 0.6.1, released November 17, 2019, as the latest release. The README warns that disabling stdout can damage tests that interact with sys.stdout.
Spec sheet
- Purpose
- MutPy is a mutation testing tool for Python source code that evaluates the quality of software tests.Read 9 Oct 2026 · github.com
- Intended users
- PyPI classifies the package for developers and software testing.Read 9 Oct 2026 · pypi.org
- Integrations
- The documented test runner integrations are unittest and experimental pytest; no other integrations are listed.Read 9 Oct 2026 · github.com
- License
- The project is licensed under the Apache License, Version 2.0.Read 9 Oct 2026 · github.com
- Availability
- PyPI lists version 0.6.1, released November 17, 2019.Read 9 Oct 2026 · pypi.org
- Compatibility
- The README describes MutPy as supporting Python 3.3+ source code.Read 4 Oct 2026 · github.com
- Development origin
- The project says it was developed as part of engineering and master's theses at Warsaw University of Technology's Institute of Computer Science.Read 9 Oct 2026 · github.com
- Installation
- The project README gives pip installation and source installation instructions.Read 9 Oct 2026 · github.com
- Limitations
- The README warns that disabling stdout can damage tests that interact with sys.stdout.Read 9 Oct 2026 · github.com
- Mutation controls
- Command line options include selecting or disabling operators, sampling a percentage of mutants, and mutating only covered code.Read 9 Oct 2026 · github.com
- Mutation features
- It supports higher order mutations and code coverage analysis.Read 9 Oct 2026 · github.com
- Mutation method
- It applies mutations at the abstract syntax tree level.Read 9 Oct 2026 · github.com
- Mutation options
- It supports higher order mutations and code coverage analysis, including an option to mutate only covered code.Read 4 Oct 2026 · github.com
- Operators
- It includes standard mutation operators and a separate set of experimental operators.Read 4 Oct 2026 · github.com
- Price and license
- The project is licensed under Apache License 2.0; the page does not state a price.Read 4 Oct 2026 · github.com
- Python versions
- The README describes support for Python 3.3 and later.Read 9 Oct 2026 · github.com
- Release history
- PyPI lists version 0.6.1, released November 17, 2019, as the latest release.Read 4 Oct 2026 · pypi.org
- Reports
- MutPy can generate YAML and HTML reports and colorful console output.Read 9 Oct 2026 · github.com
- Support and security
- The repository page has an Issues section; it does not state a support service or security certification.Read 4 Oct 2026 · github.com
- Test runners
- It supports unittest by default and pytest experimentally.Read 9 Oct 2026 · github.com
- Use case
- The README presents MutPy as a tool for developers to find weaknesses in their tests by checking whether tests detect mutated code.Read 4 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Applies mutations at the AST level.
- Generates YAML and HTML reports.
- Can restrict mutations to covered code.
- Supports operator selection and mutant sampling.
- Apache License 2.0.
Limits
- Pytest runner is experimental.
- Latest listed release is version 0.6.1 from 2019.
- Disabling stdout can damage some tests.
Who it suits
MutPy suits Python developers and software testers who want to check whether their tests detect code changes. It is a better fit for users working with unittest; pytest is available only as an experimental runner.
Verdict
MutPy offers useful controls for assessing test suites, including coverage-limited mutation and operator selection. Its experimental pytest runner and listed release history are worth considering when choosing a tool for a Python project.
Where Specifiction places it
- Mutation Testing Tools#7 of 257.9