create-python-package ¶
Overview ¶
Initialize a new package using best practices as described by the Python Packaging Authority (PyPA) . Perfect for beginners and experts alike. Stop writing boilerplate and start coding.
Generates a project similar to the Python Packaging Authority’s sample project , but with various parts autogenerated based on your inputs.
Features ¶
-
Creates a battle-tested directory structure with boilterplate for unit tests, license,
`setup.py
< https://github.com/pypa/sampleproject/blob/master/setup.py >`__ and more -
Sets you up with popular Python environment managers such as venv and Pipenv
-
Initializes a git repository for you with a .gitignore file
Usage ¶
This package ships with one CLI entrypoint,
create-python-package
.
To interactively answer questions about your project, such as author, license, etc.
$ create-python-package
You will then be prompted with questions such as
question version (0.0.0.1):
question description ():
question entry point (main.py):
question repository url ():
question author (Your Name):
question email (email@doman.com):
question environment management (venv) (options: venv, pipenv, poetry):
question license (mit) (options: mit, gplv3, apache2, bsd3):
These are used to populate setup.py and other files to give you as painless experience as possible when starting a new project.
To use defaults and skip interactive prompts, use the
--yes
flag
$ create-python-package --yes
Installation ¶
Python 3.6+ is required
using pip ¶
pip install --user create-python-package
using pipx ¶
`pipx <https://github.com/pipxproject/pipx>`__ allows you to run Python binaries directly, or install packages into isolated virtual environments and add their binaries to your PATH
pipx run create-python-package
or install with
pipx install create-python-package
Generated Directory Structure ¶
>> pipx run create-python-package examplepackage --yes
>> tree -L 2 examplepackage/
examplepackage/
├── examplepackage
│ ├── __init__.py
│ └── main.py
├── LICENSE
├── makefile
├── MANIFEST.in
├── README.md
├── setup.py
├── tests
│ └── test_project.py
└── venv
├── bin
├── include
├── lib
├── lib64 -> lib
├── pyvenv.cfg
└── share
Credits ¶
Inspired by create-react-app