Contents  Menu  Expand  Light mode  Dark mode  Auto light/dark mode

Hide navigation sidebar

Hide table of contents sidebar

Toggle site navigation sidebar

_ _

[ Python Packaging User Guide  ](../)

Toggle Light / Dark / Auto color theme

Toggle table of contents sidebar

_ _

[ Python Packaging User Guide  ](../)

  * [ Overview of Python Packaging ](../overview/)
  * [ The Packaging Flow ](../flow/)
  * [ Tutorials ](../tutorials/)

Toggle navigation of Tutorials

_ _

    * [ Installing Packages ](../tutorials/installing-packages/)
    * [ Managing Application Dependencies ](../tutorials/managing-dependencies/)
    * [ Packaging Python Projects ](../tutorials/packaging-projects/)
  * [ Guides ](../guides/)

Toggle navigation of Guides

_ _

    * [ Installation ](../guides/section-install/)

Toggle navigation of Installation

_ _

      * [ Install packages in a virtual environment using pip and venv ](../guides/installing-using-pip-and-virtual-environments/)
      * [ Installing packages using virtualenv ](../guides/installing-using-virtualenv/)
      * [ Installing stand alone command line tools ](../guides/installing-stand-alone-command-line-tools/)
      * [ Installing pip/setuptools/wheel with Linux Package Managers ](../guides/installing-using-linux-tools/)
      * [ Installing scientific packages ](../guides/installing-scientific-packages/)
    * [ Building and Publishing ](../guides/section-build-and-publish/)

Toggle navigation of Building and Publishing

_ _

      * [ Writing your ` pyproject.toml  ` ](../guides/writing-pyproject-toml/)
      * [ Packaging and distributing projects ](../guides/distributing-packages-using-setuptools/)
      * [ Single-sourcing the package version ](../guides/single-sourcing-package-version/)
      * [ Dropping support for older Python versions ](../guides/dropping-older-python-versions/)
      * [ Packaging binary extensions ](../guides/packaging-binary-extensions/)
      * [ Packaging namespace packages ](../guides/packaging-namespace-packages/)
      * [ Creating and discovering plugins ](../guides/creating-and-discovering-plugins/)
      * [ Using TestPyPI ](../guides/using-testpypi/)
      * [ Making a PyPI-friendly README ](../guides/making-a-pypi-friendly-readme/)
      * [ Publishing package distribution releases using GitHub Actions CI/CD workflows ](../guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/)
      * [ How to modernize a ` setup.py  ` based project? ](../guides/modernize-setup-py-project/)
    * [ Hosting ](../guides/section-hosting/)

Toggle navigation of Hosting

_ _

      * [ Package index mirrors and caches ](../guides/index-mirrors-and-caches/)
      * [ Hosting your own simple repository ](../guides/hosting-your-own-index/)
    * [ Tool recommendations ](../guides/tool-recommendations/)
    * [ Analyzing PyPI package downloads ](../guides/analyzing-pypi-package-downloads/)
  * [ Discussions ](../discussions/)

Toggle navigation of Discussions

_ _

    * [ Versioning ](../discussions/versioning/)
    * [ Deploying Python applications ](../discussions/deploying-python-applications/)
    * [ pip vs easy_install ](../discussions/pip-vs-easy-install/)
    * [ install_requires vs requirements files ](../discussions/install-requires-vs-requirements/)
    * [ Distribution package vs. import package ](../discussions/distribution-package-vs-import-package/)
    * [ Package Formats ](../discussions/package-formats/)
    * [ src layout vs flat layout ](../discussions/src-layout-vs-flat-layout/)
    * [ Is ` setup.py  ` deprecated? ](../discussions/setup-py-deprecated/)
  * [ PyPA specifications ](../specifications/)

Toggle navigation of PyPA specifications

_ _

    * [ Package Distribution Metadata ](../specifications/section-distribution-metadata/)

Toggle navigation of Package Distribution Metadata

_ _

      * [ Names and normalization ](../specifications/name-normalization/)
      * [ Core metadata specifications ](../sp