Skip to content


FAIR Python Cookiecutter Logo   


fair-python-cookiecutter

An opinionated cookiecutter template to kickstart a modern best-practice Python project with FAIR metadata.

FAIR Software Mindmap

Check out the demo repository generated from this template!

Overview

Are you a researcher or research software engineer?

Did you somehow end up developing Python tools and libraries as part of your job?

Are you overwhelmed and confused by the increasing demands to research software?

Regardless whether you are just planning to start a new software project, or you just look for ideas about how you could improve its quality - this template is for you!

Unlike myriads of other templates, this template targets the typical case in academia - you built some nice little tool or library for your scientific community, and hope that others have a good experience - you want to provide a quality product that others enjoy using. In case they actually do use it with some success, you might also like to be acknowledged - for example, by having your tool cited.

To ensure quality, there are many best practices and recommendations for software development on various levels, both general as well as Python-specific. To help others find your project and also enable them to cite it, there are also recommendations concerning your software project metadata. In fact, there are so many recommendations that it can be hard to keep up and easy to become overwhelmed and confused.

To save you some time navigating all of that advice and figuring out how to apply it in practice, we did the work for you and provide you with this template! You can use it as is, adapt it, or at least get some inspiration for your projects.

Main Features

This template sets up a skeleton for a Python project that:

  • uses modern state-of-the-art development tools
  • provides a baseline for professional development and maintenance
  • helps following best practices for code and metadata quality
  • contains detailed documentation on how to work with it

It is built to help you adopting good practices and follow recommendations such as:

Furthermore, it implements emerging standards with the goal to improve software metadata and make it more FAIR:

Also see this paper for an overview and recommendations on the state of software citation in academic practice.

Usage

To get started, please check out the quickstart guide.

How to Cite

If you want to cite this project in your scientific work, please use the citation file in the repository.

Acknowledgements

We kindly thank all authors and contributors.

HMC Logo    FZJ Logo


This project was developed at the Institute for Materials Data Science and Informatics (IAS-9) of the Jülich Research Center and funded by the Helmholtz Metadata Collaboration (HMC), an incubator-platform of the Helmholtz Association within the framework of the Information and Data Science strategic initiative.