voyager_client 0.2.2

Client for interacting with NASA's Open APIs
Documentation
voyager_client-0.2.2 has been yanked.

version-shield downloads-shield docs-build-shield contributors-shield license-shield issues-shield

Overview

Voyager is a swiss army knife library for the NASA Open APIs. It is designed to bundle all the NASA APIs into a single package. Voyager can be used to gather data from a variety of NASA's endpoints, including: Picture of The Day, Solar Flares, Magnetic Storms, Near Earth Objects etc.

Future versions of voyager will strive to incorporate more endpoints, until all of them are integrated.

Crate Usage

Sample progam with voyager_client

Let's see how we can use the voyager_client in our Rust projects.

    use voyager_client::{donki_client, timing};

    fn main() {
        // Instantiate Base Client
        let base = donki_client::CoronalMassEjection::new();
        
        // Setup Timing Parameters for Query
        let start = String::from("2019-01-01");
        let end = timing::today();

        // Query the API
        let res = base.query(start, end).unwrap();
    }

This is a very simple program using voyager_client. We instantiate our base client for the Coronal Mass Ejection endpoint, and setup our timing parameters for our query. Then we pass the start and end dates into the query function. This will return a JSON string in prettyfied format.

CLI Installation

Build binaries

To build the voyager binaries, run:

    cargo build --release

Copying binaries to your local path

    bash install.sh

Setup

Once you have the binaries installed, you must first configure your API key to use with voyager. If you have one already setup through NASA, you can simply run the following command:

    voyager set key [YOUR_API_KEY]

If you don't have an API key yet, you can visit NASA's Open API Documentation to set one up. Then run the command above to link your key with voyager. The key will be written to /Users/you/voyager/.api_key.txt.

    voyager get key

Run this command to ensure voyager has saved your key properly.