freshcrate
Home > Frameworks > uv-dynamic-versioning

uv-dynamic-versioning

Dynamic versioning based on VCS tags for uv/hatch project

Description

# uv-dynamic-versioning [![PyPI version](https://badge.fury.io/py/uv-dynamic-versioning.svg)](https://badge.fury.io/py/uv-dynamic-versioning) [poetry-dynamic-versioning](https://github.com/mtkennerly/poetry-dynamic-versioning) influenced dynamic versioning tool for [uv](https://github.com/astral-sh/uv)/[hatch](https://github.com/pypa/hatch), powered by [dunamai](https://github.com/mtkennerly/dunamai/). > [!NOTE] > This plugin doesn't work with [the uv build backend](https://docs.astral.sh/uv/concepts/build-backend/) right now. (ref. [astral-sh/uv#14561](https://github.com/astral-sh/uv/issues/14561)) ## Installation Update or add `build-system` to use `uv-dynamic-versioning`. ```toml [build-system] requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" ``` ## Plugins This project offers two plugins: - Version source plugin: is for setting a version based on VCS. - Metadata hook plugin: is for setting dependencies and optional-dependencies dynamically based on VCS version. This plugin is useful for monorepo. See [Version Source](https://github.com/ninoseki/uv-dynamic-versioning/blob/main/docs/version_source.md) and [Metadata Hook](https://github.com/ninoseki/uv-dynamic-versioning/blob/main/docs/metadata_hook.md) for more details. ## Tips See [Tips](https://github.com/ninoseki/uv-dynamic-versioning/blob/main/docs/tips.md). ## Examples See [Examples](https://github.com/ninoseki/uv-dynamic-versioning/tree/main/examples/). ## Projects Using `uv-dynamic-versioning` - Version Source: - [IBM/Agentics](https://github.com/IBM/Agentics) - [microsoft/agent-framework](https://github.com/microsoft/agent-framework) - [modelcontextprotocol/python-sdk](https://github.com/modelcontextprotocol/python-sdk) - Metadata Hook: - [mkdocstrings/griffe](https://github.com/mkdocstrings/griffe) - [NVIDIA-NeMo/DataDesigner](https://github.com/NVIDIA-NeMo/DataDesigner) - [pydantic/pydantic-ai](https://github.com/pydantic/pydantic-ai) And more. ## Alternatives - [hatch-vcs](https://github.com/ofek/hatch-vcs): Hatch plugin for versioning with your preferred VCS. - [versioningit](https://github.com/jwodder/versioningit): Versioning It with your Version In Git.

Release History

VersionChangesUrgencyDate
0.14.0Imported from PyPI (0.14.0)Low4/21/2026
v0.14.0## What's Changed * Improve Version Source Docs by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/85 * ci: update actions by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/86 * docs: update README by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/87 * feat: support highest-tag option by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/89 * docs: update tips by @ninoseki in https://github.com/ninoseki/uv-dynamiLow3/22/2026
v0.13.0## What's Changed * docs: use "may" [skip ci] by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/80 * refactor: drop Python 3.9 by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/82 **Full Changelog**: https://github.com/ninoseki/uv-dynamic-versioning/compare/v0.12.0...v0.13.0Low1/19/2026
v0.12.0## What's Changed * refactor: temporally remove tags while testing by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/70 * ci: update actions & python version matrix by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/71 * docs: explain about style by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/73 * fix: fix pattern issue by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/76 * feat: format-jinja-imports by @nLow12/14/2025
v0.11.2## What's Changed * fix: fix metadata hook versioning issue by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/69 **Full Changelog**: https://github.com/ninoseki/uv-dynamic-versioning/compare/v0.11.1...v0.11.2Low9/28/2025
v0.11.1## What's Changed * fix: versions formatted using jinja-format now also respect with-escape by @willemkokke in https://github.com/ninoseki/uv-dynamic-versioning/pull/65 * ci: pin actions by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/66 * chore: update dependencies by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/67 ## New Contributors * @willemkokke made their first contribution in https://github.com/ninoseki/uv-dynamic-versioning/pull/65 Low9/13/2025
v0.11.0## What's Changed * From file by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/62 **Full Changelog**: https://github.com/ninoseki/uv-dynamic-versioning/compare/v0.10.0...v0.11.0Low8/22/2025
v0.10.0## What's Changed * feat: output version by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/59 * Add note on uv's build cache by @davidparsson in https://github.com/ninoseki/uv-dynamic-versioning/pull/46 * refactor: set proper requires by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/60 **Full Changelog**: https://github.com/ninoseki/uv-dynamic-versioning/compare/v0.9.0...v0.10.0Low8/15/2025
v0.9.0## Breaking Changes uv-dynamic-versioning is no longer auto-coerces values to make it lightweight (#52, #53). You must now set values using the correct type as documented. For example: **Incorrect** ```toml [tool.uv-dynamic-versioning] bump = "true" # string, not boolean ``` **Correct** ```toml [tool.uv-dynamic-versioning] bump = true ``` ## What's Changed * fix typo in metadata_hook.md by @jkeifer in https://github.com/ninoseki/uv-dynamic-versioning/pull/44 * Fix tLow8/11/2025
v0.8.2## What's Changed * fix: fix bypassing issue by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/41 * refactor: remove returns by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/42 * refactor: check version's style by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/43 **Full Changelog**: https://github.com/ninoseki/uv-dynamic-versioning/compare/v0.8.1...v0.8.2Low5/2/2025
v0.8.1## What's Changed * fix: fix pattern error by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/38 **Full Changelog**: https://github.com/ninoseki/uv-dynamic-versioning/compare/v0.8.0...v0.8.1Low4/29/2025
v0.8.0## What's Changed * Refactoring by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/25 * feat: add support for format-jinja and format-jinja-imports by @karta9821 in https://github.com/ninoseki/uv-dynamic-versioning/pull/26 * Refactoring by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/29 * feat: support commit length by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/30 * feat: add fallback-version by @eggplants in https://githubLow4/29/2025
v0.7.0## What's Changed * feat: metadata hook for setting dependencies dynamically by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/23 * v0.7.0 by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/24 **Full Changelog**: https://github.com/ninoseki/uv-dynamic-versioning/compare/v0.6.0...v0.7.0Low3/29/2025
v0.6.0## What's Changed * docs: update README [skip ci] by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/18 * refactor: remove build hook by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/19 * v0.6.0 by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/20 **Full Changelog**: https://github.com/ninoseki/uv-dynamic-versioning/compare/v0.5.0...v0.6.0Low2/11/2025
v0.5.0## What's Changed * chore: update URLs (add homepage) by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/14 * feat: add build hook by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/15 * feat: add example project by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/16 * v0.5.0 by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/17 **Full Changelog**: https://github.com/ninoseki/uv-dynamic-versioning/compare/v0.Low2/2/2025
v0.4.1## What's Changed * ci: use trusted publisher by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/11 * chore: drop self reference by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/12 * fix: add build by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/13 **Full Changelog**: https://github.com/ninoseki/uv-dynamic-versioning/compare/v0.4.0...v0.4.1Low1/31/2025
v0.4.0## What's Changed * feat: support UV_DYNAMIC_VERSIONING_BYPASS to bypass version resolution by @iwanbolzern in https://github.com/ninoseki/uv-dynamic-versioning/pull/7 * refactor: use uv-dynamic-versioning by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/8 ## New Contributors * @iwanbolzern made their first contribution in https://github.com/ninoseki/uv-dynamic-versioning/pull/7 **Full Changelog**: https://github.com/ninoseki/uv-dynamic-versioning/compare/v0.3.0...Low11/29/2024
v0.3.0## What's Changed * Set default-unprefixed pattern as a default pattern by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/6 **Full Changelog**: https://github.com/ninoseki/uv-dynamic-versioning/compare/v0.2.0...v0.3.0Low11/22/2024
v0.2.0## What's Changed * refactor: use ~= version specifier by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/3 * feat: support Python 3.9 by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/4 **Full Changelog**: https://github.com/ninoseki/uv-dynamic-versioning/compare/v0.1.0...v0.2.0Low9/25/2024
v0.1.0## What's Changed * Wip by @ninoseki in https://github.com/ninoseki/uv-dynamic-versioning/pull/1 ## New Contributors * @ninoseki made their first contribution in https://github.com/ninoseki/uv-dynamic-versioning/pull/1 **Full Changelog**: https://github.com/ninoseki/uv-dynamic-versioning/commits/v0.1.0Low8/31/2024

Dependencies & License Audit

Loading dependencies...

Similar Packages

hatch-fancy-pypi-readmeFancy PyPI READMEs with Hatch25.1.0
pre-commitA framework for managing and maintaining multi-language pre-commit hooks.v4.6.0
azure-core-tracing-opentelemetryMicrosoft Azure Azure Core OpenTelemetry plugin Library for Pythonazure-template_0.1.0b6187637
spdx-toolsSPDX parser and tools.0.8.5
lacesDjango components that know how to render themselves.0.1.2