workspyce 0.1.0

A minimal, no-nonsense version manager for uv workspaces, inspired by changesets
workspyce-0.1.0 is not a library.

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.