bowshock

An all-in-one library for NASA API's


Keywords
nasa, api, wrapper, client-lib, nasa-api, python
License
Other
Install
pip install bowshock==0.0.2

Documentation

Screenshot

PyPI version Downloads Status Build Status

About

bowshock is an all-in-one wrapper for NASA API's. Here is a list of currently supported API's :

Install

Standart Procedure

pip install bowshock

Important Note: The only requirement is the 'requests' package BUT if you want to use MODIS there is an external requirement which is 'suds' package

Do i need an API Key ?

YES NO
Earth The rest
APOD
Patents
Earth Temperature Anomalies

The rest does not require an API key for usage. Get your NASA API KEY from : https://data.nasa.gov/developer/external/planetary/#apply-for-an-api-key

Setting up the API Key

set an environment varible NASA_API_KEY which is equal to your key string

Usage

Apod
from bowshock import apod

# with specific date and tags - For apod all args are optional
apod.apod(date="2015-02-02", concept_tags=True)

Asterank
from bowshock import asterank

# all args mandatory
asterank.asterank(
                query={"e": {"$lt": 0.1},
                       "i": {"$lt": 4},
                       "a": {"$lt": 1.5}},
                  limit=1)

Earth
from bowshock import earth

# imagery endpoint lon & lat mandatory, rest optional
earth.imagery(lon=100.75,
                    lat=1.6,
                    dim=0.0025,
                    date="2015-02-02",
                    cloud_score=True)
# assets endpoint lon & lat & begin mandatory, end optional
earth.assets(lon=100.75, lat=1.6, begin="2015-02-02", end="2015-02-10")

HelioViewer
from bowshock import helioviewer

# args are mandatory
helioviewer.getjp2image(date='2014-01-01T23:59:59', sourceId=14)
#args are mandatory
helioviewer.getjp2header(Id=7654321)

MAAS
from bowshock import maas

# mandatory date begin / end
maas.maas_archive('2012-10-01', '2012-10-31')

maas.maas_latest()

Patents
from bowshock import patents

# only query is mandatory, rest is optional
patents.patents(query="temperature", concept_tags=True, limit=5)

PredictTheSky
from bowshock import predictthesky

#args are mandatory
predictthesky.space_events(lon=100.75, lat=1.5)

Star API
from bowshock import star

star.stars()
star.search_star("Sun")

star.exoplanets()
star.search_exoplanet("11 Com")

star.local_group_of_galaxies()
star.search_local_galaxies("IC 10")

star.star_clusters()
star.search_star_cluster("Berkeley 59")

Skymorph
from bowshock import skymorph

# mandatory obj id
skymorph.search_target_obj("J99TS7A")

#TODO : add search_position() , search_target_obj()

temperature anomalies
from bowshock import temperature_anomalies

# end arg is optional, rest is mandatory
temperature_anomalies.coordinate(lon=100.3, lat=1.6, begin="1990", end="2005")

techport
from bowshock import techport

techport.techport(Id="4795")

Contributors

TODO

BTW What is "bowshock"?

Screenshot