Public README
David was the first entity. What began as a single GPT with a custom system prompt grew into a full AI orchestration platform.
Project David is an open source AI orchestration substrate — a platform for building, running, and coordinating intelligent agents at scale.
Built for engineers who won't trade data sovereignty for convenience. Run open-weight models. Own your infrastructure. Orchestrate at scale.
| Repo | Description |
|---|---|
| platform | Core orchestration engine — supervisors, workers, streaming infrastructure |
| projectdavid | Python SDK |
| entities-common | Shared utilities and validation |
| david-core | Docker orchestration layer |
| reference-backend | Flask reference implementation |
| reference-frontend | React reference implementation |
Project David is structured as a layered ecosystem. The platform is the core — a FastAPI orchestration engine that manages agents, tools, threads, and state. The SDK gives developers a clean Python interface to the platform without needing to interact with the REST API directly. david-core handles cloud deployment, TLS, and routing for the hosted instance.
The orchestration layer supports multi-agent deep research out of the box — a supervisor agent plans and delegates, workers execute in parallel, and a shared scratchpad provides observable, attributed state across the entire run.
Run inference and fine-tuning on your own GPU hardware. Scale horizontally across nodes or vertically within them — from a single home lab machine to a full enterprise cluster.
Full documentation is available in the docs repository.
| Topic | Link |
|---|---|
| Platform Overview | api-index.md |
| Quick Start | sdk-quick-start.md |
| Assistants | sdk-assistants.md |
| Tools | sdk-tools.md |
| Architecture | sdk-architecture.md |
When the hosted docs site is live, all links above will be updated to
docs.projectdavid.co.uk.
Install the SDK:
pip install projectdavidRun your first inference:
from projectdavid import Entity client = Entity(api_key="your_api_key") assistant = client.assistants.create_assistant( name="my_assistant", instructions="You are a helpful AI assistant.", ) thread = client.threads.create_thread()See the Quick Start guide for the full example.