Skip to main content

Auto-generates verified killing tests for survived mutants from mutmut and Stryker

Project description

Quell

Quell your survivors. Strengthen your tests.

Quell auto-generates verified, killing tests for survived mutants from mutmut and Stryker.

What it does

Quell reads surviving mutants from mutation testing tools (mutmut for Python, Stryker for JS/TS), analyzes each surviving mutant using Python's AST (via libcst), generates a targeted pytest assertion that would catch the mutation, verifies the generated test actually kills the mutant by applying the mutant and running the test in a subprocess, then writes only verified tests to the test file using libcst (preserving formatting and comments).

  • Code never leaves the machine (unless you configure an LLM provider)
  • Every write is auto-restored on failure
  • Full audit log is maintained

Installation

pip install quell

Quick Start

# Step 1: Run your mutation testing tool first
mutmut run                          # for Python projects
npx stryker run --reporters=json    # for JS/TS projects

# Step 2: Let quell scan survivors
quell scan                          # see what survived

# Step 3: Fix interactively
quell fix                           # review + apply one by one

# Step 4: Or auto-fix everything
quell auto --dry-run                # preview
quell auto                          # apply all verified tests

# Config (optional)
quell init                          # adds [tool.quell] to pyproject.toml

# Use local LLM (privacy-first)
quell fix --llm ollama              # requires ollama running locally

Configuration

Add [tool.quell] to your pyproject.toml:

[tool.quell]
llm_provider = "anthropic"           # "anthropic" | "openai" | "ollama"
llm_model = "claude-sonnet-4-5"
max_verification_attempts = 3
verification_timeout_seconds = 30
auto_write = false

Set your API key:

export ANTHROPIC_API_KEY=sk-...
# or
export OPENAI_API_KEY=sk-...

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quelltest-0.1.0.tar.gz (114.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quelltest-0.1.0-py3-none-any.whl (24.9 kB view details)

Uploaded Python 3

File details

Details for the file quelltest-0.1.0.tar.gz.

File metadata

  • Download URL: quelltest-0.1.0.tar.gz
  • Upload date:
  • Size: 114.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for quelltest-0.1.0.tar.gz
Algorithm Hash digest
SHA256 64427731bb58f6dec02f66fb0562914ebb80eec7bbc5885ab6f04d64011b9e1e
MD5 8132ec8762d3c1a20e78b84ca4defdaf
BLAKE2b-256 6a5c79385aacf7af168a4fcd356246081bde8914f94ddd88a64769f5e0efe776

See more details on using hashes here.

File details

Details for the file quelltest-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: quelltest-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 24.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for quelltest-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 517bc8b1ad3c6f1bb91ffcfb52f0e6ebd892a47e1457ef912d3df4c01c5926ac
MD5 d69cd643fc9b24622edf3e439a93558e
BLAKE2b-256 ab3d9251b87611da843f10b6e475e4daa001b879983a33a5cb9e50856ba9c315

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page