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
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.
- Install the dev environment:
make init
. - Enter the virtual environment:
pipenv shell
- Code your new feature or bug fix.
- Write a test that covers your new functionality.
- Run tests and ensure 100% code coverage:
make coverage
- 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.1.tar.gz
(6.2 kB
view details)
Built Distribution
File details
Details for the file aiowwlln-2.0.1.tar.gz
.
File metadata
- Download URL: aiowwlln-2.0.1.tar.gz
- Upload date:
- Size: 6.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a67ba06be2d6f8e3a952a2d21d1c39e5bace522a29a9bee8cae10d8b3c660a1 |
|
MD5 | 710de08dc5beb771c5e28ed9157fe287 |
|
BLAKE2b-256 | cbdbcf7e8b26dbd4dfe3d651f93394985c3cbcbbeaec155c7e505fc638cc4951 |
File details
Details for the file aiowwlln-2.0.1-py3-none-any.whl
.
File metadata
- Download URL: aiowwlln-2.0.1-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 864f9c0267879f3cc86e1db216de53eaf924b3efd5dbbc4857bd2dc03d242bea |
|
MD5 | 78eb86535b216883925d1d1cb1d4df58 |
|
BLAKE2b-256 | 87df87680ff4718dc55d68c20d7e82e2f9a6dea84e29013322293e1288a36be5 |