Skip to main content

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

  • git
  • uv

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uvrev-0.1.2.tar.gz (48.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uvrev-0.1.2-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file uvrev-0.1.2.tar.gz.

File metadata

  • Download URL: uvrev-0.1.2.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

Hashes for uvrev-0.1.2.tar.gz
Algorithm Hash digest
SHA256 cad817841d3920d6884f36b8c0873563dbf3be00220dbf8f36093a287575fd6c
MD5 7bebb611825ace2bac396ccc4a618973
BLAKE2b-256 93b9e3a1b65151b53ced1d0bce1c56e231fbc135d4798d4ae2d9ff39ddbb989d

See more details on using hashes here.

File details

Details for the file uvrev-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: uvrev-0.1.2-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

Hashes for uvrev-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 510c5667e9d61cedd68a7a6599a75358bb061dde0f3383bdad8cf152d8fba34b
MD5 db4b86160983a63f4f1609520b120360
BLAKE2b-256 7c761e49055af243be2acc2b4bd2bfd92ddf38c8b55ebd7d53d51e0144da5af8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page