pymute vs Stryker Dashboard
pymute
github.comStryker Dashboard
dashboard.stryker-mutator.ioSide by side
| Figure | pymute | Stryker Dashboard |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Linux | Yes | — |
| API | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Mutation Testing Tools | 7.7 (#9) | 7.2 (#17) |
| License | The repository identifies its license as Unlicense. | The Stryker site states that Stryker is released under the Apache 2.0 license. |
| Purpose | Pymute is a mutation testing tool for Python and Pytest written in Rust. | Stryker Dashboard hosts mutation testing reports online and provides a mutation score badge for repositories. |
Plans
In their own words
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.
Stryker Dashboard
Stryker Dashboard is a free, open-source web service for publishing mutation-testing reports and displaying a mutation score badge for repositories. It accepts reports from mutation-testing frameworks that follow the mutation testing report schema, with named language coverage for JavaScript, TypeScript, C#, Scala, and other compatible frameworks. Users enable a repository by signing in with GitHub. Reports can arrive through a Stryker dashboard reporter or by HTTP PUT, authenticated with an API key in STRYKER_DASHBOARD_API_KEY or the X-Api-Key header. Documentation lists full reports, mutation-score reports, and dashboard settings for Stryker, Stryker.NET, and Stryker4s. The API can group multiple reports for one version with an optional module value, useful for monorepos, or accept a score-only report for a badge without storing other report information. Automatic project and version retrieval is documented for Travis, CircleCI, and GitHub Actions across those implementations; Azure DevOps and GitLab CI are supported only for Stryker.NET. The backend currently supports github.com as its Git provider.