Skip to main content

Python SDK for Orla

Project description

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

  1. Bump version in pyproject.toml.
  2. Commit and push a tag: pyorla-vX.Y.Z (must match the version in pyproject.toml).
  3. 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 serve runs to a URL you paste into the notebook.

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

pyorla-1.0.8.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

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

pyorla-1.0.8-py3-none-any.whl (30.1 kB view details)

Uploaded Python 3

File details

Details for the file pyorla-1.0.8.tar.gz.

File metadata

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

File hashes

Hashes for pyorla-1.0.8.tar.gz
Algorithm Hash digest
SHA256 37cae9f105e941a7a7d601ceb21b0cbdfc63f8826c37dc2d8d914e970c237d11
MD5 4da8abb228ea8baa5c05fe26f5d95c40
BLAKE2b-256 6d5ec224052e469773078acd76a869ffcd3eb0233ff5bc94aeef92ed48d055ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyorla-1.0.8.tar.gz:

Publisher: pyorla-publish.yml on harvard-cns/orla

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

File details

Details for the file pyorla-1.0.8-py3-none-any.whl.

File metadata

  • Download URL: pyorla-1.0.8-py3-none-any.whl
  • Upload date:
  • Size: 30.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyorla-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 7a2f5e2ac639c1ebf827d84bbd02a299c9fd26c0658cb2c5fc726a38803520b1
MD5 999c43f76d6757872ec6bad59ea3837f
BLAKE2b-256 70df9efd4ebdd332a6132b82876231e21a9feeb1e04965dc51314d0405d2faf5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyorla-1.0.8-py3-none-any.whl:

Publisher: pyorla-publish.yml on harvard-cns/orla

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