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 | Provenance | Actions |
|---|---|---|---|---|
| perf_py_pkg-0.0.3.tar.gz | 4.4 kB | Without provenance | Details for perf_py_pkg-0.0.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| perf_py_pkg-0.0.3-py3-none-any.whl | Python 3 | none | any | Details for perf_py_pkg-0.0.3-py3-none-any.whl |
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
|
Security for perf-py-pkg 0.0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.