⚡️ aiowwlln: A simple Python3 wrapper for WWLLN
aiowwlln
is a simple, asyncio
-driven Python library for retrieving information on
lightning strikes from
the World Wide Lightning Location Network (WWLLNN).
NOTE: This library is built on an unofficial API; therefore, it may stop working at
any time.
Installation
pip install aiowwlln
Python Versions
aiowwlln
is currently supported on:
- Python 3.6
- Python 3.7
- Python 3.8
Usage
aiowwlln
starts within an
aiohttp ClientSession
:
import asyncio
from aiohttp import ClientSession
from aiowwlln import Client
async def main() -> None:
"""Create the aiohttp session and run the example."""
async with ClientSession() as websession:
asyncio.get_event_loop().run_until_complete(main())
Create a client, initialize it, then get to it:
import asyncio
from datetime import datetime
from aiohttp import ClientSession
from aiowwlln import Client
async def main() -> None:
"""Create the aiohttp session and run the example."""
async with ClientSession() as websession:
client = aiowwlln.Client(websession)
client = Client(websession)
await client.dump()
client = Client(websession, cache_seconds=60*60*24)
await client.dump()
await client.within_radius(
56.1621538, 92.2333561, 50, unit="metric"
)
await client.within_radius(
56.1621538, 92.2333561, 10, unit="imperial"
)
await client.within_radius(
56.1621538, 92.2333561, 50, unit="metric", window=timedelta(minutes=10)
)
asyncio.get_event_loop().run_until_complete(main())
Contributing
- Check for open features/bugs
or initiate a discussion on one.
- Fork the repository.
- (optional, but highly recommended) Create a virtual environment:
python3 -m venv .venv
- (optional, but highly recommended) Enter the virtual environment:
source ./venv/bin/activate
- Install the dev environment:
script/setup
- Code your new feature or bug fix.
- Write tests that cover your new functionality.
- Run tests and ensure 100% code coverage:
script/test
- Update
README.md
with any new documentation. - Add yourself to
AUTHORS.md
. - Submit a pull request!