Skip to content

sase-core-rs: Add version 0.39.0 - #3064

Draft
luhenry wants to merge 1 commit into
mainfrom
sase-core-rs
Draft

luhenry wants to merge 1 commit into
mainfrom
sase-core-rs

Conversation

@luhenry

@luhenry luhenry commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

PyO3/maturin extension binding sase_core's patch parser, query language, agent-artifact scanner and status state machine for the sase TUI/CLI. Upstream publishes no riscv64 wheel. The queue named 0.32.16, which PyPI no longer carries at all (earliest available release is 0.34.23); this builds the latest release instead.

Mirrors the Linux leg of upstream's release-plz.yml, narrowed to riscv64.

Differs from upstream

  • Installs the Rust toolchain in before-all - the riscv64 image carries none.

Matrix: cp312 only - the crate is abi3-py312, one wheel covers 3.12-3.14, matching upstream's own single wheel per platform.

Testing

  • same as upstream's own smoke test (import + parse_query).

License: MIT OR Apache-2.0 - upstream ships no LICENSE file at all anywhere in the repo (confirmed against the real PyPI wheel, whose dist-info has no licences/ directory); the patch adds the standard dual-licence text.

Patches

  • 0001-ship-the-project-s-own-LICENSE-MIT-and-LICENSE-APACH.patch - To upstream [not filed]. Without it the wheel carries no licence text; reproduces on any platform, not just riscv64.

Built on cp312.

Add riscv64 wheel build for sase-core-rs, the PyO3/maturin extension
exposing sase_core's patch parser, query language, agent-artifact
scanner and status state machine to the sase TUI/CLI. Upstream
publishes no riscv64 wheel.

The queue entry named 0.32.16, but that release no longer exists on
PyPI at all (earliest available is 0.34.23); 0.32.16's dependency
subtree also didn't yet pull in sase_gateway (axum/reqwest/tokio),
which 0.39.0's does. Ported the latest release, 0.39.0, instead.

Mirrors upstream's linux leg of release-plz.yml's wheel matrix
(manylinux_2_28 x86_64/aarch64), narrowed to riscv64. No abi3-only
wheel exists upstream for a third arch to diff against, but the crate
targets abi3-py312 so one wheel covers 3.12-3.14.

cargo tree -p sase_core_py --target riscv64gc-unknown-linux-gnu
resolves 194 crates with only two -sys crates: libsqlite3-sys
(rusqlite's bundled feature, portable C) and linux-raw-sys (rustix,
tier-2 riscv64gc target). ring 0.17.14 (via hyper-rustls, no
aws-lc-sys anywhere in the tree) has no riscv64 assembly and falls
through to its portable C path per its own include/ring-core/
target.h. No git/path deps outside the workspace, no target_arch
gating in sase_core/sase_core_py/sase_gateway's own source.

Adds a patch shipping the project's own dual MIT/Apache-2.0 licence
text: the repository carries no LICENSE file anywhere despite every
Cargo.toml declaring the SPDX expression, and the real PyPI wheel
confirms the gap (dist-info/ has no licences/ directory).
@luhenry
luhenry marked this pull request as draft October 14, 2026 11:34

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant