uv env manager to enable conda-style revision tracking
Reason this release was yanked:
broken
Project description
uvrev
uvrev is a CLI tool that wraps the uv package manager and adds git-based, conda-style revision tracking for Python environments.
It allows you to manage UV projects as isolated environments with a full, inspectable revision history. Every package change (add, remove, update) creates a new Git commit and tag, making it easy to understand what changed and to roll back to any previous state.
Overview
- Manage UV environments with automatic revision tracking
- Track dependency changes over time using Git
- Restore environments to any previous revision
- Inspect package history in a familiar conda-style format
Each environment is stored as a Git repository. Dependency changes are committed automatically, providing a complete and auditable history of your environment state.
Installation
Prerequisites
gituv
Install with uv
uv tool install uvrev
After installation, ensure that uvrev is available on your PATH:
uvrev --help
Key Features
- Conda-style revision history showing added, removed, and updated packages
- Git-based storage with automatic commits and tags
- Rollback to any previous revision
- Detailed changelog tracking both dependencies and pinned versions
Commands
| Command | Description |
|---|---|
uvrev env create |
Create a new UV project with revision tracking |
uvrev env list |
List all UV projects |
uvrev add |
Add packages to the current project |
uvrev remove |
Remove packages from the current project |
uvrev sync |
Sync project dependencies |
uvrev list |
List installed packages in the current environment |
uvrev history |
Show revision history with package changes |
uvrev restore |
Restore project to a specific revision |
uvrev path |
Show the path to the current project |
uvrev run |
Run uv commands in the project |
Environment Selection
uvrev determines the active environment based on the currently activated virtual environment.
Activate an environment as usual:
source .venv/bin/activate
Once activated, all uvrev commands operate on that environment automatically. No additional flags or environment variables are required.
This mirrors standard Python workflows and avoids implicit global state.
Examples
uvrev env create myproject --python 3.12
# activate venv
source "$(uvrev path -e myproject)/.venv/bin/activate"
uvrev add pandas numpy
uvrev add requests
uvrev list
uvrev history
uvrev restore 3
uvrev run pip list
Why uvrev?
uvrev combines the speed and simplicity of uv with the safety and transparency of Git, giving you:
- Reproducible environments
- Clear insight into dependency changes
- Confidence to experiment, knowing you can always roll back
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file uvrev-0.1.1.tar.gz.
File metadata
- Download URL: uvrev-0.1.1.tar.gz
- Upload date:
- Size: 48.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.23 {"installer":{"name":"uv","version":"0.9.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
134f9105457bf97f3a22572f1777b837849b4d31367f75efde08efe56be4bcca
|
|
| MD5 |
bf58cca4c967cc93a12f4da6ee82409d
|
|
| BLAKE2b-256 |
1cc4b3df1ece6b36fca0e8c2bfb1196ae8508427cf0ecd3b9fbaa2e3f2523644
|
File details
Details for the file uvrev-0.1.1-py3-none-any.whl.
File metadata
- Download URL: uvrev-0.1.1-py3-none-any.whl
- Upload date:
- Size: 13.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.23 {"installer":{"name":"uv","version":"0.9.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0ad30eb208506540d0c2f22a0023c10897ca70437b15604232f905eea1069cf
|
|
| MD5 |
72640e151f988453b8a93d75880c4104
|
|
| BLAKE2b-256 |
bfd3fc657d5800c9fe983313eeb8612500de73125d3338eb8c6ebda7a5e7d75c
|