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.5
  • Python 3.6
  • Python 3.7

However, running the test suite currently requires Python 3.6 or higher; tests run on Python 3.5 will fail.

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 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:
        client = Client(websession)

        # Get all strike data:
        await client.dump()

        # Get strike data within a 50 km radius around a set of coordinates:
        await client.within_radius(
            56.1621538, 92.2333561, 50, unit="metric"
        )

        # Get strike data within a 10 mile radius around a set of coordinates:
        await client.within_radius(
            56.1621538, 92.2333561, 10, unit="imperial"
        )

        # Get the nearest strike to a set of coordinates:
        await client.nearest(56.1621538, 92.2333561)


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-0.2.0.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiowwlln-0.2.0-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file aiowwlln-0.2.0.tar.gz.

File metadata

  • Download URL: aiowwlln-0.2.0.tar.gz
  • Upload date:
  • Size: 5.7 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.3

File hashes

Hashes for aiowwlln-0.2.0.tar.gz
Algorithm Hash digest
SHA256 61aef75764d4980dec4a7aed6d7053c282f3d10112299eeb90ff00146b16fbc8
MD5 d80642ad833012367e5fad7ee07e302e
BLAKE2b-256 49fce9dd5558436faeb3c884b7e5e0fb75ed4b7de6086f6bef89d26a321dfd9f

See more details on using hashes here.

File details

Details for the file aiowwlln-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: aiowwlln-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 7.0 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.3

File hashes

Hashes for aiowwlln-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fa1412461d9b3baa8ac7549d7fbde0cb1cc337713b3d37cb5a75ab7061a25e1e
MD5 156efa067250ced8a459c1055f43628b
BLAKE2b-256 7481f2819b7264e79901e3c6af216a8328ddabbef5387a9e5998f7694361d436

See more details on using hashes here.

Supported by

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