Repository navigation
Releases: Yassimba/pubgrub-py
Releases · Yassimba/pubgrub-py
Release list
Version bump
Full Changelog: v1.1.0...v1.1.1
v1.1.0
v1.0.0 - Stable Release
pubgrub-py 1.0.0
First stable release of pubgrub-py - Python bindings for the PubGrub version resolution algorithm.
Features
Resolverclass for building dependency graphs incrementallyresolve()convenience function for one-shot resolution- PEP 440 compatible version constraints (
>=,<=,>,<,==,!=,~=) - Human-readable error messages when resolution fails
- Pre-built wheels for Linux (x86_64, aarch64), macOS (x86_64, arm64), and Windows (x64)
Installation
pip install pubgrub-pyExample
from pubgrub_py import resolve
result = resolve(
requirements={"app": ">=1.0.0"},
available={
"app": {"1.0.0": {"lib": ">=2.0.0"}},
"lib": {"2.0.0": {}, "2.1.0": {}},
},
)
# {"app": "1.0.0", "lib": "2.1.0"}v0.1.2 - Fix macOS runner
- Fixed macOS runner (macos-13 is retired, now using macos-15)
v0.1.1 - CI Fix
Changes
- Fixed maturin build configuration to explicitly specify Python interpreter
- Simplified wheel build matrix for initial release
Note: This release contains the same functionality as v0.1.0, with CI fixes only.
v0.1.0 - Initial Release
pubgrub-py v0.1.0
Python bindings for the PubGrub version resolution algorithm (used by Dart's pub).
Features
Resolverclass for building dependency graphsresolve()convenience function for one-shot resolution- PEP 440 compatible version constraints (
>=,<=,>,<,==,!=,~=) - Human-readable error messages when resolution fails
Installation
pip install pubgrub-pyExample
from pubgrub_py import resolve
result = resolve(
requirements={"app": ">=1.0.0"},
available={
"app": {"1.0.0": {"lib": ">=2.0.0"}},
"lib": {"2.0.0": {}, "2.1.0": {}},
},
)
# {"app": "1.0.0", "lib": "2.1.0"}