Package templates

The UCL-ARC/python-tooling repository contains our recommended package template for new ARC projects. It pre-configures the recommended tools listed in the other pages of this site. If you are working on a new project, our template should be a good starting point! We have a tutorial available with detailed instructions for creating a package using the template and how to use the newly created package with some of the tools included.

If you’re making a package for a community that already has a template in general use (some examples are listed below) we recommend using their template instead.

Community-specific templates

If you’re making a package within one of these communities, we recommend using their package template.

Community Short description
Napari Cookiecutter template for authoring (npe2-based) napari plugins.
SciKit-Surgery Cookiecutter template developed by the Wellcome EPSRC Centre for Interventional and Surgical Sciences.
Scientific Python Cookiecutter template developed by SciKit-HEP but now adopted by the more general Scientific Python community.

Template engines

Tools that can be used for creating your own package template.

Name Short description 🚦
Cookiecutter Widely-used tool for creating project templates 🟢
Copier A tool to create project templates that are highly configurable. Project configuration can be kept in sync with the templae. 🟠
Cruft Can be used to create projects from a cookiecutter template and to keep the project configuration in sync with the template. 🟠
GitHub templates GitHub repositories can be used as templates, but they are not configurable. 🟠
Cookieninja A fork of Cookiecutter that is not actively maintained. 🔴