Perfect Python Package
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
perf_py_pkg-0.0.3.tar.gz
(4.4 kB
view details)
Built Distribution
File details
Details for the file perf_py_pkg-0.0.3.tar.gz
.
File metadata
- Download URL: perf_py_pkg-0.0.3.tar.gz
- Upload date:
- Size: 4.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ba7d30859a3523465a5d006e841c7841277f3c13bd90a4be2d558b74963e481 |
|
MD5 | 146adc9965f08d0341e2318bd9a647a1 |
|
BLAKE2b-256 | 9b23447d895a10983882680994cfad1fafe1176db37b495df420a8fa41a11679 |
File details
Details for the file perf_py_pkg-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: perf_py_pkg-0.0.3-py3-none-any.whl
- Upload date:
- Size: 5.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f474ba2931be8de19a550f332a96758810394d28a2ed0d0ebb26efc1113a0268 |
|
MD5 | 7a78e8b15365134878e75de44981a043 |
|
BLAKE2b-256 | 545cc7c9f5d8085d900fdc3e733daf132ec28d89b3e352a449fcf80e4a2060bc |