Python3 的 Air Raid Alert API 包装器
项目描述
警报API
Python3 的异步和静态类型空袭警报微框架。
目前支持 Python 3.8、3.9 和 3.10。
安装
使用以下命令从 PyPi 安装 AlertAPI:
pip install alertapi
更新
pip install --upgrade alertapi
启动基本客户端
import asyncio
import alertapi
async def main() -> None:
client = alertapi.Client(access_token='...')
print(await client.fetch_states())
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
例子
import asyncio
import alertapi
async def main() -> None:
client = alertapi.Client(access_token='...')
print('State list:', await client.fetch_states())
print('First 5 active alerts:', await client.fetch_states(with_alert=True, limit=5))
print('Inactive alerts:', await client.fetch_states(with_alert=False))
print('Kyiv info:', await client.fetch_state(25))
print('Kyiv info:', await client.fetch_state('Kyiv'))
print('Is active alert in Lviv oblast:', await client.is_alert('Lviv oblast'))
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
或运行 GatewayClient
import alertapi
client = alertapi.GatewayClient(access_token='...')
@client.listen(alertapi.ClientConnectedEvent)
async def on_client_connected(event: alertapi.ClientConnectedEvent) -> None:
states = await event.app.fetch_states()
print(states)
@client.listen(alertapi.PingEvent)
async def on_ping(event: alertapi.PingEvent) -> None:
print('Ping event')
@client.listen(alertapi.StateUpdateEvent)
async def on_state_update(event: alertapi.StateUpdateEvent) -> None:
print('State updated:', event.state)
client.connect()
Python 优化标志
CPython 提供了两个优化标志,用于删除对开发有用的内部安全检查,并更改解释器中的其他内部设置。
- python main.py - 没有优化 - 这是默认设置。
- python -O main.py - 一级优化 - 内部断言等功能将被禁用。
- python -OO main.py - 二级优化 - 更多功能(包括所有文档字符串)将在运行时从加载的代码中删除。
在生产环境中运行应用程序时,建议至少进行第一级优化。