Meridian Kit SDK for Python
Meridian Kit SDK 用于通过 Python 调用 Meridian Data API。SDK 使用 API Key 鉴权,并提供业务函数和通用 HTTP 请求两种调用方式。
使用要求
- Python 3.9 或更高版本(推荐使用仍处于安全维护期的 Python 3.11 或更高版本);
- 可访问 Meridian Data API 的网络环境;
- Meridian 提供的 API 地址,以及访问凭证页中 API Key 类型凭证的密钥(SK)。
SDK 依赖 requests>=2.31,<3。正常安装时,pip 会自动处理依赖;如果安装环境
不能访问 Python 包索引,需要由环境管理员预先准备依赖包。
Python 3.9 使用兼容旧版 macOS LibreSSL 的 urllib3>=1.26.20,<2;Python 3.10
及以上使用 Requests 正常解析出的 urllib3 2.x。urllib3 1.26 分支已停止常规维护,
因此新部署仍推荐使用 Python 3.11 或更高版本。
安装
首次安装
从 PyPI 安装:
python -m pip install meridian-kit-sdk
Windows PowerShell:
py -3 -m pip install meridian-kit-sdk
安装后可检查 SDK 版本:
python -c "import meridian_kit_sdk; print(meridian_kit_sdk.__version__)"
该命令会输出当前安装的 SDK 版本号。
配置并运行 Demo
如果使用仓库中的 demo.py,将以下两个占位值替换为 Meridian 提供的实际配置:
base_url = "https://api.ultrastiching.com"
api_key = "replace-with-your-api-key"
base_url 必须是 Meridian 提供的纯 HTTP(S) API 地址。当前生产 API 地址为
https://api.ultrastiching.com,不能误用 https://www.ultrastiching.com,也不能附带
/api/wd、Query 参数或 #fragment。
配置完成后执行:
python demo.py
Demo 调用 get_s_majorbiz(),成功时会输出服务端返回的 JSON 数据。示例中的股票
代码和日期可根据实际查询需求修改。
调用业务函数
SDK 业务函数通过 MeridianClient 调用,SDK 自动添加 Authorization: Bearer <API Key>:
from meridian_kit_sdk import MeridianClient
base_url = "https://api.ultrastiching.com"
api_key = "replace-with-your-api-key"
with MeridianClient(
base_url=base_url,
api_key=api_key,
) as client:
result = client.get_s_majorbiz(
code=["600745", "603986"],
trade_date=["20240705", "20240704"],
)
print(result)
业务函数返回服务端响应解码后的 JSON 对象。SDK 不自动转换为
pandas.DataFrame。
完整业务函数、调用签名、HTTP 路径、参数和返回值说明见仓库中的
API_LIST.md。该文件可直接使用编辑器全文搜索函数名或业务说明。安装后也可以在
Python 中查看单个函数说明,例如:
help(MeridianClient.get_s_majorbiz)
从旧 AK/SK 接入迁移
用户端统一使用 api_key,不再接受 AK/SK 签名。升级时会吊销有效旧凭证并生成全新的 API Key;
请到控制台的“访问凭证”查看新 API Key,更新 SDK 后改用 api_key= 参数。
旧 SK 不能直接当作新 API Key。SDK 不再接收 access_key / secret_key 参数。
通过 API 路径调用
当需要直接调用 API 路径时,可以使用 request():
with MeridianClient(
base_url=base_url,
api_key=api_key,
) as client:
response = client.request(
"POST",
"/api/wd/get_s_majorbiz",
json={
"code": {"symbols": ["600745", "603986"]},
"trade_date": {"dates": ["20240705", "20240704"]},
},
)
result = response.json()
request() 返回 requests.Response。请求路径必须以单个 / 开头,不能传入完整
URL。请求体最大为 1 MiB。
错误处理
from meridian_kit_sdk import (
MeridianApiError,
MeridianResponseError,
MeridianTransportError,
)
try:
result = client.get_s_majorbiz(
code=["600745"],
trade_date=["20240705"],
)
except MeridianApiError as error:
# 服务端返回非 2xx。
print(error.status_code, error.error_code, error.message, error.request_id)
except MeridianTransportError as error:
# DNS、连接、TLS 或响应读取失败。
print(error)
except MeridianResponseError as error:
# 服务端返回 2xx,但响应不是合法 JSON。
print(error.request_id)
SDK 默认不自动重试。网络中断时不能仅根据客户端错误判断服务端是否已经完成调用; 是否重试应结合具体业务和计费规则决定。
常见问题
提示 No module named 'meridian_kit_sdk'
确认安装 SDK 和运行程序使用的是同一个 Python 解释器,并重新执行安装命令。
返回 401 或 API Key 无效
检查凭证是否有效,以及 API Key 是否为控制台当前显示的完整新密钥。
不要覆盖 Authorization 或 X-Meridian-* 鉴权请求头。
返回 405,且 code 和 request_id 都为空
这通常表示请求没有进入 Meridian Data API 网关,而是发到了网站入口。确认
base_url 使用 https://api.ultrastiching.com,不要使用
https://www.ultrastiching.com。SDK 会自动拼接 /api/wd/...,不要把该路径加到
base_url 中。
网络连接失败
检查域名解析、代理、防火墙、TLS 证书和目标 API 地址。若所在环境必须使用代理, 请先按所在组织的网络规范配置 Python/Requests 代理。
出现 NotOpenSSLWarning
该警告通常表示旧版 macOS Python 使用 LibreSSL,同时环境中残留了 urllib3 2.x。
请重新安装当前 SDK,让 pip 按 Python 3.9 的依赖约束安装兼容版本:
python -m pip install --upgrade --force-reinstall meridian-kit-sdk
接口返回不可用
确认当前凭证是否有权调用目标接口,以及接口是否已对当前账号发布。如需定位,向
Meridian 支持人员提供异常中的 request_id,不要提供 Secret Key。
升级与卸载
升级到新版本
使用 --upgrade 安装最新版本:
python -m pip install --upgrade meridian-kit-sdk
重新安装同一版本
如果需要重新安装当前版本,使用 --force-reinstall 保证替换本地已经安装的内容:
python -m pip install --force-reinstall meridian-kit-sdk
卸载
卸载 SDK:
python -m pip uninstall meridian-kit-sdk
凭证安全
- 不要将真实 SK 提交到 Git、粘贴到工单或发送到群聊;
- 不要在日志、异常消息或截图中输出完整 AK/SK;
- API Key 只通过 SDK 管理的 Authorization 头传递,不要放入 URL 或 Query;
- 如果凭证疑似泄露,应立即联系 Meridian 管理员撤销并重新生成。
Metadata
Release files for meridian-kit-sdk 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| meridian_kit_sdk-0.1.1.tar.gz | 318.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| meridian_kit_sdk-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 437.2 kB
Release files / meridian_kit_sdk-0.1.1.tar.gz
| Download URL | meridian_kit_sdk-0.1.1.tar.gz |
|---|---|
| Size | 318.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
37098674d17402f2fd25ba3b7ae277f922c22731d9be47e5b26f3fcbe025e222
|
|
BLAKE2b-256 checksum How to use checksums |
223d862db5b9b05b4d5fbe3274798fe4b6f320b0a2b1fa62583b3b81b6a463bb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Release files / meridian_kit_sdk-0.1.1-py3-none-any.whl
| Download URL | meridian_kit_sdk-0.1.1-py3-none-any.whl |
|---|---|
| Size | 118.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0524eabeaaa9b073b0714230e39ee435c1cfc8993938fded158dd63a01f2c6fb
|
|
BLAKE2b-256 checksum How to use checksums |
ccc19da8d136f6ebb8afbfcbbb7aaab508a0302847a57ac3670db9f95a4fe3da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|