https://github.com/frankie567/cookiecutter-hipster-pypackage
Cookiecutter template for a cutting-edge Python package: Hatch, ruff, mypy, GitHub Actions and more!
https://github.com/frankie567/cookiecutter-hipster-pypackage
cookiecutter github-actions mkdocs python-package python3 template
Last synced: about 2 months ago
JSON representation
Cookiecutter template for a cutting-edge Python package: Hatch, ruff, mypy, GitHub Actions and more!
- Host: GitHub
- URL: https://github.com/frankie567/cookiecutter-hipster-pypackage
- Owner: frankie567
- License: mit
- Created: 2019-11-20T06:17:08.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2025-01-07T19:47:05.000Z (4 months ago)
- Last Synced: 2025-03-19T00:06:38.283Z (about 2 months ago)
- Topics: cookiecutter, github-actions, mkdocs, python-package, python3, template
- Language: Python
- Homepage:
- Size: 42 KB
- Stars: 39
- Watchers: 3
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Cookiecutter Hipster PyPackage
Cookiecutter template for a cutting-edge Python package: Hatch, ruff, mypy, GitHub Actions and more!
## Features
* [X] Lightweight starter
* [X] [Hatch](https://hatch.pypa.io/latest/install/) package management
* [X] Linting and formatting with [`ruff`](https://github.com/charliermarsh/ruff)
* [X] Type checking with [`mypy`](https://github.com/python/mypy)
* [X] Unit tests with [`pytest`](https://github.com/pytest-dev/pytest) with optional asyncio setup.
* [X] Documentation with [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) and docstring reference support with [mkdocstrings](https://mkdocstrings.github.io/).
* [X] Ready-to-use [GitHub Actions](https://help.github.com/en/actions/automating-your-workflow-with-github-actions) pipelines## Quickstart
Generate the project:
```bash
cookiecutter https://github.com/frankie567/cookiecutter-hipster-pypackage
```The generator will automatically call `hatch env create` at the end.
Then, for the GitHub Actions pipelines to work correctly, you should:
* Enable the GitHub repository in Codecov.
* Set `CODECOV_TOKEN` in your GitHub repository secrets. You can find in the Codecov settings of the corresponding project.
* Enable GitHub Pages using the GitHub Actions source.
* Configure the [Trusted Publisher method on PyPI](https://docs.pypi.org/trusted-publishers/creating-a-project-through-oidc/): it's a modern and secure method to push your package to PyPI.### With cruft
[cruft](https://github.com/cruft/cruft) is a layer above Cookiecutter allowing you to update your project from the template after it has been generated.
```bash
cruft create https://github.com/frankie567/cookiecutter-hipster-pypackage
```## License
This project is licensed under the terms of the MIT license.