Skip to content

pollination/queenbee-pollination

Repository files navigation

queenbee-pollination

queenbee-pollination extends queenbee in order to interact with the Pollination API.

Installation

You can install this as a cli tool using the following command:

pip install queenbee-pollination[cli]

CLI QuickStart

Authentication

The CLI tool will authenticate to the Pollination API in one of two ways:

Env Vars

Set the following environment variable as your API token before running commands POLLINATION_TOKEN.

Example for a bash shell:

> export POLLINATION_TOKEN=<some-long-token-string>

> queenbee pollination project simulations list --project test-project --owner ladybug-tools

Queenbee Config

Re-use pollination auth set in your queenbee config. You can do so by using this command:

> queenbee config auth add pollination YOUR_POLLINATION_API_KEY

Push

You can push recipes and operators to the Pollination platform to share them with others or use them within simulations.

To push a recipe called my-cool-recipe to Pollination platform use:

> queenbee pollination push recipe path/to/my-cool-recipe

You can push a recipe or operator too a specific pollination account by specifying the --owner flag. You can overwrite the resource's tag by using the --tag flag. Here is an example of pushing the honeybee-radiance operator to the ladybug-tools account and specifying a tag of v0.0.0.

> queenbee pollination push operator ../garden/operators/honeybee-radiance --tag v0.0.0 --owner ladybug-tools

Pull

You can pull recipes and operators from Pollination onto your machine by using the pull commands.

You can pull the latest version of my-cool-recipe from your pollination account by running:

> queenbee pollination pull recipe my-cool-recipe

You can pull the honeybee-radiance operator from the ladybug-tools account and tag v0.0.0 by running:

> queenbee pollination pull operator honeybee-radiance --owner ladybug-tools --tag v0.0.0

Note: You can specify a folder to download the recipe/operator to by specifying the --path option flag.

Projects

The project section of the CLI lets users upload files to a project and schedule simulations.

Folder

A user can upload or delete files in a project folder. To do so use the following commands:

Upload

You can upload artifacts to a project called test-projectect by using this command:

> queenbee pollination project upload path/to/file/or/folder --project test-projectect

You can upload artifacts to a project belonging to another user or org:

> queenbee pollination project upload path/to/file/or/folder --project test-projectect --owner ladybug-tools
Delete

You can delete all files in a project folder:

> queenbee pollination project delete --project test-projectect

You can delete specific files in a project folder:

> queenbee pollination project delete --project test-projectect --path some/subpath/to/a/file

Simulations

For a given project you can list, submit or download simulations.

List
> queenbee pollination project simulation list -p test-projectect
Submit

You can submit a simulation without needing to specify any inputs (if the simulation does not require any!). The recipe to be used is specified in the following format {owner}/{recipe-name}:{tag}:

> queenbee pollination project simulation submit chuck/first-test:0.0.1 -p demo

If you want to specify inputs you can point to an inputs file (json or yaml) which must represent a Queenbee Workflow Argument object.

> queenbee pollination project simulation submit ladybug-tools/daylight-factor:latest --project demo --inputs path/to/inputs.yml
Download

Once a simulation is complete you can download all inputs, outputs and logs to you machine. Here is an example downloading data from a simulation with an ID of 22c75263-c8ba-42d0-a1b8-bd3107eb6b51 from a project with name demo by using the following command:

> queenbee pollination project simulation download --project demo  --id 22c75263-c8ba-42d0-a1b8-bd3107eb6b51