Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 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 (about 5 years ago)
- Default Branch: main
- Last Pushed: 2024-03-09T12:27:10.000Z (10 months ago)
- Last Synced: 2024-05-02T05:20:13.581Z (8 months ago)
- Topics: cookiecutter, github-actions, mkdocs, python-package, python3, template
- Language: Python
- Homepage:
- Size: 54.7 KB
- Stars: 31
- Watchers: 4
- Forks: 6
- 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.