Skip to main content

Runner for Workflows Defined in AskUI Studio

Project description

askui-runner

Runner for Workflows Defined in AskUI Studio.

Architecture drawing how the AskUI-Runner fits into AskUI Studio, AskUI SDK and AskUI Remote Device Controller. The AskUI-Runner fetches Workflows from AskUI Studio and uploads the results back to it. The Runner uses the AskUI SDK which passes the instructions from the workflow steps to the AskUI Remote Device Controller.

Table of Contents

Requirements

  • Python 3.10 or higher
  • Node.js 16 or higher

Installation

We recommend using a virtual environment for Python. Make sure python --version returns 3.10 or higher:

python -m venv venv
source venv/bin/activate

We have not yet published the AskUI Runner to PyPI. For now, you can install it directly from GitHub:

pip install git+https://github.com/askui/askui-runner.git

Currently, the standard logging output of the AskUI runner is minimal - we are soon going to change that. But you should see the runner starting the running of workflows as soon as you schedule some runs through the AskUI Studio.

Usage

Create a configuration file (.y{a}ml or .json) in a directory of your choosing. The configuration file should contain at least some credentials and the command with which you start the runner without the config file flag:

runner:
  exec: python -m askui_runner # update if your command is different
  tags: [<tag 1>, <tag 2>, ..] # replace with your own runner tags
queue:
  api_url: https://workspaces.askui.com/api/v1/runner-jobs
  credentials:
    workspace_id: <workspace id> # replace with your workspace id
    access_token: <access token> # replace with your access token

See Generating up-to-date Configuration Schema

Start the runner using

python -m askui_runner start -c <path to your config file, e.g., askui-runner.config.yaml>

Start UiController

If you want to run your workflows on the same system as the runner you need to start an UiController that listens on port 6769. Please download the one for your operating system and start it:

ℹ️ macOS After installation to Applications remove the quarantine flag with the following command run from a terminal: xattr -d com.apple.quarantine /Applications/askui-ui-controller.app

Execute Workflows on a Remote System: Change UiController URL

You can change the UiController-URL so the runner can talk to a UiController that runs on a remote machine or on a different port:

...
runner:
  ...
  controller:
    host: "127.0.0.1"
    port: 7000

Generating up-to-date Configuration Schema

Requirements:

  • PDM 2.8 or higher for contributing and creating the JSON schema of the config

Find out about all configuration options by taking a look at the JSON schema of the configuration. You can generate an up-to-date JSON schema by cloning this repository and running the following commands.

## Install and initialize pdm
pip install pdm
pdm install

pdm run python -m scripts.generate_config_schema_json

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

  1. Fork the repository.
  2. Create a new branch: git checkout -b your-feature-name
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push the branch: git push origin your-feature-name
  5. Submit a pull request.

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Project details


Download files

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

Source Distribution

askui_runner-0.2.9.tar.gz (109.7 kB view details)

Uploaded Source

Built Distribution

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

askui_runner-0.2.9-py3-none-any.whl (204.2 kB view details)

Uploaded Python 3

File details

Details for the file askui_runner-0.2.9.tar.gz.

File metadata

  • Download URL: askui_runner-0.2.9.tar.gz
  • Upload date:
  • Size: 109.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.22.3 CPython/3.13.1 Linux/6.8.0-1020-azure

File hashes

Hashes for askui_runner-0.2.9.tar.gz
Algorithm Hash digest
SHA256 054976c908c9383f94beb91669d2de2fcf74c0dba3c2beffba0f0301df6983da
MD5 c1287937d1f6f934b55f9f4de04534dc
BLAKE2b-256 6be99b0e8d94dd510705a68696a059831f19f328335bd29b7a769c0e2517d1cd

See more details on using hashes here.

File details

Details for the file askui_runner-0.2.9-py3-none-any.whl.

File metadata

  • Download URL: askui_runner-0.2.9-py3-none-any.whl
  • Upload date:
  • Size: 204.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.22.3 CPython/3.13.1 Linux/6.8.0-1020-azure

File hashes

Hashes for askui_runner-0.2.9-py3-none-any.whl
Algorithm Hash digest
SHA256 4a34fd9ef85cabe84beb78c08cc31fd26099c36641d4cd79a037d605f9d71f28
MD5 15006ee47a22445d47f3fe2142c9400e
BLAKE2b-256 0aaf97a12b74d3a1d1cc938d638c3ba1769c2fecfde106b6ebda6d28209871bd

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