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/Predixus/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-time
  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 PROCESSOR_PORT=8080 python main.py

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

  1. Emit a window to orcacore TBD

Check out more examples here.

🧱 Key Concepts

Processor: A container for algorithms, exposing them to the Orca Core service.

Algorithm: A Python function decorated and registered for DAG execution.

Window: A temporal trigger used to activate algorithms.

⚠️ Naming Rules

Algorithm and Window names must be in PascalCase.

Versions must follow semantic versioning (e.g., 1.0.0).

Dependencies must be declared only after their algorithm is registered.

Algorithms cannot depend on others from a different window type (enforced by Orca Core).

👥 Community

GitHub Issues: https://github.com/predixus/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].

Built with ❤️ by Predixus

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: orca_python-0.7.6.tar.gz
  • Upload date:
  • Size: 37.5 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.7.6.tar.gz
Algorithm Hash digest
SHA256 db3a77a2641babbacf56d6a4906ece2c579a4dc694db7ca315a4d3d9a0e8fbcb
MD5 7bd08819bb306444fa08524ff24fe9c9
BLAKE2b-256 f57352c3ef70ead8c94998a8e2d31c6c88d0802d67d6fbe3ab5f7e2e3e6f9e98

See more details on using hashes here.

File details

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

File metadata

  • Download URL: orca_python-0.7.6-py3-none-any.whl
  • Upload date:
  • Size: 39.2 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.7.6-py3-none-any.whl
Algorithm Hash digest
SHA256 23c1a15be5de0c5807e7b53899a26b24e3e7fdc35dba21497f48f52859ec1b8a
MD5 c46d23464a52d57e5257c20129c290a4
BLAKE2b-256 2d6ee700c475de2b842315ad9a44b208eb034d0b25e861210ba1029594c5fee4

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