# 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/2e/00/3cd90c7315698ef7c96e8d25bb98bc0d7d8ee307da8dc9a249b70d1bc046/tox_uv-1.8.0.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.0",
"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": "82e96f55abcac2b3be615c319bad1918b297b5556a01a04243722f141b0fe910",
"md5": "a5dfae1cca63ab1bd41f31bd23c77879",
"sha256": "35347683c52793c2827ba30f6254fbea774bd1beddc9136fb1203ff093bfdddf"
},
"downloads": -1,
"filename": "tox_uv-1.8.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a5dfae1cca63ab1bd41f31bd23c77879",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 10303,
"upload_time": "2024-04-29T18:49:36",
"upload_time_iso_8601": "2024-04-29T18:49:36.500447Z",
"url": "https://files.pythonhosted.org/packages/82/e9/6f55abcac2b3be615c319bad1918b297b5556a01a04243722f141b0fe910/tox_uv-1.8.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2e003cd90c7315698ef7c96e8d25bb98bc0d7d8ee307da8dc9a249b70d1bc046",
"md5": "9bce572370cdac98a391845a12f1651e",
"sha256": "e36149f8721fe11668cad14b78d61d8fdedf6f6d2c56d2e00447b96a475b671b"
},
"downloads": -1,
"filename": "tox_uv-1.8.0.tar.gz",
"has_sig": false,
"md5_digest": "9bce572370cdac98a391845a12f1651e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 11890,
"upload_time": "2024-04-29T18:49:38",
"upload_time_iso_8601": "2024-04-29T18:49:38.290232Z",
"url": "https://files.pythonhosted.org/packages/2e/00/3cd90c7315698ef7c96e8d25bb98bc0d7d8ee307da8dc9a249b70d1bc046/tox_uv-1.8.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-29 18:49:38",
"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"
}