台灣交通部「TDX運輸資料流通服務平臺」之python介接套件
Project description
TDX Proxy
台灣交通部「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)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f87cba8f1d330ac57750b658ac93e4abaf6d1fa539c96e51e9d24c950225016 |
|
MD5 | c2cdc107f6e5d8932bfe3ba3c713407e |
|
BLAKE2b-256 | f991750ba6f810d61c38e4972ad0858e54b1901bc4756aca37b01d9fc0721dd0 |
File details
Details for the file motc_tdx_proxy-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: motc_tdx_proxy-0.1.1-py3-none-any.whl
- Upload date:
- Size: 6.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8b846074580a3a7e87171ff0710a6d98706197cb1906a064b2cf5192e2953d1 |
|
MD5 | 9b3cdc6d7953a40b3888ea82635c278e |
|
BLAKE2b-256 | 74808b4eea0e9e1b285f2a21b876cf49b0c005dea2e8bd0609d453f7a19d3a5c |