Skip to main content

FastAPI backend: trace ingest, control plane (SSE+POST), replay API, GraphStore.

Project description

axor-backend

FastAPI system-of-record + plane service. Persists and fans out; it never interprets governance — replay/degradation is axor_core.kernel's.

Run: AXOR_ALLOW_UNSIGNED=1 uv run uvicorn axor_backend.main:app --factory --port 8400 (SQLite by default; set AXOR_DATABASE_URL=postgresql+asyncpg://… for Postgres/JSONB).

Modules:

Module Responsibility
app.py app factory: routes, auth middleware, lifespan (stale monitor)
plane.py plane service (protocol v0.2): /command, /desired (SSE), /telemetry, /facts, /cascade-stop
storage.py append-only events + runs/desired/reported/facts/pins/keys/share-links/notification-subs; JSON→JSONB on Postgres
replay_api.py config→KernelConfig, scrubber/counterfactual payloads
graph.py taint graph — a derived index over the event log; InMemoryGraphStore (default, rebuilt from the DB at boot) + KuzuGraphStore; trace→derivation folding
signing.py operator command signing — delegates JCS to axor_core.kernel.canonicalize
notifications.py / monitor.py webhook triggers (retries + dead-letter); node-stale sweep
share.py EvidenceCase HTML + dependency-free PDF receipt, revocable links
auth.py opt-in master token + scoped API keys
ee/ Enterprise Edition (offline Ed25519 license) — commercial licence, see ee/LICENSE

Env: AXOR_DATABASE_URL, AXOR_API_TOKEN, AXOR_OPERATOR_KEYS (JSON op→hex), AXOR_ALLOW_UNSIGNED, AXOR_VENDOR_PUBKEY, AXOR_STALE_AFTER.

Tests: uv run pytest packages/axor-backend. In-process suites use httpx ASGITransport; tests/e2e/ (marker e2e) boots the real backend + proxy as subprocesses and drives them over HTTP/SSE — cross-service upload, live audit & desired streams, webhook delivery, auth enforcement, and process-restart durability. Run only those with -m e2e, or skip them with -m 'not e2e'.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

axor_backend-0.1.0.tar.gz (83.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

axor_backend-0.1.0-py3-none-any.whl (65.4 kB view details)

Uploaded Python 3

File details

Details for the file axor_backend-0.1.0.tar.gz.

File metadata

  • Download URL: axor_backend-0.1.0.tar.gz
  • Upload date:
  • Size: 83.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for axor_backend-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6462e3c2d9e05bce1a902e7c77e8e56f3538d52d63533d8bcc37251fe4b349a6
MD5 0bb10be6bd749fa0d5cb55cfb13769f9
BLAKE2b-256 74d82d9fa07b182df24e9dccc4db06b3378ed605dba6c541f1c139dc14bb111a

See more details on using hashes here.

Provenance

The following attestation bundles were made for axor_backend-0.1.0.tar.gz:

Publisher: release.yml on Bucha11/axor-control-plane

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file axor_backend-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: axor_backend-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 65.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for axor_backend-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bfe8670b6eb714b3753126157df55d2d8c1f13138aa670088f53975f19cfc7f3
MD5 5e276be1d368c8d36abbe0b2815fdd9d
BLAKE2b-256 4cfe76d4d0e27f234acce4a0538a33f44019945e3a15d2c13dbf10c77de46bad

See more details on using hashes here.

Provenance

The following attestation bundles were made for axor_backend-0.1.0-py3-none-any.whl:

Publisher: release.yml on Bucha11/axor-control-plane

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page