Skip to content

Releases: Yassimba/pubgrub-py

Version bump

Choose a tag to compare

@Yassimba Yassimba released this 05 Feb 16:44

Full Changelog: v1.1.0...v1.1.1

v1.1.0

Choose a tag to compare

@Yassimba Yassimba released this 05 Feb 16:37

Full Changelog: v1.0.0...v1.1.0

v1.0.0 - Stable Release

Choose a tag to compare

@Yassimba Yassimba released this 05 Feb 09:43

pubgrub-py 1.0.0

First stable release of pubgrub-py - Python bindings for the PubGrub version resolution algorithm.

Features

  • Resolver class for building dependency graphs incrementally
  • resolve() 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-py

Example

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

Choose a tag to compare

@Yassimba Yassimba released this 05 Feb 09:39
  • Fixed macOS runner (macos-13 is retired, now using macos-15)

v0.1.1 - CI Fix

Choose a tag to compare

@Yassimba Yassimba released this 05 Feb 09:36

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

Choose a tag to compare

@Yassimba Yassimba released this 05 Feb 09:32

pubgrub-py v0.1.0

Python bindings for the PubGrub version resolution algorithm (used by Dart's pub).

Features

  • Resolver class for building dependency graphs
  • resolve() convenience function for one-shot resolution
  • PEP 440 compatible version constraints (>=, <=, >, <, ==, !=, ~=)
  • Human-readable error messages when resolution fails

Installation

pip install pubgrub-py

Example

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"}