Skip to main content

opencad-backend

FastAPI transport over the OpenCAD core. This is the only distribution in the repository that depends on a web framework — opencad and opencad-agent carry no FastAPI, Starlette, httpx, or uvicorn.

Run

uv run --package opencad-backend --extra occt \
  python -m uvicorn opencad_server.app:app --reload --port 8000

opencad_server.app mounts every service router in one process:

Prefix Router Service
/kernel opencad_server.kernel_router Geometry operations, topology, mesh
/solver opencad_server.solver_router 2-D constraint solving and diagnostics
/tree opencad_server.tree_router Feature DAG CRUD, rebuild, branching
/agent opencad_server.agent_router Natural-language modelling

Each router module also exposes create_app() and a module-level app, so any service can run standalone — for example opencad_server.kernel_router:app.

Modules

  • app.py — aggregate app, mounts every router
  • api_app.py — shared FastAPI factory with production CORS/docs defaults
  • http_kernel_client.py — the only outbound HTTP client to the kernel; implements opencad.kernel.client.KernelClient
  • *_router.py — one router per service

Kernel transport

Core packages depend on the KernelClient protocol, never on a transport. This app chooses the implementation at startup: HttpKernelClient when OPENCAD_TREE_LIVE_KERNEL / OPENCAD_AGENT_LIVE_KERNEL are true, otherwise the in-process default.

Tests

OPENCAD_KERNEL_BACKEND=analytic pytest

tests/test_core_boundary.py parses every core module and fails if any of them imports FastAPI, Starlette, httpx, uvicorn, python-dotenv, or opencad_server.

Release files for opencad-backend 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for opencad-backend 0.2.3
File Size Uploaded
opencad_backend-0.2.3.tar.gz 21.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for opencad-backend 0.2.3
File Interpreter ABI Platform
opencad_backend-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 39.6 kB

Release files / opencad_backend-0.2.3.tar.gz

Download URL opencad_backend-0.2.3.tar.gz
Size 21.5 kB
Tags Source
SHA-256 checksum
How to use checksums
b7540e6ef58b34844255dbe0535ea4ba9e5808fe058c5a57b8e021cf8966b3ac
BLAKE2b-256 checksum
How to use checksums
8237a89fcb2459406a90963a5e139a24726877b4b9270218349280b075150757
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.2

Release files / opencad_backend-0.2.3-py3-none-any.whl

Download URL opencad_backend-0.2.3-py3-none-any.whl
Size 18.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bf4c90499922edc7aca8957c8bbe1b4ce865e660f1a1769fa87d9023f73e752c
BLAKE2b-256 checksum
How to use checksums
9c70bf9828aee3d8eb2bc95ed88b4762239b69bcd7109b0725a9380da488461b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.2

Release history Release notifications | RSS feed

This release

0.2.3 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page