Zum Inhalt springen

Python SDK

Das MissionWeaveProtocol Python SDK ist die offizielle Python-Referenzimplementierung von MissionWeaveProtocol 0.1. Es enthält den autoritativen Core, Agent Runtime, Worker Scheduler, Group Gateway, Speicheradapter, Konformitäts-Runner und einen ausführbaren Proof of Concept.

Diese Anleitung verwendet einen Quell-Checkout des SDK-Repository.

  • Python 3.12 oder neuer
  • uv
  • Docker für die optionalen PostgreSQL-Integrationstests
Terminal window
git clone https://github.com/missionweaveprotocol/python-sdk.git
cd python-sdk
uv sync --extra dev

Das Quellpaket befindet sich unter src/missionweaveprotocol/. Projektmetadaten und Command-Einstiegspunkte sind in pyproject.toml definiert.

Terminal window
uv run pytest
uv run ruff check .
uv run ruff format --check .
uv run mypy
uv run missionweaveprotocol-conformance --root .

Der Konformitäts-Command prüft alle 56 eingebetteten Vektoren gegen die 21 eingebetteten Schemas nach Draft 2020-12. Das Protokoll-Repository bleibt normativ; PROTOCOL_PIN.json zeichnet den genauen Protokoll-Commit und die vom SDK verwendeten Artefakt-Digests auf.

So validierst du stattdessen einen benachbarten Checkout des kanonischen Protokoll-Repository:

Terminal window
git clone https://github.com/missionweaveprotocol/missionweaveprotocol.git ../missionweaveprotocol
uv run missionweaveprotocol-conformance --root ../missionweaveprotocol
Terminal window
uv run missionweaveprotocol-demo --workdir .missionweaveprotocol/poc

Der Command erzeugt einen kanonischen JSON-Bericht und beendet sich mit einem Status ungleich null, wenn ein erforderliches Verhalten fehlt. Das deterministische Szenario umfasst zwei nebenläufige Missionen, gemeinsam genutzte Worker, eine Unteraufgabe, Klärung zwischen Peers, Planung, ausschließlich Checkpoint-basierte Preemption, Wiederherstellung, Verifizierung durch den Coordinator und menschliche Approval des genauen Ergebnisses.

Terminal window
docker compose up -d --wait postgres
MISSIONWEAVEPROTOCOL_TEST_POSTGRES_URL=postgresql://missionweaveprotocol:missionweaveprotocol@127.0.0.1:55432/missionweaveprotocol \
uv run pytest tests/test_core.py -q

Beende anschließend den lokalen Dienst:

Terminal window
docker compose down --volumes

Erstelle kurzlebige Entwicklungsschlüssel und eine von der Organization signierte Agent Registry:

Terminal window
uv run python examples/create_dev_registry.py
export MISSIONWEAVEPROTOCOL_ORGANIZATION_PUBLIC_KEY="$(uv run python -c \
'import json; print(json.load(open(".missionweaveprotocol/dev-keys.json"))["organizationPublicKey"])')"
export MISSIONWEAVEPROTOCOL_AUTHORITY_PRIVATE_KEY="$(uv run python -c \
'import json; print(json.load(open(".missionweaveprotocol/dev-keys.json"))["authorityPrivateKey"])')"
export MISSIONWEAVEPROTOCOL_SESSION_SECRET='development-only-session-secret-32-bytes'
uv run missionweaveprotocol-server \
--registry .missionweaveprotocol/dev-registry.json \
--database-url postgresql://missionweaveprotocol:missionweaveprotocol@127.0.0.1:55432/missionweaveprotocol \
--organization-public-key "$MISSIONWEAVEPROTOCOL_ORGANIZATION_PUBLIC_KEY" \
--allow-insecure

--allow-insecure ist ausschließlich für die Loopback-Entwicklung vorgesehen. Ein Deployment muss --tls-certfile und --tls-keyfile bereitstellen; MissionWeaveProtocol 0.1 verlangt sicheren WebSocket-Transport über TLS 1.3.

Terminal window
uv build

Das erzeugte lokale Wheel enthält py.typed und die 21 gepinnten Schemas für die Dokumentvalidierung zur Laufzeit.

Implementierungsdetails, Tests und aktuelle Kompatibilitätsinformationen stehen in der kanonischen SDK-README.