Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

OriginLM Python SDK (originlm)

Alpha. Not yet published to PyPI; prepare a local platform wheel from source (see quickstarts).

from originlm import Client
with Client.auto() as ai:
    print(ai.mode, ai.fallback_reason, ai.snapshot.get()['revision'])

Automatic startup uses a granted shared broker or the packaged private helper. A protocol mismatch can select the private helper; authorization failure is fatal.

An async-first native-helper client with a synchronous facade. Python 3.11+, no runtime third-party dependencies. Imports do not inspect the filesystem, read accounts, start a process, or make network requests.

from originlm import AsyncClient, AsyncStdioTransport

transport = await AsyncStdioTransport.open(
    executable="/absolute/path/to/originlm",
    args=["serve", "--stdio"],
)
async with await AsyncClient.connect(transport) as ai:
    snapshot = await ai.snapshot.get()

Synchronous callers can use with Client.from_stdio(executable=..., args=...) as ai: ai.snapshot.get(). Inside an existing event loop use AsyncClient, not the synchronous facade. The sync facade pumps its private event loop during calls; continuous high-volume event consumers should use the async client.

This client speaks OriginLM's public JSON-RPC protocol, not Codex/ACP directly. It needs the native originlm helper (see native helper). Unit tests use synthetic native peers; the package smoke test runs the built wheel against the real helper with no provider inference.

Requests have bounded frames, correlation, deadlines, native error redaction, no automatic retries, and explicit owned-helper cleanup. asyncio cancellation cancels the local RPC wait, not necessarily a turn already accepted by the service. Use turns.cancel with its turn ID for native turn cancellation. Subscription queues are bounded and report EVENT_GAP rather than silently dropping output.

Only safe environment names are inherited by default. The caller explicitly supplies any additional environment entries. This is not a sandbox; the native helper must enforce grants, workspace/tool restrictions, billing, approvals, and cleanup of agent descendants. The SDK terminates only its own helper.

Domain types are generated from the Rust contracts (originlm.generated, plain TypedDicts). Responses stay dictionaries preserving the server's evidence and native values. There is no independent Python HTTP transport; use automatic startup, local IPC or stdio. No discovery/provider logic is duplicated in Python.

Tests: python -m unittest discover -s packages/sdk-python/tests -v from the repository root. All account values in fixtures are synthetic. The package is marked private and is not published to a registry.

Metadata

Release files for originlm 0.1.0a20

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

Built distributions (wheels)

Table of built distributions (wheels) for originlm 0.1.0a20
File Actions
originlm-0.1.0a20-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details for originlm-0.1.0a20-py3-none-win_amd64.whl
originlm-0.1.0a20-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details for originlm-0.1.0a20-py3-none-manylinux_2_28_x86_64.whl
originlm-0.1.0a20-py3-none-manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64 Details for originlm-0.1.0a20-py3-none-manylinux_2_28_aarch64.whl
originlm-0.1.0a20-py3-none-macosx_15_0_x86_64.whl Python 3 none macOS 15.0+ x86-64 Details for originlm-0.1.0a20-py3-none-macosx_15_0_x86_64.whl
originlm-0.1.0a20-py3-none-macosx_15_0_arm64.whl Python 3 none macOS 15.0+ ARM64 Details for originlm-0.1.0a20-py3-none-macosx_15_0_arm64.whl

Total release size: 44.7 MB

Release files / originlm-0.1.0a20-py3-none-win_amd64.whl

Download URL originlm-0.1.0a20-py3-none-win_amd64.whl
Size 8.3 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
34a4bc801dec402aaa3580c130eb030fee01373ea924fdf5095a2ff0d0e1be72
BLAKE2b-256 checksum
How to use checksums
99008c41b8222df55c6f71bb9b7f73b1a092067ee490dd2d8b2d8aa4f348f571
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / originlm-0.1.0a20-py3-none-manylinux_2_28_x86_64.whl

Download URL originlm-0.1.0a20-py3-none-manylinux_2_28_x86_64.whl
Size 9.5 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
d69ed015a1cfb88b653978af0a15751b3553a0bc1c42ff45d3e57ef4c1e26d93
BLAKE2b-256 checksum
How to use checksums
f2ae21ae7ca144745c416764370c0842aba38c1efc303fdfd422497f01e052a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / originlm-0.1.0a20-py3-none-manylinux_2_28_aarch64.whl

Download URL originlm-0.1.0a20-py3-none-manylinux_2_28_aarch64.whl
Size 9.3 MB
Tags Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
7db5e52aff2c3bcc3c67845cc4f4d264c13bb01123da04f0a4e88b2a86a43770
BLAKE2b-256 checksum
How to use checksums
0167d84ea5eba67dd63b1ce82436a7ac2c4dd6894393cd3254b5e33ab4dc637c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / originlm-0.1.0a20-py3-none-macosx_15_0_x86_64.whl

Download URL originlm-0.1.0a20-py3-none-macosx_15_0_x86_64.whl
Size 9.1 MB
Tags Python 3 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
d59edabee85c2dec479d2ad1b2bcf6f6b429f752771bea3f7a8241827eead965
BLAKE2b-256 checksum
How to use checksums
86420c12a7c1b2b39620eac6763c8577806938f8cd78127b27fde56ad208f0f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / originlm-0.1.0a20-py3-none-macosx_15_0_arm64.whl

Download URL originlm-0.1.0a20-py3-none-macosx_15_0_arm64.whl
Size 8.6 MB
Tags Python 3 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
6f8ba5646959628e39b8350fd95222ad3f7159c3cc04d8fe6a9bfc55b0fcb9bb
BLAKE2b-256 checksum
How to use checksums
a64dfde7bc85211319671d4492a190e8b0c8834a8adb603af12b9c5c8acf76f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Security for originlm 0.1.0a20

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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