Flask マイクロ フレームワークを使用して Python で書かれたマイクロサービス。
コードは、AWS の Elastic Beanstalk サービスでより簡単に動作するように再編成されました。
以前のバージョンからの変更点は次のとおりです。
以前のコードの凍結バージョンは、「prevCodeOrganization」というブランチにあります。
NASA が設定したこの API のインスタンスを非常に多くの人が使用しています。この API の非常に信頼性の高いバージョンが必要な場合は、独自のバージョンの API を立ち上げることになるでしょう。このコードを使えばそれができます!この API が返すすべての情報は、実際には Astronomy Photo of the Day Web サイト (APOD) から取得されたものです。
このリポジトリを閲覧している人は Astronomy Photo of the Day Web サイトとは何の関係もないため、コンテンツに直接関連する問題に対処することはできません。直接ご連絡ください。
virtualenv
環境環境conda
環境git clone https://github.com/nasa/apod-api
cd
新しいディレクトリに移動します cd apod-api
lib
にインストールするpip install -r requirements.txt -t lib
lib
追加し、サーバーを実行しますPYTHONPATH=./lib python application.py
virtualenv
環境環境git clone https://github.com/nasa/apod-api
cd
新しいディレクトリに移動します cd apod-api
env
を作成しますpython -m venv venv
. v env S cripts A ctivate
pip install -r requirements.txt
python application.py
conda
環境git clone https://github.com/nasa/apod-api
cd
新しいディレクトリに移動します cd apod-api
env
を作成しますconda create --prefix ./env
conda activate ./env
pip install -r requirements.txt
python application.py
git clone https://github.com/nasa/apod-api.git
cd
新しいディレクトリに移動します cd apod-api
docker build . -t apod-api
docker run -p 5000:5000 apod-api
/<version>/apod
このサービスには、http GET リクエストへのパラメータとして 2 つのオプション フィールドを取るエンドポイントが 1 つだけあります。名目上、JSON 辞書が返されます。
api_key
|デモ: DEMO_KEY
| https://api.nasa.gov/#signUpdate
APOD イメージの日付を示す YYYY-MM-DD 形式の文字列 (例: 2014-11-03)。デフォルトは今日の日付です。 APOD の写真が最初に投稿された日である 1995 年 6 月 16 日以降でなければなりません。この API を通じて利用できる明日の画像はありません。concept_tags
応答の残りの部分とともに概念タグを返すかどうかを示すブール値True|False
。概念タグは必ずしも説明に含まれるわけではなく、説明テキストに関連付けられた一般的な検索タグから派生します。 (純粋なテキスト検索よりも優れています。) デフォルトは False です。hd
高解像度の画像を返すかどうかを示すブール値のTrue|False
パラメータ。これは従来の目的で存在し、サービスでは常に無視され、関係なく高解像度の URL が返されます。count
100 以下の正の整数。これを指定すると、ランダムに選択されたcount
個の画像が JSON 配列で返されます。 date
またはstart_date
およびend_date
と組み合わせて使用することはできません。start_date
日付範囲の開始を示す YYYY-MM-DD 形式の文字列。 start_date
からend_date
までの範囲内のすべての画像が JSON 配列で返されます。 date
と一緒に使用することはできません。end_date
日付範囲の終了を示す YYYY-MM-DD 形式の文字列。 start_date
がend_date
なしで指定された場合、 end_date
デフォルトで現在の日付になります。thumbs
API がビデオ ファイルのサムネイル画像 URL を返すかどうかを示すブール値パラメータTrue|False
。 True
に設定すると、API はビデオのサムネイルの URL を返します。 APOD がビデオではない場合、このパラメータは無視されます。返されるフィールド
resource
応答が示すimage_set
またはplanet
記述する辞書。構造化されたエンドポイントによって完全に決定されます。concept_tags
提供されたオプションのブール値の反映。デフォルト値のため、応答に含まれます。title
画像のタイトル。date
画像の日付。デフォルト値のため、応答に含まれます。url
その日の APOD 画像またはビデオの URL。hdurl
その日の高解像度画像の URL。 「hd」パラメータの設定に関係なく返されますが、APOD にもともと存在しない場合は応答で省略されます。media_type
返されるメディア (データ) のタイプ。コンテンツに応じて、「画像」または「ビデオ」のいずれかになります。explanation
提供された画像の説明テキスト。concepts
テキストの説明内で最も関連性の高い概念。 concept_tags
が True に設定されている場合にのみ提供されます。thumbnail_url
ビデオのサムネイルの URL。copyright
権所有者の名前。service_version
使用されるサービスのバージョン。例
localhost:5000/v1/apod ? api_key=DEMO_KEY & date=2014-10-01 & concept_tags=True
{
resource : {
image_set : "apod"
},
concept_tags : "True" ,
date : "2013-10-01" ,
title : "Filaments of the Vela Supernova Remnant" ,
url : "http://apod.nasa.gov/apod/image/1310/velafilaments_jadescope_960.jpg" ,
explanation : "The explosion is over but the consequences continue. About eleven
thousand years ago a star in the constellation of Vela could be seen to explode,
creating a strange point of light briefly visible to humans living near the
beginning of recorded history. The outer layers of the star crashed into the
interstellar medium, driving a shock wave that is still visible today. A roughly
spherical, expanding shock wave is visible in X-rays. The above image captures some
of that filamentary and gigantic shock in visible light. As gas flies away from the
detonated star, it decays and reacts with the interstellar medium, producing light
in many different colors and energy bands. Remaining at the center of the Vela
Supernova Remnant is a pulsar, a star as dense as nuclear matter that rotates
completely around more than ten times in a single second." ,
concepts : {
0 : "Astronomy" ,
1 : "Star" ,
2 : "Sun" ,
3 : "Milky Way" ,
4 : "Hubble Space Telescope" ,
5 : "Earth" ,
6 : "Nebula" ,
7 : "Interstellar medium"
}
}
https://api.nasa.gov/planetary/apod ? api_key=DEMO_KEY & count=5
[
{
"copyright" : "Panther Observatory" ,
"date" : "2006-04-15" ,
"explanation" : "In this stunning cosmic vista, galaxy M81 is on the left surrounded by blue spiral arms. On the right marked by massive gas and dust clouds, is M82. These two mammoth galaxies have been locked in gravitational combat for the past billion years. The gravity from each galaxy dramatically affects the other during each hundred million-year pass. Last go-round, M82's gravity likely raised density waves rippling around M81, resulting in the richness of M81's spiral arms. But M81 left M82 with violent star forming regions and colliding gas clouds so energetic the galaxy glows in X-rays. In a few billion years only one galaxy will remain." ,
"hdurl" : "https://apod.nasa.gov/apod/image/0604/M81_M82_schedler_c80.jpg" ,
"media_type" : "image" ,
"service_version" : "v1" ,
"title" : "Galaxy Wars: M81 versus M82" ,
"url" : "https://apod.nasa.gov/apod/image/0604/M81_M82_schedler_c25.jpg"
},
{
"date" : "2013-07-22" ,
"explanation" : "You are here. Everyone you've ever known is here. Every human who has ever lived -- is here. Pictured above is the Earth-Moon system as captured by the Cassini mission orbiting Saturn in the outer Solar System. Earth is the brighter and bluer of the two spots near the center, while the Moon is visible to its lower right. Images of Earth from Saturn were taken on Friday. Quickly released unprocessed images were released Saturday showing several streaks that are not stars but rather cosmic rays that struck the digital camera while it was taking the image. The above processed image was released earlier today. At nearly the same time, many humans on Earth were snapping their own pictures of Saturn. Note: Today's APOD has been updated." ,
"hdurl" : "https://apod.nasa.gov/apod/image/1307/earthmoon2_cassini_946.jpg" ,
"media_type" : "image" ,
"service_version" : "v1" ,
"title" : "Earth and Moon from Saturn" ,
"url" : "https://apod.nasa.gov/apod/image/1307/earthmoon2_cassini_960.jpg"
},
{
"copyright" : "Joe Orman" ,
"date" : "2000-04-06" ,
"explanation": "Rising before the Sun on February 2nd, astrophotographer Joe Orman anticipated this apparition of the bright morning star Venus near a lovely crescent Moon above a neighbor's house in suburban Phoenix, Arizona, USA. Fortunately, the alignment of bright planets and the Moon is one of the most inspiring sights in the night sky and one that is often easy to enjoy and share without any special equipment. Take tonight, for example. Those blessed with clear skies can simply step outside near sunset and view a young crescent Moon very near three bright planets in the west Jupiter, Mars, and Saturn. Jupiter will be the unmistakable brightest star near the Moon with a reddish Mars just to Jupiter's north and pale yellow Saturn directly above. Of course, these sky shows create an evocative picture but the planets and Moon just appear to be near each other -- they are actually only approximately lined up and lie in widely separated orbits. Unfortunately, next month's highly publicized alignment of planets on May 5th will be lost from view in the Sun's glare but such planetary alignments occur repeatedly and pose no danger to planet Earth.",
"hdurl" : "https://apod.nasa.gov/apod/image/0004/vm_orman_big.jpg" ,
"media_type" : "image" ,
"service_version" : "v1" ,
"title" : "Venus, Moon, and Neighbors" ,
"url" : "https://apod.nasa.gov/apod/image/0004/vm_orman.jpg"
},
{
"date" : "2014-07-12" ,
"explanation": "A new star, likely the brightest supernova in recorded human history, lit up planet Earth's sky in the year 1006 AD. The expanding debris cloud from the stellar explosion, found in the southerly constellation of Lupus, still puts on a cosmic light show across the electromagnetic spectrum. In fact, this composite view includes X-ray data in blue from the Chandra Observatory, optical data in yellowish hues, and radio image data in red. Now known as the SN 1006 supernova remnant, the debris cloud appears to be about 60 light-years across and is understood to represent the remains of a white dwarf star. Part of a binary star system, the compact white dwarf gradually captured material from its companion star. The buildup in mass finally triggered a thermonuclear explosion that destroyed the dwarf star. Because the distance to the supernova remnant is about 7,000 light-years, that explosion actually happened 7,000 years before the light reached Earth in 1006. Shockwaves in the remnant accelerate particles to extreme energies and are thought to be a source of the mysterious cosmic rays.",
"hdurl" : "https://apod.nasa.gov/apod/image/1407/sn1006c.jpg" ,
"media_type" : "image" ,
"service_version" : "v1" ,
"title" : "SN 1006 Supernova Remnant" ,
"url" : "https://apod.nasa.gov/apod/image/1407/sn1006c_c800.jpg"
},
{
"date" : "1997-01-21" ,
"explanation": "In Jules Verne's science fiction classic A Journey to the Center of the Earth, Professor Hardwigg and his fellow explorers encounter many strange and exciting wonders. What wonders lie at the center of our Galaxy? Astronomers now know of some of the bizarre objects which exist there, like vast dust clouds,r bright young stars, swirling rings of gas, and possibly even a large black hole. Much of the Galactic center region is shielded from our view in visible light by the intervening dust and gas. But it can be explored using other forms of electromagnetic radiation, like radio, infrared, X-rays, and gamma rays. This beautiful high resolution image of the Galactic center region in infrared light was made by the SPIRIT III telescope onboard the Midcourse Space Experiment. The center itself appears as a bright spot near the middle of the roughly 1x3 degree field of view, the plane of the Galaxy is vertical, and the north galactic pole is towards the right. The picture is in false color - starlight appears blue while dust is greenish grey, tending to red in the cooler areas.",
"hdurl" : "https://apod.nasa.gov/apod/image/9701/galcen_msx_big.gif" ,
"media_type" : "image" ,
"service_version" : "v1" ,
"title" : "Journey to the Center of the Galaxy rn Credit:" ,
"url" : "https://apod.nasa.gov/apod/image/9701/galcen_msx.jpg"
}
]
https://api.nasa.gov/planetary/apod ? api_key=DEMO_KEY & start_date=2017-07-08 & end_date=2017-07-10
[
{
"copyright" : "T. Rector" ,
"date" : "2017-07-08" ,
"explanation" : "Similar in size to large, bright spiral galaxies in our neighborhood, IC 342 is a mere 10 million light-years distant in the long-necked, northern constellation Camelopardalis. A sprawling island universe, IC 342 would otherwise be a prominent galaxy in our night sky, but it is hidden from clear view and only glimpsed through the veil of stars, gas and dust clouds along the plane of our own Milky Way galaxy. Even though IC 342's light is dimmed by intervening cosmic clouds, this sharp telescopic image traces the galaxy's own obscuring dust, blue star clusters, and glowing pink star forming regions along spiral arms that wind far from the galaxy's core. IC 342 may have undergone a recent burst of star formation activity and is close enough to have gravitationally influenced the evolution of the local group of galaxies and the Milky Way." ,
"hdurl" : "https://apod.nasa.gov/apod/image/1707/ic342_rector2048.jpg" ,
"media_type" : "image" ,
"service_version" : "v1" ,
"title" : "Hidden Galaxy IC 342" ,
"url" : "https://apod.nasa.gov/apod/image/1707/ic342_rector1024s.jpg"
},
{
"date" : "2017-07-09" ,
"explanation" : "Can you find your favorite country or city? Surprisingly, on this world-wide nightscape, city lights make this task quite possible. Human-made lights highlight particularly developed or populated areas of the Earth's surface, including the seaboards of Europe, the eastern United States, and Japan. Many large cities are located near rivers or oceans so that they can exchange goods cheaply by boat. Particularly dark areas include the central parts of South America, Africa, Asia, and Australia. The featured composite was created from images that were collected during cloud-free periods in April and October 2012 by the Suomi-NPP satellite, from a polar orbit about 824 kilometers above the surface, using its Visible Infrared Imaging Radiometer Suite (VIIRS)." ,
"hdurl" : "https://apod.nasa.gov/apod/image/1707/EarthAtNight_SuomiNPP_3600.jpg" ,
"media_type" : "image" ,
"service_version" : "v1" ,
"title" : "Earth at Night" ,
"url" : "https://apod.nasa.gov/apod/image/1707/EarthAtNight_SuomiNPP_1080.jpg"
},
{
"date" : "2017-07-10" ,
"explanation" : "What's happening around the center of this spiral galaxy? Seen in total, NGC 1512 appears to be a barred spiral galaxy -- a type of spiral that has a straight bar of stars across its center. This bar crosses an outer ring, though, a ring not seen as it surrounds the pictured region. Featured in this Hubble Space Telescope image is an inner ring -- one that itself surrounds the nucleus of the spiral. The two rings are connected not only by a bar of bright stars but by dark lanes of dust. Inside of this inner ring, dust continues to spiral right into the very center -- possibly the location of a large black hole. The rings are bright with newly formed stars which may have been triggered by the collision of NGC 1512 with its galactic neighbor, NGC 1510." ,
"hdurl" : "https://apod.nasa.gov/apod/image/1707/NGC1512_Schmidt_1342.jpg" ,
"media_type" : "image" ,
"service_version" : "v1" ,
"title" : "Spiral Galaxy NGC 1512: The Nuclear Ring" ,
"url" : "https://apod.nasa.gov/apod/image/1707/NGC1512_Schmidt_960.jpg"
}
]
画像を再表示する場合は、著作権の有無を確認してください。著作権返還フィールドのないものは、通常、NASA であり、パブリック ドメインにあります。詳細については、メインの Astronomy Photo of the Day サイトの「画像の許可について」セクションを参照してください。
APOD パーサーは API 自体の一部ではありません。むしろ、追加のコードを自分で作成することなく、Python を使用して APOD API にすばやくアクセスするために使用することを目的としています。これは apod_parser フォルダーにあります。
まず、 apod_object_parser.py
ファイルをインポートします。
ここでget_data
関数を使用し、API キーを唯一の引数として渡します。ここで API キーを取得できます
response = apod_object_parser . get_data ( < your_api_key > )
-> apod_object_parser.get_date(response)
-> apod_object_parser.get_explaination(response)
-> apod_object_parser.get_hdurl(response)
-> apod_object_parser.get_media_type(response)
-> apod_object_parser.get_service_version(response)
-> apod_object_parser.get_title(response)
-> apod_object_parser.get_url(response)
完全なドキュメントとその他の機能については、ここをクリックして apod パーサーの Readme にアクセスしてください。
この API のデプロイされたバージョンは、 eb
ブランチに基づいています。それより前にデプロイされたバージョンは、 eb_previous
ブランチにあります。いずれにせよ、ほとんどのプル リクエストがそこに来るため、 master
ブランチは開発として使用されます。
この API は、多数の人がサービスを使用するため、Elastic Beantalk を使用して AWS にデプロイされます。ただし、自分だけで使用することを計画している場合は、単一のマイクロ EC2 またはその他の小型のクラウド コンピューティング マシン上に設置できるほど小さいです。
役立つと思われる場合は、このリポジトリにスターを付けてください。このリポジトリに関するフィードバックを送信するには、github issue tracker を使用してください。
一般からのプルリクエストも受け付けています。ご対応が遅くなる場合がございますので予めご了承ください。しばらくお待ちください。
また、このリポジトリに対する権限を持つ人は、APOD Web サイト自体の問題をデバッグできる人ではありません。貢献したい場合は、今すぐテストに少し注意を払うことができます。