# napari plugin engine
[![License](https://img.shields.io/pypi/l/napari-plugin-engine.svg?color=green)](https://github.com/napari/napari-plugin-engine/raw/master/LICENSE)
[![Build Status](https://travis-ci.com/napari/napari-plugin-engine.svg?branch=master)](https://travis-ci.com/napari/napari-plugin-engine)
[![Docs Status](https://readthedocs.org/projects/napari-plugin-engine/badge/?version=latest)](https://readthedocs.org/projects/napari_plugin_engine/)
[![codecov](https://codecov.io/gh/napari/napari/branch/master/graph/badge.svg)](https://codecov.io/gh/napari/napari)
[![Python Version](https://img.shields.io/pypi/pyversions/napari-plugin-engine.svg?color=green)](https://python.org)
[![PyPI](https://img.shields.io/pypi/v/napari-plugin-engine.svg?color=green)](https://pypi.org/project/napari-plugin-engine)
`napari-plugin-engine` is a fork of [pluggy](https://github.com/pytest-dev/pluggy),
modified by the [napari](https://github.com/napari/napari) team.
There are some API and feature changes, including:
- discovery via [naming
convention](https://packaging.python.org/guides/creating-and-discovering-plugins/#using-naming-convention)
as well as
[entry_points](https://packaging.python.org/guides/creating-and-discovering-plugins/#using-package-metadata)
- support for reordering of hook calls after registration.
- enhanced API for retrieving plugin package metadata.
- modified plugin call and registration exception handling
- modified `HookResult` object and hook call loop, with ability to retrieve the
`HookImplementation` responsible for the result.
- lazy plugin discovery
- some changes to variable and attribute naming
- removed all deprecated code
- type annotations on everything
- pytest fixtures for testing
- a couple napari-specific convenience imports
For usage overview and a reference for the `napari-plugin-engine` API, see our
[Documentation](https://napari-plugin-engine.readthedocs.io/en/latest/)
(see also: the [pluggy documentation](https://pluggy.readthedocs.io/en/latest/))
## install
```shell
pip install napari-plugin-engine
```
## Usage
see [documentation](https://napari-plugin-engine.readthedocs.io/en/latest/usage.html)
Raw data
{
"_id": null,
"home_page": "https://github.com/napari/napari-plugin-engine",
"name": "napari-plugin-engine",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "",
"author": "napari team",
"author_email": "napari-steering-council@googlegroups.com",
"download_url": "https://files.pythonhosted.org/packages/c3/a1/2794988f0075bfe18d7934516fb640af20b797001901c7900bfbc44d0a7a/napari-plugin-engine-0.2.0.tar.gz",
"platform": "",
"description": "# napari plugin engine\n\n[![License](https://img.shields.io/pypi/l/napari-plugin-engine.svg?color=green)](https://github.com/napari/napari-plugin-engine/raw/master/LICENSE)\n[![Build Status](https://travis-ci.com/napari/napari-plugin-engine.svg?branch=master)](https://travis-ci.com/napari/napari-plugin-engine)\n[![Docs Status](https://readthedocs.org/projects/napari-plugin-engine/badge/?version=latest)](https://readthedocs.org/projects/napari_plugin_engine/)\n[![codecov](https://codecov.io/gh/napari/napari/branch/master/graph/badge.svg)](https://codecov.io/gh/napari/napari)\n[![Python Version](https://img.shields.io/pypi/pyversions/napari-plugin-engine.svg?color=green)](https://python.org)\n[![PyPI](https://img.shields.io/pypi/v/napari-plugin-engine.svg?color=green)](https://pypi.org/project/napari-plugin-engine)\n\n`napari-plugin-engine` is a fork of [pluggy](https://github.com/pytest-dev/pluggy),\nmodified by the [napari](https://github.com/napari/napari) team.\n\nThere are some API and feature changes, including:\n\n- discovery via [naming\n convention](https://packaging.python.org/guides/creating-and-discovering-plugins/#using-naming-convention)\n as well as\n [entry_points](https://packaging.python.org/guides/creating-and-discovering-plugins/#using-package-metadata)\n- support for reordering of hook calls after registration.\n- enhanced API for retrieving plugin package metadata.\n- modified plugin call and registration exception handling\n- modified `HookResult` object and hook call loop, with ability to retrieve the\n `HookImplementation` responsible for the result.\n- lazy plugin discovery\n- some changes to variable and attribute naming\n- removed all deprecated code\n- type annotations on everything\n- pytest fixtures for testing\n- a couple napari-specific convenience imports\n\nFor usage overview and a reference for the `napari-plugin-engine` API, see our\n[Documentation](https://napari-plugin-engine.readthedocs.io/en/latest/)\n\n(see also: the [pluggy documentation](https://pluggy.readthedocs.io/en/latest/))\n\n## install\n\n```shell\npip install napari-plugin-engine\n```\n\n## Usage\n\nsee [documentation](https://napari-plugin-engine.readthedocs.io/en/latest/usage.html)\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "napari plugin engine, fork of pluggy",
"version": "0.2.0",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "da387c7883cc8375e3441bf6c5e0fc8d",
"sha256": "bd148b46ffb76f82623a6577741712f45ff30be66b3564fdc5446dfd7007ecc3"
},
"downloads": -1,
"filename": "napari_plugin_engine-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "da387c7883cc8375e3441bf6c5e0fc8d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 33358,
"upload_time": "2021-09-17T12:30:31",
"upload_time_iso_8601": "2021-09-17T12:30:31.768264Z",
"url": "https://files.pythonhosted.org/packages/c9/60/eaf45290008cfb7cc1e99f6427540704fafc5c65a3a25ff0024085cd2e0d/napari_plugin_engine-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "54b6ab9d23044648f1b39305ecdbaf2e",
"sha256": "fa926f869d70e0d652c005661948cd0c7fee5508ae17d437937f34f5287590b3"
},
"downloads": -1,
"filename": "napari-plugin-engine-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "54b6ab9d23044648f1b39305ecdbaf2e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 54725,
"upload_time": "2021-09-17T12:30:32",
"upload_time_iso_8601": "2021-09-17T12:30:32.918583Z",
"url": "https://files.pythonhosted.org/packages/c3/a1/2794988f0075bfe18d7934516fb640af20b797001901c7900bfbc44d0a7a/napari-plugin-engine-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2021-09-17 12:30:32",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "napari",
"github_project": "napari-plugin-engine",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "napari-plugin-engine"
}