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)
| File | Actions Reset | |||
|---|---|---|---|---|
| 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.