camunda / camunda/orchestration-cluster-api-python
In-process WASM test kit package (Python slice)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- Avg merge
- 6h 15m
- Merged PRs (30d)
- 20
Description
In-process WASM test kit — Python SDK slice. Consumer ADR: camunda/orchestration-cluster-api-js#459. Engine ABI epic: Magikcraft/nano-bpm#990. Python agnostic core: Magikcraft/nano-bpm#1000. JS reference: camunda/orchestration-cluster-api-js#462. Clock prerequisite: camunda/orchestration-cluster-api-python#258.
Goal
Publish a test-only Python package (or extra) that lets consumers test their SDK-authored applications (processes + workers) against the @nanobpm WASM engine in-process, with no live broker.
It is a thin composition layer over the Python SDK-agnostic core (Magikcraft/nano-bpm#1000); the WASM engine must never land in consumers' production installs.
Deliverables
create_in_process_client(...)— boots the wasm core, builds a transport shim over itshandle(req)->resABI via a custom httpx transport (e.g.MockTransport/ASGITransport-style) on the SDK client, runs the client with auth disabled, and injects the shared virtual clock (camunda/orchestration-cluster-api-python#258) bound to the engine clock. Returns a real SDK client wired to the in-process engine.- Assertion surface: bind the agnostic
assertThat*DSL to Python SDK types. - Helpers: deploy, advance clock, run-to-quiescence.
- Runnable conformance fixtures (Magikcraft/nano-bpm#997).
- Example test.
Prerequisites (SDK core)
- A guaranteed transport-injection seam (custom httpx transport) and an auth-disabled mode — audit/expose if missing (mirrors JS camunda/orchestration-cluster-api-js#460 / #461).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by auditing the Python SDK's transport-injection seam and auth-disabled mode, then review the agnostic core, JS reference, and shared virtual-clock prerequisite named in the issue. The work is done when the test-only package provides create_in_process_client, assertions, deploy/clock/quiescence helpers, conformance fixtures, and an example without installing the WASM engine in production.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, wasm
- Domain
- api, backend, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100