Version specifiers - Python Packaging User Guide

packaging.python.org

Tin mới

Python Packaging User Guide

Overview of Python Packaging

The Packaging Flow

Installing Packages

Managing Application Dependencies

Packaging Python Projects

Install packages in a virtual environment using pip and venv

Installing packages using virtualenv

Installing stand alone command line tools

Installing pip/setuptools/wheel with Linux Package Managers

Installing scientific packages

Building and Publishing

Writing your pyproject.toml

Packaging and distributing projects

Dropping support for older Python versions

Packaging binary extensions

Packaging namespace packages

Creating and packaging command-line tools

Creating and discovering plugins

Making a PyPI-friendly README

Publishing package distribution releases using GitHub Actions CI/CD workflows

How to modernize a setup.py based project?

Licensing examples and user scenarios

Package index mirrors and caches

Hosting your own simple repository

Tool recommendations

Analyzing PyPI package downloads

Deploying Python applications

pip vs easy_install

install_requires vs requirements files

Distribution package vs. import package

src layout vs flat layout

Is setup.py deprecated?

Single-sourcing the Project Version

Supporting downstream packaging

PyPA specifications

Package Distribution Metadata

Names and normalization

Core metadata specifications

Dependency specifiers

pyproject.toml specification

Inline script metadata

Platform compatibility tags

Well-known Project URLs in Metadata

License Expression

Package Installation Metadata

Recording installed projects

Entry points specification

Recording the Direct URL Origin of installed distributions

Direct URL Data Structure