gmn-python-api

GMN Python API


Keywords
astronomy, data-science, meteors, open-data, python, science
License
MIT
Install
pip install gmn-python-api==0.0.8

Documentation

PyPI Status Python versions License

Read the Docs Tests Codecov

gmn-python-api

This library provides a Python API for accessing open Global Meteor Network (GMN) meteor trajectory data. Global meteor data is generated using a network of low-light cameras pointed towards the night sky. Meteor properties (radiants, orbits, magnitudes and masses) are produced by the GMN and are available through this library.

Screenshot of GMN data

Features

  • Listing available daily and monthly meteor trajectory files from the GMN Data Directory.

  • Downloading specific meteor trajectory data from the GMN Data Directory or GMN REST API.

  • Functions for loading meteor trajectory data into Pandas DataFrames.

  • Functions for retrieving available IAU registered meteor showers.

Requirements

  • Python 3.8, 3.9, or 3.10

Installation

You can install gmn-python-api via pip from PyPI:

pip install gmn-python-api

Or install the latest development code, through TestPyPI or directly from GitHub via pip:

pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple gmn-python-api==<version>

Or

pip install git+https://github.com/rickybassom/gmn-python-api

Refer to the Troubleshooting guide if you encounter any issues.

Usage

Simple meteor analysis example:

from gmn_python_api import data_directory as dd
from gmn_python_api import meteor_trajectory_reader

# Analyse recorded meteor data for the 24th of July 2019
traj_file_content = dd.get_daily_file_content_by_date("2019-07-24")

# Read data as a Pandas DataFrame
traj_df = meteor_trajectory_reader.read_data(traj_file_content)

print(f"{traj_df['Vgeo (km/s)'].max()} km/s was the fastest geostationary velocity")
# Output: 65.38499 km/s was the fastest geostationary velocity

print(f"{traj_df.loc[traj_df['IAU (code)'] == 'PER'].shape[0]} Perseid meteors")
# Output: 3 Perseid meteors

print(f"Station #{traj_df['Num (stat)'].mode().values[0]} recorded the most meteors")
# Output: Station #2 recorded the most meteors

Please see the Usage and API Reference sections for more details.

Contributing

Contributions are very welcome. To learn more, see the Contributing guide.

License

Distributed under the terms of the MIT license, gmn-python-api is free and open source software.