python的简单事件驱动io
thor的Python项目详细描述
雷神
关于Thor
Thor是事件IO的另一个Python 3库。
已经有许多这样的python库可用。雷神专注于使建造变得容易 高性能HTTP中介,如代理、负载平衡器、内容转换引擎 以及服务聚合器。当然,您也可以将其用作客户机或服务器。
它的目标是尽可能快,正确地实现协议,并且简单。你可以 通过提供问题、补丁和测试来帮助实现这些目标。
Thor的eventEmitter API受从nodejs复制的^h^h^h的影响;如果您熟悉node,那么 使用雷神并不难。然而,雷神并不是扭曲的;这被认为是 特色。
目前,thor有一个事件循环以及tcp、udp和httpapi(客户端和服务器)。新的应用程序接口 (例如,dns)和功能应该很快就会到来,同时还有一个中介框架。
要求
Thor只需要Python3.5或更高版本。
目前,它将运行在大多数posix平台上;特别是那些提供poll
,
epoll
或kqueue
。
安装
如果您有安装工具,可以从存储库安装:
easy_install thor
或者使用pip:
pip install thor
在某些操作系统上,可能是pip3
。否则,请下载tarball并使用:
python setup.py install
使用Thor
documentation是一个很好的起点;请参见 以及各种模块的docstring和测试,以提供如何使用 雷神。
例如,一个非常简单的http服务器如下:
importthordeftest_handler(exch):@thor.events.on(exch)defrequest_start(*args):exch.response_start(200,"OK",[('Content-Type','text/plain')])exch.response_body('Hello, world!')exch.response_done([])if__name__=="__main__":demo_server=thor.HttpServer('127.0.0.1',8000)demo_server.on('exchange',test_handler)thor.run()
支持和贡献
请参阅Thor's GitHub以提供反馈、查看和report issues,并贡献代码。
所有有用的输入都是受欢迎的,特别是通过pull请求(带有测试用例)的代码贡献。
为什么是雷神?
雷神不仅仅是“一个挥舞着锤子的神,与雷声,闪电,风暴,橡树联系在一起, 力量,毁灭,繁衍,治愈和保护人类“,他也是我的挪威人 森林猫。
thor(软件程序)源于nbhttp,而nbhttp本身来自早期对evented的研究。 Python在redbot。
托尔(猫)现在用一只坚定而仁慈的爪子统治着我们的房子。如果我们给他药他就会生病 不过,牛奶。