Skip to main content

importlib_metadata is a library to access the metadata for a Python package. It is intended to be ported to Python 3.8.

Usage

importlib_metadata, unlike its sister packages importlib and importlib.resources, operates on Python Distribution packages (the package as installed by pip or similar).

This module exposes a few functions:

metadata takes a distribution package name and returns the metadata for that package (as email.Message).

version takes a distribution package name and returns the version for that package.

entry_points takes a distribution package name and returns a structure of entry points declared by that package.

resolve accepts an entry point as returned by entry_points and resolves it to the module or callable that it references.

read_text takes the distribution package name and a filename in that package’s info directory and return the text of that file.

Support for Custom Package Installers

importlib_metadata provides hooks for third-party package installers through their declared finders. A custom installer, if it provides its own finder for installed packages, should also provide on that finder a find_distribution callable that when called with the name of a package will return a Distribution instance capable of loading the metadata for that named package (or None if that finder has no knowledge of that package or its metadata).

Caveats

This project primarily supports third-party packages installed by PyPA tools (or other conforming packages). It does not support:

  • Packages in the stdlib.

  • Packages installed without metadata.

  • Packages installed as eggs.

Eggs

Not only does importlib_metadata not support loading metadata from eggs, it will crash when it attempts to load metadata for any package that’s an egg.

easy_install creates eggs when installing packages, which is why you should use pip to install packages. pip never installs eggs. There are some cases, however, where a project’s usage may not be able to avoid easy_install. In particular, if a project uses setup.py test, any install_requires of that project that aren’t already installed will be installed using easy_install. Additionally, any project defining setup_requires may get those dependencies installed as eggs if those dependencies aren’t met before setup.py is invoked (for any command).

Because importlib_metadata doesn’t support loading metadata from eggs and because importlib_metadata calls itself to get its own version, simply importing importlib_metadata will fail if it is installed as an egg. Any package that incorporates importlib_metadata (directly or indirectly) should be prepared to guide its users to tools that avoid installing eggs (such as pip and tox).

More detail and discussion can be found at issue 19.

Project details

Metadata

Release files for importlib-metadata 0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for importlib-metadata 0.7
File Size Uploaded
importlib_metadata-0.7.tar.gz 16.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for importlib-metadata 0.7
File Interpreter ABI Platform
importlib_metadata-0.7-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 33.7 kB

Release files / importlib_metadata-0.7.tar.gz

Download URL importlib_metadata-0.7.tar.gz
Size 16.7 kB
Tags Source
SHA-256 checksum
How to use checksums
28fba9f65e5415a691dd254cdb602bcc4d6f738e68407ad251651db358b63bcf
BLAKE2b-256 checksum
How to use checksums
637824cf79040fdd5d9c9cfd060317846c6b71c2ba8c5f98ab17a306aa168f81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.2

Release files / importlib_metadata-0.7-py2.py3-none-any.whl

Download URL importlib_metadata-0.7-py2.py3-none-any.whl
Size 17.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
4a545e6125dc72b4ad98201ea3f40f92e8126e3a19667352b3a134d22b8bc74f
BLAKE2b-256 checksum
How to use checksums
d3509c436e4ac464f16e271e34e6c79b9c753e7e1a80b0ebd86da9b99de182ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.2

Release history Release notifications | RSS feed

9.0.1

2 release files

9.0.0

2 release files

8.9.0

2 release files

8.8.0

2 release files

8.7.1

2 release files

8.7.0

2 release files

8.6.1

2 release files

8.6.0

2 release files

8.5.0

2 release files

8.4.0

2 release files

8.3.0

2 release files

8.2.0

2 release files

8.1.0

2 release files

8.0.0

2 release files

7.2.1

2 release files

7.2.0

2 release files

7.1.0

2 release files

7.0.2

2 release files

7.0.1

2 release files

7.0.0

2 release files

6.9.0

2 release files

6.8.0

2 release files

6.7.0

2 release files

6.6.0

2 release files

6.5.1

2 release files

6.5.0

2 release files

6.4.1

2 release files

6.4.0

2 release files

6.3.0

2 release files

6.2.1

2 release files

6.2.0

2 release files

6.1.0

2 release files

6.0.1

2 release files

6.0.0

2 release files

5.2.0

2 release files

5.1.0

2 release files

5.0.0

2 release files

4.12.0

2 release files

4.11.4

2 release files

4.11.3

2 release files

4.11.2

2 release files

4.11.1

2 release files

4.11.0

2 release files

4.10.1

2 release files

4.10.0

2 release files

4.9.0

2 release files

4.8.3

2 release files

4.8.2

2 release files

4.8.1

2 release files

4.8.0

2 release files

4.7.1

2 release files

4.7.0

2 release files

4.6.4

2 release files

4.6.3

2 release files

4.6.2

2 release files

4.6.1

2 release files

4.6.0

2 release files

4.5.0

2 release files

4.4.0

2 release files

4.3.1

2 release files

4.3.0

2 release files

4.2.0

2 release files

4.1.0

2 release files

4.0.1

2 release files

4.0.0

2 release files

3.10.1

2 release files

3.10.0

2 release files

3.9.1

2 release files

3.9.0

2 release files

3.8.2

2 release files

3.8.1

2 release files

3.8.0

2 release files

3.7.3

2 release files

3.7.2

2 release files

3.7.1

2 release files

3.7.0

2 release files

3.6.0

2 release files

3.5.0

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.0

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.7.0

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.23

2 release files

0.22

2 release files

0.21

2 release files

0.20

2 release files

0.19

2 release files

0.18

2 release files

0.17

2 release files

0.16

2 release files

0.15

2 release files

0.14

2 release files

0.13

2 release files

0.12

2 release files

0.11

2 release files

0.10

2 release files

0.9

2 release files

0.8

2 release files

This release

0.7 This release

2 release files

0.6

2 release files

0.5

2 release files

0.4

2 release files

0.3

2 release files

0.2

2 release files

0.1

2 release files

0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page