Skip to main content

台灣交通部「TDX運輸資料流通服務平臺」之python介接套件

Project description

TDX Proxy

English docs

台灣交通部「TDX運輸資料流通服務平臺」之python介接套件

TDX Proxy 將與 TDX 平台之介接流程簡化,只要給予 Client ID 與 Secret Key, 便能直接對 TDX 平台之 API 進行呼叫。

TDX Proxy 支援不使用 API 金鑰呼叫 TDX 平台,但含有部分 限制,如每個呼叫來源端IP的上限為每日50次等。

一個簡單範例:

from tdx_proxy import TDXProxy

proxy = TDXProxy(app_id=YOUR_TDX_ID, app_key=YOUR_TDX_KEY)

result = proxy.get(TDX_SERVICE_URL)

Installing TDX Proxy

TDX Proxy 可透過 PyPI 安裝

$ pip install motc-tdx-proxy

需求 python 3.10+

Features

  • 自動進行身分驗證並取得 Access Token
  • Access Token 快取機制,只在過期或驗證錯誤時再自動重新取得 Token
  • 自動處理 TDX 呼叫頻率限制
  • 支援不使用 API 金鑰呼叫 TDX 平台 (含部分限制)

Documentation

Initialize Proxy

初始化 Proxy 可將 ID 與 KEY 直接作為參數帶入,或使用 credential 檔案

# 直接帶入參數
proxy = TDXProxy(app_id=YOUR_TDX_ID, app_key=YOUR_TDX_KEY)

# 使用 credential 檔案
# file_name 若不指定,將會使用環境變數 TDX_CREDENTIALS_FILE 作為預設路徑
proxy = TDXProxy.from_credential_file(file_name=YOUR_CREDENTAIL_FILE)

其中 credential 檔案為 Json 檔,格式如下

{
    "app_id": "YOUR_ID",
    "app_key": "YOUR_KEY"
}

也可以不使用 API 金鑰初始化 proxy,但含有部分 限制,如每個呼叫來源端IP的上限為每日50次等。

# 不使用 API 金鑰
proxy = TDXProxy.no_auth()

Calling TDX API

使用 TDXProxy.get() 呼叫 TDX API, 回傳為 requests.Response 物件

result = proxy.get('v3/Rail/TRA/DailyTrainTimetable/TrainDates')

Parameters:

  • url - TDX API URL,不須包含 base 以及 parameter ,如下所述
  • url_base - (Optional) 預設為 https://tdx.transportdata.tw/api/basic/
  • params - (Optional) Dict,額外的參數,預設為 { 'format': 'JSON' }
  • headers - (Optional) Dict,額外的 headers 如 If-Modified-Since,authorization header 會在呼叫 API 時自動加入

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

motc_tdx_proxy-0.1.1.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

motc_tdx_proxy-0.1.1-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file motc_tdx_proxy-0.1.1.tar.gz.

File metadata

  • Download URL: motc_tdx_proxy-0.1.1.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.2

File hashes

Hashes for motc_tdx_proxy-0.1.1.tar.gz
Algorithm Hash digest
SHA256 1f87cba8f1d330ac57750b658ac93e4abaf6d1fa539c96e51e9d24c950225016
MD5 c2cdc107f6e5d8932bfe3ba3c713407e
BLAKE2b-256 f991750ba6f810d61c38e4972ad0858e54b1901bc4756aca37b01d9fc0721dd0

See more details on using hashes here.

File details

Details for the file motc_tdx_proxy-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for motc_tdx_proxy-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d8b846074580a3a7e87171ff0710a6d98706197cb1906a064b2cf5192e2953d1
MD5 9b3cdc6d7953a40b3888ea82635c278e
BLAKE2b-256 74808b4eea0e9e1b285f2a21b876cf49b0c005dea2e8bd0609d453f7a19d3a5c

See more details on using hashes here.

Supported by

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