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.9+

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.0.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

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

motc_tdx_proxy-0.1.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file motc-tdx-proxy-0.1.0.tar.gz.

File metadata

  • Download URL: motc-tdx-proxy-0.1.0.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for motc-tdx-proxy-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4a046aec564af3f0da7883301f746fcaa2dd7009c237cad5fec6f73e519a2011
MD5 046501e59b5d2c06ede4fcb504b58a74
BLAKE2b-256 8a4d9b4ea0a73a9b6f3fbbdb865b33c03be3433de78ddf2a7d25884a52e99387

See more details on using hashes here.

File details

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

File metadata

  • Download URL: motc_tdx_proxy-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for motc_tdx_proxy-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8a4880c44d5975977f15baf8b337dcfb437696a7cd2eb5b790d7d00b22707664
MD5 8c45f6cc52b7c146e5c36391cf5bf7ca
BLAKE2b-256 e820ef03cf30b67c72a49abd7e579607dc6a625986b74aa9d8d487bebef58761

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