You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
python: walking skeleton — workspace, two crates, importable wheel #1382
Sub-issue of #1341 (Python SDK tracer spec). Ticket 1 of 14.
What to build
A developer clones the repo, runs the Python workspace's build task, and import stackencrypt succeeds in a fresh virtualenv. stackencrypt.__engine__ reports the engine commit the extension was built from and stackencrypt.__version__ reports 0.1.0. Nothing encrypts yet; the extension exposes one trivial function the Python package calls to prove the two halves load together.
This is the fourth Cargo workspace (after the root, protect-ffi and EQL), under languages/python, with two crates: a core crate that holds the declaration plan and value conversion logic and depends on stack-encrypt by path, and an engine crate that is the _engine cdylib built with PyO3 0.29 and maturin. The pure-Python package stackencrypt wraps it. abi3-py39, Python 3.9 to 3.14. The extension-module feature is set only by maturin, so cargo test in the workspace links libpython and runs.
Acceptance criteria
mise run python:build (or the equivalent named task) produces an importable stackencrypt in a virtualenv on the developer's machine with no credentials.
stackencrypt.__engine__ and stackencrypt.__version__ are importable and correct.
cargo test --locked in the Python workspace passes on a machine with Python installed; the task puts libpython on the loader path so the engine crate's tests link.
A pure-Python pytest suite exists and runs (one smoke test calling the trivial engine function).
The root Cargo.toml excludes the new workspace, and the three existing workspaces still build unchanged.
The Cargo.lock of the new workspace is committed and cargo metadata --locked passes.
Activity
modeldecorator) #1386feat(python): walking skeleton for the Python SDK (#1382)
fix(python): mark the engine dirty for any stack-* edit, and trim the…
fix(python): address the first review of the walking skeleton
fix(python): resolve the workspace lockfile against vitaminc 0.8