python-project-wizard

A tool for creating skeleton python project, built with popular develop tools and conform to best practice.

BSD-3-CLAUSE License

Downloads
378
Stars
128
Committers
89

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.

Package Rankings
Top 12.27% on Pypi.org
Badges
Extracted from project README
Version CI Status Dowloads License Style
Related Projects