Nox
Flexible test automation with Python
-
Documentation: https://nox.readthedocs.io
-
Source Code: https://github.com/wntrblm/nox
Overview
nox
is a command-line tool that automates testing in multiple Python environments, similar to tox. Unlike tox, Nox uses a standard Python file for configuration:
import nox
@nox.session
def tests(session: nox.Session) -> None:
session.install("pytest")
session.run("pytest")
@nox.session
def lint(session: nox.Session) -> None:
session.install("flake8")
session.run("flake8", "--import-order-style", "google")
Installation
Nox is designed to be installed globally (not in a project virtual environment), the recommended way of doing this is via pipx, a tool designed to install python CLI programs whilst keeping them separate from your global or system python.
To install Nox with pipx:
pipx install nox
You can also use pip in your global python:
python3 -m pip install nox
You may want to user the user-site to avoid messing with your Global python install:
python3 -m pip install --user nox
Usage
List all sessions
nox -l/--list
Run all sessions
nox
Run a particular session
nox -s/--session test
Checkout the docs for more!
Contributing
Nox is an open source project and welcomes contributions of all kinds, checkout the contributing guide for help on how to help us out!
All contributors must follow the code of conduct and be nice to one another!