CheckOps home

Tools directory

M

CheckOps

mutmut

mutmut is a BSD-3-Clause mutation testing tool for Python that changes your code in small ways and reports which mutants your tests fail to kill, with a terminal UI for browsing results.

Visit website

Latest public signals

Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.

Visit Website

Introduction

mutmut is a mutation testing system for Python. It makes small changes (mutants) to your source code, such as flipping comparisons, changing numbers or altering strings, then runs your tests against each mutant. If the tests still pass, the mutant “survived”, revealing code whose behaviour is not really checked. This complements coverage, which only shows what ran.

Running mutmut run mutates your code and executes the tests. Version 3 focuses on speed, using fork-based execution and running only the tests relevant to each mutated function; as a result, the README says it must run on a system with fork support, so Windows users need WSL. mutmut browse opens a terminal UI listing mutants by status, where you can view diffs and re-test a function (f) or a mutant (m). You can also apply a mutant to disk with mutmut apply <mutant>, ideally with your code committed first. You can limit runs to specific modules or functions with glob patterns, and configure paths in setup.cfg or pyproject.toml. Version 3.8.0 was released on 12 September 2026.

The source code is at boxed/mutmut on GitHub under the BSD-3-Clause licence, with about 1,500 stars; the most recent commit was on 7 November 2026.

Features

  1. Python mutation testing: Measures how well tests detect real changes.
  2. Targeted runs: Mutate selected modules or functions with globs.
  3. Terminal UI: Browse mutants and diffs with mutmut browse.
  4. Fast execution: Fork-based runs and per-function test selection.

Pros

  1. Free to use: Open source under the BSD-3-Clause licence, so the core tool costs nothing to use.
  2. Actively maintained: The repository had commits as recent as 7 November 2026.

Cons

  1. No native Windows: Requires fork, so use WSL on Windows.
  2. Can be slow on big codebases: Start with critical modules.
pip install mutmut
mutmut run
mutmut results
mutmut browse
mutmut run "billing.invoice*"

pyproject.toml:

[tool.mutmut]
paths_to_mutate = ["src/"]

Resources:

Pricing

mutmut is free and open source under the BSD-3-Clause licence.

  1. Python teams with good coverage who want to measure test effectiveness.
  2. Critical modules (billing, auth, parsing) where weak tests are costly.

Conclusion

mutmut is the most approachable mutation testing tool for Python, with a fast v3 engine and a handy terminal UI.

Alternatives

Other tools on CheckOps that cover similar ground. Open a page, or compare one with mutmut side by side.