A simple Python API for the WWLLN
Project description
⚡️ 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:
# YOUR CODE HERE
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)
# Create a client and get all strike data – by default, data is cached for
# 60 seconds (be a responsible data citizen!):
client = Client(websession)
await client.dump()
# If you want to increase the cache to 24 hours, go for it:
client = Client(websession, cache_seconds=60*60*24)
await client.dump()
# Get strike data within a 50 km radius around a set of coordinates (note that
# the cache still applies):
await client.within_radius(
56.1621538, 92.2333561, 50, unit="metric"
)
# Get strike data within a 10 mile radius around a set of coordinates (note that
# the cache still applies):
await client.within_radius(
56.1621538, 92.2333561, 10, unit="imperial"
)
# Get strike data within a 50 km radius around a set of coordinates _and_
# within the last 10 minutes:
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.mdwith any new documentation. - Add yourself to
AUTHORS.md. - Submit a pull request!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aiowwlln-2.0.5.tar.gz.
File metadata
- Download URL: aiowwlln-2.0.5.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.3 CPython/3.7.6 Linux/5.0.0-1028-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
985be3f952c131c339ae85ca5200251d7f2e7b8bbe3103c7adfd8655b48fdb03
|
|
| MD5 |
bfe56f16db834eac5a54d1c0689196e2
|
|
| BLAKE2b-256 |
75faad44bb0abf988911b3d38df9cd8e5451b1d9435aeed99c8fb8697d98e879
|
File details
Details for the file aiowwlln-2.0.5-py3-none-any.whl.
File metadata
- Download URL: aiowwlln-2.0.5-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.3 CPython/3.7.6 Linux/5.0.0-1028-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed159d07805424c15e9109c144918e6ed17d32f703b0ee83a44a338e8313e2ff
|
|
| MD5 |
598e02000f575d7c4ae63edc295d9b28
|
|
| BLAKE2b-256 |
6a6ec374eed0fd7fa74ce216d8226a8eb715e91ebc5be3ba774e736b5c678204
|