Skip to content

ewoks-kit/ewoksserver

Repository files navigation

ewoksserver

Pipeline Code style: black License Coverage Docs PyPI

ewoksserver is a REST server to manage and execute ewoks workflows.

It serves as a backend for ewoksweb and emits ewoks execution events over Socket.IO.

Getting started

Install the ewoksserver Python package

pip install ewoksserver

Development

Install from source

pip install -e .[dev]

Run tests

pytest

Launch the backend

ewoks-server

or for an installation with the system python

python3 -m ewoksserver.server

Configuration

The configuration keys are uppercase variables in a python script:

# /tmp/config.py
RESOURCE_DIRECTORY = "/path/to/resource/directory/"

EWOKS_EXECUTION = {"handlers": ...}

CELERY = {"broker_url":...}

Specify the configuration file through the CLI

ewoks-server --config /tmp/config.py

or using the environment variable EWOKSSERVER_SETTINGS

export EWOKSSERVER_SETTINGS=/tmp/config.py
ewoks-server

Example

import os

_SCRIPT_DIR = os.path.abspath(os.path.dirname(__file__))

RESOURCE_DIRECTORY = os.path.join(_SCRIPT_DIR, "resources")

EWOKS_EXECUTION = {
    "handlers": [
        {
            "class": "ewokscore.events.handlers.Sqlite3EwoksEventHandler",
            "arguments": [
                {
                    "name": "uri",
                    "value": "file:" + os.path.join(_SCRIPT_DIR, "ewoks_events.db"),
                }
            ],
        }
    ]
}

Documentation

https://ewoksserver.readthedocs.io/

About

REST server to manage and execute ewoks workflows

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages