workspyce

Crates.ioworkspyce
lib.rsworkspyce
version0.1.0
created_at2025-12-13 20:30:45.00466+00
updated_at2025-12-13 20:30:45.00466+00
descriptionA minimal, no-nonsense version manager for uv workspaces, inspired by changesets
homepage
repositoryhttps://github.com/AstraBert/workspyce
max_upload_size
id1983384
size33,837
Clelia (Astra) Bertelli (AstraBert)

documentation

README

workspyce

A minimal, no-nonsense version manager for uv workspaces, inspired by changesets.

Disclaimer: I am doing this to learn Rust! This might not be the most efficient way to manage versions in your uv workspace (at least no yet ;)

Usage

Please note that workspyce might still have bugs and may produce inconsistent results

Install:

cargo install workspyce

Use the resulting build as an entrypoint:

./target/debug/workspyce --help

Use it within a python project:

  • Check all packages in the workspace for changes
workspyce check --pyproject pyproject.toml

The program should find the members within your uv workspace (should also compile with a regular expression for the * wildcard), check the current status of your git repository and ask for what kind of version bump you want to perform for a specific package, saving the info to a markdown file in the .workspyce/ folder.

  • Version-bump all the changed packages:
workspyce version

This will remove all the markdown files and produce a .workspyce/release.txt file including the paths to all the files to release.

  • Release all the version-bumped packages:
workspyce release --token YOUR_PYPI_TOKEN

This will remove the release.txt file and create a dist/ directory where the build outputs are stored for publication.

Commit count: 0

cargo fmt