Awesome
===========
About
bowshock is an all-in-one wrapper for NASA API's. Here is a list of currently supported API's :
- NASA Earth API
- NASA APOD (Astronomy Picture of the Day) API
- NASA Patents API
- NASA Earth Temperature Anomalies API
- Asterank API
- HelioViewer API
- MAAS (Mars Weather) API
- MODIS (Land, Atmosphere and Ocean Data) API
- Skymorph API
- Star API
- Techport API
- PredictTheSky API
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
- Dan Wagner <br>
TODO
- Lance-Modis API - http://lance-modis.eosdis.nasa.gov/user_services/api-lance.html