您正在编写一个库。您已决定雄心勃勃,并支持 多个异步 I/O 包,例如Trio 和 asyncio,以及...您 已经编写了很多巧妙的代码来处理所有差异。但是... 您如何知道要运行哪个巧妙的代码?
这是一个非常小的包,其唯一目的是让您检测您的代码正在运行哪个 异步库。
- 文档:https://sniffio.readthedocs.io
- 错误跟踪器和源代码:https://github.com/python-trio/sniffio
- 许可证:MIT 或 Apache 许可证 2.0,任您选择
- 贡献者指南:https://trio.readthedocs.io/en/latest/contributing.html
- 行为准则:我们要求贡献者遵守我们在所有项目空间中的行为准则。
该库由 Trio 项目维护,作为对整个异步 Python 社区的一项服务。
from sniffio import current_async_library
import trio
import asyncio
async def print_library():
library = current_async_library()
print("This is:", library)
# 打印 "This is trio"
trio.run(print_library)
# 打印 "This is asyncio"
asyncio.run(print_library())有关更多详细信息,包括如何为新的异步库添加支持, 请仔细阅读我们的精美手册。