Skip to content

FNNDSC/python-chrisapp-template

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 Cannot retrieve latest commit at this time.

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChRIS Plugin Template

test status MIT License

This is a minimal template repository for ChRIS plugin applications in Python.

About ChRIS Plugins

A ChRIS plugin is a scientific data-processing software which can run anywhere all-the-same: in the cloud via a web app, or on your own laptop from the terminal. They are easy to build and easy to understand: most simply, a ChRIS plugin is a command-line program which processes data from an input directory and creates data to an output directory with the usage commandname [options...] inputdir/ outputdir/.

For more information, visit our website https://chrisproject.org

How to Use This Template

Go to https://github.com/FNNDSC/python-chrisapp-template and click "Use this template". The newly created repository is ready to use right away.

A script bootstrap.sh is provided to help fill in and rename values for your new project. It is optional to use.

  1. Edit the variables in bootstrap.sh
  2. Run ./bootstrap.sh
  3. Follow the instructions it will print out

Example Plugins

Here are some good, complete examples of ChRIS plugins created from this template.

What's Inside

Path Purpose
app.py Main script: start editing here!
tests/ Unit tests
setup.py Python project metadata and installation script
requirements.txt List of Python dependencies
Dockerfile Container image build recipe
.github/workflows/ci.yml "continuous integration" using Github Actions: automatic testing, building, and uploads to https://chrisstore.co

Contributing

The source code for the main branch of this repository is on the src branch, which has an additional file .github/workflows/src.yml When tests pass, changes are automatically merged into main. Developers should commit to or make pull requests targeting src. Do not push directly to main.

This is a workaround in order to do automatic testing of this template without including the .github/workflows/src.yml file in the template itself.