{"id":28413158,"url":"https://github.com/predixus/orca-python","last_synced_at":"2025-06-24T20:31:20.090Z","repository":{"id":293027507,"uuid":"937062236","full_name":"Predixus/orca-python","owner":"Predixus","description":"Python SDK for Orca","archived":false,"fork":false,"pushed_at":"2025-06-23T15:15:15.000Z","size":139,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-23T15:40:39.326Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.predixus.com/orca","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Predixus.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-22T08:38:03.000Z","updated_at":"2025-06-23T15:15:16.000Z","dependencies_parsed_at":"2025-05-13T10:41:48.798Z","dependency_job_id":"56145d22-a954-4865-8005-530c7e00c0c4","html_url":"https://github.com/Predixus/orca-python","commit_stats":null,"previous_names":["predixus/orca-python"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/Predixus/orca-python","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Predixus%2Forca-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Predixus%2Forca-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Predixus%2Forca-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Predixus%2Forca-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Predixus","download_url":"https://codeload.github.com/Predixus/orca-python/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Predixus%2Forca-python/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261751556,"owners_count":23204449,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-03T04:16:18.380Z","updated_at":"2025-06-24T20:31:20.055Z","avatar_url":"https://github.com/Predixus.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🐳 Orca Python SDK\n\nThe Orca Python SDK enables developers to define and register Python-based algorithms into the\n[Orca](https://www.github.com/Predixus/orca) framework.\n\nOrca exists to make it seamless to build scalable, production-grade ML or analytics pipelines on\ntimeseries data.\n\n## 🚀 Getting Started\n\nBefore using this SDK, you should install the Orca CLI and start Orca Core.\n\n1. Install the Orca CLI\n   Ensure that Docker is installed on your system.\n\n**Linux / macOS**\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/Predixus/orca/main/install-cli.sh | bash\n```\n\n**Windows**\n\nUse WSL (Windows Subsystem for Linux) and run the above command inside your WSL shell.\n\nOnce installed, follow the instructions in the Orca documentation to start the Orca Core service.\n\n2. Start the Orca Server\n\n```bash\norca start\n```\n\n3. Print out the server details\n\n```bash\norca status\n```\n\n4. Install the Orca sdk into your python project:\n\n```bash\npip install orca-time\n```\n\n5. Start building out your algorithms\n\nWrite a file defining your algorithms and what windows trigger them:\n\n```python\n# main.py\nfrom orca_python import Processor\n\nproc = Processor(\"ml\")\n\n@proc.algorithm(\"MyAlgo\", \"1.0.0\", \"MyWindow\", \"1.0.0\")\ndef my_algorithm() -\u003e dict:\nreturn {\"result\": 42}\n\nif __name__ == \"__main__\":\nproc.Register()\nproc.Start()\n```\n\nThen run your python file to register it with orca-core:\n\n```bash\n ORCASERVER=grpc://localhost:32770 HOST=172.18.0.1 python main.py\n```\n\nReplace the contents of `ORCASERVER` and `HOST` with the output of `orca status`.\n\n6. Emit a window to orcacore\n   TBD\n\nCheck out more examples [here](./examples/).\n\n## 🧱 Key Concepts\n\nProcessor: A container for algorithms, exposing them to the Orca Core service.\n\nAlgorithm: A Python function decorated and registered for DAG execution.\n\nWindow: A temporal trigger used to activate algorithms.\n\n## ⚠️ Naming Rules\n\nAlgorithm and Window names must be in PascalCase.\n\nVersions must follow semantic versioning (e.g., 1.0.0).\n\nDependencies must be declared only after their algorithm is registered.\n\nAlgorithms cannot depend on others from a different window type (enforced by Orca Core).\n\n## 👥 Community\n\nGitHub Issues: https://github.com/predixus/orca-python/issues\n\nDiscussions: Coming soon!\n\n## 📄 License\n\nThis SDK is part of the Orca ecosystem, but licensed under the MIT License.\n\nSee the full license terms (here)[./LICENSE].\n\nBuilt with ❤️ by Predixus\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpredixus%2Forca-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpredixus%2Forca-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpredixus%2Forca-python/lists"}