Skip to main content

Unofficial python library for working with GDACS API.

Project description

gdacs-api

Unofficial python library for working with Global Disaster Alert and Coordination System (GDACS) API.

Setup

If you already have pip installed, use the commands below to install the gdacs-api python library.

From pypi.org:

(venv)$ pip install gdacs-api

From GitHub with pip:

(venv)$ pip install git+https://github.com/Kamparia/gdacs-api.git

From cloned GitHub repo for development:

(venv)$ git clone https://github.com/Kamparia/gdacs-api.git
(venv)$ cd ./gdacs-api
(venv)$ pip install -e .

The installation of gdacs-api v.2.0.0 package depends on the following packages.

  • Python >=3.6
  • Requests >=2.10.0
  • Xmltodict
  • Cachetools
  • Pydantic

Getting Started

Import Library

To access the API functionalities of this libray, you need to import it into the Python script where it will be called.

from gdacs.api import GDACSAPIReader

Setup API Client

You need to setup an API client to interact with the GDACS API. You can do so by simply using the code snippet below.

client = GDACSAPIReader()

Get Latest Events

Use the code snippet below to retrieve latets disaster events from the GDACS RSS Feed.

events = client.latest_events() # all recent events
events = client.latest_events(limit=10) # 10 most events

You can filter event by the different types of natural disasters.

tc_events = client.latest_events(event_type="TC")
fl_events = client.latest_events(event_type="FL")

Optional parameters:

  • event_type (str): TC (Tropical Cyclones), EQ (Earthquakes), FL (Floods), VO (Volcanoes), WF (Wild Fires) and DR (Droughts)
  • limit (int): returned events count.

Get Single Event Record

The python library also supports the retrieval of single event with a known GDACS Event ID.

event = client.get_event(event_type='TC', event_id='1000132')

To retrieve the record of a particular event episode, include episode_id in your code as shown below.

event = client.get_event(event_type='TC', event_id='1000132', episode_id='8')

The library supports the retrieval of data in different formats provided by the GDACS API. The default source format for all retrievals is xml but you can also make use of geojson or shp.

event = client.get_event(event_type='DR', event_id='1012428', episode_id='10', source_format='geojson')

Required parameters:

  • event_type (str): TC (Tropical Cyclones), EQ (Earthquakes), FL (Floods), VO (Volcanoes), WF (Wild Fires) and DR (Droughts)
  • event_id (str): GDACS Event ID

Optional parameters:

  • episode_id (str): GDACS Event Episode ID
  • source_format (str): xml, geojson or shp (Shapefile)
  • cap_file (bool)

Handling Errors

Invalid arguments or retrieval of missing records from the GDACS API may result in an error. You can catch them with GDACSAPIError which includes the error message returned.

from gdacs.api import GDACSAPIError
try:
    # try to retrieve an invalid/missing event
    client.get_event(event_type='DR', event_id='1012428', source_format='geojson')
except GDACSAPIError as error:
    print(error)

Testing

The project uses unittest (Python inbuilt testing library) to run its suite of unit tests.

(venv)$ cd ./gdacs/tests
(venv)$ python -m unittest

License

This project is licensed under the MIT License - see the LICENSE for details.

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

gdacs-api-2.0.0.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

gdacs_api-2.0.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file gdacs-api-2.0.0.tar.gz.

File metadata

  • Download URL: gdacs-api-2.0.0.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for gdacs-api-2.0.0.tar.gz
Algorithm Hash digest
SHA256 77b0ec951ea9aa6b448e8b25fd6f29d1eb40582b00a84e203bb66a3cc8dc9e06
MD5 eec4d110258370cac6f8f6137ab52bc4
BLAKE2b-256 106a522bc552f3f633196616b81b370c19d1beaa0e95d5e7f8b5f2e1b96f15b6

See more details on using hashes here.

File details

Details for the file gdacs_api-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: gdacs_api-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for gdacs_api-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f905fe6132474a55cc87250a0f9ee86bbfaa37bf0e9dd0c43ad9aa9307c02fe2
MD5 fb8e973331d67fcb85d16ec5e6f4f8f3
BLAKE2b-256 5d9a28f87400f6eb255ce45c129a3dbd4b65c972b733bb2e5f753269e56cde4b

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