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.md
with 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
aiowwlln-2.0.5.tar.gz
(5.9 kB
view details)
Built Distribution
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 |