Skip to main content

projectdavid — Python SDK

PyPI Downloads License: PolyForm Noncommercial Python 3.10+ Lint, Test, Tag, Publish Status


The Python SDK for Project David — the open source, GDPR compliant successor to the OpenAI Assistants API.

Same primitives. Every model. Your infrastructure.


What is Project David?

Project David is a full-scale, containerized LLM orchestration platform built around the same primitives as the OpenAI Assistants API — Assistants, Threads, Messages, Runs, and Tools — but without the lock-in.

  • Provider agnostic — Hyperbolic, TogetherAI, Ollama, or any OpenAI-compatible endpoint. Point at any inference provider and the platform normalizes the stream.
  • Every model — hosted APIs today, raw local weights tomorrow. Bring your own model.
  • Your infrastructure — fully self-hostable, open source, GDPR compliant, security audited.
  • Production grade — sandboxed code execution (FireJail), multi-agent delegation, file serving with signed URLs, real-time streaming frontend.

Project Uni5 — the next milestone. transformers, GGUF, and vLLM adapters that mean a model straight off a training run has a full orchestration platform in minutes. From the lab to enterprise grade orchestration — instantly.


Project Activity & Reach

Metric Status
Total Downloads Total Downloads
Monthly Reach Monthly
Open Source Activity GitHub last commit
Analytics View Live Download Trends on ClickPy →

Installation

pip install projectdavid

Requirements: Python 3.10+ · A running Project David platform instance


Quick Start

import os
from dotenv import load_dotenv
from projectdavid import Entity

load_dotenv()

client = Entity(
    base_url=os.getenv("BASE_URL"),        # default: http://localhost:80
    api_key=os.getenv("ENTITIES_API_KEY"),
)

# Create an assistant
assistant = client.assistants.create_assistant(
    name="my_assistant",
    instructions="You are a helpful AI assistant.",
)

# Create a thread and send a message
thread = client.threads.create_thread()

message = client.messages.create_message(
    thread_id=thread.id,
    role="user",
    content="Tell me about the latest trends in AI.",
    assistant_id=assistant.id,
)

# Create a run
run = client.runs.create_run(
    assistant_id=assistant.id,
    thread_id=thread.id,
)

# Stream the response
stream = client.synchronous_inference_stream
stream.setup(
    user_id=os.getenv("ENTITIES_USER_ID"),
    thread_id=thread.id,
    assistant_id=assistant.id,
    message_id=message.id,
    run_id=run.id,
    api_key=os.getenv("PROVIDER_API_KEY"),
)

for chunk in stream.stream_chunks(
    model="hyperbolic/deepseek-ai/DeepSeek-V3-0324",
    timeout_per_chunk=15.0,
):
    content = chunk.get("content", "")
    if content:
        print(content, end="", flush=True)

See the Quick Start guide for the event-driven interface, tool calling, and advanced usage.


Why Project David?

OpenAI Assistants API LangChain Project David
Assistants / Threads / Runs primitives ✅ ❌ ✅
Provider agnostic ❌ Partial ✅
Local model support ❌ Partial ✅
Raw weights → orchestration ❌ ❌ ✅ (Uni5)
Sandboxed code execution ✅ Black box ❌ ✅ FireJail PTY
Multi-agent delegation Limited ❌ ✅
Self-hostable ❌ ✅ ✅
GDPR compliant ❌ N/A ✅
Security audited N/A N/A ✅
Open source ❌ ✅ ✅
Community Adoption Proprietary High Total Downloads

Supported Inference Providers

Full list of supported providers and endpoints →

Works with any OpenAI-compatible endpoint out of the box — including Ollama for fully local inference.


Environment Variables

Variable Description
ENTITIES_API_KEY Your Entities API key
ENTITIES_USER_ID Your user ID
BASE_URL Platform base URL (default: http://localhost:80)
PROVIDER_API_KEY Your inference provider API key

Documentation

Documentation

Topic Link
Full Documentation docs.projectdavid.co.uk
Quick Start docs.projectdavid.co.uk/docs/sdk-quick-start
Assistants docs.projectdavid.co.uk/docs/sdk-assistants
Threads docs.projectdavid.co.uk/docs/sdk-threads
Messages docs.projectdavid.co.uk/docs/sdk-messages
Runs docs.projectdavid.co.uk/docs/sdk-runs
Inference docs.projectdavid.co.uk/docs/sdk-inference
Tools docs.projectdavid.co.uk/docs/sdk-tools
Function Calls docs.projectdavid.co.uk/docs/sdk-function-calls
Code Interpreter docs.projectdavid.co.uk/docs/sdk-code-interpreter
Files docs.projectdavid.co.uk/docs/sdk-files
Vector Store docs.projectdavid.co.uk/docs/sdk-vector-store
Stream Contract docs.projectdavid.co.uk/docs/sdk-stream-contract
Providers docs.projectdavid.co.uk/docs/providers

Full SDK documentation →

Full hosted docs coming at docs.projectdavid.co.uk


Related Repositories

Repo Description
projectdavid-core Runtime API engine
projectdavid-platform Docker orchestration layer
projectdavid-common Shared utilities and validation
projectdavid-docs Documentation site
entities_cook_book Minimal tested examples


License

PolyForm Noncommercial 1.0.0

Metadata

Release files for projectdavid 1.107.0

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

Source distribution (sdist)

Source distribution for projectdavid 1.107.0
File Size Uploaded
projectdavid-1.107.0.tar.gz 133.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for projectdavid 1.107.0
File Interpreter ABI Platform
projectdavid-1.107.0-py3-none-any.whl Python 3 none any Details

Total release size: 217.4 kB

Release files / projectdavid-1.107.0.tar.gz

Download URL projectdavid-1.107.0.tar.gz
Size 133.5 kB
Tags Source
SHA-256 checksum
How to use checksums
da2f9dbc240a092b57f6f0ec6c9b9eea5aefa0abdbf19328514de01ecfdc649f
BLAKE2b-256 checksum
How to use checksums
69b83e6f41c7d6e5f11ec64bd062cddfbf449c1197b273be5e5fd5b6ae656aa8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / projectdavid-1.107.0-py3-none-any.whl

Download URL projectdavid-1.107.0-py3-none-any.whl
Size 84.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
181a05ec25f0a65df3bb837359e9e79144968ac7d87340c401c1eb4d4bbe0d1a
BLAKE2b-256 checksum
How to use checksums
ded7a85ee8bf3ba8880893b97177f93092340a6c37c23afc9efa04d16dc1ea16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

1.107.0 This release

2 release files

1.99.0

2 release files

1.98.1

2 release files

1.98.0

2 release files

1.96.1

2 release files

1.96.0

2 release files

1.95.0

2 release files

1.94.1

2 release files

1.94.0

2 release files

1.93.0

2 release files

1.92.0

2 release files

1.91.0

2 release files

1.90.3

2 release files

1.90.2

2 release files

1.90.1

2 release files

1.90.0

2 release files

1.89.1

2 release files

1.89.0

2 release files

1.88.0

2 release files

1.87.0

2 release files

1.86.0

2 release files

1.85.0

2 release files

1.84.2

2 release files

1.84.1

2 release files

1.84.0

2 release files

1.83.0

2 release files

1.82.5

2 release files

1.82.4

2 release files

1.82.3

2 release files

1.82.2

2 release files

1.82.1

2 release files

1.82.0

2 release files

1.81.0

2 release files

1.80.0

2 release files

1.79.0

2 release files

1.78.0

2 release files

1.77.9

2 release files

1.77.8

2 release files

1.77.7

2 release files

1.77.6

2 release files

1.77.5

2 release files

1.77.4

2 release files

1.77.3

2 release files

1.77.2

2 release files

1.77.1

2 release files

1.77.0

2 release files

1.76.2

2 release files

1.76.1

2 release files

1.76.0

2 release files

1.75.2

2 release files

1.75.1

2 release files

1.75.0

2 release files

1.71.2

2 release files

1.71.1

2 release files

1.71.0

2 release files

1.70.0

2 release files

1.69.2

2 release files

1.69.1

2 release files

1.69.0

2 release files

1.68.0

2 release files

1.67.1

2 release files

1.67.0

2 release files

1.66.0

2 release files

1.65.0

2 release files

1.64.0

2 release files

1.63.0

2 release files

1.62.1

2 release files

1.62.0

2 release files

1.61.1

2 release files

1.61.0

2 release files

1.60.3

2 release files

1.60.2

2 release files

1.60.1

2 release files

1.60.0

2 release files

1.59.0

2 release files

1.58.0

2 release files

1.57.0

2 release files

1.56.3

2 release files

1.56.2

2 release files

1.56.1

2 release files

1.56.0

2 release files

1.55.0

2 release files

1.54.9

2 release files

1.54.8

2 release files

1.54.7

2 release files

1.54.6

2 release files

1.54.5

2 release files

1.54.4

2 release files

1.54.3

2 release files

1.54.2

2 release files

1.54.1

2 release files

1.54.0

2 release files

1.53.2

2 release files

1.53.1

2 release files

1.53.0

2 release files

1.52.0

2 release files

1.51.2

2 release files

1.51.1

2 release files

1.51.0

2 release files

1.50.0

2 release files

1.49.3

2 release files

1.49.2

2 release files

1.49.1

2 release files

1.49.0

2 release files

1.48.0

2 release files

1.41.9

2 release files

1.41.8

2 release files

1.41.7

2 release files

1.41.6

2 release files

1.41.5

2 release files

1.41.4

2 release files

1.41.3

2 release files

1.41.2

2 release files

1.41.1

2 release files

1.41.0

2 release files

1.40.0

2 release files

1.39.9

2 release files

1.39.8

2 release files

1.39.7

2 release files

1.39.6

2 release files

1.39.5

2 release files

1.39.4

2 release files

1.39.3

2 release files

1.39.2

2 release files

1.39.1

2 release files

1.39.0

2 release files

1.38.1

2 release files

1.38.0

2 release files

1.37.1

2 release files

1.37.0

2 release files

1.36.1

2 release files

1.36.0

2 release files

1.35.0

2 release files

1.34.9

2 release files

1.34.8

2 release files

1.34.7

2 release files

1.34.6

2 release files

1.34.5

2 release files

1.34.4

2 release files

1.34.3

2 release files

1.34.2

2 release files

1.34.1

2 release files

1.34.0

2 release files

1.33.9

2 release files

1.33.8

2 release files

1.33.7

2 release files

1.33.6

2 release files

1.33.5

2 release files

1.33.4

2 release files

1.33.3

2 release files

1.33.2

2 release files

1.33.1

2 release files

1.33.0

2 release files

1.31.1

2 release files

1.31.0

2 release files

1.30.4

2 release files

1.30.3

2 release files

1.30.2

2 release files

1.30.1

2 release files

1.30.0

2 release files

1.29.9

2 release files

1.29.8

2 release files

1.29.7

2 release files

1.29.5

2 release files

1.29.4

2 release files

1.29.3

2 release files

1.29.2

2 release files

1.29.1

2 release files

1.29.0

2 release files

1.28.0

2 release files

1.27.0

2 release files

1.26.9

2 release files

1.18.0

2 release files

1.17.0

2 release files

1.16.0

2 release files

1.15.0

2 release files

1.14.0

2 release files

1.13.0

2 release files

1.12.9

2 release files

1.12.8

2 release files

1.12.7

2 release files

1.12.6

2 release files

1.12.5

2 release files

1.12.4

2 release files

1.12.3

2 release files

1.12.2

2 release files

1.12.1

2 release files

1.12.0

2 release files

1.11.9

2 release files

1.11.8

2 release files

1.11.7

2 release files

1.11.6

2 release files

1.11.5

2 release files

1.11.4

2 release files

1.11.3

2 release files

1.11.2

2 release files

1.11.1

2 release files

1.11.0

2 release files

1.10.0

2 release files

1.9.0

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.9

2 release files

1.4.8

2 release files

1.4.7

2 release files

1.4.6

2 release files

1.4.5

2 release files

1.4.4

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.14

2 release files

1.3.13

2 release files

1.3.12

2 release files

1.3.11

2 release files

1.3.10

2 release files

1.3.9

2 release files

1.3.8

2 release files

1.3.7

2 release files

1.3.6

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.9

2 release files

1.1.8

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.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