cookiecutter-modern-pypackage
Cookiecutter ๐ช template for a modern Python package ๐๐ฆ.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
โCITATION.cff file
Found CITATION.cff file -
โcodemeta.json file
Found codemeta.json file -
โ.zenodo.json file
Found .zenodo.json file -
โDOI references
-
โAcademic publication links
-
โAcademic email domains
-
โInstitutional organization owner
-
โJOSS paper metadata
-
โScientific vocabulary similarity
Low similarity (13.7%) to scientific vocabulary
Keywords
Repository
Cookiecutter ๐ช template for a modern Python package ๐๐ฆ.
Basic Info
- Host: GitHub
- Owner: fedejaure
- License: mit
- Language: Python
- Default Branch: master
- Homepage: https://cookiecutter-modern-pypackage.readthedocs.io
- Size: 1.25 MB
Statistics
- Stars: 128
- Watchers: 1
- Forks: 23
- Open Issues: 16
- Releases: 27
Topics
Metadata Files
README.md
Cookiecutter Modern PyPackage ๐๐ฆ
Cookiecutter ๐ช template for a modern Python package ๐๐ฆ.
- GitHub repo: https://github.com/fedejaure/cookiecutter-modern-pypackage.git
- Documentation: https://cookiecutter-modern-pypackage.readthedocs.io
- Free software: MIT license
๐ Features
- Dependency tracking: ๐ฆ Utilizes Poetry for efficient package management.
- Testing setup: ๐งช Includes Pytest for comprehensive and reliable testing.
- Continuous Integration: ๐ Github Actions integration for seamless CI testing.
- Linting: ๐งน Enhanced code quality with Ruff.
- Docstring: ๐ Follows the Google Python Style Guide for clear and consistent documentation.
- Static type checking: ๐ Ensured by Mypy.
- Formatting: โจ Consistent code formatting with Black and Isort.
- Security checks: ๐ Uses Safety to identify and address known vulnerabilities.
- Git hooks: ๐ฃ Managed by pre-commit for streamlined development workflows.
- Development tasks CLI: ๐ ๏ธ All-in-one Python CLI provided by invoke.
- Multiple Python environments testing: ๐ฅ Supported by Nox.
- Documentation: ๐ Utilizes Sphinx for clear and comprehensive documentation, ready for Read the Docs.
- Command line interface: ๐ป Optional integration with Typer.
- Automated dependency updates: ๐ค Enabled by Dependabot.
- Coverage reports: ๐ Integrated with Codecov.
- Automated releases: ๐ข Push a new tag to trigger releases to PyPI and TestPyPI.
- GitHub community health files (optional):
- Code of Condunct ๐ค
- Contributing ๐
- Security ๐
- Code Owners ๐ฉโ๐ผ
- Funding ๐ฐ
- Citation ๐
โก๏ธ Quickstart
Get started with your modern Python package in just a few steps:
1. Install Cookiecutter
If you haven't installed Cookiecutter yet, make sure to have version 1.4.0 or higher:
sh
pip install -U cookiecutter
2. Generate your Python Package
Run Cookiecutter using the latest release
sh
cookiecutter gh:fedejaure/cookiecutter-modern-pypackage --checkout v3.1.0
3. Set up Your Project
Follow these steps to complete the setup:
- Create a new GitHub repository and push your generated project there.
Install the development requirements into a virtual environment:
sh poetry installInstall pre-commit hooks:
sh poetry run inv install-hooksConfigure Codecov repository settings. (Codecov App,
CODECOV_TOKEN)Add your repository to your Read the Docs account and enable the Read the Docs service hook.
Configure PyPI and TestPyPI tokens. (
PYPI_TOKEN,TEST_PYPI_TOKEN)Release your package by pushing a new tag.
[!TIP] For more details, see the tutorial.
๐ Credits
This cookiecutter was built for learning purpose and inspired by:
- audreyr/cookiecutter-pypackage: Cookiecutter template for a Python package.
- briggySmalls/cookiecutter-pypackage: A fork from audreyr/cookiecutter-pypackage using Poetry for package management, with linting, formatting and more.
- hypermodern-python: Hypermodern Python article series.
Owner
- Name: Federico Jaureguialzo
- Login: fedejaure
- Kind: user
- Location: Hamburg, Germany
- Repositories: 5
- Profile: https://github.com/fedejaure
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: Cookiecutter Modern PyPackage
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Federico
family-names: Jaureguialzo
alias: fedejaure
identifiers:
- type: url
value: >-
https://github.com/fedejaure/cookiecutter-modern-pypackage/releases/tag/v3.1.0
description: The Software Heritage link for version 3.1.0.
repository-code: 'https://github.com/fedejaure/cookiecutter-modern-pypackage'
abstract: Cookiecutter template for a modern Python package.
keywords:
- cookiecutter
- template
- package
license: MIT
version: 3.1.0
GitHub Events
Total
- Create event: 24
- Release event: 1
- Issues event: 3
- Watch event: 7
- Delete event: 26
- Issue comment event: 30
- Push event: 19
- Pull request review event: 6
- Pull request event: 53
- Fork event: 3
Last Year
- Create event: 24
- Release event: 1
- Issues event: 3
- Watch event: 7
- Delete event: 26
- Issue comment event: 30
- Push event: 19
- Pull request review event: 6
- Pull request event: 53
- Fork event: 3
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 2
- Total pull requests: 11
- Average time to close issues: N/A
- Average time to close pull requests: about 1 month
- Total issue authors: 2
- Total pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 0.27
- Merged pull requests: 0
- Bot issues: 1
- Bot pull requests: 11
Past Year
- Issues: 2
- Pull requests: 11
- Average time to close issues: N/A
- Average time to close pull requests: about 1 month
- Issue authors: 2
- Pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 0.27
- Merged pull requests: 0
- Bot issues: 1
- Bot pull requests: 11
Top Authors
Issue Authors
- fedejaure (8)
- dependabot[bot] (3)
- puttehi (1)
Pull Request Authors
- dependabot[bot] (103)
- fedejaure (19)
- github-actions[bot] (3)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- recommonmark ==0.7.1
- sphinx ==4.2.0
- alabaster 0.7.12 develop
- arrow 1.2.0 develop
- atomicwrites 1.4.0 develop
- attrs 21.2.0 develop
- babel 2.9.1 develop
- backports.entry-points-selectable 1.1.0 develop
- bandit 1.7.0 develop
- binaryornot 0.4.4 develop
- black 21.9b0 develop
- bump2version 1.0.1 develop
- certifi 2021.10.8 develop
- cfgv 3.3.1 develop
- chardet 4.0.0 develop
- charset-normalizer 2.0.6 develop
- click 8.0.3 develop
- colorama 0.4.4 develop
- commonmark 0.9.1 develop
- cookiecutter 1.7.3 develop
- darglint 1.8.0 develop
- distlib 0.3.3 develop
- docutils 0.17.1 develop
- dparse 0.5.1 develop
- entrypoints 0.3 develop
- filelock 3.3.0 develop
- flake8 3.9.2 develop
- flake8-annotations 2.7.0 develop
- flake8-bandit 2.1.2 develop
- flake8-blind-except 0.2.0 develop
- flake8-bugbear 21.9.2 develop
- flake8-builtins 1.5.3 develop
- flake8-docstrings 1.6.0 develop
- flake8-logging-format 0.6.0 develop
- flake8-polyfill 1.0.2 develop
- flakehell 0.9.0 develop
- gitdb 4.0.7 develop
- gitpython 3.1.24 develop
- identify 2.3.0 develop
- idna 3.2 develop
- imagesize 1.2.0 develop
- importlib-metadata 4.8.1 develop
- iniconfig 1.1.1 develop
- invoke 1.6.0 develop
- isort 5.9.3 develop
- jinja2 3.0.2 develop
- jinja2-time 0.2.0 develop
- markupsafe 2.0.1 develop
- mccabe 0.6.1 develop
- mypy 0.910 develop
- mypy-extensions 0.4.3 develop
- nodeenv 1.6.0 develop
- packaging 21.0 develop
- pathspec 0.9.0 develop
- pbr 5.6.0 develop
- platformdirs 2.4.0 develop
- pluggy 1.0.0 develop
- poyo 0.5.0 develop
- pre-commit 2.15.0 develop
- py 1.10.0 develop
- pycodestyle 2.7.0 develop
- pydocstyle 6.1.1 develop
- pyflakes 2.3.1 develop
- pygments 2.10.0 develop
- pyparsing 2.4.7 develop
- pytest 6.2.5 develop
- pytest-cookies 0.6.1 develop
- python-dateutil 2.8.2 develop
- python-slugify 5.0.2 develop
- pytz 2021.3 develop
- pyyaml 5.4.1 develop
- recommonmark 0.7.1 develop
- regex 2021.10.8 develop
- requests 2.26.0 develop
- safety 1.10.3 develop
- six 1.16.0 develop
- smmap 4.0.0 develop
- snowballstemmer 2.1.0 develop
- sphinx 4.2.0 develop
- sphinxcontrib-applehelp 1.0.2 develop
- sphinxcontrib-devhelp 1.0.2 develop
- sphinxcontrib-htmlhelp 2.0.0 develop
- sphinxcontrib-jsmath 1.0.1 develop
- sphinxcontrib-qthelp 1.0.3 develop
- sphinxcontrib-serializinghtml 1.1.5 develop
- stevedore 3.4.0 develop
- text-unidecode 1.3 develop
- toml 0.10.2 develop
- tomli 1.2.1 develop
- typed-ast 1.4.3 develop
- typing-extensions 3.10.0.2 develop
- urllib3 1.26.7 develop
- virtualenv 20.8.1 develop
- watchdog 2.1.6 develop
- xdoctest 0.15.10 develop
- zipp 3.6.0 develop
- black ^21.9b0 develop
- bump2version ^1.0.1 develop
- cookiecutter ^1.7.3 develop
- darglint ^1.8.0 develop
- flake8 ^3.9.2 develop
- flake8-annotations ^2.6.2 develop
- flake8-bandit ^2.1.2 develop
- flake8-blind-except ^0.2.0 develop
- flake8-bugbear ^21.9.2 develop
- flake8-builtins ^1.5.3 develop
- flake8-docstrings ^1.6.0 develop
- flake8-logging-format ^0.6.0 develop
- flakehell ^0.9.0 develop
- invoke ^1.6.0 develop
- isort ^5.9.3 develop
- mypy ^0.910 develop
- pre-commit ^2.15.0 develop
- pytest ^6.2.5 develop
- pytest-cookies ^0.6.1 develop
- recommonmark ^0.7.1 develop
- safety ^1.10.3 develop
- sphinx ^4.2.0 develop
- watchdog ^2.1.6 develop
- xdoctest ^0.15.10 develop
- python <3.10,>=3.7
- recommonmark ==0.7.1
- sphinx ==4.2.0
- actions/checkout v2.3.4 composite
- github/codeql-action/analyze v1 composite
- github/codeql-action/autobuild v1 composite
- github/codeql-action/init v1 composite
- actions/checkout v2.3.4 composite
- actions/setup-python v2.2.2 composite
- peter-evans/create-pull-request v3.10.1 composite
- actions/checkout v2.3.4 composite
- actions/create-release v1.1.4 composite
- mindsers/changelog-reader-action v2.0.0 composite
- actions/checkout v2.3.4 composite
- actions/setup-python v2.2.2 composite