Skip to main content

This is the orchestrator workflow engine.

Project description

Orchestrator-Core

Downloads codecov pypi_version Supported python versions Discord

Production ready Orchestration Framework to manage product lifecycle and workflows. Easy to use, built on top of FastAPI and Pydantic

Documentation

The documentation can be found at workfloworchestrator.org.

Installation (quick start)

Simplified steps to install and use the orchestrator-core. For more details, read the Getting started documentation.

Step 1 - Install the package

Create a virtualenv and install the orchestrator-core.

python -m venv .venv
source .venv/bin/activate
pip install orchestrator-core

Step 2 - Setup the database

Create a postgres database:

createuser -sP nwa
createdb orchestrator-core -O nwa  # set password to 'nwa'

Configure the database URI in your local environment:

export DATABASE_URI=postgresql://nwa:nwa@localhost:5432/orchestrator-core

Step 3 - Create main.py and wsgi.py

Create a main.py file for running the CLI.

from orchestrator.cli.main import app as core_cli

if __name__ == "__main__":
    core_cli()

Create a wsgi.py file for running the web server.

from orchestrator import OrchestratorCore
from orchestrator.settings import AppSettings

app = OrchestratorCore(base_settings=AppSettings())

Step 4 - Run the database migrations

Initialize the migration environment and database tables.

python main.py db init
python main.py db upgrade heads

Step 5 - Run the app

export OAUTH2_ACTIVE=False
uvicorn --reload --host 127.0.0.1 --port 8080 wsgi:app

Visit the ReDoc or OpenAPI page to view and interact with the API.

Contributing

We use uv to manage dependencies.

To get started, follow these steps:

# in your postgres database
createdb orchestrator-core-test -O nwa  # set password to 'nwa'

# on your local machine
git clone https://github.com/workfloworchestrator/orchestrator-core
cd orchestrator-core
export DATABASE_URI=postgresql://nwa:nwa@localhost:5432/orchestrator-core-test
uv sync --all-extras --all-groups
uv run pytest

For more details please read the development docs.

Release history Release notifications | RSS feed

This version

4.7.2

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

orchestrator_core-4.7.2.tar.gz (328.8 kB view details)

Uploaded Source

Built Distribution

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

orchestrator_core-4.7.2-py3-none-any.whl (547.1 kB view details)

Uploaded Python 3

File details

Details for the file orchestrator_core-4.7.2.tar.gz.

File metadata

  • Download URL: orchestrator_core-4.7.2.tar.gz
  • Upload date:
  • Size: 328.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.25 {"installer":{"name":"uv","version":"0.9.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for orchestrator_core-4.7.2.tar.gz
Algorithm Hash digest
SHA256 f1011b2dbb331d835282b3d527b0fa675fec075e850263bcf9af9529b9ce9941
MD5 aaef4b7312941555782a05d15b955838
BLAKE2b-256 6b664302671a22a78f392d40b91a34d10982f562753b709955deb5d308cb3942

See more details on using hashes here.

File details

Details for the file orchestrator_core-4.7.2-py3-none-any.whl.

File metadata

  • Download URL: orchestrator_core-4.7.2-py3-none-any.whl
  • Upload date:
  • Size: 547.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.25 {"installer":{"name":"uv","version":"0.9.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for orchestrator_core-4.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f9292dbf05370f5424cc361b9af6d00d527344957dae582dca470699262c346f
MD5 ddb5f4266e4a51f3e2f980a8143eb105
BLAKE2b-256 bb70bb38ccf87691d4a224e68f940dd0f03216a7cdc06203075b6b5b3dd8011b

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