https://github.com/cthoyt/cookiecutter-snekpack

🍪 A cookiecutter package for an enlightened python package

https://github.com/cthoyt/cookiecutter-snekpack

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.9%) to scientific vocabulary

Keywords

cookiecutter cookiecutter-python cookiecutter-python3 cookiecutter-snekpack cookiecutter-template python template
Last synced: 5 months ago · JSON representation

Repository

🍪 A cookiecutter package for an enlightened python package

Basic Info
  • Host: GitHub
  • Owner: cthoyt
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 282 KB
Statistics
  • Stars: 38
  • Watchers: 4
  • Forks: 9
  • Open Issues: 8
  • Releases: 0
Topics
cookiecutter cookiecutter-python cookiecutter-python3 cookiecutter-snekpack cookiecutter-template python template
Created about 5 years ago · Last pushed 7 months ago
Metadata Files
Readme License

README.md

Cookiecutter Snekpack

A cookiecutter for making new Python repositories.

This template is different from @audreyfeldroy's cookiecutter-pypackage because it uses the source layout and has lots of code quality assurance checks built in. If you're looking for something similar but not quite like this, try her package or see her list of alternatives.

I've written several blog posts outlining all the ideas that made it into this template:

🛠️ Getting Started

  1. Install cruft with:

shell python -m pip install cruft

  1. Run cruft with:

shell cruft create https://github.com/cthoyt/cookiecutter-snekpack

  1. Enter the requested information, then win! Remember, package names should only have letters, numbers, and underscores.

  2. If you're working under version control, copy the repository into your folder tracked under git, commit the files, and push to your remote.

You can see an example repository of what happens right after you run these commands at https://github.com/cthoyt/snekpack-demo.

💪 Features

Your new python package will have the following:

  • Standard src/ layout
  • Declarative setup with pyproject.toml (following PEP 621)
  • Reproducible workflows configured with tox or nox
    • Reproducible tests with pytest and
    • Reproducible notebooks with treon
    • Documentation build with sphinx 8.0+ and sphinx-rtd-theme 3.0+
    • Testing of code quality with ruff
    • Testing of documentation coverage with docstr-coverage
    • Testing of documentation format
    • Testing of package metadata completeness with pyroma
    • Testing of MANIFEST correctness with check-manifest
    • Testing of optional static typing with mypy
    • Version management with bump-my-version
    • Building with uv build
    • Releasing to PyPI with uv publish
  • A command line interface with click
  • A vanity CLI via python entrypoints
  • A py.typed file so other packages can use your type hints
  • Automated running of tests on each push with GitHub Actions
  • Configuration for ReadTheDocs
  • A good base .gitignore generated from gitignore.io.
  • A pre-formatted README with badges
  • A pre-formatted LICENSE file with the MIT License (you can change this to whatever you want, though)
  • A pre-formatted CONTRIBUTING guide
  • A copy of the Contributor Covenant as a basic code of conduct

Attribution

Feel free to adapt this template to your needs, but please credit me in your README and link back to https://github.com/cthoyt/cookiecutter-snekpack.

⚖️ License

This cookiecutter package is licensed under the MIT License.

Owner

  • Name: Charles Tapley Hoyt
  • Login: cthoyt
  • Kind: user
  • Location: Bonn, Germany
  • Company: RWTH Aachen University

GitHub Events

Total
  • Issues event: 14
  • Watch event: 3
  • Delete event: 10
  • Issue comment event: 4
  • Push event: 103
  • Pull request event: 19
  • Fork event: 2
  • Create event: 11
Last Year
  • Issues event: 14
  • Watch event: 3
  • Delete event: 10
  • Issue comment event: 4
  • Push event: 103
  • Pull request event: 19
  • Fork event: 2
  • Create event: 11

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 213
  • Total Committers: 3
  • Avg Commits per committer: 71.0
  • Development Distribution Score (DDS): 0.014
Past Year
  • Commits: 49
  • Committers: 2
  • Avg Commits per committer: 24.5
  • Development Distribution Score (DDS): 0.041
Top Committers
Name Email Commits
Charles Tapley Hoyt c****t@g****m 210
Edward Linscott e****t@g****m 2
Pierre-Marie Allard p****d@u****h 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 20
  • Total pull requests: 13
  • Average time to close issues: 3 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 3
  • Total pull request authors: 3
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.54
  • Merged pull requests: 9
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 6
  • Pull requests: 4
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 40 minutes
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.33
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • cthoyt (18)
  • YojanaGadiya (2)
  • oolonek (1)
Pull Request Authors
  • cthoyt (22)
  • scolby33 (1)
  • elinscott (1)
  • oolonek (1)
Top Labels
Issue Labels
Pull Request Labels
blocked upstream (1)