Skip to main content

Minimal Python contracts for the Weaver Stack (contextweaver, agent-kernel, ChainWeaver)

Project description

weaver_contracts Python Package

Minimal Python contracts for the Weaver Stack.

This package provides dataclasses and type definitions for all Core Weaver contracts. It has no runtime dependencies beyond the Python standard library (Python 3.9+).


Installation

pip install weaver_contracts

For development (includes pytest and jsonschema):

pip install "weaver_contracts[dev]"

Usage

from weaver_contracts import (
    SelectableItem,
    ChoiceCard,
    RoutingDecision,
    Capability,
    CapabilityToken,
    PolicyDecision,
    Frame,
    Handle,
    TraceEvent,
)
from weaver_contracts.version import CONTRACT_VERSION, is_compatible
from datetime import datetime, timezone

# Routing
item = SelectableItem(id="search-1", label="Search docs", description="Search documentation")
card = ChoiceCard(id="card-1", items=[item], context_hint="Select a retrieval action")
rd = RoutingDecision(
    id="rd-abc",
    choice_cards=[card],
    timestamp=datetime.now(timezone.utc),
    selected_item_id="search-1",
)

# Authorization
token = CapabilityToken(
    token_id="tok-xyz",
    principal="my-agent",
    scope=["org.myapp.search_docs"],
    issued_at=datetime.now(timezone.utc),
    expires_at=datetime(2099, 1, 1, tzinfo=timezone.utc),
)

# Frame (safe output)
frame = Frame(
    frame_id="frame-001",
    capability_id="org.myapp.search_docs",
    summary="Found 3 documents matching 'query'.",
    created_at=datetime.now(timezone.utc),
    handle_refs=["handle-abc"],  # reference to raw artifact
)

Contract Tiers

Module Contents Stability
weaver_contracts.core Core contracts (all 9 types) Stable within major version
weaver_contracts.extended Optional metadata types May evolve in minor versions
weaver_contracts.version Version constants + is_compatible() Stable

Running Tests

cd contracts/python
pip install -e ".[dev]"
pytest

Schema Alignment

The JSON Schemas in contracts/json/ are the language-agnostic source of truth. The Python types mirror the schemas exactly. If a schema changes, the corresponding Python type and tests should be updated in the same PR.

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

weaver_contracts-0.3.0.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

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

weaver_contracts-0.3.0-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file weaver_contracts-0.3.0.tar.gz.

File metadata

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

File hashes

Hashes for weaver_contracts-0.3.0.tar.gz
Algorithm Hash digest
SHA256 f05c6f2f5863cf921bb5f7c8c8e5a92530636f9f35fb483e985482162d2dc4b3
MD5 cdceb6d843bf0b6b4242dbbd585af88f
BLAKE2b-256 2db1baa5c490a4526d9f5783e8c8fc52e9c6d742b31c92537923cdbd43938706

See more details on using hashes here.

Provenance

The following attestation bundles were made for weaver_contracts-0.3.0.tar.gz:

Publisher: publish.yml on dgenio/weaver-spec

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

File details

Details for the file weaver_contracts-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for weaver_contracts-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3a0131308249d6a5b5928377fd9c442226fed233fa6cd70e11ee2f2edbda003c
MD5 c578533a865d3b17a3bd7d88dcf5f432
BLAKE2b-256 64d1a1390d939d77add79b235290c2794cfc5df5a5c3113c2dd9413855e7ac44

See more details on using hashes here.

Provenance

The following attestation bundles were made for weaver_contracts-0.3.0-py3-none-any.whl:

Publisher: publish.yml on dgenio/weaver-spec

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