# Python Project Wizard
A tool for creating skeleton python project, built with popular develop tools and
conform to the best practice.
[![Version](http://img.shields.io/pypi/v/ppw?color=brightgreen)](https://pypi.python.org/pypi/ppw)
[![CI Status](https://github.com/zillionare/python-project-wizard/actions/workflows/release.yml/badge.svg)](https://github.com/zillionare/python-project-wizard)
[![Dowloads](https://img.shields.io/pypi/dm/ppw)](https://pypi.org/project/ppw/)
[![License](https://img.shields.io/pypi/l/ppw)](https://opensource.org/licenses/BSD-2-Clause)
![Python Versions](https://img.shields.io/pypi/pyversions/ppw)
[![Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
## 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]
[poetry]: https://python-poetry.org/
[mkdocs]: https://www.mkdocs.org
[pytest]: https://pytest.org
[codecov]: https://codecov.io
[tox]: https://tox.readthedocs.io
[black]: https://github.com/psf/black
[isort]: https://github.com/PyCQA/isort
[flake8]: https://flake8.pycqa.org
[flake8-docstrings]: https://pypi.org/project/flake8-docstrings/
[mkdocstrings]: https://mkdocstrings.github.io/
[Python Fire]: https://github.com/google/python-fire
[github actions]: https://github.com/features/actions
[Git Pages]: https://pages.github.com
[Pre-commit hooks]: https://pre-commit.com/
[mike]: https://github.com/jimporter/mike
[autoDocStrings]: https://marketplace.visualstudio.com/items?itemName=njpwerner.autodocstring
[Tutorial]: https://zillionare.github.io/python-project-wizard/tutorial/
[audreyr/cookiecutter-pypackage]: https://github.com/audreyr/cookiecutter-pypackage
[briggySmalls]: https://github.com/briggySmalls/cookiecutter-pypackage
# Links
## cfg4py
[cfg4py](https://pypi.org/project/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.
Raw data
{
"_id": null,
"home_page": "https://github.com/zillionare/python-project-wizard",
"name": "ppw",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "",
"keywords": "cookiecutter,template,package",
"author": "Aaron Yang",
"author_email": "aaron_yang@jieyu.ai",
"download_url": "https://files.pythonhosted.org/packages/c7/db/1cfa622b462cc964e08bbb5f0385a544af4a2299e46be0db01e4291d2c64/ppw-1.3.5.tar.gz",
"platform": null,
"description": "# Python Project Wizard\n\nA tool for creating skeleton python project, built with popular develop tools and\nconform to the best practice.\n\n[![Version](http://img.shields.io/pypi/v/ppw?color=brightgreen)](https://pypi.python.org/pypi/ppw)\n[![CI Status](https://github.com/zillionare/python-project-wizard/actions/workflows/release.yml/badge.svg)](https://github.com/zillionare/python-project-wizard)\n[![Dowloads](https://img.shields.io/pypi/dm/ppw)](https://pypi.org/project/ppw/)\n[![License](https://img.shields.io/pypi/l/ppw)](https://opensource.org/licenses/BSD-2-Clause)\n![Python Versions](https://img.shields.io/pypi/pyversions/ppw)\n[![Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\n\n## Features\n\nThis tool will create Python project with the following features:\n\n* [Poetry]: Manage version, dependancy, build and release\n* [Mkdocs]: Writting your docs in markdown style\n* Testing with [Pytest] (unittest is still supported out of the box)\n* Code coverage report and endorsed by [Codecov]\n* [Tox]: Test your code against environment matrix, lint and artifact check.\n* Format with [Black] and [Isort]\n* Lint code with [Flake8] and [Flake8-docstrings]\n* [Pre-commit hooks]: Formatting/linting anytime when commit/run local tox/CI\n* [Mkdocstrings]: Auto API doc generation and docstring template (vscode and its extension [autodocStrings] is required)\n* Command line interface using [Python Fire] (optional)\n* Continuouse Integration/Deployment by [github actions], includes:\n - publish dev build/official release to TestPyPI/PyPI automatically when CI success\n - publish documents automatically when CI success\n - extract change log from github and integrate with release notes automatically\n* Host your documentation from [Git Pages] with zero-config\n* Support multiple versions of documentations (by [mike])\n* Create repo and push initial commits by repo.sh script\n\n## Quickstart\n\nInstall ppw if you haven't install it yet:\n\n```\n pip install -U ppw\n```\n\nGenerate a Python package project by simple run:\n\n```\n ppw\n```\n\nThen follow the **[Tutorial]** to finish configurations.\n\n# Credits\n\nThis repo is forked from [audreyr/cookiecutter-pypackage], and borrowed some ideas from [briggySmalls]\n\n\n[poetry]: https://python-poetry.org/\n[mkdocs]: https://www.mkdocs.org\n[pytest]: https://pytest.org\n[codecov]: https://codecov.io\n[tox]: https://tox.readthedocs.io\n[black]: https://github.com/psf/black\n[isort]: https://github.com/PyCQA/isort\n[flake8]: https://flake8.pycqa.org\n[flake8-docstrings]: https://pypi.org/project/flake8-docstrings/\n[mkdocstrings]: https://mkdocstrings.github.io/\n[Python Fire]: https://github.com/google/python-fire\n[github actions]: https://github.com/features/actions\n[Git Pages]: https://pages.github.com\n[Pre-commit hooks]: https://pre-commit.com/\n[mike]: https://github.com/jimporter/mike\n[autoDocStrings]: https://marketplace.visualstudio.com/items?itemName=njpwerner.autodocstring\n[Tutorial]: https://zillionare.github.io/python-project-wizard/tutorial/\n[audreyr/cookiecutter-pypackage]: https://github.com/audreyr/cookiecutter-pypackage\n[briggySmalls]: https://github.com/briggySmalls/cookiecutter-pypackage\n\n# Links\n## cfg4py\n[cfg4py](https://pypi.org/project/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.\n\n",
"bugtrack_url": null,
"license": "BSD-3-Clause",
"summary": "A Wizard to create a skeleton python project with up-to-date technology",
"version": "1.3.5",
"project_urls": {
"Documentation": "https://zillionare.github.io/python-project-wizard/",
"Homepage": "https://github.com/zillionare/python-project-wizard",
"Repository": "https://github.com/zillionare/python-project-wizard"
},
"split_keywords": [
"cookiecutter",
"template",
"package"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "072061486c5f9c1c81ce759e303a89daaff3aac60e6b719b92ce3177cbbfec5c",
"md5": "06163aeb5db4476101798e17fe21c5ee",
"sha256": "516d56ac10d47a854b6354884e0933ab9888ddefa820228fdc60ed421da5e8c3"
},
"downloads": -1,
"filename": "ppw-1.3.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "06163aeb5db4476101798e17fe21c5ee",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 31255,
"upload_time": "2023-09-09T10:28:27",
"upload_time_iso_8601": "2023-09-09T10:28:27.946149Z",
"url": "https://files.pythonhosted.org/packages/07/20/61486c5f9c1c81ce759e303a89daaff3aac60e6b719b92ce3177cbbfec5c/ppw-1.3.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c7db1cfa622b462cc964e08bbb5f0385a544af4a2299e46be0db01e4291d2c64",
"md5": "2bb01f274ba39d328a31e8605097b46d",
"sha256": "0a3e85f5241a7abda823dc810292b7a6058281c78a5f90a73a435928a0499369"
},
"downloads": -1,
"filename": "ppw-1.3.5.tar.gz",
"has_sig": false,
"md5_digest": "2bb01f274ba39d328a31e8605097b46d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 21710,
"upload_time": "2023-09-09T10:28:29",
"upload_time_iso_8601": "2023-09-09T10:28:29.667831Z",
"url": "https://files.pythonhosted.org/packages/c7/db/1cfa622b462cc964e08bbb5f0385a544af4a2299e46be0db01e4291d2c64/ppw-1.3.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-09 10:28:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "zillionare",
"github_project": "python-project-wizard",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "ppw"
}