Skip to content

CookieCutter Questions

Jennings Zhang edited this page Mar 5, 2021 · 9 revisions

What are app_name and app_python_class_name?

Aren’t they pretty much the same as app_repo_name? Kinda.

It is safe to choose the defaults. If you choose to set custom values, make sure they are "computer-friendly" words. By convention, we typically prefix ChRIS plugin app_name with pl-. You are free to follow or ignore this convention.

What is app_title?

A short description which should be "human-friendly" (in contrast to app_repo_name, app_name, and app_python_class_name which are meant to be "computer-friendly").

E.g. app_repo_name might be pl-freesurfer then app_title might be "FreeSurfer: the brain MRI pipeline`.

What is app_documentation?

A hyperlink to where ever you have documents explaining usage of your ChRIS plugin.

What is app_version?

In software engineering, it is a good practice to name discrete releases of your software, indicating distributions which are suitable for others to use. By versioning your releases, you are preventing backwards and forwards incompatibilities for users of your ChRIS plugin.

What is app_category?

A generic tag describing the genre of your app. There is no convention but we take inspiration from https://www.nitrc.org/

What is test_automatically?

Use Github Actions to run your unit tests each time you push. If you add code without changing the generated tests, you’ll probably get emails titled "Run Failed: CI".

What is publish_automatically?

Use Github Actions to automatically build your Docker image and push it to Dockerhub. Tagged commits are also released to the ChRIS Store.

Tip
If you’re a part of the FNNDSC, say "yes" (1).

What are platforms?

List of target architectures you want your automatically built docker image to be compatible with. Choose default if not sure.

Caution
Muti-arch builds are experimental, can take a long time, and might require workarounds.