pyorla
Python SDK for Orla.
Install
From PyPI:
pip install pyorla
With uv, either install into the active environment:
uv pip install pyorla
Or, if you are already in a uv project i.e a directory with a pyproject.toml, add it as a dependency:
uv add pyorla
pyorla talks to a running orla serve daemon over HTTP. Install the Orla binary separately (see the Quickstart for Homebrew, pyorla, and related setup).
Developing pyorla
From a clone of the Orla repo, in the pyorla directory:
uv sync
To run checks, use the following make targets from the repository root:
make pyorla-lint
and
make pyorla-test
Releasing to PyPI
- Bump
versioninpyproject.toml. - Commit and push a tag:
pyorla-vX.Y.Z(must match the version inpyproject.toml). - The pyorla-publish workflow builds and uploads to PyPI via trusted publishing.
Remote server
Point OrlaClient at a running daemon:
from pyorla import OrlaClient
client = OrlaClient("https://orla.example.com")
client.health()
Register backends and run workflows / Stage / ChatOrla as in the package examples.
Local server from Python
For development or notebooks, you can spawn orla serve on loopback and get a client back (requires the orla CLI on PATH or ORLA_BIN):
from pyorla import orla_runtime
with orla_runtime() as client:
client.health()
# register backends, run execute, etc.
This starts a subprocess (orla serve --listen-address 127.0.0.1:<ephemeral-port>), waits for /api/v1/health, then terminates the process when the block exits.
Colab and remote notebooks
Colab cannot see localhost on your laptop. Use either:
- An Orla daemon on a public URL (VM, Kubernetes, tunnel), and pass that URL to
OrlaClient, or - A tunnel (ngrok, Cloudflare Tunnel, etc.) from the machine where
orla serveruns to a URL you paste into the notebook.
Metadata
Release files for pyorla 1.0.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyorla-1.0.8.tar.gz | 23.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyorla-1.0.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.6 kB
Release files / pyorla-1.0.8.tar.gz
| Download URL | pyorla-1.0.8.tar.gz |
|---|---|
| Size | 23.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
37cae9f105e941a7a7d601ceb21b0cbdfc63f8826c37dc2d8d914e970c237d11
|
|
BLAKE2b-256 checksum How to use checksums |
6d5ec224052e469773078acd76a869ffcd3eb0233ff5bc94aeef92ed48d055ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Apr 18, 2026.
Transparency logRelease files / pyorla-1.0.8-py3-none-any.whl
| Download URL | pyorla-1.0.8-py3-none-any.whl |
|---|---|
| Size | 30.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7a2f5e2ac639c1ebf827d84bbd02a299c9fd26c0658cb2c5fc726a38803520b1
|
|
BLAKE2b-256 checksum How to use checksums |
70df9efd4ebdd332a6132b82876231e21a9feeb1e04965dc51314d0405d2faf5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Apr 18, 2026.
Transparency log