Name | uv-bump JSON |
Version |
0.2.0
JSON |
| download |
home_page | None |
Summary | Bump pyproject.toml dependency minimum versions to latest feasible versions. |
upload_time | 2025-07-19 08:15:23 |
maintainer | None |
docs_url | None |
author | Jeroen van Zundert |
requires_python | >=3.9 |
license | None |
keywords |
uv
bump
version
dependency
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# UV-bump
Bump pyproject.toml dependency minimum versions to latest feasible versions.
WARNING: this tool is provided as-is and doesn't come with warranty.
Please make sure your code has been backed up and/or version controlled in case something goes wrong.
## Howto
Within your project, ensure that it is clean. That is:
1. your `uv.lock` file is up to date
2. your `.venv` is up to date
Run `uv sync --all-extras` if you are unsure.
Proceed by installing the tool and running it:
```bash
uv add --dev uv-bump
uv-bump
```
UV-bump will run `uv sync`, and in addition update your `pyproject.toml` file.
Review the changes, and if happy, commit.
UV-bump will respect your currently set version pins and bounds.
For example, if you specify `polars==1.20.0`, Polars won't be updated, although newer versions are available.
Similarly, if you set `plotly>=5.0,<6.0` version 6 of Plotly will not be selected.
To make these available, change the specifications to use `>=` without an upper bound.
If you find that a particular package upgrade is difficult and warrants more attention, edit `pyproject.toml` to add an upper bound, and re-run
UV-bump.
In this way, you can keep up to date on all the small updates and whilst thoroughly testing the big changes if needed.
## Why uv-bump?
UV-bump is a tool help application developers keep up to date on their dependencies.
For library developers, the `pyproject.toml` dependency specifications are usually set as wide as possible.
However, for application developers, this is not desirable, and ideally versions are being kept up-to-date to incorporate bug fixes and, if desired, feature upgrades.
Although `uv sync --upgrade` will up the versions in your `uv.lock` file, it won't touch the `pyproject.toml` file.
This causes the dependency specifications to lag reality.
For example, say you use of package X version Y, and specify "PackageX>=Y".
Over time, a new version, Z, comes out.
The `uv.lock` file is updated with `uv sync --upgrade`, and you end up using the new version, and start using some of the new features.
Effectively, `pyproject.toml` is now outdated, your application won't work any longer with version `Y`, but only version `Z`, which can cause problems down the road.
## FAQ
Q1. Help, UV-bump does not select the latest version?
A1. UV-bump uses UV to resolve package requirements. It may well be that amongst your dependencies one or more are holding
your dependency back.
Q2. will UV add native support for this functionality?
A2. See the issue tracker: https://github.com/astral-sh/uv/issues/6794
Q3. Can I see which of my dependencies are outdated?
A3. `uv pip list --outdated`. This does not, per Q1, mean that they can actually all be updated to the latest version.
Raw data
{
"_id": null,
"home_page": null,
"name": "uv-bump",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "uv, bump, version, dependency",
"author": "Jeroen van Zundert",
"author_email": "Jeroen van Zundert <mail@jeroenvanzundert.nl>",
"download_url": "https://files.pythonhosted.org/packages/6f/83/9d12d51d5f35ce68e16a8c5817c83175441792cc23dcc07f7764b9e21683/uv_bump-0.2.0.tar.gz",
"platform": null,
"description": "# UV-bump\n\nBump pyproject.toml dependency minimum versions to latest feasible versions.\n\nWARNING: this tool is provided as-is and doesn't come with warranty.\nPlease make sure your code has been backed up and/or version controlled in case something goes wrong.\n\n\n## Howto\n\nWithin your project, ensure that it is clean. That is:\n\n1. your `uv.lock` file is up to date\n2. your `.venv` is up to date\n\nRun `uv sync --all-extras` if you are unsure.\n\nProceed by installing the tool and running it:\n\n```bash\nuv add --dev uv-bump\nuv-bump\n```\nUV-bump will run `uv sync`, and in addition update your `pyproject.toml` file.\nReview the changes, and if happy, commit.\n\nUV-bump will respect your currently set version pins and bounds.\nFor example, if you specify `polars==1.20.0`, Polars won't be updated, although newer versions are available.\nSimilarly, if you set `plotly>=5.0,<6.0` version 6 of Plotly will not be selected.\nTo make these available, change the specifications to use `>=` without an upper bound.\nIf you find that a particular package upgrade is difficult and warrants more attention, edit `pyproject.toml` to add an upper bound, and re-run\nUV-bump.\nIn this way, you can keep up to date on all the small updates and whilst thoroughly testing the big changes if needed.\n\n\n## Why uv-bump?\nUV-bump is a tool help application developers keep up to date on their dependencies.\nFor library developers, the `pyproject.toml` dependency specifications are usually set as wide as possible.\nHowever, for application developers, this is not desirable, and ideally versions are being kept up-to-date to incorporate bug fixes and, if desired, feature upgrades.\nAlthough `uv sync --upgrade` will up the versions in your `uv.lock` file, it won't touch the `pyproject.toml` file.\nThis causes the dependency specifications to lag reality.\nFor example, say you use of package X version Y, and specify \"PackageX>=Y\".\nOver time, a new version, Z, comes out.\nThe `uv.lock` file is updated with `uv sync --upgrade`, and you end up using the new version, and start using some of the new features.\nEffectively, `pyproject.toml` is now outdated, your application won't work any longer with version `Y`, but only version `Z`, which can cause problems down the road. \n\n\n## FAQ\n\nQ1. Help, UV-bump does not select the latest version?\n\nA1. UV-bump uses UV to resolve package requirements. It may well be that amongst your dependencies one or more are holding\n your dependency back.\n\n\nQ2. will UV add native support for this functionality?\n\nA2. See the issue tracker: https://github.com/astral-sh/uv/issues/6794\n\n\nQ3. Can I see which of my dependencies are outdated?\n\nA3. `uv pip list --outdated`. This does not, per Q1, mean that they can actually all be updated to the latest version.\n",
"bugtrack_url": null,
"license": null,
"summary": "Bump pyproject.toml dependency minimum versions to latest feasible versions.",
"version": "0.2.0",
"project_urls": {
"Homepage": "https://github.com/zundertj/uv-bump",
"Issues": "https://github.com/zundertj/uv-bump/issues",
"Repository": "https://github.com/zundertj/uv-bump.git"
},
"split_keywords": [
"uv",
" bump",
" version",
" dependency"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "a8a28096354e31d829b556b15f9aff9138deb9748799a63d240072e73611aba0",
"md5": "ae3fe3db1b335f80b5f2c819db6ab404",
"sha256": "128b8d3f8597ed3905e08329d032e5dbced2776a8f0c95139fcb6f253fca527b"
},
"downloads": -1,
"filename": "uv_bump-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ae3fe3db1b335f80b5f2c819db6ab404",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 5874,
"upload_time": "2025-07-19T08:15:22",
"upload_time_iso_8601": "2025-07-19T08:15:22.357232Z",
"url": "https://files.pythonhosted.org/packages/a8/a2/8096354e31d829b556b15f9aff9138deb9748799a63d240072e73611aba0/uv_bump-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6f839d12d51d5f35ce68e16a8c5817c83175441792cc23dcc07f7764b9e21683",
"md5": "95852f38396c444b813ebc6f85f57f14",
"sha256": "c1688ed035884b0cca5f0fd0ca8716f61aab320a2313a4ac1dc83b8e1b1f5e55"
},
"downloads": -1,
"filename": "uv_bump-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "95852f38396c444b813ebc6f85f57f14",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 4571,
"upload_time": "2025-07-19T08:15:23",
"upload_time_iso_8601": "2025-07-19T08:15:23.300884Z",
"url": "https://files.pythonhosted.org/packages/6f/83/9d12d51d5f35ce68e16a8c5817c83175441792cc23dcc07f7764b9e21683/uv_bump-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-19 08:15:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "zundertj",
"github_project": "uv-bump",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "uv-bump"
}