osl-incubator / scicookie

Cookiecutter template for a Python package.
https://osl-incubator.github.io/scicookie
Other
10 stars 18 forks source link
cookiecutter python template

SciCookie

CI Python Versions Package Version License Discord

SciCookie is a template developed by Open Science Labs that creates projects from project templates and is based on Cookiecutter. It serves as an initial structure which can be used by beginners as well as full-fledged developers to simplify the project creation process and save considerable amount of time. SciCookie enables projects with an initial layout that includes recommended tools, workflows, and project structure.

SciCookie also offers other features that can enhance the workflow of the development process. Features such as automatic documentation generation, automated testing, and project-specific configuration are part of this. Overall, SciCookie is an efficient tool that gives users the ability to effortlessly create consistent, high-quality projects.

SciCookie is primarily based on the PyOpenSci recommendations who is actively conducting research to determine the tools, libraries, best practices, and workflows utilized by significant scientific Python groups. As a result, this template offers to authors a starting point for their project that adheres with industry standards and can be adjusted to meet particular project requirements.

Features

Quickstart

pip install scicookie

Go to a desired folder to create your new project, for example:

cd ~/dev/my-python-projects

Generate a Python package project:

scicookie

You can also select a specific profile, for example:

scicookie --profile osl

You can also use it with pipx:

pipx run scicookie --profile osl

Development

For testing your changes locally, you can run:

makim tests.lint
makim tests.unittest
makim tests.smoke

Maintainers

Acknowledges

Python Software Foundation (PSF)

Open Science Labs has been awarded two grants from the Python Software Foundation (PSF) in April 2023 and January 2024 to enhance SciCookie. The grants were and will be used to implement best practices recommended by pyOpenSci, improve dependencies and configuration settings, and add new features.

We are grateful for the support of the Python Software Foundation. For further details about these grants, you can read more in the blog posts: