Skip to main content

BPPTKG Monitoring API Python Client

Project description

bmaclient

BPPTKG Monitoring API Python Client

Installation

Install from PyPI by typing this command:

pip install -U bmaclient

Requirements

  • Python 3.5+
  • httplib2
  • six

Making Requests

You must set valid API key or OAuth2 access token to make authenticated request. For example, using API key:

from bmaclient import MonitoringAPI

api = MonitoringAPI(api_key='API_KEY')
content = api.fetch_bulletin()
print(content)

Or using access token:

from bmaclient import MonitoringAPI

api = MonitoringAPI(access_token='ACCESS_TOKEN')
content = api.fetch_bulletin()
print(content)

Using API key is only suitable for read only request. If you want to modify server resource, It's recommended to use OAuth2 access token.

You can apply field lookup filtering by passing keyword arguments:

content = api.fetch_bulletin(eventdate__gte='2019-07-01',
                             eventdate__lt='2019-07-11',
                             eventtype='MP',
                             nolimit=True)
print(content)

For the API that requires parameters to be set in the URL path, you can pass those parameters in the method arguments:

content = api.fetch_tiltmeter(station='selokopo', timestamp__gte='2019-07-01')
print(content)

For the API that enable search filtering, you pass search keyword in the method arguments:

content = api.search_slope(search='RB2')
print(content)

content = api.search_users(search='indra')
print(content)

Changing the API Host

Default API host for the libary is 192.168.5.10. If you want to change the host, for example using public IP or so, you can write the code as follow:

from bmaclient import MonitoringAPI

api = MonitoringAPI(api_key='API_KEY')
api.host = 'SERVER_ADDRESS'

Note that you should include server port if the server doesn't use standard port. For example:

api.host = 'SERVER_ADDRESS:PORT'

Request Methods

The following URL paths are relative to the base API URL http://192.168.5.10/api/v1/.

API Name URL Path Python Method Name
DOAS /doas/ fetch_doas
EDM /edm/ fetch_edm
Gas Emission /gas/emission/ fetch_gas_emission
Gas Temperature /gas/temperature/ fetch_gas_temperature
GPS Positon /gps/position/ fetch_gps_position
GPS Baseline /gps/baseline/ fetch_gps_baseline
RSAM Seismic /rsam/seismic/{station}/ fetch_rsam_seismic
RSAM Seismic Band /rsam/seismic/{station}/{band}/ fetch_rsam_seismic_band
RSAM Infrasound /rsam/infrasound/{station}/ fetch_rsam_infrasound
RSAM Infrasound Band /rsam/infrasound/{station}/{band}/ fetch_rsam_infrasound_band
Thermal /thermal/ fetch_thermal
Thermal v2 /thermal2/ fetch_thermal2
Tiltmeter Platform /tiltmeter/{station}/ fetch_tiltmeter
Tiltmeter Platform Raw /tiltmeter/raw/{station}/ fetch_tiltmeter_raw
Tiltmeter Borehole /tiltborehole/ fetch_tiltborehole
Seismicity /seismicity fetch_seismicity
Seismic Bulletin /bulletin/ fetch_bulletin
Seismic Energy /energy/ fetch_energy
Seismic Magnitude /magnitude/ fetch_magnitude
EDM Slope Correction /slope/ fetch_slope
EDM Slope Correction Detail /slope/{pk}/ slope
Create EDM Slope Correction /slope/ create_slope
Replace EDM Slope Correction /slope/{pk}/ replace_slope
Update EDM Slope Correction /slope/{pk}/ update_slope
Search EDM Slope Correction /slope/ search_slope
User Profile Info /users/ fetch_users
User Detail /users/{pk}/ user
Search User /users/ search_users

For more information about BMA API, see the BMA API documentation.

Support

This project is maintained by Indra Rudianto. If you have any question about this project, you can contact him at indrarudianto.official@gmail.com.

Credit

This project is highly inspired by python-instagram project and use the same design pattern. The project is licensed under BSD license. See LICENSE for details.

License

By contributing to the project, you agree that your contributions will be licensed under its MIT license. See 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

bmaclient-0.2.0.tar.gz (8.3 kB view hashes)

Uploaded Source

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