Skip to main content

PRAXO-CORE Python Core

Python implementation of the PRAXO-CORE contract. The normative contract is spec/; Go remains the reference implementation.

Status: Core plus streaming, context management, middleware, and an OpenAI-compatible adapter. The package passes all eleven conformance vector groups. VFS and plugin hosts are not yet implemented. Wheel and sdist are published to PyPI.

Package version: 0.2.3; source tag python/v0.2.3. Supported contract: SPEC_VERSION 0.2.0 (praxo.SPEC_VERSION).

Requirements

  • Python 3.11 or newer
  • No runtime dependencies

Install

pip install praxo-core==0.2.3

For a source checkout:

pip install ./language/python

Usage

import asyncio

from praxo.agent import Agent, AgentOptions, Session
from praxo.event import Event
from praxo.model import Message, Response, Usage
from praxo.tool import FuncTool, Registry


class EchoModel:
    async def generate(self, request):
        return Response(message=Message(role="assistant", content="hello"))


class LogSink:
    async def emit(self, event: Event) -> None:
        print(event.to_wire())


async def main() -> None:
    tools = Registry()
    tools.register(FuncTool("echo", "Echo input", lambda args: args))
    agent = Agent(
        AgentOptions(model=EchoModel(), tools=tools, events=LogSink())
    )
    result = await agent.run(Session(id="session-1"), "hi")
    print(result.output, result.steps, result.usage)


asyncio.run(main())

Contract Surface

Module Contract
praxo.model Model, Request, Response, messages, tool specs, usage
praxo.tool Tool, Registry, FuncTool
praxo.event Event, Sink, MultiSink, FilterSink
praxo.policy Hook, Action, Decision, PathChecker
praxo.memory Store, Record, MemoryStore, ContextAssembler
praxo.checkpoint Checkpoint, Allowlist
praxo.agent Agent, AgentOptions, Session, Result
praxo.context ContextBudget, ModelSummarizer, Offloader, load_agents_md
praxo.middleware call limits, fallback, PII, structured output, tool selection
praxo.toolcall parse_tool_call, strip_tool_call_markup
praxo.jsonschema Schema, ValidationError
praxo.plugin Manifest v1 parsing and validation

Wire codecs preserve the Go names, including image_url, runId, contentBlocks, and plugin plugin_id.

Conformance

From this directory:

python conformance/run.py
python -m unittest discover -s tests -v

Both commands read ../../spec/vectors/*.json. A released Core implementation must pass every vector and keep spec/parity.md current.

API Reference and Build

See API.md. Refresh the checked-in symbol snapshot after a public API change:

python api-snapshot.py
python api-snapshot.py --check
python api-signatures.py --check
python -m build --wheel --sdist .

The name snapshot and signature snapshot are checked independently. The signature baseline covers class constructors, dataclass fields/defaults, methods, properties, functions, and exported constants. Both are source-API gates, not runtime or ABI guarantees.

CI installs the built wheel and sdist into separate clean virtual environments and runs tests/installed_smoke.py from outside the source tree. This verifies the packaged artifacts, not the checkout. It does not prove PyPI publication or installation from a package registry.

License

MIT. See LICENSE.

Metadata

Release files for praxo-core 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 praxo-core 0.2.3
File Size Uploaded Provenance Actions
praxo_core-0.2.3.tar.gz 72.7 kB With provenance Details for praxo_core-0.2.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for praxo-core 0.2.3
File Interpreter ABI Platform Actions
praxo_core-0.2.3-py3-none-any.whl Python 3 none any Details for praxo_core-0.2.3-py3-none-any.whl

Total release size: 114.4 kB

Release files / praxo_core-0.2.3.tar.gz

Download URL praxo_core-0.2.3.tar.gz
Size 72.7 kB
Tags Source
SHA-256 checksum
How to use checksums
437d46aba591893c6f29b188cce76f82264f75ef2643fd514f846a21a30d6d7f
BLAKE2b-256 checksum
How to use checksums
6283e6f5f95923a8680805b56a0cacefd0b3fda2005b46dcc72eda2074e2cce6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

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

Download URL praxo_core-0.2.3-py3-none-any.whl
Size 41.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
14d3480ef1f63daa33393efef4b973c36ce515c3734501ebf1067979f42fbc4f
BLAKE2b-256 checksum
How to use checksums
291f8d66c8712fd86685dd4296b72d0d5c534fefd2a62480ea8b8c3600a398fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Security for praxo-core 0.2.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for praxo_core-0.2.3.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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