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

Uploaded Python 3

File details

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

File metadata

  • Download URL: orca_python-0.10.0.tar.gz
  • Upload date:
  • Size: 40.0 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.10.0.tar.gz
Algorithm Hash digest
SHA256 628e301c6797ff7e4afc616222e9a835ceb6454ca9044131a80c133a73ba04ee
MD5 9a7cb3e43e4190565eda7cfef6fc6192
BLAKE2b-256 29a47079238b73abd1ac9e8c7054fb3e85d215b09f99051fcf8ae6d2688c45eb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: orca_python-0.10.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.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5e4a9f924c78cd879e9c6b68faf48e0f2d8a7e41277239803dbf8aec570ad586
MD5 5df44cb42946bacf54722e5f27ce1e45
BLAKE2b-256 b51f3b9ca48825804d0fa434ad53b02e33d32e38f505e57f5579a62c08c1cddc

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