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.7.tar.gz (22.7 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.7-py3-none-any.whl (29.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pyorla-1.0.7.tar.gz
Algorithm Hash digest
SHA256 3cf4708ffc14351a5dd75510913df3f1dc83e7e59ba5f468a7fb11dccf8d37c4
MD5 21fcaad40e2ece1b74fd12804282fcfc
BLAKE2b-256 a272a314e91b75affe07d99ee7a899de937eeb1c5b66cffe452e548c0225e102

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyorla-1.0.7.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.7-py3-none-any.whl.

File metadata

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

File hashes

Hashes for pyorla-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 c8cc4201c4ff85b4ecbc37955478a47b96f2706b5a671e908673af1b5a2c026a
MD5 68bccb9c11aa0bcaff67817f0659f493
BLAKE2b-256 ea5ef83f18f98ed3471b019d93b15395d11435043c1f5aacaff47228e63bb2fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyorla-1.0.7-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