Publishing a Python Distribution Package in a Repository: Difference between revisions
Jump to navigation
Jump to search
Line 31: | Line 31: | ||
./.venv/bin/python -m build | ./.venv/bin/python -m build | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<font size=-2> | |||
* Creating isolated environment: venv+pip... | |||
* Installing packages in isolated environment: | |||
- hatchling | |||
* Getting build dependencies for sdist... | |||
* Building sdist... | |||
* Building wheel from sdist | |||
* Creating isolated environment: venv+pip... | |||
* Installing packages in isolated environment: | |||
- hatchling | |||
* Getting build dependencies for wheel... | |||
* Building wheel... | |||
Successfully built ofddi-0.1.0.tar.gz and ofddi-0.1.0-py3-none-any.whl | |||
</font> |
Revision as of 02:50, 6 April 2024
External
Internal
Overview
Procedure
Create the Project Layout
The project is aimed at publishing a Python package, which contains a library. The layout and required initialization work is described here:
Since we're aiming at publishing a library, the package will probably need an __init__.py
but not a __main__.py
.
Choose a Build Backend
Tools like pip
or build
do not convert the source into a distribution packages, they're just build frontends that delegate the process to a build backend. Several build backends are available, this example uses Hatchling.
Create pyproject.toml
More details:
Create the Distribution Archives
./.venv/bin/python -m pip install --upgrade build
Run the following command from the directory where the pyproject.toml
is located:
./.venv/bin/python -m build
* Creating isolated environment: venv+pip... * Installing packages in isolated environment: - hatchling * Getting build dependencies for sdist... * Building sdist... * Building wheel from sdist * Creating isolated environment: venv+pip... * Installing packages in isolated environment: - hatchling * Getting build dependencies for wheel... * Building wheel... Successfully built ofddi-0.1.0.tar.gz and ofddi-0.1.0-py3-none-any.whl