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

GitHub

https://github.com/emirozer/bowshock