queenbee-pollination extends queenbee in order to interact with the Pollination API.
You can install this as a cli tool using the following command:
pip install queenbee-pollination[cli]The CLI tool will authenticate to the Pollination API in one of two ways:
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-toolsRe-use pollination auth set in your queenbee config. You can do so by using this command:
> queenbee config auth add pollination YOUR_POLLINATION_API_KEYYou 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-recipeYou 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-toolsYou 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-recipeYou 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.0Note: You can specify a folder to download the recipe/operator to by specifying the --path option flag.
The project section of the CLI lets users upload files to a project and schedule simulations.
A user can upload or delete files in a project folder. To do so use the following commands:
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-projectectYou 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-toolsYou can delete all files in a project folder:
> queenbee pollination project delete --project test-projectectYou can delete specific files in a project folder:
> queenbee pollination project delete --project test-projectect --path some/subpath/to/a/fileFor a given project you can list, submit or download simulations.
> queenbee pollination project simulation list -p test-projectectYou 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 demoIf 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.ymlOnce 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