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+psycopg://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+psycopg://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

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-5.0.0a8.tar.gz (364.5 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-5.0.0a8-py3-none-any.whl (602.6 kB view details)

Uploaded Python 3

File details

Details for the file orchestrator_core-5.0.0a8.tar.gz.

File metadata

  • Download URL: orchestrator_core-5.0.0a8.tar.gz
  • Upload date:
  • Size: 364.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.0 {"installer":{"name":"uv","version":"0.11.0","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-5.0.0a8.tar.gz
Algorithm Hash digest
SHA256 448efb43fd3303fffda3ffd386258b88f12cc6cda49fd98c5d05dd017a4bf000
MD5 c82202fac76339882d6a3b3f1b1b1b99
BLAKE2b-256 4209a9a9c74ab0d2de9feef6f9c558e6f40ff61568909e14a29c6ec825080c70

See more details on using hashes here.

File details

Details for the file orchestrator_core-5.0.0a8-py3-none-any.whl.

File metadata

  • Download URL: orchestrator_core-5.0.0a8-py3-none-any.whl
  • Upload date:
  • Size: 602.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.0 {"installer":{"name":"uv","version":"0.11.0","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-5.0.0a8-py3-none-any.whl
Algorithm Hash digest
SHA256 a466852a2e870e8c40142454e932235de8c2ece9790b650b05550f7cf4d53e2c
MD5 b30a7f99b1a038d2424e2be00990792d
BLAKE2b-256 0f7887a39218fc55c03091455ce5071d11fcee282e06d617d8a14d0b01674779

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