Credits#

                                            _=,_
                                         o_/6 /#\
                    "You're not a Dog!"	 \__ |##/
        --.__.--                          ='|--\
     ___\(0_0)/                             /   #'-.
  ~~/     (OO)  "My name is Dog."           \#|_   _'-. /
    \  __  /                                 |/ \_( # |"
     `='`='=                                C/ ,--___/

ASCII Art#

Inspiration#

When I was looking for a Python Mutation Testing tool, the top candidates I found were Mutmut and Mutatest. Both are good tools with pros and cons of each. I decided to create my own tool because I wanted a more configurable tool, that is able to run multiple trials in parallel. I considered submitting updates to one or the other, but found that what I wanted would be nearly a rewrite. By starting over new, I was able to utilize new tools, some that weren’t part of python’s base till version 3.9.

Tools#

Tool

Description

click

Click is a Python package for creating beautiful command line interfaces in a composable way with as little code as necessary.

wcmatch

Wildcard Match provides an enhanced fnmatch, glob, and pathlib library in order to provide file matching and globbing that more closely follows the features found in Bash

jinja

Jinja is a fast, expressive, extensible templating engine. Special placeholders in the template allow writing code similar to Python syntax. Then the template is passed data to render the final document.

pytest

The pytest framework makes it easy to write small, readable tests, and can scale to support complex functional testing for applications and libraries

pytest-cov

This plugin produces coverage reports.

pytest-sort

This Pytest plugin is used to help identify Application State Leaks in your test suite.

isort

isort your imports, so you don’t have to.

black

The uncompromising code formatter.

ruff

An extremely fast Python linter and code formatter, written in Rust.

mypy

Mypy is a static type checker for Python.

sphinx

Sphinx makes it easy to create intelligent and beautiful documentation.

furo

A clean customizable Sphinx documentation theme.

myst_parser

A Sphinx and Docutils extension to parse MyST Markdown.

sphinx_design

A sphinx extension for designing beautiful, screen-size responsive web-components.

sphinx-copybutton

Sphinx-copybutton does one thing: add a little “copy” button to the right of your code blocks. That’s it! It is a lightweight wrapper around the excellent (and also lightweight) Javascript library ClipboardJS.