Macrostrat Package Tools
Tools for managing packages in a Python monorepo: version changes, release
status, and publishing to PyPI. Requires uv (version 2.0.0 and later).
The mono command operates on the packages listed in the root
pyproject.toml's [tool.uv.sources].
| Command | What it does |
|---|---|
mono install |
Lock and install every package into the root environment |
mono changeset |
Record a pending version change in .changes/ |
mono version |
Apply pending changes: versions, dependencies, changelogs |
mono status |
Show the release plan; --check fails on problems |
mono build |
Build every package that is not yet published |
mono publish |
Build, upload and tag every unpublished package |
Change fragments
A fragment is a markdown file in .changes/ naming the packages it affects and
how far each should move:
---
macrostrat.database: minor
---
- Add `copy_settings` to `template_database`.
mono version collects every fragment, takes the largest level per package,
and cascades to packages that depend on one being released — raising their
>= dependency floors and moving them by the level set in
[tool.mono] update-internal-dependencies (default patch, or none to leave
dependents alone).
Publishing
mono publish builds, uploads and tags. It deliberately does not commit or
regenerate lock files, so it behaves identically on a laptop and in CI. In
GitHub Actions with id-token: write, uv publish authenticates through PyPI
trusted publishing and needs no token; locally, set UV_PUBLISH_TOKEN.
Metadata
Release files for macrostrat.package_tools 2.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| macrostrat_package_tools-2.1.0.tar.gz | 9.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| macrostrat_package_tools-2.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.4 kB
Release files / macrostrat_package_tools-2.1.0.tar.gz
| Download URL | macrostrat_package_tools-2.1.0.tar.gz |
|---|---|
| Size | 9.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
34ac4bf8ffaeec990e2f30f6253f9621cac0795b93edec383d1605168c0c3a76
|
|
BLAKE2b-256 checksum How to use checksums |
6c2a12de4a5d84be30439534c982119cb75a4499e5c0e948708319376d42cff7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / macrostrat_package_tools-2.1.0-py3-none-any.whl
| Download URL | macrostrat_package_tools-2.1.0-py3-none-any.whl |
|---|---|
| Size | 13.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8bca268bb6f3fd99c9b45c7827a4a846d4aa7731c722518ad681274770e3b74b
|
|
BLAKE2b-256 checksum How to use checksums |
568e5763b2dd962df835fb906d004ca83d00adb4c1accba14dd259061532f788
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|