Skip to main content

⚡️ aiowwlln: A simple Python3 wrapper for WWLLN

CI PyPi Version License codecov Maintainability Say Thanks

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

  1. Check for open features/bugs or initiate a discussion on one.
  2. Fork the repository.
  3. (optional, but highly recommended) Create a virtual environment: python3 -m venv .venv
  4. (optional, but highly recommended) Enter the virtual environment: source ./venv/bin/activate
  5. Install the dev environment: script/setup
  6. Code your new feature or bug fix.
  7. Write tests that cover your new functionality.
  8. Run tests and ensure 100% code coverage: script/test
  9. Update README.md with any new documentation.
  10. Add yourself to AUTHORS.md.
  11. Submit a pull request!

Release files for aiowwlln 2.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aiowwlln 2.0.5
File Size Uploaded
aiowwlln-2.0.5.tar.gz 5.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aiowwlln 2.0.5
File Interpreter ABI Platform
aiowwlln-2.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 12.0 kB

Release files / aiowwlln-2.0.5.tar.gz

Download URL aiowwlln-2.0.5.tar.gz
Size 5.9 kB
Tags Source
SHA-256 checksum
How to use checksums
985be3f952c131c339ae85ca5200251d7f2e7b8bbe3103c7adfd8655b48fdb03
BLAKE2b-256 checksum
How to use checksums
75faad44bb0abf988911b3d38df9cd8e5451b1d9435aeed99c8fb8697d98e879
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.0.3 CPython/3.7.6 Linux/5.0.0-1028-azure

Release files / aiowwlln-2.0.5-py3-none-any.whl

Download URL aiowwlln-2.0.5-py3-none-any.whl
Size 6.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ed159d07805424c15e9109c144918e6ed17d32f703b0ee83a44a338e8313e2ff
BLAKE2b-256 checksum
How to use checksums
6a6ec374eed0fd7fa74ce216d8226a8eb715e91ebc5be3ba774e736b5c678204
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.0.3 CPython/3.7.6 Linux/5.0.0-1028-azure

Release history Release notifications | RSS feed

This release

2.0.5 This release

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.0

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page