DataDesigner uses semantic versioning with automated version management via uv-dynamic-versioning.
Versions are automatically derived from git tags:
- No tag:
0.1.0.dev<N>+g<commit-hash>(development version) - Tagged commit:
1.2.3(release version) - After tag:
1.2.4.dev<N>+g<commit-hash>(next development version)
MAJOR.MINOR.PATCH
- MAJOR: Breaking changes (incompatible API changes)
- MINOR: New features (backward-compatible)
- PATCH: Bug fixes (backward-compatible)
When ready to release version X.Y.Z:
# Tag the release
git tag vX.Y.Z
# Push the tag
git push origin vX.Y.Z
# Build and publish
uv build
uv publishExample:
git tag v0.1.0
git push origin v0.1.0Fern release publishing snapshots versioned docs automatically into the CI-managed docs-website branch. Release owners do not need a dedicated pre-release docs PR.
The docs-website branch must already contain the historical Fern archive (v0.6.0, v0.5.9, v0.5.8, and older). The release workflow fails if those redirect targets are missing.
The legacy gh-pages branch is frozen for the MkDocs archive. Do not publish new docs builds there; Fern links readers to GitHub Pages only for releases 0.5.7 and older.
For the already-published v0.6.0 release, rerun Build Fern docs manually with release_tag=v0.6.0 and source_ref=main after the Fern fix PR merges. Future GitHub release events default source_ref to the release tag.
Users can access the version using Python's standard importlib.metadata:
import importlib.metadata
print(importlib.metadata.version("data-designer"))
# Output: 0.1.0 (or 0.1.0.dev18+ga7496d01a if between releases)Note: data_designer.__version__ does not work because data_designer is a namespace package.
- Version source: Git tags via
uv-dynamic-versioning - Version access:
importlib.metadata.version("data-designer")(standard Python approach) - Configuration: Package
pyproject.tomlfiles
When you clone the repository and run uv sync, you can access the version immediately:
git clone <repo>
uv sync
uv run python -c "import importlib.metadata; print(importlib.metadata.version('data-designer'))"
# Works!- During development: Commit normally, version auto-increments as dev versions
- Ready to release: Create and push a git tag (e.g.,
v0.1.0) - After release: Continue development, version becomes next dev version (e.g.,
0.1.1.dev1)
No manual version bumping required!