stevedore


Namestevedore JSON
Version 5.4.0 PyPI version JSON
download
home_pagehttps://docs.openstack.org/stevedore/latest/
SummaryManage dynamic plugins for Python applications
upload_time2024-11-20 10:08:35
maintainerNone
docs_urlNone
authorOpenStack
requires_python>=3.9
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ===========================================================
stevedore -- Manage dynamic plugins for Python applications
===========================================================

.. image:: https://img.shields.io/pypi/v/stevedore.svg
    :target: https://pypi.org/project/stevedore/
    :alt: Latest Version

.. image:: https://governance.openstack.org/tc/badges/stevedore.svg
    :target: https://governance.openstack.org/tc/reference/tags/index.html

Python makes loading code dynamically easy, allowing you to configure
and extend your application by discovering and loading extensions
("*plugins*") at runtime. Many applications implement their own
library for doing this, using ``__import__`` or ``importlib``.
stevedore avoids creating yet another extension
mechanism by building on top of `setuptools entry points`_. The code
for managing entry points tends to be repetitive, though, so stevedore
provides manager classes for implementing common patterns for using
dynamically loaded extensions.

.. _setuptools entry points: http://setuptools.readthedocs.io/en/latest/pkg_resources.html?#entry-points

* Free software: Apache license
* Documentation: https://docs.openstack.org/stevedore/latest
* Source: https://opendev.org/openstack/stevedore
* Bugs: https://bugs.launchpad.net/python-stevedore




            

Raw data

            {
    "_id": null,
    "home_page": "https://docs.openstack.org/stevedore/latest/",
    "name": "stevedore",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": null,
    "author": "OpenStack",
    "author_email": "openstack-discuss@lists.openstack.org",
    "download_url": "https://files.pythonhosted.org/packages/4a/e9/4eedccff8332cc40cc60ddd3b28d4c3e255ee7e9c65679fa4533ab98f598/stevedore-5.4.0.tar.gz",
    "platform": null,
    "description": "===========================================================\nstevedore -- Manage dynamic plugins for Python applications\n===========================================================\n\n.. image:: https://img.shields.io/pypi/v/stevedore.svg\n    :target: https://pypi.org/project/stevedore/\n    :alt: Latest Version\n\n.. image:: https://governance.openstack.org/tc/badges/stevedore.svg\n    :target: https://governance.openstack.org/tc/reference/tags/index.html\n\nPython makes loading code dynamically easy, allowing you to configure\nand extend your application by discovering and loading extensions\n(\"*plugins*\") at runtime. Many applications implement their own\nlibrary for doing this, using ``__import__`` or ``importlib``.\nstevedore avoids creating yet another extension\nmechanism by building on top of `setuptools entry points`_. The code\nfor managing entry points tends to be repetitive, though, so stevedore\nprovides manager classes for implementing common patterns for using\ndynamically loaded extensions.\n\n.. _setuptools entry points: http://setuptools.readthedocs.io/en/latest/pkg_resources.html?#entry-points\n\n* Free software: Apache license\n* Documentation: https://docs.openstack.org/stevedore/latest\n* Source: https://opendev.org/openstack/stevedore\n* Bugs: https://bugs.launchpad.net/python-stevedore\n\n\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Manage dynamic plugins for Python applications",
    "version": "5.4.0",
    "project_urls": {
        "Homepage": "https://docs.openstack.org/stevedore/latest/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8f73d0091d22a65b55e8fb6aca7b3b6713b5a261dd01cec4cfd28ed127ac0cfc",
                "md5": "1e09b7fe86ace2b403e93b8b7f4a5aae",
                "sha256": "b0be3c4748b3ea7b854b265dcb4caa891015e442416422be16f8b31756107857"
            },
            "downloads": -1,
            "filename": "stevedore-5.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1e09b7fe86ace2b403e93b8b7f4a5aae",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 49534,
            "upload_time": "2024-11-20T10:08:34",
            "upload_time_iso_8601": "2024-11-20T10:08:34.145024Z",
            "url": "https://files.pythonhosted.org/packages/8f/73/d0091d22a65b55e8fb6aca7b3b6713b5a261dd01cec4cfd28ed127ac0cfc/stevedore-5.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4ae94eedccff8332cc40cc60ddd3b28d4c3e255ee7e9c65679fa4533ab98f598",
                "md5": "1e3db9ca3de028af796167fcbbea96e0",
                "sha256": "79e92235ecb828fe952b6b8b0c6c87863248631922c8e8e0fa5b17b232c4514d"
            },
            "downloads": -1,
            "filename": "stevedore-5.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "1e3db9ca3de028af796167fcbbea96e0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 513899,
            "upload_time": "2024-11-20T10:08:35",
            "upload_time_iso_8601": "2024-11-20T10:08:35.894558Z",
            "url": "https://files.pythonhosted.org/packages/4a/e9/4eedccff8332cc40cc60ddd3b28d4c3e255ee7e9c65679fa4533ab98f598/stevedore-5.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-20 10:08:35",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "stevedore"
}
        
Elapsed time: 0.62941s