getpopper / cookiecutter-popper-python

Cookiecutter template for research projects in Python on the Popper workflow execution engine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cookiecutter-popper-python

Cookiecutter template for research projects in Python on the Popper workflow execution engine.

The goal is to provide a structure for developing reproducible projects in computational research (machine learning, statistics, bioinformatics, ...) following best practices in a container-native environment.

Resource:

  • A guide for developing Python workflows for computational research with Popper is available in the Popper documentation.
  • An example project following this structure is available at popper-examples.

Requirements

Additionally, to run the generated project:

  • Popper
  • Docker

Generating a project template

Run

cookiecutter gh:getpopper/cookiecutter-popper-python

Cookiecutter options:

  • containers: one or several. Pick one if the workflow only needs one container for a Python environment.

Generated project structure

├── LICENSE
├── README.md                       <- The top-level README.
├── data                            <- Data used in workflow.
├── paper                           <- Generated paper as PDF, LaTeX.
├── wf.yml                          <- Workflow starter
├── containers                      <- Definitions of containers used in workflow
|   └── exploration                 <- Container used for exploratory work. 
|       ├── exploration.dockerfile  <- Default dockerfile used in workflow.
|       └── exploration_env.yml     <- Defines conda environment used by container.
├── results
|   ├── models                      <- Model predictions, serialized models, etc.        
|   └── figures                     <- Graphics created during workflow.
└── src                             <- Source code for this project.
    ├── notebooks                   <- Jupyter notebooks.
    ├── data                        <- Scripts to download or generate data.
    ├── models                      <- Scripts used to generate models.
    └── figures                     <- Scripts to generate graphics.

This project takes inspiration from Driven Data's cookiecutter-data-science, adapting their approach for use with Popper.

About

Cookiecutter template for research projects in Python on the Popper workflow execution engine

License:MIT License


Languages

Language:Dockerfile 51.9%Language:TeX 27.8%Language:Python 20.3%