Name | entrypoints JSON |
Version |
0.4
JSON |
| download |
home_page | https://github.com/takluyver/entrypoints |
Summary | Discover and load entry points from installed packages. |
upload_time | 2022-02-02 21:30:28 |
maintainer | |
docs_url | https://pythonhosted.org/entrypoints/ |
author | Thomas Kluyver |
requires_python | >=3.6 |
license | |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
**This package is in maintenance-only mode.** New code should use the
`importlib.metadata module <https://docs.python.org/3/library/importlib.metadata.html>`_
in the Python standard library to find and load entry points.
Entry points are a way for Python packages to advertise objects with some
common interface. The most common examples are ``console_scripts`` entry points,
which define shell commands by identifying a Python function to run.
*Groups* of entry points, such as ``console_scripts``, point to objects with
similar interfaces. An application might use a group to find its plugins, or
multiple groups if it has different kinds of plugins.
The **entrypoints** module contains functions to find and load entry points.
You can install it from PyPI with ``pip install entrypoints``.
To advertise entry points when distributing a package, see
`entry_points in the Python Packaging User Guide
<https://packaging.python.org/guides/distributing-packages-using-setuptools/#entry-points>`_.
The ``pkg_resources`` module distributed with ``setuptools`` provides a way to
discover entrypoints as well, but it contains other functionality unrelated to
entrypoint discovery, and it does a lot of work at import time. Merely
*importing* ``pkg_resources`` causes it to scan the files of all installed
packages. Thus, in environments where a large number of packages are installed,
importing ``pkg_resources`` can be very slow (several seconds).
By contrast, ``entrypoints`` is focused solely on entrypoint discovery and it
is faster. Importing ``entrypoints`` does not scan anything, and getting a
given entrypoint group performs a more focused scan.
When there are multiple versions of the same distribution in different
directories on ``sys.path``, ``entrypoints`` follows the rule that the first
one wins. In most cases, this follows the logic of imports. Similarly,
Entrypoints relies on ``pip`` to ensure that only one ``.dist-info`` or
``.egg-info`` directory exists for each installed package. There is no reliable
way to pick which of several `.dist-info` folders accurately relates to the
importable modules.
Raw data
{
"_id": null,
"home_page": "https://github.com/takluyver/entrypoints",
"name": "entrypoints",
"maintainer": "",
"docs_url": "https://pythonhosted.org/entrypoints/",
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "",
"author": "Thomas Kluyver",
"author_email": "thomas@kluyver.me.uk",
"download_url": "https://files.pythonhosted.org/packages/ea/8d/a7121ffe5f402dc015277d2d31eb82d2187334503a011c18f2e78ecbb9b2/entrypoints-0.4.tar.gz",
"platform": "",
"description": "**This package is in maintenance-only mode.** New code should use the\n`importlib.metadata module <https://docs.python.org/3/library/importlib.metadata.html>`_\nin the Python standard library to find and load entry points.\n\nEntry points are a way for Python packages to advertise objects with some\ncommon interface. The most common examples are ``console_scripts`` entry points,\nwhich define shell commands by identifying a Python function to run.\n\n*Groups* of entry points, such as ``console_scripts``, point to objects with\nsimilar interfaces. An application might use a group to find its plugins, or\nmultiple groups if it has different kinds of plugins.\n\nThe **entrypoints** module contains functions to find and load entry points.\nYou can install it from PyPI with ``pip install entrypoints``.\n\nTo advertise entry points when distributing a package, see\n`entry_points in the Python Packaging User Guide\n<https://packaging.python.org/guides/distributing-packages-using-setuptools/#entry-points>`_.\n\nThe ``pkg_resources`` module distributed with ``setuptools`` provides a way to\ndiscover entrypoints as well, but it contains other functionality unrelated to\nentrypoint discovery, and it does a lot of work at import time. Merely\n*importing* ``pkg_resources`` causes it to scan the files of all installed\npackages. Thus, in environments where a large number of packages are installed,\nimporting ``pkg_resources`` can be very slow (several seconds).\n\nBy contrast, ``entrypoints`` is focused solely on entrypoint discovery and it\nis faster. Importing ``entrypoints`` does not scan anything, and getting a\ngiven entrypoint group performs a more focused scan.\n\nWhen there are multiple versions of the same distribution in different\ndirectories on ``sys.path``, ``entrypoints`` follows the rule that the first\none wins. In most cases, this follows the logic of imports. Similarly,\nEntrypoints relies on ``pip`` to ensure that only one ``.dist-info`` or\n``.egg-info`` directory exists for each installed package. There is no reliable\nway to pick which of several `.dist-info` folders accurately relates to the\nimportable modules.",
"bugtrack_url": null,
"license": "",
"summary": "Discover and load entry points from installed packages.",
"version": "0.4",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "1c8f717951f0d2f0125739753eda6bdc",
"sha256": "f174b5ff827504fd3cd97cc3f8649f3693f51538c7e4bdf3ef002c8429d42f9f"
},
"downloads": -1,
"filename": "entrypoints-0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1c8f717951f0d2f0125739753eda6bdc",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 5294,
"upload_time": "2022-02-02T21:30:26",
"upload_time_iso_8601": "2022-02-02T21:30:26.024667Z",
"url": "https://files.pythonhosted.org/packages/35/a8/365059bbcd4572cbc41de17fd5b682be5868b218c3c5479071865cab9078/entrypoints-0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "3acd8b72119a8fb1eac7030c24ac6b49",
"sha256": "b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4"
},
"downloads": -1,
"filename": "entrypoints-0.4.tar.gz",
"has_sig": false,
"md5_digest": "3acd8b72119a8fb1eac7030c24ac6b49",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 13974,
"upload_time": "2022-02-02T21:30:28",
"upload_time_iso_8601": "2022-02-02T21:30:28.172295Z",
"url": "https://files.pythonhosted.org/packages/ea/8d/a7121ffe5f402dc015277d2d31eb82d2187334503a011c18f2e78ecbb9b2/entrypoints-0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-02-02 21:30:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "takluyver",
"github_project": "entrypoints",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "entrypoints"
}