HookMan是一个Python程序包,它为应用程序提供插件管理系统,特别是那些在C++中被完全写入或部分写入的系统。

python-hookman的Python项目详细描述


===
钩子工
==


…图片::https://img.shields.io/pypi/v/python hookman.svg
:目标:https://pypi.python.org/pypi/python hookman

…图片::https://img.shields.io/conda/vn/conda forge/python hookman.svg
:目标:https://anaconda.org/conda forge/python hookman

…图片::https://img.shields.io/pypi/pyversions/python hookman.svg
:目标:https://pypi.org/project/python hookman

…图片::https://img.shields.io/travis/esss/hookman.svg
:目标:https://travis-ci.org/esss/hookman

…图片::https://ci.appveyor.com/api/projects/status/w472d1cm0w37ka3l/branch/master?svg=true
:目标:https://ci.appveyor.com/project/esss/hookman/?branch=master&svg=true

…图像::https://codecov.io/gh/esss/hookman/branch/master/graph/badge.svg
:目标:https://codecov.io/gh/esss/hookman

…图片::https://readthedocs.org/projects/hookman/badge/?version=latest
:目标:https://hookman.readthedocs.io/en/latest/?badge=latest
:alt:documentation status



本文档介绍Hookman用法和API。

有关Hookman的信息,请阅读以上部分。有关公共更改日志和项目的维护方式,请检查"github page"是什么?"HookMan"是一个为应用程序提供插件管理系统的Python包,BR/>特别是那些在C++中完全写入或部分写的。BR/> BR/>它允许外部贡献者实现以C/C++ +BR/>为扩展的插件。它通过定义良好的*HOKS *.BR/> BR/>与应用程序交互。这个系统很大程度上是由"Pulpyy"、"BR/>"插件系统提供的,该插件系统为PyTest'、'tox ''和'DePi' ''供电,但其意图是从C++应用程序而不是Python调用
。为了方便应用程序的开发,允许以一种清晰的方式公开hook,并且允许在不访问应用程序的类或数据的情况下开发插件。

下面的示例。

…代码块::python

_temperature=hook_caller.env_temperature()

r(1,2.5)
env_tmp_result=env_temperature(35.5,45.5)


-------

扩展应用程序的行为。



hookman将验证通知到应用程序的所有插件(以检查实现了哪些钩子),
并将包含对"钩子"引用的对象传递给应用程序。



库PybDun11l在Python和C/C++之间进行交互,
允许直接调用WHO函数(Python或C++中的函数)。
BR/> BR/>定义一些术语:
BR/> -`应用程序''提供扩展的程序。应用程序的扩展。
-``plugin``8680;实现``hooks``的程序。
-``user``8680;用户Ho安装了应用程序。





`阅读文档了解更多信息!`

*文档:https://hookman.readthedocs.io.
*免费软件:麻省理工学院许可证


credits
----
感谢pluggy,这是一个类似的项目(插件系统)和许多想法的来源。

这个包是用cookiecutter和"audreyr/cookiecutter pypackage"项目模板创建的。


_` audreyr/cookiecutter pypackage`:https://github.com/audreyr/cookiecutter pypackage
。_` github页面`:https://github.com/esss/hookman
。_`阅读文档了解更多!`网址:https://hookman.readthedocs.io
。_ Cookiecutter:https://github.com/audreyr/Cookiecutter
。_ devpi:https://github.com/devpi/devpi
。_ pluggy:https://github.com/pytest dev/pluggy
。_ pybind11:https://github.com/pybind/pybind11
。_ pytest:https://github.com/pytest dev/pytest
。_ tox:https://github.com/tox dev/tox


====
history
==



0.2.0(2019-02-08)
----


-将加载挂钩函数代码移动到"hookcaller.load-impls"中,该函数在C++中实现。这使得在不使用python作为入口点的项目中可以使用hook功能。

-``hookspecs``现在接受一个``extra`includes``参数,该参数可用于向生成的``hookcaller.hpp``文件添加自定义的````includes``directives


-``hookcaller``现在包含一个``std::vector`函数绑定插件实现。这允许多个
插件实现同一个钩子;每个调用的结果如何表现是调用方的责任。

s懔valid``
*``hookman.get懔status``



-生成的文件现在有一个"请勿修改"的注释头。

-如果未定义"specs.pyd懔name`",则跳过为"hookcaller`"生成绑定代码。

-现在可以通过命令直接在命令行中生成代码:

*``python-m hookman generate plugin template`
*``python-m hookman generate project files``
*``python-m hookman generate-hook-specs-h`
*``python-m hookman package plugin`

-在``hook-specs.h``文件中显式声明``extern"c``调用约定。

-删除了``in it hooks`宏,因为它没有被删除任何有用功能。



>0.1.7(2018-08-23-2018-08-08-23)
=>







>0.1.6(2018-08-23)
=>




















<0.1.4(2018-08-08-2018-08-08-08-23)





<0.1.4.4(2018-08-08-23)
-----







<0.1.3(2018-08-08-23)0.1.3(2018-08-08-23)
=>





























-从未发布,部署错误。














--删除bumperversion并使用setuptool_scm


0.1.0(2018-08-23)
----


-从未释放,部署错误。



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Clojure关键字在内存中的大小是多少?   Java中有固定长度的通用数组对象吗?   PostgreSQL:通过Java更新我的用户表   错误:使用java解析xml   java Json显示列表中对象的名称   java比较JodaTime时区   与JAVA中的API和包的区别?   java的int值在for循环中不改变   谷歌应用引擎中的java RSA   迁移到spring 5后出现java非法字符错误   java Websphere管理控制台不工作   JavaGSON如何始终在json中包含毫秒?   带有空格和双引号的windows Java ProcessBuilder命令参数失败   java错误:重复的zip条目[43.jar:org/apache/http/annotation/NotThreadSafe.class]