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

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyorla-1.0.6.tar.gz
  • Upload date:
  • Size: 22.6 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.6.tar.gz
Algorithm Hash digest
SHA256 503495da4040edf33a8a9fd45aa1456b694f34b1427888fb843a062eee4cdc77
MD5 b229046dd57923b4c1b9fe36bb4f8030
BLAKE2b-256 7f164dd42be323d03a110764d462faeaa2e7fc33d3a3f11d9296446a905e99a5

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyorla-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 29.4 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 d1c2c99a8bbf30c72531fb37c3cd0119c5011adc6c0bdb9792de0f888cafaacd
MD5 f3b94a167951d2391ec96fdb63a82648
BLAKE2b-256 f90f7f179be0cda0fbc56e4a91cdf5fe00158952bd0e697a8c0843de575c3686

See more details on using hashes here.

Provenance

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