Example Project Structure for a Python / PyPI Project
Project description
Documentation
Example Project Structure for a Python / PyPI Project
Installation
Note that this supports Python 3 ONLY
Basic Usage
Warning eggs are deprecated in favor of wheels, and not supported by pip.
This project is a sample template used to aggregate the process of:
- Laying out a python project
- Using setuptools build system to
- to facilitate packaging Python projects
- Python package and module definitions
- Distribution package metadata
- Project installation
Outline the process to
- Create Python Eggs - a single-file importable distribution format
- Automatically include all packages in your source tree, without listing them individually in setup.py
- Automatically generate wrapper scripts or Windows (console and GUI) .exe files for any number of “main” functions in your project. (Note: this is not a py2exe replacement; the .exe files rely on the local Python installation.)
Command Reference
https://setuptools.readthedocs.io/en/latest/setuptools.html#command-reference
For example, to produce a source distribution, simply invoke:
>>> python setup.py sdist
Detailed instructions to distribute a setuptools project can be found at Packaging project tutorials. https://packaging.python.org/tutorials/packaging-projects/#generating-distribution-archives
Before you begin, make sure you have the latest versions of setuptools and wheel:
>>> python -m pip install --user --upgrade setuptools wheel
To build a setuptools project, run this command from the same directory where setup.py is located:
>>> python setup.py sdist bdist_wheel
This will generate distribution archives in the dist directory.
Uploading to test.pypi.org
Before you upload the generated archives make sure you’re registered on https://test.pypi.org/account/register/.
You will also need to verify your email to be able to upload any packages. You should install twine to be able to upload packages:
>>> python -m pip install --user --upgrade twine
Now, to upload these archives, run:
>>> python -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*
To install your newly uploaded package example_pkg, you can use pip:
>>> python -m pip install --index-url https://test.pypi.org/simple/ example_pkg
If you have issues at any point, please refer to Packaging project tutorials for clarification.
Credits
Patrick Shiel: github.com/patrickshiel
License
MIT License
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
Built Distributions
Hashes for pyprojecttemplate-0.2.0-py3.8.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f4c992e03b820fec58acf8aae4f9c8c29d9c95bbdb7d7c0d6b3e7dee54b8dea |
|
MD5 | e27754e3aa885bf778c567abdc7fd44b |
|
BLAKE2-256 | 12c7a13371eaba329206f7ae7aacb2047b3b9fb23b9bf1728a14cbfe076ae9dc |
Hashes for pyprojecttemplate-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f7a8d982f67113b1e1f24ddc4dfc292b1fc0c8640766c6f1b9e54e57e4ff348 |
|
MD5 | abfac22e411de17dc8bacdffac3001dd |
|
BLAKE2-256 | 1dff42328fcf47375bc93d368d0a57c9c962c95e438d1709a4fc7ce78069f81d |