Skip to main content

Agodashi

pytest flake8 isort mypy Apache License

Agodashi is a simple REST API server. It takes a workflow file written in workflow language as input and returns workflow type, workflow version and workflow parameters template. Currently, supported workflow languages are as follows:

In the future, we plan to support the following languages.

Install and Run

Agodashi supports Python 3.6 or newer.

$ pip3 install agodashi
$ agodashi

Docker

We also expect to launch using Docker.

# Launch
$ docker-compose up -d

# Launch confirmation
$ docker-compose logs

Usage

As API specifications, please check SwaggerUI - Agodashi API Spec

The help for the Agodashi startup command is as follows.

$ agodashi --help
usage: agodashi [-h] [--host] [-p] [--debug]

An API server for parsing workflows written in workflow languages

optional arguments:
  -h, --help    show this help message and exit
  --host        Host address of Flask. (default: 127.0.0.1)
  -p , --port   Port of Flask. (default: 8080)
  --debug       Enable debug mode of Flask.

As the simplest example of a REST API Request, here is the result of a POST /inspect-workflow.

POST /inspect-workflow -F 'wf_url=https://raw.githubusercontent.com/suecharo/agodashi/master/tests/resources/cwl/trimming_and_qc_packed.cwl'

{
  "wf_params": "nthreads: 2  # default value of type \"int\". (optional)\nfastq_2:  # type \"File\"\n    class: File\n    path: a/file/path\nfastq_1:  # type \"File\"\n    class: File\n    path: a/file/path\n",
  "wf_type": "CWL",
  "wf_version": "v1.0"
}

Development

You can start the development environment as follows.

$ docker-compose -f docker-compose.dev.yml up -d --build
$ docker-compose -f docker-compose.dev.yml exec app bash

We use flake8, isort, and mypy as the Linter.

$ bash ./tests/lint_and_style_check/flake8.sh
$ bash ./tests/lint_and_style_check/isort.sh
$ bash ./tests/lint_and_style_check/mypy.sh

We use pytest as a Test Tool.

$ pytest .

License

Apache-2.0. See the LICENSE.

Metadata

Release files for agodashi 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agodashi 1.0.1
File Size Uploaded Provenance Actions
agodashi-1.0.1.tar.gz 7.0 kB Without provenance Details for agodashi-1.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for agodashi 1.0.1
File Interpreter ABI Platform Actions
agodashi-1.0.1-py3-none-any.whl Python 3 none any Details for agodashi-1.0.1-py3-none-any.whl

Total release size: 19.4 kB

Release files / agodashi-1.0.1.tar.gz

Download URL agodashi-1.0.1.tar.gz
Size 7.0 kB
Tags Source
SHA-256 checksum
How to use checksums
9158cfeee33e7909c2a6b993ed0d8b2812512f3158ce41cd1a80c2476d141781
BLAKE2b-256 checksum
How to use checksums
3a7740914209c90a7de86c8b438b7e2246f74ce4de330edb17e3038aaf34d997
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9

Release files / agodashi-1.0.1-py3-none-any.whl

Download URL agodashi-1.0.1-py3-none-any.whl
Size 12.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2086ae10c3663769dc8d882f5f182f7fa877452328036c726654495e1db3ac5a
BLAKE2b-256 checksum
How to use checksums
dbc836303f7f5f4ab5582151f5cce127637bb26aeb7e6ffef123d8c69328bf9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9

Security for agodashi 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page