# tox-uv
[![PyPI version](https://badge.fury.io/py/tox-uv.svg)](https://badge.fury.io/py/tox-uv)
[![PyPI Supported Python Versions](https://img.shields.io/pypi/pyversions/tox-uv.svg)](https://pypi.python.org/pypi/tox-uv/)
[![check](https://github.com/tox-dev/tox-uv/actions/workflows/check.yml/badge.svg)](https://github.com/tox-dev/tox-uv/actions/workflows/check.yml)
[![Downloads](https://static.pepy.tech/badge/tox-uv/month)](https://pepy.tech/project/tox-uv)
**tox-uv** is a tox plugin which replaces virtualenv and pip with uv in your tox environments.
Note that you will get both the benefits (performance) or downsides (bugs) of uv.
## How to use
Install `tox-uv` into the environment of your tox and it will replace virtualenv and pip for all runs:
```bash
python -m pip install tox-uv
python -m tox r -e py312 # will use uv
```
## Configuration
- `uv-venv-runner` is the ID for the tox environments [runner](https://tox.wiki/en/4.12.1/config.html#runner).
- `uv-venv-pep-517` is the ID for the PEP-517 packaging environment.
- `uv-venv-cmd-builder` is the ID for the external cmd builder.
### uv_seed
This flag, set on a tox environment level, controls if the created virtual environment injects pip/setuptools/wheel into
the created virtual environment or not. By default, is off. You will need to set this if you have a project that uses
the old legacy editable mode, or your project does not support the `pyproject.toml` powered isolated build model.
### uv_resolution
This flag, set on a tox environment level, informs uv of the desired [resolution strategy]:
- `highest` - (default) selects the highest version of a package that satisfies the constraints
- `lowest` - install the **lowest** compatible versions for all dependencies, both **direct** and **transitive**
- `lowest-direct` - opt for the **lowest** compatible versions for all **direct** dependencies, while using the
**latest** compatible versions for all **transitive** dependencies
This is a uv specific feature that may be used as an alternative to frozen constraints for test environments, if the
intention is to validate the lower bounds of your dependencies during test executions.
[resolution strategy]: https://github.com/astral-sh/uv/blob/0.1.20/README.md#resolution-strategy
Raw data
{
"_id": null,
"home_page": null,
"name": "tox-uv",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "Bern\u00e1t G\u00e1bor <gaborjbernat@gmail.com>",
"keywords": "environments, isolated, testing, virtual",
"author": null,
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/f0/87/873e6483f00cebe7c53fc5e45f3e25c8c1919cf6010f3bb23b273283c4b4/tox_uv-1.8.2.tar.gz",
"platform": null,
"description": "# tox-uv\n\n[![PyPI version](https://badge.fury.io/py/tox-uv.svg)](https://badge.fury.io/py/tox-uv)\n[![PyPI Supported Python Versions](https://img.shields.io/pypi/pyversions/tox-uv.svg)](https://pypi.python.org/pypi/tox-uv/)\n[![check](https://github.com/tox-dev/tox-uv/actions/workflows/check.yml/badge.svg)](https://github.com/tox-dev/tox-uv/actions/workflows/check.yml)\n[![Downloads](https://static.pepy.tech/badge/tox-uv/month)](https://pepy.tech/project/tox-uv)\n\n**tox-uv** is a tox plugin which replaces virtualenv and pip with uv in your tox environments.\nNote that you will get both the benefits (performance) or downsides (bugs) of uv.\n\n## How to use\n\nInstall `tox-uv` into the environment of your tox and it will replace virtualenv and pip for all runs:\n\n```bash\npython -m pip install tox-uv\npython -m tox r -e py312 # will use uv\n```\n\n## Configuration\n\n- `uv-venv-runner` is the ID for the tox environments [runner](https://tox.wiki/en/4.12.1/config.html#runner).\n- `uv-venv-pep-517` is the ID for the PEP-517 packaging environment.\n- `uv-venv-cmd-builder` is the ID for the external cmd builder.\n\n### uv_seed\n\nThis flag, set on a tox environment level, controls if the created virtual environment injects pip/setuptools/wheel into\nthe created virtual environment or not. By default, is off. You will need to set this if you have a project that uses\nthe old legacy editable mode, or your project does not support the `pyproject.toml` powered isolated build model.\n\n### uv_resolution\n\nThis flag, set on a tox environment level, informs uv of the desired [resolution strategy]:\n\n- `highest` - (default) selects the highest version of a package that satisfies the constraints\n- `lowest` - install the **lowest** compatible versions for all dependencies, both **direct** and **transitive**\n- `lowest-direct` - opt for the **lowest** compatible versions for all **direct** dependencies, while using the\n **latest** compatible versions for all **transitive** dependencies\n\nThis is a uv specific feature that may be used as an alternative to frozen constraints for test environments, if the\nintention is to validate the lower bounds of your dependencies during test executions.\n\n[resolution strategy]: https://github.com/astral-sh/uv/blob/0.1.20/README.md#resolution-strategy\n",
"bugtrack_url": null,
"license": null,
"summary": "Integration of uv with tox.",
"version": "1.8.2",
"project_urls": {
"Changelog": "https://github.com/tox-dev/tox-uv/releases",
"Documentation": "https://github.com/tox-dev/tox-uv#tox-uv",
"Homepage": "https://github.com/tox-dev/tox-uv",
"Source": "https://github.com/tox-dev/tox-uv",
"Tracker": "https://github.com/tox-dev/tox-uv/issues"
},
"split_keywords": [
"environments",
" isolated",
" testing",
" virtual"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0cea66e0fb285103f8c4d1234aa6f1f6e756aa4d3b996d0d5f793a32ad58fa06",
"md5": "a9701a3db29e3b99781f591cb95be5c8",
"sha256": "f3159ccf651dca68f882ebb5f81ac695564f89a455c417c04c7eda4efa83ef9d"
},
"downloads": -1,
"filename": "tox_uv-1.8.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a9701a3db29e3b99781f591cb95be5c8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 10299,
"upload_time": "2024-04-30T17:13:13",
"upload_time_iso_8601": "2024-04-30T17:13:13.132233Z",
"url": "https://files.pythonhosted.org/packages/0c/ea/66e0fb285103f8c4d1234aa6f1f6e756aa4d3b996d0d5f793a32ad58fa06/tox_uv-1.8.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f087873e6483f00cebe7c53fc5e45f3e25c8c1919cf6010f3bb23b273283c4b4",
"md5": "dd005cb9e05ef2fd73b8574588e3eaab",
"sha256": "264b829d0e2d117dec27c3b83d90f83ac674f7b52a367d5449fe5073e4508c23"
},
"downloads": -1,
"filename": "tox_uv-1.8.2.tar.gz",
"has_sig": false,
"md5_digest": "dd005cb9e05ef2fd73b8574588e3eaab",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 11892,
"upload_time": "2024-04-30T17:14:08",
"upload_time_iso_8601": "2024-04-30T17:14:08.175451Z",
"url": "https://files.pythonhosted.org/packages/f0/87/873e6483f00cebe7c53fc5e45f3e25c8c1919cf6010f3bb23b273283c4b4/tox_uv-1.8.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-30 17:14:08",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "tox-dev",
"github_project": "tox-uv",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "tox-uv"
}