Skip to content
SPECIFICTION
Get listed

muttest vs pymute

muttest

jakubsob.github.io

pymute

github.com

Side by side

Figuremuttestpymute
Price from—Free
Free plan—Yes
Free trial——
Open source——
WindowsYes—
macOSYes—
LinuxYesYes
Plans published01
Spec score · Mutation Testing Tools7.1 (#19)7.7 (#9)
LicenseThe package is licensed under MIT plus a LICENSE file.The repository identifies its license as Unlicense.
MakerThe maker identifies himself as Jakub Sobolewski, a software engineer specializing in R and Shiny.The Cargo manifest names Leonard Sasse as the author.
Purposemuttest measures test quality by applying small changes to code and checking whether the test suite catches them.Pymute is a mutation testing tool for Python and Pytest written in Rust.

Plans

muttest

No plans published.

muttest pricing →

pymute

  • Free/open-sourceFree

pymute pricing →

In their own words

muttest

muttest is a free R package for mutation testing: it changes selected parts of R code and runs tests to measure which changes the test suite catches. Its mutation score reports the percentage of mutations caught, helping identify weak assertions. Users can choose what to change and where, with mutators for operators, boolean and NA or NULL values, function calls, strings, numbers, indexes, conditions, negation, and return values. Presets group common mutation types, including arithmetic, comparison, logical, numeric, string, and condition changes. Examples use testthat and show how changing comparison operators can expose untested boundary cases. Reports are available in HTML and JSON, with feedback on files that may need stronger assertions. Documentation links a guide for running checks in CI, including GitHub Actions, score badges, and thresholds. A July 2026 update describes parallel execution. The package supports Linux, macOS, and Windows, is licensed under MIT plus a LICENSE file, and requires R version 4.1.0 or later according to its CRAN listing.

Visit jakubsob.github.io

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