Skip to content

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

License

Notifications You must be signed in to change notification settings

getpopper/cookiecutter-popper-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published