https://github.com/pollination/queenbee
👑 Queenbee is a workflow language for creating workflows
https://github.com/pollination/queenbee
queenbee
Last synced: 4 months ago
JSON representation
👑 Queenbee is a workflow language for creating workflows
- Host: GitHub
- URL: https://github.com/pollination/queenbee
- Owner: pollination
- License: mit
- Created: 2019-08-14T22:10:11.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-05-23T21:35:56.000Z (about 2 years ago)
- Last Synced: 2024-06-11T19:59:26.227Z (about 2 years ago)
- Topics: queenbee
- Language: Python
- Homepage: https://pollination.github.io/queenbee
- Size: 2.56 MB
- Stars: 17
- Watchers: 6
- Forks: 5
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Queenbee :crown:
Queenbee is a workflow language for describing workflows! The workflow Schema
is inspired by [Argo Workflow](https://argoproj.github.io/docs/argo/readme.html) and
borrows a number of terms and expressions from
[Apache Airflow](http://airflow.apache.org/) and [Ansible](https://docs.ansible.com/).
Queenbee populates and validates the workflows but does not run them! For running the
workflows see
[`ladybug-tools/queenbee-luigi`](https://github.com/ladybug-tools/queenbee-luigi)
which converts Queenbee workflows to executable
[Luigi](https://luigi.readthedocs.io/en/stable/) pipelines.
You can find examples of run-able queenbee workflows in the
[lbt-recipes](https://github.com/ladybug-tools/lbt-recipes)
repository.
## Installation
```
> pip install queenbee
```
or if you want to use the CLI
```
> pip install queenbee[cli]
```
## Documentation
You can access the full docs for this package and its CLI
[here](https://pollination.github.io/queenbee/).
You can also access the [Schema
Documentation](https://pollination.github.io/queenbee/schemas/index.html) and
OpenAPI documentation for:
| Object | Redoc | OpenAPI JSON |
| ------ | --------------------- | ------------------- |
| Plugin | [redoc][plugin-redoc] | [json][plugin-json] |
| Recipe | [redoc][recipe-redoc] | [json][recipe-json] |
| Job | [redoc][job-redoc] | [json][job-json] |
[plugin-json]: https://pollination.github.io/queenbee/_static/schemas/plugin-openapi.json
[plugin-redoc]: https://pollination.github.io/queenbee/_static/redoc-plugin.html#tag/plugin_model
[recipe-json]: https://pollination.github.io/queenbee/_static/schemas/recipe-openapi.json
[recipe-redoc]: https://pollination.github.io/queenbee/_static/redoc-recipe.html#tag/recipe_model
[job-json]: https://pollination.github.io/queenbee/_static/schemas/job-openapi.json
[job-redoc]: https://pollination.github.io/queenbee/_static/redoc-job.html#tag/job_model
## Local Development
1. Clone this repo locally
```console
git clone git@github.com:ladybug-tools/queenbee
```
or
```console
git clone https://github.com/ladybug-tools/queenbee
```
2. Install dependencies using [poetry](https://python-poetry.org/):
```console
cd queenbee
poetry shell
poetry install --extras cli
```
3. Run Tests:
```console
python -m pytest tests/
```
4. Generate Documentation:
```python
sphinx-apidoc -f -e -d 4 -o ./docs/modules ./queenbee
sphinx-build -b html ./docs ./docs/_build
```
5. Preview Documentation:
```console
python -m http.server --directory ./docs/_build/
```
Now you can see the documentation preview at http://localhost:8000