<p align="center">
<img src="https://github.com/wntrblm/nox/raw/main/docs/_static/alice.png" alt="logo" width=50%>
</p>
# 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
Raw data
{
"_id": null,
"home_page": null,
"name": "nox",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "automation, testing, tox",
"author": "Alethea Katherine Flowers",
"author_email": "me@thea.codes",
"download_url": "https://files.pythonhosted.org/packages/08/93/4df547afcd56e0b2bbaa99bc2637deb218a01802ed62d80f763189be802c/nox-2024.10.9.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n<img src=\"https://github.com/wntrblm/nox/raw/main/docs/_static/alice.png\" alt=\"logo\" width=50%>\n</p>\n\n# Nox\n\n[![Nox](https://img.shields.io/badge/%F0%9F%A6%8A-Nox-D85E00.svg)](https://github.com/wntrblm/nox)\n[![License](https://img.shields.io/github/license/wntrblm/nox)](https://github.com/wntrblm/nox)\n[![PyPI](https://img.shields.io/pypi/v/nox.svg?logo=python)](https://pypi.python.org/pypi/nox)\n[![GitHub](https://img.shields.io/github/v/release/wntrblm/nox?logo=github&sort=semver)](https://github.com/wntrblm/nox)\n[![Code Style](https://img.shields.io/badge/code%20style-black-black)](https://github.com/wntrblm/nox)\n[![CI](https://github.com/wntrblm/nox/workflows/CI/badge.svg)](https://github.com/wntrblm/nox/actions?query=workflow%3ACI)\n[![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)\n\n*Flexible test automation with Python*\n\n* **Documentation:** [https://nox.readthedocs.io](https://nox.readthedocs.io)\n\n* **Source Code:** [https://github.com/wntrblm/nox](https://github.com/wntrblm/nox)\n\n## Overview\n\n`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:\n\n```python\nimport nox\n\n\n@nox.session\ndef tests(session: nox.Session) -> None:\n session.install(\"pytest\")\n session.run(\"pytest\")\n\n@nox.session\ndef lint(session: nox.Session) -> None:\n session.install(\"flake8\")\n session.run(\"flake8\", \"--import-order-style\", \"google\")\n```\n\n## Installation\n\nNox 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.\n\nTo install Nox with [pipx][]:\n\n```shell\npipx install nox\n```\n\nYou can also use [pip][] in your global python:\n\n```shell\npython3 -m pip install nox\n```\n\nYou may want to user the [user-site][] to avoid messing with your Global python install:\n\n```shell\npython3 -m pip install --user nox\n```\n\n## Usage\n\n### List all sessions\n\n```shell\nnox -l/--list\n```\n\n### Run all sessions\n\n```shell\nnox\n```\n\n### Run a particular session\n\n```shell\nnox -s/--session test\n```\n\nCheckout the [docs](https://nox.readthedocs.io) for more! \ud83c\udf89\n\n## Contributing\n\nNox 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!\n\nAll contributors must follow the [code of conduct](CODE_OF_CONDUCT.md) and be nice to one another! \ud83d\ude03\n\n[tox]: https://tox.readthedocs.io\n[pipx]: https://pypa.github.io/pipx/\n[pip]: https://pip.pypa.io/en/stable/\n[user-site]: https://packaging.python.org/en/latest/tutorials/installing-packages/#installing-to-the-user-site\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Flexible test automation.",
"version": "2024.10.9",
"project_urls": {
"bug-tracker": "https://github.com/wntrblm/nox/issues",
"documentation": "https://nox.thea.codes",
"homepage": "https://github.com/wntrblm/nox",
"repository": "https://github.com/wntrblm/nox"
},
"split_keywords": [
"automation",
" testing",
" tox"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "6600981f0dcaddf111b6caf6e03d7f7f01b07fd4af117316a7eb1c22039d9e37",
"md5": "91f3bb0675fa2f66c5d09b6c9cfd0a6a",
"sha256": "1d36f309a0a2a853e9bccb76bbef6bb118ba92fa92674d15604ca99adeb29eab"
},
"downloads": -1,
"filename": "nox-2024.10.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "91f3bb0675fa2f66c5d09b6c9cfd0a6a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 61210,
"upload_time": "2024-10-09T12:50:14",
"upload_time_iso_8601": "2024-10-09T12:50:14.790526Z",
"url": "https://files.pythonhosted.org/packages/66/00/981f0dcaddf111b6caf6e03d7f7f01b07fd4af117316a7eb1c22039d9e37/nox-2024.10.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "08934df547afcd56e0b2bbaa99bc2637deb218a01802ed62d80f763189be802c",
"md5": "35a95f8b0f8e04255d65387dfc331db5",
"sha256": "7aa9dc8d1c27e9f45ab046ffd1c3b2c4f7c91755304769df231308849ebded95"
},
"downloads": -1,
"filename": "nox-2024.10.9.tar.gz",
"has_sig": false,
"md5_digest": "35a95f8b0f8e04255d65387dfc331db5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 4003197,
"upload_time": "2024-10-09T12:50:17",
"upload_time_iso_8601": "2024-10-09T12:50:17.413769Z",
"url": "https://files.pythonhosted.org/packages/08/93/4df547afcd56e0b2bbaa99bc2637deb218a01802ed62d80f763189be802c/nox-2024.10.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-09 12:50:17",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "wntrblm",
"github_project": "nox",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "nox"
}