qdc 0.2.2__tar.gz → 0.2.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qdc
3
- Version: 0.2.2
3
+ Version: 0.2.3
4
4
  Summary: QDC online data client (tushare-compatible) for the QDC cloud data bridge.
5
5
  Author: QDC Data
6
6
  License: Proprietary
@@ -30,7 +30,7 @@ pip install -U qdc
30
30
  内网或离线环境连不上公共源时,可以按完整地址装(版本号要自己跟着换):
31
31
 
32
32
  ```bash
33
- pip install https://api.qdc-data.com:8443/release/qdc-0.2.2-py3-none-any.whl
33
+ pip install https://api.qdc-data.com:8443/release/qdc-0.2.3-py3-none-any.whl
34
34
  ```
35
35
 
36
36
  > 2026-09-06 起 qdc 已发布在 PyPI(https://pypi.org/project/qdc/)。
@@ -150,6 +150,24 @@ except qdc.QDCError as e:
150
150
 
151
151
  ## 版本
152
152
 
153
+ ### 0.2.3(2026-09-07)
154
+
155
+ **默认超时从 30 秒放宽到 180 秒。** 服务端高档位单条查询就允许 60 秒,前面还可能排队等并发槽 ——
156
+ 30 秒会让客户端在服务端还在干活时先断开,表现成「网络错误」,而那次取数机会已经扣掉了。
157
+ 断开时服务端会立刻停止查询,所以放宽它不会让服务器白干。
158
+
159
+ 同批服务端修复(不用升级连接器也生效):
160
+
161
+ - **失败的请求不再扣掉当天的取数机会。** 以前字段名写错先 422、改正后重试就 429,
162
+ 一次数据没拿到、机会没了。现在任何失败都会把那次记账撤销。
163
+ - **`start > end` 直接报错**,不再返回 200 + 0 行 —— 0 行和「真的没数据」长得一模一样。
164
+ - **完整代码能搜到了。** 以前 `lookup("600519")` 有结果而 `lookup("600519.SH")` 没有 ——
165
+ 本工具自己吐出来的代码自己不认。同时返回里标明**只检索 A 股**,查美股为空时会说清是范围问题。
166
+ - **字段字典的日期类型订正为字符串。** 库内是毫秒时间戳,返回前已格式化成 `"20260803"`,
167
+ 而字段字典此前照抄原始列类型报的是整数,客户照着解析会崩。
168
+ - **逐笔成交取「最新一笔」不再取错。** 排序键在笔内不唯一,拿到的是开盘集合竞价那笔;
169
+ 现已补上笔序号排序。
170
+
153
171
  ### 0.2.2(2026-09-07)
154
172
 
155
173
  三处,前两处都属于「不报错、只给错答案」:
@@ -18,7 +18,7 @@ pip install -U qdc
18
18
  内网或离线环境连不上公共源时,可以按完整地址装(版本号要自己跟着换):
19
19
 
20
20
  ```bash
21
- pip install https://api.qdc-data.com:8443/release/qdc-0.2.2-py3-none-any.whl
21
+ pip install https://api.qdc-data.com:8443/release/qdc-0.2.3-py3-none-any.whl
22
22
  ```
23
23
 
24
24
  > 2026-09-06 起 qdc 已发布在 PyPI(https://pypi.org/project/qdc/)。
@@ -138,6 +138,24 @@ except qdc.QDCError as e:
138
138
 
139
139
  ## 版本
140
140
 
141
+ ### 0.2.3(2026-09-07)
142
+
143
+ **默认超时从 30 秒放宽到 180 秒。** 服务端高档位单条查询就允许 60 秒,前面还可能排队等并发槽 ——
144
+ 30 秒会让客户端在服务端还在干活时先断开,表现成「网络错误」,而那次取数机会已经扣掉了。
145
+ 断开时服务端会立刻停止查询,所以放宽它不会让服务器白干。
146
+
147
+ 同批服务端修复(不用升级连接器也生效):
148
+
149
+ - **失败的请求不再扣掉当天的取数机会。** 以前字段名写错先 422、改正后重试就 429,
150
+ 一次数据没拿到、机会没了。现在任何失败都会把那次记账撤销。
151
+ - **`start > end` 直接报错**,不再返回 200 + 0 行 —— 0 行和「真的没数据」长得一模一样。
152
+ - **完整代码能搜到了。** 以前 `lookup("600519")` 有结果而 `lookup("600519.SH")` 没有 ——
153
+ 本工具自己吐出来的代码自己不认。同时返回里标明**只检索 A 股**,查美股为空时会说清是范围问题。
154
+ - **字段字典的日期类型订正为字符串。** 库内是毫秒时间戳,返回前已格式化成 `"20260803"`,
155
+ 而字段字典此前照抄原始列类型报的是整数,客户照着解析会崩。
156
+ - **逐笔成交取「最新一笔」不再取错。** 排序键在笔内不唯一,拿到的是开盘集合竞价那笔;
157
+ 现已补上笔序号排序。
158
+
141
159
  ### 0.2.2(2026-09-07)
142
160
 
143
161
  三处,前两处都属于「不报错、只给错答案」:
@@ -32,7 +32,7 @@ from .client import (
32
32
  ProApi,
33
33
  )
34
34
 
35
- __version__ = "0.2.2"
35
+ __version__ = "0.2.3"
36
36
 
37
37
  __all__ = [
38
38
  "Client",
@@ -42,9 +42,16 @@ __all__ = [
42
42
  ]
43
43
 
44
44
  DEFAULT_BASE = "https://data.qdc-data.com"
45
- _VERSION = "0.2.2"
45
+ _VERSION = "0.2.3"
46
46
  _USER_AGENT = "qdc-python/" + _VERSION
47
47
 
48
+ # 默认超时。★[2026-09-07] 原来是 30 秒,而服务端高档位单条查询就允许 60 秒
49
+ # (limits.timeout_s),前面还可能排队等并发槽 —— 于是客户端会在服务端还在干活时先断,
50
+ # 表现成「网络错误」,而那次取数机会已经扣掉了。宁可等,也不要制造假故障。
51
+ # ★这个值只是「等多久才放弃」,不影响服务端算多久;真正的上限由服务端 limits 定。
52
+ # ★断连服务端会立刻停止查询(W-410),所以放宽它不会让服务器白干。
53
+ DEFAULT_TIMEOUT = 180
54
+
48
55
  # 翻页安全上限。到顶时【显式告警并标记 meta["complete"]=False】,绝不静默截断。
49
56
  _MAX_PAGES = 200
50
57
 
@@ -147,7 +154,7 @@ class Client:
147
154
  这是「我拿到的是不是全部」唯一可信的判据。
148
155
  """
149
156
 
150
- def __init__(self, key, base=DEFAULT_BASE, device=None, timeout=30,
157
+ def __init__(self, key, base=DEFAULT_BASE, device=None, timeout=DEFAULT_TIMEOUT,
151
158
  cache_dir=None, max_pages=_MAX_PAGES):
152
159
  if not key:
153
160
  raise QDCError("API key is required")
@@ -641,7 +648,7 @@ def _require():
641
648
  return _default
642
649
 
643
650
 
644
- def connect(key, base=DEFAULT_BASE, device=None, timeout=30, cache_dir=None, max_pages=_MAX_PAGES):
651
+ def connect(key, base=DEFAULT_BASE, device=None, timeout=DEFAULT_TIMEOUT, cache_dir=None, max_pages=_MAX_PAGES):
645
652
  """Create and register a default Client. Returns the Client.
646
653
 
647
654
  cache_dir: 给复权因子表这类整表数据做本地缓存的目录(如 "~/.qdc")。不传则只在进程内缓存。
@@ -703,7 +710,7 @@ def describe(sku, table=None):
703
710
  return _require().describe(sku, table=table)
704
711
 
705
712
 
706
- def pro_api(key=None, base=DEFAULT_BASE, device=None, timeout=30, cache_dir=None):
713
+ def pro_api(key=None, base=DEFAULT_BASE, device=None, timeout=DEFAULT_TIMEOUT, cache_dir=None):
707
714
  """Return a tushare-compatible facade.
708
715
 
709
716
  If `key` is given, a fresh Client is created (and registered as default);
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qdc
3
- Version: 0.2.2
3
+ Version: 0.2.3
4
4
  Summary: QDC online data client (tushare-compatible) for the QDC cloud data bridge.
5
5
  Author: QDC Data
6
6
  License: Proprietary
@@ -30,7 +30,7 @@ pip install -U qdc
30
30
  内网或离线环境连不上公共源时,可以按完整地址装(版本号要自己跟着换):
31
31
 
32
32
  ```bash
33
- pip install https://api.qdc-data.com:8443/release/qdc-0.2.2-py3-none-any.whl
33
+ pip install https://api.qdc-data.com:8443/release/qdc-0.2.3-py3-none-any.whl
34
34
  ```
35
35
 
36
36
  > 2026-09-06 起 qdc 已发布在 PyPI(https://pypi.org/project/qdc/)。
@@ -150,6 +150,24 @@ except qdc.QDCError as e:
150
150
 
151
151
  ## 版本
152
152
 
153
+ ### 0.2.3(2026-09-07)
154
+
155
+ **默认超时从 30 秒放宽到 180 秒。** 服务端高档位单条查询就允许 60 秒,前面还可能排队等并发槽 ——
156
+ 30 秒会让客户端在服务端还在干活时先断开,表现成「网络错误」,而那次取数机会已经扣掉了。
157
+ 断开时服务端会立刻停止查询,所以放宽它不会让服务器白干。
158
+
159
+ 同批服务端修复(不用升级连接器也生效):
160
+
161
+ - **失败的请求不再扣掉当天的取数机会。** 以前字段名写错先 422、改正后重试就 429,
162
+ 一次数据没拿到、机会没了。现在任何失败都会把那次记账撤销。
163
+ - **`start > end` 直接报错**,不再返回 200 + 0 行 —— 0 行和「真的没数据」长得一模一样。
164
+ - **完整代码能搜到了。** 以前 `lookup("600519")` 有结果而 `lookup("600519.SH")` 没有 ——
165
+ 本工具自己吐出来的代码自己不认。同时返回里标明**只检索 A 股**,查美股为空时会说清是范围问题。
166
+ - **字段字典的日期类型订正为字符串。** 库内是毫秒时间戳,返回前已格式化成 `"20260803"`,
167
+ 而字段字典此前照抄原始列类型报的是整数,客户照着解析会崩。
168
+ - **逐笔成交取「最新一笔」不再取错。** 排序键在笔内不唯一,拿到的是开盘集合竞价那笔;
169
+ 现已补上笔序号排序。
170
+
153
171
  ### 0.2.2(2026-09-07)
154
172
 
155
173
  三处,前两处都属于「不报错、只给错答案」:
File without changes
File without changes
File without changes
File without changes
File without changes