Skip to content

uw-ssec/python-project-template

python-project-template

BSD License Hatch project Ruff

Documentation Status pre-commit.ci status CI codecov

Python project repository template for developing python package. This template includes a basic structure for developing a python package, including a license, documentation, testing, and continuous integration. It is based on the Scientific Python Library Development Guide and Cookiecutter.

This repository contains a template for developing a python project. To start, click on the green Use this template in the top right. This will allow you to create a new project using this base template.

What's included

This template contains the following:

  1. Python package setup files for building python package to a distribution. See PyPA packaging user guide for more info.
  2. Basic license file (currently BSD 3-Clause License, but can be modified to specific project). See choose a license for more licenses.
  3. Starter Jupyter Book based documentation structure.
  4. Single test example to demonstrate the use of pytest.
  5. GitHub workflow config to run tests.
  6. Pre-commit config to enable code style checks before committing.
  7. Read The Docs config to enable free hosting of documentation.
  8. Code coverage analysis with coverage.py via pytest-cov.

Open source licensing

Statement from Schmidt Sciences:

Schmidt Sciences expects that any code from projects funded by Schmidt Sciences be released as open source under an OSI-approved permissive license (such as Apache v2.0 or MIT). We recommend that projects avoid using GPL due to known complexities associated with it. We encourage projects to publish data used for peer-reviewed scientific articles along with the code used to produce the results. Additionally, we recommend avoiding any license modifications for simplicity, and alignment with standard practices.