зеркало из https://github.com/mozilla/gecko-dev.git
113 строки
4.0 KiB
Plaintext
113 строки
4.0 KiB
Plaintext
Metadata-Version: 1.2
|
|
Name: pluggy
|
|
Version: 0.6.0
|
|
Summary: plugin and hook calling mechanisms for python
|
|
Home-page: https://github.com/pytest-dev/pluggy
|
|
Author: Holger Krekel
|
|
Author-email: holger@merlinux.eu
|
|
License: MIT license
|
|
Description-Content-Type: UNKNOWN
|
|
Description: pluggy - A minimalist production ready plugin system
|
|
====================================================
|
|
|pypi| |anaconda| |versions| |travis| |appveyor|
|
|
|
|
|
|
This is the core framework used by the `pytest`_, `tox`_, and `devpi`_ projects.
|
|
|
|
Please `read the docs`_ to learn more!
|
|
|
|
A definitive example
|
|
********************
|
|
.. code-block:: python
|
|
|
|
import pluggy
|
|
|
|
hookspec = pluggy.HookspecMarker("myproject")
|
|
hookimpl = pluggy.HookimplMarker("myproject")
|
|
|
|
|
|
class MySpec(object):
|
|
"""A hook specification namespace.
|
|
"""
|
|
@hookspec
|
|
def myhook(self, arg1, arg2):
|
|
"""My special little hook that you can customize.
|
|
"""
|
|
|
|
|
|
class Plugin_1(object):
|
|
"""A hook implementation namespace.
|
|
"""
|
|
@hookimpl
|
|
def myhook(self, arg1, arg2):
|
|
print("inside Plugin_1.myhook()")
|
|
return arg1 + arg2
|
|
|
|
|
|
class Plugin_2(object):
|
|
"""A 2nd hook implementation namespace.
|
|
"""
|
|
@hookimpl
|
|
def myhook(self, arg1, arg2):
|
|
print("inside Plugin_2.myhook()")
|
|
return arg1 - arg2
|
|
|
|
|
|
# create a manager and add the spec
|
|
pm = pluggy.PluginManager("myproject")
|
|
pm.add_hookspecs(MySpec)
|
|
|
|
# register plugins
|
|
pm.register(Plugin_1())
|
|
pm.register(Plugin_2())
|
|
|
|
# call our `myhook` hook
|
|
results = pm.hook.myhook(arg1=1, arg2=2)
|
|
print(results)
|
|
|
|
|
|
.. badges
|
|
.. |pypi| image:: https://img.shields.io/pypi/v/pluggy.svg
|
|
:target: https://pypi.python.org/pypi/pluggy
|
|
.. |versions| image:: https://img.shields.io/pypi/pyversions/pluggy.svg
|
|
:target: https://pypi.python.org/pypi/pluggy
|
|
.. |travis| image:: https://img.shields.io/travis/pytest-dev/pluggy/master.svg
|
|
:target: https://travis-ci.org/pytest-dev/pluggy
|
|
.. |appveyor| image:: https://img.shields.io/appveyor/ci/pytestbot/pluggy/master.svg
|
|
:target: https://ci.appveyor.com/project/pytestbot/pluggy
|
|
.. |anaconda| image:: https://anaconda.org/conda-forge/pluggy/badges/version.svg
|
|
:target: https://anaconda.org/conda-forge/pluggy
|
|
|
|
.. links
|
|
.. _pytest:
|
|
http://pytest.org
|
|
.. _tox:
|
|
https://tox.readthedocs.org
|
|
.. _devpi:
|
|
http://doc.devpi.net
|
|
.. _read the docs:
|
|
https://pluggy.readthedocs.io/en/latest/
|
|
|
|
Platform: unix
|
|
Platform: linux
|
|
Platform: osx
|
|
Platform: win32
|
|
Classifier: Development Status :: 4 - Beta
|
|
Classifier: Intended Audience :: Developers
|
|
Classifier: License :: OSI Approved :: MIT License
|
|
Classifier: Operating System :: POSIX
|
|
Classifier: Operating System :: Microsoft :: Windows
|
|
Classifier: Operating System :: MacOS :: MacOS X
|
|
Classifier: Topic :: Software Development :: Testing
|
|
Classifier: Topic :: Software Development :: Libraries
|
|
Classifier: Topic :: Utilities
|
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
Classifier: Programming Language :: Python :: 2
|
|
Classifier: Programming Language :: Python :: 2.7
|
|
Classifier: Programming Language :: Python :: 3
|
|
Classifier: Programming Language :: Python :: 3.4
|
|
Classifier: Programming Language :: Python :: 3.5
|
|
Classifier: Programming Language :: Python :: 3.6
|
|
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
|