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.core.cli.main import app as core_cli

if __name__ == "__main__":
    core_cli()

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

from orchestrator.core import OrchestratorCore
from orchestrator.core.settings import AppSettings

app = OrchestratorCore(base_settings=AppSettings())
app.register_graphql()

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. Unit tests need no services; integration tests use testcontainers to spin up Postgres + Redis on demand (Docker required).

To get started, follow these steps:

# on your local machine
git clone https://github.com/workfloworchestrator/orchestrator-core
cd orchestrator-core
just pytest                              # Run unit tests
just pytest test/integration_tests       # Run integration tests (testcontainers)
just pytest -vx                          # Stop at first failed test
just pytest --last-failed                # re-run only failed tests

For more details please read the development docs.

Release history Release notifications | RSS feed

This version

5.0.3

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.3.tar.gz (362.7 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.3-py3-none-any.whl (652.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: orchestrator_core-5.0.3.tar.gz
  • Upload date:
  • Size: 362.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for orchestrator_core-5.0.3.tar.gz
Algorithm Hash digest
SHA256 5026bc1547be39f8611f8b004f269bb7acbaaed5aee213c6eb56547275d32107
MD5 2a6c299677dda860b59a12237e27c6b5
BLAKE2b-256 f59b923a0268c682b862930e4186fd9cd6ca8403c4b4b26684326992c76cb2f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for orchestrator_core-5.0.3.tar.gz:

Publisher: publish-package.yml on workfloworchestrator/orchestrator-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for orchestrator_core-5.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 89ee15945bae1f0174f75c6685e7f3fd87df4446f412ea475e48c91d9b0e2d48
MD5 28d7107d2a560eee33075422fa7988cc
BLAKE2b-256 6a0034d69e725f0d26a60e3afbba251e7d17ba0266890bb0a96a047d4680f1d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for orchestrator_core-5.0.3-py3-none-any.whl:

Publisher: publish-package.yml on workfloworchestrator/orchestrator-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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