Perfect Python Package
Python package template with all the bells and whistles. An adaptation of cookiecutter hypermodern pypackage with some additional features.
Features
- Packaging and dependency management with Poetry
- Test automation with Nox
- Pre-commit hooks:
- Linting with Flake8
- Code formatting with Black and Prettier
- Import sorting with isort
- Doc string linting with Darglint
- Automated Python syntax upgrades with pyupgrade
- Continuous integration with GitHub Actions
- Documentation with Sphinx & MyST using the furo theme
- Automated documentation deployment to Read the Docs and GitHub Pages
- Automated uploads to PyPI and TestPyPI
- Automated release notes with Release Drafter
- Automated dependency updates with Dependabot
- Testing with pytest
- Code coverage with Coverage.py
- Coverage reporting with Codecov
- Static type-checking with mypy
- Runtime type-checking with Typeguard
- Security audit with Bandit and Safety
- Check documentation examples with xdoctest
- Generate API documentation with autodoc and napoleon
- Manage project labels with GitHub Labeler
Requirements
NOTE: pipx is recommended to install the following tools.
Poetry
$ pipx install poetry
Nox
$ pipx install nox
nox-poetry
$ pipx inject nox nox-poetry
Installation
You can install Perfect Python Package via pip from PyPI:
$ pip install perf-py-pkg
Usage
Documentation is available at Read the Docs and GitHub Pages.
Example
from perf_py_pkg import core as c
c.add_one(1)
#> 2
Contributing
Contributions are very welcome. To learn more, see the Contributor Guide.
Issues
If you encounter any problems, please file an issue along with a detailed description.
Metadata
Release files for perf-py-pkg 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| perf_py_pkg-0.0.3.tar.gz | 4.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| perf_py_pkg-0.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.8 kB
Release files / perf_py_pkg-0.0.3.tar.gz
| Download URL | perf_py_pkg-0.0.3.tar.gz |
|---|---|
| Size | 4.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0ba7d30859a3523465a5d006e841c7841277f3c13bd90a4be2d558b74963e481
|
|
BLAKE2b-256 checksum How to use checksums |
9b23447d895a10983882680994cfad1fafe1176db37b495df420a8fa41a11679
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.6
|
Release files / perf_py_pkg-0.0.3-py3-none-any.whl
| Download URL | perf_py_pkg-0.0.3-py3-none-any.whl |
|---|---|
| Size | 5.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f474ba2931be8de19a550f332a96758810394d28a2ed0d0ebb26efc1113a0268
|
|
BLAKE2b-256 checksum How to use checksums |
545cc7c9f5d8085d900fdc3e733daf132ec28d89b3e352a449fcf80e4a2060bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.6
|