Skip to content
SPECIFICTION
Get listed

mutmut vs MutPy

mutmut

mutmut.readthedocs.io

MutPy

github.com

Side by side

FiguremutmutMutPy
Price from—Free
Free plan—Yes
Free trial——
Open source——
WindowsYes—
macOSYes—
LinuxYesYes
Self-hostedYesYes
Plans published01
Spec score · Mutation Testing Tools7.2 (#16)7.9 (#7)
LicenseThe package is distributed under the BSD-3-Clause license.The project is licensed under the Apache License, Version 2.0.
Purposemutmut is a mutation testing system for Python focused on ease of use.MutPy is a mutation testing tool for Python source code that evaluates the quality of software tests.

Plans

mutmut

No plans published.

mutmut pricing →

MutPy

  • MutPyFree

MutPy pricing →

In their own words

mutmut

mutmut is a free, open-source mutation testing system for Python. It makes small code changes called mutants so developers can check whether tests detect them. Its listed operators increment integer literals by one, change < to <=, and swap break and continue. The project supports pytest and remembers completed work for incremental runs, selecting tests to run for each mutant. An interactive terminal interface lets users browse mutants, write one to disk, and rerun individual cases after adding tests. Runs are described as parallel; configured coverage.py can restrict mutations to covered lines. The documentation also supports filtering with mypy or pyrefly, but not pyright or ty. For CI/CD, mutmut can export statistics and generate mutation-score badge JSON for a Shields endpoint. Configuration in setup.cfg or pyproject.toml can specify source paths and pytest selection arguments. It requires Python 3.10 or later and a system with fork support, so Windows users need WSL. Version 3 and later mutate code inside functions; version 2 uses a different model for code outside functions. The package is licensed under BSD-3-Clause.

Visit mutmut.readthedocs.io

MutPy

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.

Visit github.com