GitHub - snakemake/poetry-snakemake-plugin: Plugin for poetry that adds snakemake specific functionality (original) (raw)

poetry-snakemake-plugin

test coverage: 100%

A plugin for poetry that adds Snakemake-specific functionality. Currently it supports scaffolding the source code for new Snakemake executor plugins, storage plugins, and report plugins. This works as follows.

Scaffolding an executor plugin

Lets assume that you want to create a snakemake executor plugin with the name snakemake-executor-plugin-myfancyexecutor.

Install poetry plugin via

poetry self add poetry-snakemake-plugin@latest

Create a new poetry project via

poetry new snakemake-executor-plugin-myfancyexecutor

cd snakemake-executor-plugin-myfancyexecutor

Scaffold the project as a snakemake executor plugin

poetry scaffold-snakemake-executor-plugin

Next, edit the scaffolded code according to your needs, and publish

the resulting plugin into a github repository. The scaffold command also

creates github actions workflows that will immediately start to check and test

the plugin.

Scaffolding a storage plugin

Lets assume that you want to create a snakemake storage plugin with the name snakemake-storage-plugin-myfancystorage.

Install poetry plugin via

poetry self add poetry-snakemake-plugin@latest

Create a new poetry project via

poetry new snakemake-storage-plugin-myfancystorage

cd snakemake-storage-plugin-myfancystorage

Scaffold the project as a snakemake executor plugin

poetry scaffold-snakemake-storage-plugin

Next, edit the scaffolded code according to your needs, and publish

the resulting plugin into a github repository. The scaffold command also

creates github actions workflows that will immediately start to check and test

the plugin.

Scaffolding a report plugin

Lets assume that you want to create a snakemake report plugin with the name snakemake-report-plugin-myfancyreport.

Install poetry plugin via

poetry self add poetry-snakemake-plugin@latest

Create a new poetry project via

poetry new snakemake-report-plugin-myfancyreport

cd snakemake-storage-plugin-myfancyreport

Scaffold the project as a snakemake executor plugin

poetry scaffold-snakemake-report-plugin

Next, edit the scaffolded code according to your needs, and publish

the resulting plugin into a github repository. The scaffold command also

creates github actions workflows that will immediately start to check and test

the plugin.

Scaffold a software deployment plugin

Lets assume that you want to create a snakemake software deployment plugin with the name snakemake-deployment-plugin-myfancydeployment.

Install poetry plugin via

poetry self add poetry-snakemake-plugin@latest

Create a new poetry project via

poetry new snakemake-software-deployment-plugin-myfancydeployment

cd snakemake-software-deployment-plugin-myfancydeployment

Scaffold the project as a snakemake software deployment plugin

poetry scaffold-snakemake-software-deployment-plugin

Next, edit the scaffolded code according to your needs, and publish

the resulting plugin into a github repository. The scaffold command also

creates github actions workflows that will immediately start to check and test

the plugin.