Skip to main content

Python SDK for the Predixus Orca product

Project description

🐳 Orca Python SDK

The Orca Python SDK enables developers to define and register Python-based algorithms into the Orca framework.

Orca exists to make it seamless to build scalable, production-grade ML or analytics pipelines on timeseries data.

🚀 Getting Started

Before using this SDK, you should install the Orca CLI and start Orca Core.

  1. Install the Orca CLI Ensure that Docker is installed on your system.

Linux / macOS

curl -fsSL https://raw.githubusercontent.com/orc-analytics/orca/main/install-cli.sh | bash

Windows

Use WSL (Windows Subsystem for Linux) and run the above command inside your WSL shell.

Once installed, follow the instructions in the Orca documentation to start the Orca Core service.

  1. Start the Orca Server
orca start
  1. Print out the server details
orca status
  1. Install the Orca sdk into your python project:
pip install orca-python
  1. Start building out your algorithms

Write a file defining your algorithms and what windows trigger them:

# main.py
from orca_python import Processor

proc = Processor("ml")

@proc.algorithm("MyAlgo", "1.0.0", "MyWindow", "1.0.0")
def my_algorithm() -> dict:
return {"result": 42}

if __name__ == "__main__":
proc.Register()
proc.Start()

Then run your python file to register it with orca-core:

 ORCA_CORE=grpc://localhost:32770 PROCESSOR_ADDRESS=172.18.0.1:8080 python main.py

Replace the contents of ORCA_CORE and PROCESSOR_ADDRESS with the output of orca status.

  1. Emit a window to orcacore

Check out more examples here.

Environment Variables

Several environment variables are require to register an Orca Processor:

  • ORCA_CORE - the address to reach the Orca-core service
  • PROCESSOR_ADDRESS - the address needed by Orca-core to reach the processor, of format <address>:<port>
  • PROCESSOR_EXTERNAL_PORT - an optional alternative port that should be used by Orca-core to contact the processor. Useful in scenarios like deploying the processor behind a managed service.

🧱 Key Concepts

Checkout the Orca docs for info on how Orca works.

👥 Community

GitHub Issues: https://github.com/orc-analytics/orca-python/issues

Discussions: Coming soon!

📄 License

This SDK is part of the Orca ecosystem, but licensed under the MIT License.

See the full license terms (here)[./LICENSE].

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

orca_python-0.9.0.tar.gz (39.9 kB view details)

Uploaded Source

Built Distribution

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

orca_python-0.9.0-py3-none-any.whl (41.6 kB view details)

Uploaded Python 3

File details

Details for the file orca_python-0.9.0.tar.gz.

File metadata

  • Download URL: orca_python-0.9.0.tar.gz
  • Upload date:
  • Size: 39.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.13.7 Linux/6.11.0-1018-azure

File hashes

Hashes for orca_python-0.9.0.tar.gz
Algorithm Hash digest
SHA256 5b2fe18fdef8a44d9c0492dc1769c9d19c7559aca0f0e2f3739393b139156bd2
MD5 a57e191763cfe958ee4201f138ada25f
BLAKE2b-256 d607742cf785677524fc5f8f533f6c2b0f7da2e55c0012df4ce9298b199c9283

See more details on using hashes here.

File details

Details for the file orca_python-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: orca_python-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 41.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.13.7 Linux/6.11.0-1018-azure

File hashes

Hashes for orca_python-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dcae66d45eceecf4afbf7b342cdd8c7d89b23a5296940a768027be6ac1df705a
MD5 3fded640e638ce38d4e1dfb19ebf7772
BLAKE2b-256 afadcfd9bc0c290a52db9602f23f310d88cac752512ed66a7d33f6fa74951228

See more details on using hashes here.

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