Skip to main content

SDK for Ekispert API Community Edition

Project description

駅すぱあと API SDK for Python

駅すぱあと APIをPythonから利用するためのSDKです。

インストール

pip でインストールします。

pip install ekispertapi-sdk-comm==0.6.0

初期化

初期化時には、駅すぱあと APIのAPIキーを指定します。APIキーはトライアル申し込みより取得してください。

from ekispert.client import Ekispert

client = Ekispert("YOUR_API_KEY")

駅情報の取得

駅情報取得APIを実行します。検索条件、結果は駅情報 - 駅すぱあと API Documents 駅データ・経路検索のWebAPIを参照してください。

query = client.stationQuery()
query.code = 22828
points = query.execute()
assert len(points) == 1
assert points[0].station.name == '東京'
assert points[0].geo_point.lati_d == 35.678083
assert points[0].prefecture.name == '東京都'
assert points[0].prefecture.code == 13

駅簡易情報の取得

駅簡易情報APIを実行します。検索条件、結果は駅簡易情報 - 駅すぱあと API Documents 駅データ・経路検索のWebAPIを参照してください。

query = client.stationLightQuery()
query.name = '東京'
points = query.execute()
assert len(points) > 0
assert points[0].station.name == '東京'
assert points[0].prefecture.name == '東京都'
assert points[0].prefecture.code == 13

平均待ち時間探索

平均待ち時間探索APIを実行します。検索条件、結果は平均待ち時間探索 - 駅すぱあと API Documents 駅データ・経路検索のWebAPIを参照してください。

query = client.searchCoursePlainQuery()
query.from_ = 25077
query.to = 29090
courses = query.execute()
assert len(courses) > 0
assert courses[0].routes[0] is not None
assert courses[0].prices[0].kind == "ChargeSummary"
assert courses[0].prices[0].one_way == 2530
assert courses[0].prices[0].round == 5060

経路探索

経路探索APIを実行します。検索条件、結果は経路探索 - 駅すぱあと API(旧:駅すぱあとWebサービス) Documents 駅データ・経路検索のWebAPIを参照してください。

query = client.courseExtremeQuery()
query.via_list = ['22671', '22741']
query.answer_count = 1
courses = query.execute()
assert len(courses) == 1
assert courses[0].serialize_data is not None
assert courses[0].teiki.serialize_data is not None
assert courses[0].routes[0].lines[0].train_id is not None
assert courses[0].pass_statuses[0].name is not None
assert courses[0].pass_statuses[0].kind is not None
assert courses[0].prices[0].kind == "ChargeSummary"
assert courses[0].routes[0].distance == 58
assert courses[0].routes[0].exhaust_co2 == 116

定期券の払い戻し計算

定期券の払い戻し計算APIを実行します。検索条件、結果は定期券の払い戻し計算 - 駅すぱあと API Documents 駅データ・経路検索のWebAPIを参照してください。

query = client.courseRepaymentQuery()
query.serializeData = '1,true'
query.checkEngineVersion = False
query.serializeData = 'VkV4QaECp9nIAsMCpgEz76YDpgEz76UEkcIBQwAAAAKmATPvpQPKAQECAQMBBAEHAQgBCgIPQv9_EKX_9xSRpVjVBZfBAqVYj8ECpVjVwQKlWXvBAqVZLMECpVkPwQKlWvHBAqVXwAaSwwEBAgEDxwGlWFoCDQMPBQMGRDk0NlQHBAgDwwEBAgEDxgGmAAIwMwIVAxYFAwcGCAUHksUBpgEz76gDpQJfBKUCZgUACADGAaYBM||oAgEDpQJwBKUCcQUACAAIksQEAQUBB6RtCAHGAgEEAgUBBgEHpQEvCAIJksEDAcMBAQIBAwEPkcUBkwABAgKSwwEAAgADAMMBAQIBAwEDksMBAAIAAwDDAQECAQMBBJIAAQWSAAA*--T3221233232319:F332112212000:A23121141:--88eed71f6168dfe5ab30b8cc5e938621dd3806a7--0--0--0--284'
results = query.execute()
assert results['repayment_list'] is not None
assert results['teiki_route'] is not None
assert results['repayment_list'].repayment_date is not None
assert results['repayment_list'].repayment_tickets is not None
assert results['repayment_list'].repayment_tickets[0].fee_price_value is not None
assert results['teiki_route'].section_separator is not None
assert results['teiki_route'].teiki_route_sections is not None
assert results['teiki_route'].teiki_route_sections[0].points is not None
assert results['teiki_route'].teiki_route_sections[0].points[0].station.name is not None
assert results['teiki_route'].teiki_route_sections[0].points[0].prefecture is not None

緯度経度からの周辺駅検索

query = client.geoStationQuery()
query.set_geo_point(langitude="35.6783055555556", longitude="139.770441666667", radius=1000, geodetic='tokyo')
# または
query.set_geo_point(langitude="35.6783055555556", longitude="139.770441666667", radius=1000)
# または
query.set_geo_point(langitude="35.6783055555556", longitude="139.770441666667", geodetic='tokyo')
# または
query.set_geo_point(langitude="35.6783055555556", longitude="139.770441666667")
points = query.execute()
assert(len(points) > 0)
assert(isinstance(points[0], Point))
assert(points[0].station.name is not None)
assert(points[0].prefecture is not None)
assert(points[0].prefecture.name is not None)
assert(points[0].prefecture.code is not None)
print(points[0].distance)

print(points[0].station.name)
print(points[0].prefecture)
print(points[0].prefecture.name)
print(points[0].prefecture.code)

ライセンス

MITライセンスです。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ekispertapi_sdk_comm-0.6.1.tar.gz (69.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ekispertapi_sdk_comm-0.6.1-py3-none-any.whl (175.0 kB view details)

Uploaded Python 3

File details

Details for the file ekispertapi_sdk_comm-0.6.1.tar.gz.

File metadata

  • Download URL: ekispertapi_sdk_comm-0.6.1.tar.gz
  • Upload date:
  • Size: 69.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for ekispertapi_sdk_comm-0.6.1.tar.gz
Algorithm Hash digest
SHA256 c76471b3048abf3d0f4126c9a7e51722a10ae4d29570bdd9f61e1b13878f17c8
MD5 3f5b8395d94e49efceef31caed88c493
BLAKE2b-256 40eedc14cc4b5b79ff13b847777e727d0368d4f4367546a94abcdb71662b8521

See more details on using hashes here.

File details

Details for the file ekispertapi_sdk_comm-0.6.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ekispertapi_sdk_comm-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d8af294b82a533020fe2fe85087de90b0f0c7af3967199a8cbe52d733da916b8
MD5 220345417c7384b043356e1bb8a5eccf
BLAKE2b-256 aaa241d2cb8fd27fcfd87812956cc660584b2caa7dee711fbe08b0bb3b76dc4e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page