Skip to content

This library provides convenient async access to the INGV Centro Nazionale Terremoti (Earthquakes) QuakeML feeds.

License

Notifications You must be signed in to change notification settings

exxamalte/python-aio-quakeml-ingv-centro-nazionale-terremoti-client

Repository files navigation

python-quakeml-ingv-centro-nazionale-terremoti-client

Build Status codecov PyPi Version

This library provides convenient async access to the INGV Centro Nazionale Terremoti (Earthquakes) QuakeML feeds.

Examples

Retrieve all events from the last 24 hours (default timeframe):

import asyncio
from aiohttp import ClientSession
from aio_quakeml_ingv_centro_nazionale_terremoti_client import IngvCentroNazionaleTerremotiQuakeMLFeed
async def main() -> None:
    async with ClientSession() as websession:    
        # Home Coordinates: Latitude: 43.7, Longitude: 11.2
        feed = IngvCentroNazionaleTerremotiQuakeMLFeed(websession, 
                                                       (43.7, 11.2))
        status, entries = await feed.update()
        print(status)
        if entries:
            for entry in entries:
                print(f"- ID: {entry.external_id} - Magnitude: {entry.magnitude.mag} - Distance: {entry.distance_to_home:.2f}")
asyncio.get_event_loop().run_until_complete(main())

Retrieve all events from the last 24 hours (default timeframe) and within a radius of 100km around the provided home coordinates:

import asyncio
from aiohttp import ClientSession
from aio_quakeml_ingv_centro_nazionale_terremoti_client import IngvCentroNazionaleTerremotiQuakeMLFeed
async def main() -> None:
    async with ClientSession() as websession:    
        # Home Coordinates: Latitude: 43.7, Longitude: 11.2
        # Filter radius: 100 km
        feed = IngvCentroNazionaleTerremotiQuakeMLFeed(websession, 
                                                       (43.7, 11.2),
                                                       filter_radius=100)
        status, entries = await feed.update()
        print(status)
        if entries:
            for entry in entries:
                print(f"- ID: {entry.external_id} - Magnitude: {entry.magnitude.mag} - Distance: {entry.distance_to_home:.2f}")
asyncio.get_event_loop().run_until_complete(main())

Retrieve all events from the last 24 hours (default timeframe), within a radius of 100km around the provided home coordinates, and with a magnitude of 2.0 or higher:

import asyncio
from aiohttp import ClientSession
from aio_quakeml_ingv_centro_nazionale_terremoti_client import IngvCentroNazionaleTerremotiQuakeMLFeed
async def main() -> None:
    async with ClientSession() as websession:    
        # Home Coordinates: Latitude: 43.7, Longitude: 11.2
        # Filter radius: 100 km
        # Filter minimum magnitude: 2.0
        feed = IngvCentroNazionaleTerremotiQuakeMLFeed(websession, 
                                                       (43.7, 11.2),
                                                       filter_radius=100,
                                                       filter_minimum_magnitude=2.0)
        status, entries = await feed.update()
        print(status)
        if entries:
            for entry in entries:
                print(f"- ID: {entry.external_id} - Magnitude: {entry.magnitude.mag} - Distance: {entry.distance_to_home:.2f}")
asyncio.get_event_loop().run_until_complete(main())

About

This library provides convenient async access to the INGV Centro Nazionale Terremoti (Earthquakes) QuakeML feeds.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages