Skip to main content

Packing using pyproject.tom and hatchling

Project description

Package using pyproject.toml

Creating the package files

packaging_tutorial/
├── LICENSE
├── pyproject.toml
├── README.md
├── src/
│   └── your_package_YOUR_USERNAME_HERE/
│       ├── __init__.py
│       └── example.py
└── tests/

Choosing a build backend

Tools like pip and build do not actually convert your sources into a distribution package (like a wheel); that job is performed by a build backend.

The build backend determines how your project will specify its configuration, including metadata (information about the project, for example, the name and tags that are displayed on PyPI) and input files.

Build backends have different levels of functionality, such as whether they support building extension modules, and you should choose one that suits your needs and preferences.

  1. Hatchling
  2. setuptools
  3. Flit
  4. PDM

others that support the [project] table for metadata. The pyproject.toml tells build frontend tools like pip and build which backend to use for your project.

Generating distribution archives

python3 -m pip install --upgrade build

python3 -m build

Uploading the distribution archives

python3 -m pip install --upgrade twine

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

toml_package-0.0.1.tar.gz (3.1 kB view hashes)

Uploaded Source

Built Distribution

toml_package-0.0.1-py3-none-any.whl (2.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page