来自 openuv.io 的简单 Python API 数据
项目描述
☀️ pyopenuv:一个简单的 Python API,用于来自 openuv.io 的数据
pyopenuv是一个简单的 Python 库,用于从openuv.io检索 UV 相关信息
。
安装
pip install pyopenuv
Python 版本
pyopenuv目前支持:
- 蟒蛇 3.8
- 蟒蛇 3.9
- 蟒蛇 3.10
API 密钥
您可以从OpenUV 控制台获取 API 密钥 。
用法
import asyncio
from pyopenuv import Client
from pyopenuv.errors import OpenUvError
async def main():
client = Client(
"<OPENUV_API_KEY>", "<LATITUDE>", "<LONGITUDE>", altitude="<ALTITUDE>"
)
try:
# Get current UV info:
print(await client.uv_index())
# Get forecasted UV info:
print(await client.uv_forecast())
# Get UV protection window:
print(await client.uv_protection_window())
except OpenUvError as err:
print(f"There was an error: {err}")
asyncio.run(main())
重试
默认情况下,pyopenuv将重试适当的错误 4 次(其间延迟呈指数增长)。可以通过将不同的值传递
request_retries给Client构造函数来更改此逻辑:
import asyncio
from pyopenuv import Client
from pyopenuv.errors import OpenUvError
async def main():
client = Client(
"<OPENUV_API_KEY>",
"<LATITUDE>",
"<LONGITUDE>",
altitude="<ALTITUDE>",
request_retries=5,
)
# ...
asyncio.run(main())
连接池
默认情况下,该库会为每个协程创建一个到 OpenUV 的新连接。如果您正在调用大量协程(或者只是想尽可能节省运行时的每一秒),
可以使用 an 来进行连接池:aiohttp ClientSession
import asyncio
from aiohttp import ClientSession
from pyopenuv import Client
from pyopenuv.errors import OpenUvError
async def main():
async with ClientSession() as session:
client = Client(
"<OPENUV_API_KEY>",
"<LATITUDE>",
"<LONGITUDE>",
altitude="<ALTITUDE>",
session=session,
)
try:
# Get current UV info:
print(await client.uv_index())
# Get forecasted UV info:
print(await client.uv_forecast())
# Get UV protection window:
print(await client.uv_protection_window())
except OpenUvError as err:
print(f"There was an error: {err}")
asyncio.run(main())
查看示例 目录以获取更多信息。
贡献
- 检查开放的功能/错误 或发起一个讨论。
- 分叉存储库。
- (可选,但强烈推荐)创建虚拟环境:
python3 -m venv .venv - (可选,但强烈推荐)进入虚拟环境:
source ./venv/bin/activate - 安装开发环境:
script/setup - 编码您的新功能或错误修复。
- 编写涵盖新功能的测试。
- 运行测试并确保 100% 的代码覆盖率:
script/test README.md使用任何新文档进行更新。- 将自己添加到
AUTHORS.md. - 提交拉取请求!
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
pyopenuv-2022.4.0.tar.gz
(6.0 kB
查看哈希)
内置分布
pyopenuv-2022.4.0-py3-none-any.whl
(5.8 kB
查看哈希)