Skip to main content

A simple Python API for the WWLLN

Project description

⚡️ aiowwlln: A simple Python3 wrapper for WWLLN

Travis 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

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. Install the dev environment: make init.
  4. Enter the virtual environment: pipenv shell
  5. Code your new feature or bug fix.
  6. Write a test that covers your new functionality.
  7. Run tests and ensure 100% code coverage: make coverage
  8. Add yourself to AUTHORS.md.
  9. Submit a pull request!

Project details


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)

Uploaded Source

Built Distribution

aiowwlln-2.0.1-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

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

Hashes for aiowwlln-2.0.1.tar.gz
Algorithm Hash digest
SHA256 8a67ba06be2d6f8e3a952a2d21d1c39e5bace522a29a9bee8cae10d8b3c660a1
MD5 710de08dc5beb771c5e28ed9157fe287
BLAKE2b-256 cbdbcf7e8b26dbd4dfe3d651f93394985c3cbcbbeaec155c7e505fc638cc4951

See more details on using hashes here.

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

Hashes for aiowwlln-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 864f9c0267879f3cc86e1db216de53eaf924b3efd5dbbc4857bd2dc03d242bea
MD5 78eb86535b216883925d1d1cb1d4df58
BLAKE2b-256 87df87680ff4718dc55d68c20d7e82e2f9a6dea84e29013322293e1288a36be5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page