Skip to content
SPECIFICTION
Get listed

MutPy vs pymute

MutPy

github.com

pymute

github.com

Side by side

FigureMutPypymute
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
LinuxYesYes
Self-hostedYes—
Plans published11
Spec score · Mutation Testing Tools7.9 (#7)7.7 (#9)
InstallationThe project README gives pip installation and source installation instructions.The README says to install pymute with Cargo from crates.io or directly from GitHub, and requires Rust and Cargo.
LicenseThe project is licensed under the Apache License, Version 2.0.The repository identifies its license as Unlicense.
PurposeMutPy is a mutation testing tool for Python source code that evaluates the quality of software tests.Pymute is a mutation testing tool for Python and Pytest written in Rust.
Test runnersIt supports unittest by default and pytest experimentally.It supports pytest as the default runner and tox as an alternative.

Plans

MutPy

  • MutPyFree

MutPy pricing →

pymute

  • Free/open-sourceFree

pymute pricing →

In their own words

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

pymute

pymute is a free mutation testing tool for Python projects using pytest or tox, written in Rust. It creates a temporary directory for each mutant and changes Python file text rather than operating on the abstract syntax tree. Pytest is the default runner, and documented mutation types include math operators, conjunctions, booleans, control flow, comparisons and numbers. By default, it reports mutants that survive because tests pass; other output levels can show caught mutants or process output. Options let users filter modules with a glob, select tests and mutation types, set thread count and cap the number of mutants. That cap runs a randomly selected subset. Installation uses Cargo from crates.io or GitHub and requires Rust and Cargo. With pytest, tests need to run from the project root in independent copies and exercise the local copy rather than an installed package. Tox sets up a separate environment and installs the package for each mutant, which the project describes as considerably slower. Parallel threads each need temporary disk space, and a run may fail if /tmp runs out. The repository identifies its license as Unlicense.

Visit github.com