comparison env/lib/python3.9/site-packages/pluggy-0.13.1.dist-info/METADATA @ 0:4f3585e2f14b draft default tip

"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author shellac
date Mon, 22 Mar 2021 18:12:50 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4f3585e2f14b
1 Metadata-Version: 2.1
2 Name: pluggy
3 Version: 0.13.1
4 Summary: plugin and hook calling mechanisms for python
5 Home-page: https://github.com/pytest-dev/pluggy
6 Author: Holger Krekel
7 Author-email: holger@merlinux.eu
8 License: MIT license
9 Platform: unix
10 Platform: linux
11 Platform: osx
12 Platform: win32
13 Classifier: Development Status :: 4 - Beta
14 Classifier: Intended Audience :: Developers
15 Classifier: License :: OSI Approved :: MIT License
16 Classifier: Operating System :: POSIX
17 Classifier: Operating System :: Microsoft :: Windows
18 Classifier: Operating System :: MacOS :: MacOS X
19 Classifier: Topic :: Software Development :: Testing
20 Classifier: Topic :: Software Development :: Libraries
21 Classifier: Topic :: Utilities
22 Classifier: Programming Language :: Python :: Implementation :: CPython
23 Classifier: Programming Language :: Python :: Implementation :: PyPy
24 Classifier: Programming Language :: Python :: 2
25 Classifier: Programming Language :: Python :: 2.7
26 Classifier: Programming Language :: Python :: 3
27 Classifier: Programming Language :: Python :: 3.4
28 Classifier: Programming Language :: Python :: 3.5
29 Classifier: Programming Language :: Python :: 3.6
30 Classifier: Programming Language :: Python :: 3.7
31 Classifier: Programming Language :: Python :: 3.8
32 Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
33 Requires-Dist: importlib-metadata (>=0.12) ; python_version < "3.8"
34 Provides-Extra: dev
35 Requires-Dist: pre-commit ; extra == 'dev'
36 Requires-Dist: tox ; extra == 'dev'
37
38 ====================================================
39 pluggy - A minimalist production ready plugin system
40 ====================================================
41
42 |pypi| |conda-forge| |versions| |travis| |appveyor| |gitter| |black| |codecov|
43
44 This is the core framework used by the `pytest`_, `tox`_, and `devpi`_ projects.
45
46 Please `read the docs`_ to learn more!
47
48 A definitive example
49 ====================
50 .. code-block:: python
51
52 import pluggy
53
54 hookspec = pluggy.HookspecMarker("myproject")
55 hookimpl = pluggy.HookimplMarker("myproject")
56
57
58 class MySpec(object):
59 """A hook specification namespace.
60 """
61
62 @hookspec
63 def myhook(self, arg1, arg2):
64 """My special little hook that you can customize.
65 """
66
67
68 class Plugin_1(object):
69 """A hook implementation namespace.
70 """
71
72 @hookimpl
73 def myhook(self, arg1, arg2):
74 print("inside Plugin_1.myhook()")
75 return arg1 + arg2
76
77
78 class Plugin_2(object):
79 """A 2nd hook implementation namespace.
80 """
81
82 @hookimpl
83 def myhook(self, arg1, arg2):
84 print("inside Plugin_2.myhook()")
85 return arg1 - arg2
86
87
88 # create a manager and add the spec
89 pm = pluggy.PluginManager("myproject")
90 pm.add_hookspecs(MySpec)
91
92 # register plugins
93 pm.register(Plugin_1())
94 pm.register(Plugin_2())
95
96 # call our ``myhook`` hook
97 results = pm.hook.myhook(arg1=1, arg2=2)
98 print(results)
99
100
101 Running this directly gets us::
102
103 $ python docs/examples/toy-example.py
104 inside Plugin_2.myhook()
105 inside Plugin_1.myhook()
106 [-1, 3]
107
108
109 .. badges
110
111 .. |pypi| image:: https://img.shields.io/pypi/v/pluggy.svg
112 :target: https://pypi.org/pypi/pluggy
113
114 .. |versions| image:: https://img.shields.io/pypi/pyversions/pluggy.svg
115 :target: https://pypi.org/pypi/pluggy
116
117 .. |travis| image:: https://img.shields.io/travis/pytest-dev/pluggy/master.svg
118 :target: https://travis-ci.org/pytest-dev/pluggy
119
120 .. |appveyor| image:: https://img.shields.io/appveyor/ci/pytestbot/pluggy/master.svg
121 :target: https://ci.appveyor.com/project/pytestbot/pluggy
122
123 .. |conda-forge| image:: https://img.shields.io/conda/vn/conda-forge/pluggy.svg
124 :target: https://anaconda.org/conda-forge/pytest
125
126 .. |gitter| image:: https://badges.gitter.im/pytest-dev/pluggy.svg
127 :alt: Join the chat at https://gitter.im/pytest-dev/pluggy
128 :target: https://gitter.im/pytest-dev/pluggy?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
129
130 .. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
131 :target: https://github.com/ambv/black
132
133 .. |codecov| image:: https://codecov.io/gh/pytest-dev/pluggy/branch/master/graph/badge.svg
134 :target: https://codecov.io/gh/pytest-dev/pluggy
135 :alt: Code coverage Status
136
137 .. links
138 .. _pytest:
139 http://pytest.org
140 .. _tox:
141 https://tox.readthedocs.org
142 .. _devpi:
143 http://doc.devpi.net
144 .. _read the docs:
145 https://pluggy.readthedocs.io/en/latest/
146
147
148 =========
149 Changelog
150 =========
151
152 .. towncrier release notes start
153
154 pluggy 0.13.1 (2019-11-21)
155 ==========================
156
157 Trivial/Internal Changes
158 ------------------------
159
160 - `#236 <https://github.com/pytest-dev/pluggy/pull/236>`_: Improved documentation, especially with regard to references.
161
162
163 pluggy 0.13.0 (2019-09-10)
164 ==========================
165
166 Trivial/Internal Changes
167 ------------------------
168
169 - `#222 <https://github.com/pytest-dev/pluggy/issues/222>`_: Replace ``importlib_metadata`` backport with ``importlib.metadata`` from the
170 standard library on Python 3.8+.
171
172
173 pluggy 0.12.0 (2019-05-27)
174 ==========================
175
176 Features
177 --------
178
179 - `#215 <https://github.com/pytest-dev/pluggy/issues/215>`_: Switch from ``pkg_resources`` to ``importlib-metadata`` for entrypoint detection for improved performance and import time. This time with ``.egg`` support.
180
181
182 pluggy 0.11.0 (2019-05-07)
183 ==========================
184
185 Bug Fixes
186 ---------
187
188 - `#205 <https://github.com/pytest-dev/pluggy/issues/205>`_: Revert changes made in 0.10.0 release breaking ``.egg`` installs.
189
190
191 pluggy 0.10.0 (2019-05-07)
192 ==========================
193
194 Features
195 --------
196
197 - `#199 <https://github.com/pytest-dev/pluggy/issues/199>`_: Switch from ``pkg_resources`` to ``importlib-metadata`` for entrypoint detection for improved performance and import time.
198
199
200 pluggy 0.9.0 (2019-02-21)
201 =========================
202
203 Features
204 --------
205
206 - `#189 <https://github.com/pytest-dev/pluggy/issues/189>`_: ``PluginManager.load_setuptools_entrypoints`` now accepts a ``name`` parameter that when given will
207 load only entry points with that name.
208
209 ``PluginManager.load_setuptools_entrypoints`` also now returns the number of plugins loaded by the
210 call, as opposed to the number of all plugins loaded by all calls to this method.
211
212
213
214 Bug Fixes
215 ---------
216
217 - `#187 <https://github.com/pytest-dev/pluggy/issues/187>`_: Fix internal ``varnames`` function for PyPy3.
218
219
220 pluggy 0.8.1 (2018-11-09)
221 =========================
222
223 Trivial/Internal Changes
224 ------------------------
225
226 - `#166 <https://github.com/pytest-dev/pluggy/issues/166>`_: Add ``stacklevel=2`` to implprefix warning so that the reported location of warning is the caller of PluginManager.
227
228
229 pluggy 0.8.0 (2018-10-15)
230 =========================
231
232 Features
233 --------
234
235 - `#177 <https://github.com/pytest-dev/pluggy/issues/177>`_: Add ``get_hookimpls()`` method to hook callers.
236
237
238
239 Trivial/Internal Changes
240 ------------------------
241
242 - `#165 <https://github.com/pytest-dev/pluggy/issues/165>`_: Add changelog in long package description and documentation.
243
244
245 - `#172 <https://github.com/pytest-dev/pluggy/issues/172>`_: Add a test exemplifying the opt-in nature of spec defined args.
246
247
248 - `#57 <https://github.com/pytest-dev/pluggy/issues/57>`_: Encapsulate hook specifications in a type for easier introspection.
249
250
251 pluggy 0.7.1 (2018-07-28)
252 =========================
253
254 Deprecations and Removals
255 -------------------------
256
257 - `#116 <https://github.com/pytest-dev/pluggy/issues/116>`_: Deprecate the ``implprefix`` kwarg to ``PluginManager`` and instead
258 expect users to start using explicit ``HookimplMarker`` everywhere.
259
260
261
262 Features
263 --------
264
265 - `#122 <https://github.com/pytest-dev/pluggy/issues/122>`_: Add ``.plugin`` member to ``PluginValidationError`` to access failing plugin during post-mortem.
266
267
268 - `#138 <https://github.com/pytest-dev/pluggy/issues/138>`_: Add per implementation warnings support for hookspecs allowing for both
269 deprecation and future warnings of legacy and (future) experimental hooks
270 respectively.
271
272
273
274 Bug Fixes
275 ---------
276
277 - `#110 <https://github.com/pytest-dev/pluggy/issues/110>`_: Fix a bug where ``_HookCaller.call_historic()`` would call the ``proc``
278 arg even when the default is ``None`` resulting in a ``TypeError``.
279
280 - `#160 <https://github.com/pytest-dev/pluggy/issues/160>`_: Fix problem when handling ``VersionConflict`` errors when loading setuptools plugins.
281
282
283
284 Improved Documentation
285 ----------------------
286
287 - `#123 <https://github.com/pytest-dev/pluggy/issues/123>`_: Document how exceptions are handled and how the hook call loop
288 terminates immediately on the first error which is then delivered
289 to any surrounding wrappers.
290
291
292 - `#136 <https://github.com/pytest-dev/pluggy/issues/136>`_: Docs rework including a much better introduction and comprehensive example
293 set for new users. A big thanks goes out to @obestwalter for the great work!
294
295
296
297 Trivial/Internal Changes
298 ------------------------
299
300 - `#117 <https://github.com/pytest-dev/pluggy/issues/117>`_: Break up the main monolithic package modules into separate modules by concern
301
302
303 - `#131 <https://github.com/pytest-dev/pluggy/issues/131>`_: Automate ``setuptools`` wheels building and PyPi upload using TravisCI.
304
305
306 - `#153 <https://github.com/pytest-dev/pluggy/issues/153>`_: Reorganize tests more appropriately by modules relating to each
307 internal component/feature. This is in an effort to avoid (future)
308 duplication and better separation of concerns in the test set.
309
310
311 - `#156 <https://github.com/pytest-dev/pluggy/issues/156>`_: Add ``HookImpl.__repr__()`` for better debugging.
312
313
314 - `#66 <https://github.com/pytest-dev/pluggy/issues/66>`_: Start using ``towncrier`` and a custom ``tox`` environment to prepare releases!
315
316
317 pluggy 0.7.0 (Unreleased)
318 =========================
319
320 * `#160 <https://github.com/pytest-dev/pluggy/issues/160>`_: We discovered a deployment issue so this version was never released to PyPI, only the tag exists.
321
322 pluggy 0.6.0 (2017-11-24)
323 =========================
324
325 - Add CI testing for the features, release, and master
326 branches of ``pytest`` (PR `#79`_).
327 - Document public API for ``_Result`` objects passed to wrappers
328 (PR `#85`_).
329 - Document and test hook LIFO ordering (PR `#85`_).
330 - Turn warnings into errors in test suite (PR `#89`_).
331 - Deprecate ``_Result.result`` (PR `#88`_).
332 - Convert ``_Multicall`` to a simple function distinguishing it from
333 the legacy version (PR `#90`_).
334 - Resolve E741 errors (PR `#96`_).
335 - Test and bug fix for unmarked hook collection (PRs `#97`_ and
336 `#102`_).
337 - Drop support for EOL Python 2.6 and 3.3 (PR `#103`_).
338 - Fix ``inspect`` based arg introspection on py3.6 (PR `#94`_).
339
340 .. _#79: https://github.com/pytest-dev/pluggy/pull/79
341 .. _#85: https://github.com/pytest-dev/pluggy/pull/85
342 .. _#88: https://github.com/pytest-dev/pluggy/pull/88
343 .. _#89: https://github.com/pytest-dev/pluggy/pull/89
344 .. _#90: https://github.com/pytest-dev/pluggy/pull/90
345 .. _#94: https://github.com/pytest-dev/pluggy/pull/94
346 .. _#96: https://github.com/pytest-dev/pluggy/pull/96
347 .. _#97: https://github.com/pytest-dev/pluggy/pull/97
348 .. _#102: https://github.com/pytest-dev/pluggy/pull/102
349 .. _#103: https://github.com/pytest-dev/pluggy/pull/103
350
351
352 pluggy 0.5.2 (2017-09-06)
353 =========================
354
355 - fix bug where ``firstresult`` wrappers were being sent an incorrectly configured
356 ``_Result`` (a list was set instead of a single value). Add tests to check for
357 this as well as ``_Result.force_result()`` behaviour. Thanks to `@tgoodlet`_
358 for the PR `#72`_.
359
360 - fix incorrect ``getattr`` of ``DeprecationWarning`` from the ``warnings``
361 module. Thanks to `@nicoddemus`_ for the PR `#77`_.
362
363 - hide ``pytest`` tracebacks in certain core routines. Thanks to
364 `@nicoddemus`_ for the PR `#80`_.
365
366 .. _#72: https://github.com/pytest-dev/pluggy/pull/72
367 .. _#77: https://github.com/pytest-dev/pluggy/pull/77
368 .. _#80: https://github.com/pytest-dev/pluggy/pull/80
369
370
371 pluggy 0.5.1 (2017-08-29)
372 =========================
373
374 - fix a bug and add tests for case where ``firstresult`` hooks return
375 ``None`` results. Thanks to `@RonnyPfannschmidt`_ and `@tgoodlet`_
376 for the issue (`#68`_) and PR (`#69`_) respectively.
377
378 .. _#69: https://github.com/pytest-dev/pluggy/pull/69
379 .. _#68: https://github.com/pytest-dev/pluggy/issues/68
380
381
382 pluggy 0.5.0 (2017-08-28)
383 =========================
384
385 - fix bug where callbacks for historic hooks would not be called for
386 already registered plugins. Thanks `@vodik`_ for the PR
387 and `@hpk42`_ for further fixes.
388
389 - fix `#17`_ by considering only actual functions for hooks
390 this removes the ability to register arbitrary callable objects
391 which at first glance is a reasonable simplification,
392 thanks `@RonnyPfannschmidt`_ for report and pr.
393
394 - fix `#19`_: allow registering hookspecs from instances. The PR from
395 `@tgoodlet`_ also modernized the varnames implementation.
396
397 - resolve `#32`_: split up the test set into multiple modules.
398 Thanks to `@RonnyPfannschmidt`_ for the PR and `@tgoodlet`_ for
399 the initial request.
400
401 - resolve `#14`_: add full sphinx docs. Thanks to `@tgoodlet`_ for
402 PR `#39`_.
403
404 - add hook call mismatch warnings. Thanks to `@tgoodlet`_ for the
405 PR `#42`_.
406
407 - resolve `#44`_: move to new-style classes. Thanks to `@MichalTHEDUDE`_
408 for PR `#46`_.
409
410 - add baseline benchmarking/speed tests using ``pytest-benchmark``
411 in PR `#54`_. Thanks to `@tgoodlet`_.
412
413 - update the README to showcase the API. Thanks to `@tgoodlet`_ for the
414 issue and PR `#55`_.
415
416 - deprecate ``__multicall__`` and add a faster call loop implementation.
417 Thanks to `@tgoodlet`_ for PR `#58`_.
418
419 - raise a comprehensible error when a ``hookimpl`` is called with positional
420 args. Thanks to `@RonnyPfannschmidt`_ for the issue and `@tgoodlet`_ for
421 PR `#60`_.
422
423 - fix the ``firstresult`` test making it more complete
424 and remove a duplicate of that test. Thanks to `@tgoodlet`_
425 for PR `#62`_.
426
427 .. _#62: https://github.com/pytest-dev/pluggy/pull/62
428 .. _#60: https://github.com/pytest-dev/pluggy/pull/60
429 .. _#58: https://github.com/pytest-dev/pluggy/pull/58
430 .. _#55: https://github.com/pytest-dev/pluggy/pull/55
431 .. _#54: https://github.com/pytest-dev/pluggy/pull/54
432 .. _#46: https://github.com/pytest-dev/pluggy/pull/46
433 .. _#44: https://github.com/pytest-dev/pluggy/issues/44
434 .. _#42: https://github.com/pytest-dev/pluggy/pull/42
435 .. _#39: https://github.com/pytest-dev/pluggy/pull/39
436 .. _#32: https://github.com/pytest-dev/pluggy/pull/32
437 .. _#19: https://github.com/pytest-dev/pluggy/issues/19
438 .. _#17: https://github.com/pytest-dev/pluggy/issues/17
439 .. _#14: https://github.com/pytest-dev/pluggy/issues/14
440
441
442 pluggy 0.4.0 (2016-09-25)
443 =========================
444
445 - add ``has_plugin(name)`` method to pluginmanager. thanks `@nicoddemus`_.
446
447 - fix `#11`_: make plugin parsing more resilient against exceptions
448 from ``__getattr__`` functions. Thanks `@nicoddemus`_.
449
450 - fix issue `#4`_: specific ``HookCallError`` exception for when a hook call
451 provides not enough arguments.
452
453 - better error message when loading setuptools entrypoints fails
454 due to a ``VersionConflict``. Thanks `@blueyed`_.
455
456 .. _#11: https://github.com/pytest-dev/pluggy/issues/11
457 .. _#4: https://github.com/pytest-dev/pluggy/issues/4
458
459
460 pluggy 0.3.1 (2015-09-17)
461 =========================
462
463 - avoid using deprecated-in-python3.5 getargspec method. Thanks
464 `@mdboom`_.
465
466
467 pluggy 0.3.0 (2015-05-07)
468 =========================
469
470 initial release
471
472 .. contributors
473 .. _@hpk42: https://github.com/hpk42
474 .. _@tgoodlet: https://github.com/goodboy
475 .. _@MichalTHEDUDE: https://github.com/MichalTHEDUDE
476 .. _@vodik: https://github.com/vodik
477 .. _@RonnyPfannschmidt: https://github.com/RonnyPfannschmidt
478 .. _@blueyed: https://github.com/blueyed
479 .. _@nicoddemus: https://github.com/nicoddemus
480 .. _@mdboom: https://github.com/mdboom
481
482