pycopy(https://github.com/pfalcon/pycopy)及其uasyncio模块的一个非常轻量级、内存高效的异步web框架。
picoweb的Python项目详细描述
要求和可选模块
picoweb 取决于异步网络的uasyncio ( https://github.com/pfalcon/pycopy-lib/tree/master/uasyncio )。 uasyncio 本身依赖于"pycopy",一个micropython变体 高效运行所需的附加功能和优化 异步操作。 uasyncio 在主线micropython上不起作用 (但是pycopy基于主线micropython,支持所有目标 它支持)。
它还建议与
utemplate一起使用
(https://github.com/pfalcon/utemplate" rel="nofollow">https://github.com/pfalcon/utemplate)用于模板化,但这是
一个"软"依赖-picoweb提供了方便的函数来使用
对于数据库访问,有以下选项( picoweb does 不依赖任何一个选项,由您的应用程序选择):
- b树 内置pycopy模块。这是一种推荐的数据库创建方法 存储 picoweb ,因为它允许跨所有pycopy进行移植 目标,从内存和存储有限的裸金属系统开始。
- 内置模块上的包装器。这可能会增加一些 开销,但可以使应用程序在不同的 数据库后端( filedb 和 uorm 如下)。 https://github.com/pfalcon/pycopy-btreedb
- filedb ,对于使用文件系统中的文件的简单数据库 https://github.com/pfalcon/filedb
- uorm ,用于sqlite3数据库访问(仅适用于pycopy Unix端口)https://github.com/pfalcon/uorm rel="nofollow">https://github.com/pfalcon/uorm
最后但并非最不重要的是, picoweb 使用标准的 日志记录 用于诊断输出的记录器(如打开的连接、错误和调试 信息)。但是这个输出是可选的,否则您可以使用 一个自定义日志类,而不是标准的日志记录 模块。因此,不给 小型系统的小型webapps, 日志记录 模块不包括在内 在picoweb的安装依赖项中。相反,一个特定的应用 使用picoweb应该取决于pycopy-uloging或 PYCO公司py日志记录包。注意,要禁用日志记录, 应用程序应该使用webapp.run(debug=-1)启动。这个 但是, debug 参数的默认值是0,在这种情况下 picoweb将使用 ulogging 模块(在该模块上您的应用程序需要 再次依赖)。