Skip to main content

SDK for Ekispert API Community Edition

Project description

駅すぱあと API SDK for Python

駅すぱあと APIをPythonから利用するためのSDKです。非公式のSDKになります。

インストール

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

pip install ekispertapi-sdk-comm

初期化

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

from ekispertapi_sdk_comm.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.2.tar.gz (68.9 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: ekispertapi_sdk_comm-0.6.2.tar.gz
  • Upload date:
  • Size: 68.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.11

File hashes

Hashes for ekispertapi_sdk_comm-0.6.2.tar.gz
Algorithm Hash digest
SHA256 168d2ac43b0791297ce410f71d15d0b93119f84dda21892beb0b2ae8caa9800a
MD5 6a06a413c88903b10614c1928a1bb6e7
BLAKE2b-256 42ff1bf6eb09c2d9089ef0ff33a02e7471ed5ecedf9d029096fe33a7e64c9b48

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