Skip to content

samp(py): publish samp-crypto 1.0.0, fix broken samp-core 1.x#11

Merged
mcjkula merged 2 commits into
mainfrom
python-publish-samp-crypto
Jun 20, 2026
Merged

samp(py): publish samp-crypto 1.0.0, fix broken samp-core 1.x#11
mcjkula merged 2 commits into
mainfrom
python-publish-samp-crypto

Conversation

@mcjkula

@mcjkula mcjkula commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • samp-core on PyPI (1.1.0, 1.1.1, 1.2.0) has been uninstallable, it declares a runtime dep on samp-crypto, which was not published.
  • Prepares samp-crypto 1.0.0 for PyPI: full pyproject metadata (description, license, classifiers, URLs), README, LICENSE, abi3-py39 wheels (one wheel covers Python 3.9+), 9 cargo unit tests, 3 pytest roundtrip tests, dead #[pymodule] exports pruned (ecdh, hkdf_sha256, chacha20poly1305_*), and .github/workflows/release-py-crypto.yml (trusted publisher, matrix Linux+macOS+Windows + sdist).
  • Bumps samp-core to 1.2.1 with samp-crypto==1.0.0 pinned exactly, and adds .github/workflows/release-py-core.yml.

Architecture

Python is the only SAMP SDK with a two-package structure. Rust (schnorrkel), TypeScript (@polkadot/wasm-crypto), and Go (ChainSafe/go-schnorrkel) all have in-language sr25519; Python has none, so the PyO3-wrapped Rust crypto lives in a separate maturin-built package.

Release sequence (post-merge)

  1. samp-crypto Trusted Publisher pre-registered on PyPI.
  2. pypi GitHub environment created.
  3. Tag samp-crypto/v1.0.0 pushed first.
  4. After samp-crypto is live, tag samp-core/v1.2.1.

Test plan

  • cargo test --lib: 9/9 passing.
  • maturin build --release: produces
    samp_crypto-1.0.0-cp39-abi3-*.whl.
  • maturin develop: works locally.
  • python -m pytest python/tests/ python/samp-crypto/tests/: 210/210
    passing.
  • python -m build for samp-core: produces sdist + universal wheel.

@mcjkula
mcjkula merged commit 4b5576a into main Jun 20, 2026
@mcjkula
mcjkula deleted the python-publish-samp-crypto branch June 20, 2026 15:58
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