Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

The python3 bytecode based mutation analysis framework

Project Description

This package provides a byte-code based mutation analysis framework for Python. It computes the mutation score (The quality score) of your doctests. Bytecode based mutation analysis ensures that invalid mutants are completely avoided (unlike source code based mutants), and also that trivial redundant and equivalent mutants (that can be distinguished by compiler) are already removed. It uses coverage analysis to ensure that only covered mutants that have a chance to be detected are run. It also includes randomized evaluation of equivalent mutants (use -a to set the number of attempts to be made).

It was tested on Python 3.6

To run

python -a <attempts> <module to be tested>

Mutation Operators (on bytecode)

- modify constants
- replace boolean comparators (< <= == != > >=)
- replace arithmetic operators (+ - * / // ./. ** % << >> ^)
- remove unary negation and invert
- invert unary signs
- swap 'and' and 'or' in boolean expressions
- swap inplace 'and' and 'or' in assignments
- swap 'jump if * or pop' and 'jump if * and pop'
- swap 'pop if true' and 'pop if false'

Release History

This version
History Node


History Node


History Node


Download Files

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

File Name & Hash SHA256 Hash Help Version File Type Upload Date
(13.0 kB) Copy SHA256 Hash SHA256
Source Dec 11, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting