Python Project Wizard
A tool for creating skeleton python project, built with popular develop tools and conform to the best practice.
Features
This tool will create Python project with the following features:
- Poetry: Manage version, dependancy, build and release
- Mkdocs: Writting your docs in markdown style
- Testing with Pytest (unittest is still supported out of the box)
- Code coverage report and endorsed by Codecov
- Tox: Test your code against environment matrix, lint and artifact check.
- Format with Black and Isort
- Lint code with Flake8 and Flake8-docstrings
- Pre-commit hooks: Formatting/linting anytime when commit/run local tox/CI
- Mkdocstrings: Auto API doc generation and docstring template (vscode and its extension autodocStrings is required)
- Command line interface using Python Fire (optional)
- Continuouse Integration/Deployment by github actions, includes:
- publish dev build/official release to TestPyPI/PyPI automatically when CI success
- publish documents automatically when CI success
- extract change log from github and integrate with release notes automatically
- Host your documentation from Git Pages with zero-config
- Support multiple versions of documentations (by mike)
- Create repo and push initial commits by repo.sh script
Quickstart
Install ppw if you haven't install it yet:
pip install -U ppw
Generate a Python package project by simple run:
ppw
Then follow the Tutorial to finish configurations.
Credits
This repo is forked from audreyr/cookiecutter-pypackage, and borrowed some ideas from briggySmalls
Links
cfg4py
cfg4py is a great tool for managing configuration files, supporting configuration for different environments (dev, prodction and test), automatically converting yaml-based configuration to python class, so, you can access configuration items by attribute, thus, enable auto-completion (by IDE). It also supports live-reload, remoting central configuration, config template and more.
Metadata
Release files for ppw 1.3.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ppw-1.3.5.tar.gz | 21.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ppw-1.3.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.0 kB
Release files / ppw-1.3.5.tar.gz
| Download URL | ppw-1.3.5.tar.gz |
|---|---|
| Size | 21.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0a3e85f5241a7abda823dc810292b7a6058281c78a5f90a73a435928a0499369
|
|
BLAKE2b-256 checksum How to use checksums |
c7db1cfa622b462cc964e08bbb5f0385a544af4a2299e46be0db01e4291d2c64
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / ppw-1.3.5-py3-none-any.whl
| Download URL | ppw-1.3.5-py3-none-any.whl |
|---|---|
| Size | 31.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
516d56ac10d47a854b6354884e0933ab9888ddefa820228fdc60ed421da5e8c3
|
|
BLAKE2b-256 checksum How to use checksums |
072061486c5f9c1c81ce759e303a89daaff3aac60e6b719b92ce3177cbbfec5c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|