Skip to main content

CI Python Versions Package Version License Discord

logo_scicookie.png

SciCookie is a project template designed to simplify scientific Python project creation. It provides an initial structure with recommended tools, workflows, and industry best practices, saving developers time and effort. Built upon the PyOpenSci recommendations, it offers a foundation that adheres to scientific Python standards while remaining customizable to specific project needs.

Key Features

  • Project Structure: Choose between "src" (code in a subdirectory) and "flat" (all files in the top-level directory) layouts.
  • Packaging & Dependencies: Supports Poetry, Flit, meson-python, setuptools, PDM, Hatch, Maturin, scikit-build-core, Pixi, uv, or setuptools + pybind11 for flexible build systems.
  • Testing & Linting: Integrates with pytest and hypothesis (testing), black, ruff and prettier (auto-formatting), bandit (security), pydocstyle (documentation style), vulture (unused code detection), flake8 (code style), ruff (linter), ShellCheck (static analysis of shell scripts), Coverage (code coverage testing), and McCabe (cyclomatic complexity analysis) for a robust development environment.
  • Version Control & Automation: Includes initial git integration, conda (base environment) support, pre-commit hooks, continuous integration with GitHub Actions, CircleCI, Azure Pipelines and GitLab CI, automation with Make and Makim, and release workflows with semantic-release.
  • Documentation: Offers options for mkdocs, sphinx-rst, sphinx-myst, jupyter-book or quarto documentation generation.
  • Containerization: Provides the ability to add initial files for running and managing containers using Docker(Podman is supported via docker-compose).

Benefits

  • Reduces boilerplate code: SciCookie eliminates the need to write repetitive project setup code, allowing developers to focus on core functionality.
  • Ensures consistency: Enforces a standardized structure, promoting code maintainability and collaboration.
  • Adheres to best practices: Leverages PyOpenSci recommendations for efficient scientific Python development.
  • Improves code quality: Integrates with various testing and linting tools for better code hygiene.
  • Automates workflows: Streamlines processes like documentation generation, version control, and continuous integration.

Getting Started

Prerequisites

  • Python: Make sure you have Python installed on your system. You can check by running python --version or python3 --version in your terminal. If you don't have it, download it from here.

Installation

  • Install Cookiecutter (if not already installed): Open your terminal and run the following command: pip install scicookie

Project Creation

  1. Navigate to your desired project directory: Use the cd command to navigate to the directory where you want to create your new Python package project. For example: cd ~/dev/my-python-projects (Replace ~/dev/my-python-projects with your preferred directory path.)

  2. Generate the project using SciCookie: Once you're in your desired directory, run the following command to generate a new Python package project using SciCookie: scicookie

(SciCookie will create a new directory structure for your project, including files and folders commonly used in scientific Python projects. You can now start editing and customizing your project to fit your specific needs.)

Use a profile as an alternative

A profile is a set of template-specific settings. OSL has a specific profile with the libraries we recommend. You can use it to generate the project by running:

scicookie --profile osl

Note: If the --profile osl flag omitted, the default SciCookie profile will be used Another community can also create a specific profile with the configurations they recommend.

You can also use it with pipx:

pipx run scicookie --profile osl

Community

Support

  • Star us on GitHub.
  • Stay tuned for upcoming support options.

Metadata

Release files for scicookie 0.14.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scicookie 0.14.0
File Size Uploaded
scicookie-0.14.0.tar.gz 102.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for scicookie 0.14.0
File Interpreter ABI Platform
scicookie-0.14.0-py3-none-any.whl Python 3 none any Details

Total release size: 246.8 kB

Release files / scicookie-0.14.0.tar.gz

Download URL scicookie-0.14.0.tar.gz
Size 102.0 kB
Tags Source
SHA-256 checksum
How to use checksums
9f27beb253fb501e8723fd8c74f76829b6135b576558d95207c3ff6579dac68d
BLAKE2b-256 checksum
How to use checksums
77fe4006d8c778c09ab9729cf021357903d6e83d42e5605c05eb04056b5477ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.2.1 CPython/3.13.9 Linux/6.11.0-1018-azure

Release files / scicookie-0.14.0-py3-none-any.whl

Download URL scicookie-0.14.0-py3-none-any.whl
Size 144.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9fcd8402e69f534265436e2abd0c4e78f4f3c9387763297b31bfa62ce5e67bae
BLAKE2b-256 checksum
How to use checksums
0c4d35f5860730e72a99c57fb04f1c827f218f8bf06162d2c26c318821a8005e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.2.1 CPython/3.13.9 Linux/6.11.0-1018-azure

Release history Release notifications | RSS feed

This release

0.14.0 This release

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page