Skip to main content

Distribution utilities

Project description

GitHub Workflow Status (with event) GitHub coverage status

What is it?

Distlib is a library which implements low-level functions that relate to packaging and distribution of Python software. It is intended to be used as the basis for third-party packaging tools. The documentation is available at

https://distlib.readthedocs.io/

Main features

Distlib currently offers the following features:

  • The package distlib.database, which implements a database of installed distributions, as defined by PEP 376, and distribution dependency graph logic. Support is also provided for non-installed distributions (i.e. distributions registered with metadata on an index like PyPI), including the ability to scan for dependencies and building dependency graphs.

  • The package distlib.index, which implements an interface to perform operations on an index, such as registering a project, uploading a distribution or uploading documentation. Support is included for verifying SSL connections (with domain matching) and signing/verifying packages using GnuPG.

  • The package distlib.metadata, which implements distribution metadata as defined by PEP 643, PEP 566, PEP 345, PEP 314 and PEP 241.

  • The package distlib.markers, which implements environment markers as defined by PEP 508.

  • The package distlib.manifest, which implements lists of files used in packaging source distributions.

  • The package distlib.locators, which allows finding distributions, whether on PyPI (XML-RPC or via the “simple” interface), local directories or some other source.

  • The package distlib.resources, which allows access to data files stored in Python packages, both in the file system and in .zip files.

  • The package distlib.scripts, which allows installing of scripts with adjustment of shebang lines and support for native Windows executable launchers.

  • The package distlib.version, which implements version specifiers as defined by PEP 440, but also support for working with “legacy” versions and semantic versions.

  • The package distlib.wheel, which provides support for building and installing from the Wheel format for binary distributions (see PEP 427).

  • The package distlib.util, which contains miscellaneous functions and classes which are useful in packaging, but which do not fit neatly into one of the other packages in distlib.* The package implements enhanced globbing functionality such as the ability to use ** in patterns to specify recursing into subdirectories.

Python version and platform compatibility

Distlib is intended to be used on and is tested on Python versions 2.7 and 3.6 or later, pypy-2.7 and pypy3 on Linux, Windows, and macOS.

Project status

The project has reached a mature status in its development: there is a comprehensive test suite and it has been exercised on Windows, Ubuntu and macOS. The project is used by well-known projects such as pip and caniusepython3.

This project was migrated from Mercurial to Git and from BitBucket to GitHub, and although all information of importance has been retained across the migration, some commit references in issues and issue comments may have become invalid.

Code of Conduct

Everyone interacting in the distlib project’s codebases, issue trackers, chat rooms, and mailing lists is expected to follow the PyPA Code of Conduct.

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

distlib-0.4.1.tar.gz (610.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

distlib-0.4.1-py2.py3-none-any.whl (469.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file distlib-0.4.1.tar.gz.

File metadata

  • Download URL: distlib-0.4.1.tar.gz
  • Upload date:
  • Size: 610.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/24.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.15 tqdm/4.31.1 importlib-metadata/4.8.1 keyring/21.2.1 rfc3986/1.4.0 colorama/0.4.3 CPython/3.6.7

File hashes

Hashes for distlib-0.4.1.tar.gz
Algorithm Hash digest
SHA256 c3804d0d2d4b5fcd44036eb860cb6660485fcdf5c2aba53dc324d805837ea65b
MD5 403dcdee257009e05571b97f9e5bd394
BLAKE2b-256 86b2d6fc3f2347f43dada79e5ff118493e8109c98400a0e29a1d5264a3aa479b

See more details on using hashes here.

File details

Details for the file distlib-0.4.1-py2.py3-none-any.whl.

File metadata

  • Download URL: distlib-0.4.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 469.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/24.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.15 tqdm/4.31.1 importlib-metadata/4.8.1 keyring/21.2.1 rfc3986/1.4.0 colorama/0.4.3 CPython/3.6.7

File hashes

Hashes for distlib-0.4.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9c2c552c68cbadc619f2d0ed3a69e27c351a3f4c9baa9ffb7df9e9cdc3d19a97
MD5 778b46e932cda4a1761a43b2902eec64
BLAKE2b-256 25183497c4fa83a76dcb154923fd2075522e8dd6995ecee4093c00ae18160046

See more details on using hashes here.

Supported by

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