Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wntrblm/nox
Flexible test automation for Python
https://github.com/wntrblm/nox
automation python testing
Last synced: 4 days ago
JSON representation
Flexible test automation for Python
- Host: GitHub
- URL: https://github.com/wntrblm/nox
- Owner: wntrblm
- License: apache-2.0
- Created: 2016-02-24T04:02:58.000Z (almost 9 years ago)
- Default Branch: main
- Last Pushed: 2024-10-28T17:09:11.000Z (about 2 months ago)
- Last Synced: 2024-10-29T10:45:53.542Z (about 1 month ago)
- Topics: automation, python, testing
- Language: Python
- Homepage: https://nox.thea.codes
- Size: 5.14 MB
- Stars: 1,316
- Watchers: 20
- Forks: 151
- Open Issues: 81
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- best-of-python-dev - GitHub - 15% open · ⏱️ 23.05.2024): (Testing Tools)
- awesomeLibrary - nox - Flexible test automation for Python (语言资源库 / python)
README
# Nox
[![Nox](https://img.shields.io/badge/%F0%9F%A6%8A-Nox-D85E00.svg)](https://github.com/wntrblm/nox)
[![License](https://img.shields.io/github/license/wntrblm/nox)](https://github.com/wntrblm/nox)
[![PyPI](https://img.shields.io/pypi/v/nox.svg?logo=python)](https://pypi.python.org/pypi/nox)
[![GitHub](https://img.shields.io/github/v/release/wntrblm/nox?logo=github&sort=semver)](https://github.com/wntrblm/nox)
[![Code Style](https://img.shields.io/badge/code%20style-black-black)](https://github.com/wntrblm/nox)
[![CI](https://github.com/wntrblm/nox/workflows/CI/badge.svg)](https://github.com/wntrblm/nox/actions?query=workflow%3ACI)
[![Downloads](https://static.pepy.tech/personalized-badge/nox?period=total&units=international_system&left_color=grey&right_color=green&left_text=Downloads)](https://pepy.tech/project/nox)*Flexible test automation with Python*
* **Documentation:** [https://nox.readthedocs.io](https://nox.readthedocs.io)
* **Source Code:** [https://github.com/wntrblm/nox](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:
```python
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][]:
```shell
pipx install nox
```You can also use [pip][] in your global python:
```shell
python3 -m pip install nox
```You may want to user the [user-site][] to avoid messing with your Global python install:
```shell
python3 -m pip install --user nox
```## Usage
### List all sessions
```shell
nox -l/--list
```### Run all sessions
```shell
nox
```### Run a particular session
```shell
nox -s/--session test
```Checkout the [docs](https://nox.readthedocs.io) for more! 🎉
## Contributing
Nox is an open source project and welcomes contributions of all kinds, checkout the [contributing guide](CONTRIBUTING.md) for help on how to help us out!
All contributors must follow the [code of conduct](CODE_OF_CONDUCT.md) and be nice to one another! 😃
[tox]: https://tox.readthedocs.io
[pipx]: https://pypa.github.io/pipx/
[pip]: https://pip.pypa.io/en/stable/
[user-site]: https://packaging.python.org/en/latest/tutorials/installing-packages/#installing-to-the-user-site