Skip to main content

The Air Raid Alert API wrapper for Python3

Project description

AlertAPI

Async and static typed Air Raid Alert microframework for Python3.

Python 3.8, 3.9 and 3.10 are currently supported.

Installation

Install AlertAPI from PyPi with the following command:

pip install alertapi

Updating

pip install --upgrade alertapi

Start up basic API client

import asyncio

import alertapi


async def main() -> None:
    client = alertapi.APIClient(access_token='...')
    print(await client.fetch_states())


loop = asyncio.get_event_loop()
loop.run_until_complete(main())

Example

import asyncio

import alertapi


async def main() -> None:
    client = alertapi.APIClient(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())

On run GatewayClient

import alertapi

client = alertapi.GatewayClient(access_token='...')


@client.listen(alertapi.ClientConnectedEvent)
async def on_client_connected(event: alertapi.ClientConnectedEvent) -> None:
    states = await event.api.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 optimization flags

CPython provides two optimisation flags that remove internal safety checks that are useful for development, and change other internal settings in the interpreter.

  • python main.py - no optimisation - this is the default.
  • python -O main.py - first level optimisation - features such as internal assertions will be disabled.
  • python -OO main.py - second level optimisation - more features (including all docstrings) will be removed from the loaded code at runtime.

A minimum of first level of optimizations is recommended when running applications in a production environment.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alertapi-0.0.5.tar.gz (14.6 kB view details)

Uploaded Source

File details

Details for the file alertapi-0.0.5.tar.gz.

File metadata

  • Download URL: alertapi-0.0.5.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.7

File hashes

Hashes for alertapi-0.0.5.tar.gz
Algorithm Hash digest
SHA256 234d2deb489c16f3caa4e801a64c92797f21734141e733a78e95cce53f9b3c38
MD5 52e2d03d3056e365a9678686438da43b
BLAKE2b-256 83e9882484896683841124cd53a7fb968bb423c2a548544fa88f71be28c23be5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page