datahub_binary 1.8.8__cp312-cp312-win_amd64.whl → 1.8.10__cp312-cp312-win_amd64.whl
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.
- datahub/datahub.pyi +1 -0
- datahub/dbo/database.pyi +39 -0
- datahub/protos/client_pb2.pyi +20 -6
- datahub/protos/position_pb2.pyi +14 -6
- datahub/protos/quote_pb2.pyi +488 -488
- datahub.cp312-win_amd64.pyd +0 -0
- datahub.pyi +3 -2
- {datahub_binary-1.8.8.dist-info → datahub_binary-1.8.10.dist-info}/METADATA +1 -1
- {datahub_binary-1.8.8.dist-info → datahub_binary-1.8.10.dist-info}/RECORD +11 -11
- {datahub_binary-1.8.8.dist-info → datahub_binary-1.8.10.dist-info}/WHEEL +0 -0
- {datahub_binary-1.8.8.dist-info → datahub_binary-1.8.10.dist-info}/top_level.txt +0 -0
datahub/datahub.pyi
CHANGED
datahub/dbo/database.pyi
CHANGED
|
@@ -20,6 +20,45 @@ class Database:
|
|
|
20
20
|
:param data: 要插入的数据列表
|
|
21
21
|
:return: 影响的行数
|
|
22
22
|
"""
|
|
23
|
+
def upsert(self, table_name: str, data: dict, keys: list) -> bool:
|
|
24
|
+
"""
|
|
25
|
+
插入更新,不存在就插入,存在就更新
|
|
26
|
+
:param table_name: 表名
|
|
27
|
+
:param data: 插入数据
|
|
28
|
+
:param keys: 关键字,关键字相同则认为数据相同
|
|
29
|
+
:return: 是否成功
|
|
30
|
+
"""
|
|
31
|
+
def upsert_many(self, table_name: str, data: list[dict], keys: list) -> bool:
|
|
32
|
+
"""
|
|
33
|
+
批量插入更新,不存在就插入,存在就更新
|
|
34
|
+
:param table_name: 表名
|
|
35
|
+
:param data: 插入数据[{row1:v1,row2:v2...}...]
|
|
36
|
+
:param keys: 关键字,关键字相同则认为数据相同
|
|
37
|
+
:return: 是否成功
|
|
38
|
+
"""
|
|
39
|
+
def update(self, table_name: str, data: dict, keys: list) -> int:
|
|
40
|
+
'''
|
|
41
|
+
更新数据
|
|
42
|
+
:param table_name: 表名
|
|
43
|
+
:param data: 字典数据{"字段名":值}
|
|
44
|
+
:param keys: 索引字段["ID",...]
|
|
45
|
+
:return: 更新的行数
|
|
46
|
+
'''
|
|
47
|
+
def update_many(self, table_name: str, rows: list, keys: list) -> bool:
|
|
48
|
+
'''
|
|
49
|
+
批量更新数据
|
|
50
|
+
:param table_name: 表名
|
|
51
|
+
:param rows: [{"字段名":值}...]
|
|
52
|
+
:param keys: 索引字段["ID",...]
|
|
53
|
+
:return: 更新结果
|
|
54
|
+
'''
|
|
55
|
+
def delete(self, table_name: str, **filters) -> int:
|
|
56
|
+
'''
|
|
57
|
+
删除数据
|
|
58
|
+
:param table_name: 表名
|
|
59
|
+
:param filters: "字段名"=值
|
|
60
|
+
:return: 删除行数
|
|
61
|
+
'''
|
|
23
62
|
def query(self, sql: str, return_format: Literal['dataframe', 'records'] = 'dataframe') -> pl.DataFrame | list[dict] | None:
|
|
24
63
|
"""
|
|
25
64
|
执行原生SQL查询
|
datahub/protos/client_pb2.pyi
CHANGED
|
@@ -444,11 +444,15 @@ class StrategyControlReq(_message.Message):
|
|
|
444
444
|
kPause: _ClassVar[StrategyControlReq.ControlType]
|
|
445
445
|
kStop: _ClassVar[StrategyControlReq.ControlType]
|
|
446
446
|
kClose: _ClassVar[StrategyControlReq.ControlType]
|
|
447
|
+
kLoadAccnt: _ClassVar[StrategyControlReq.ControlType]
|
|
448
|
+
kUnloadAccnt: _ClassVar[StrategyControlReq.ControlType]
|
|
447
449
|
kInit: StrategyControlReq.ControlType
|
|
448
450
|
kRunning: StrategyControlReq.ControlType
|
|
449
451
|
kPause: StrategyControlReq.ControlType
|
|
450
452
|
kStop: StrategyControlReq.ControlType
|
|
451
453
|
kClose: StrategyControlReq.ControlType
|
|
454
|
+
kLoadAccnt: StrategyControlReq.ControlType
|
|
455
|
+
kUnloadAccnt: StrategyControlReq.ControlType
|
|
452
456
|
MSG_TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
453
457
|
STRATEGY_ID_FIELD_NUMBER: _ClassVar[int]
|
|
454
458
|
STRATEGY_NAME_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -1422,20 +1426,22 @@ class QrySblListReq(_message.Message):
|
|
|
1422
1426
|
def __init__(self, msg_type: _Optional[int] = ..., strategy_id: _Optional[int] = ..., sbl_ids: _Optional[_Iterable[str]] = ..., request_id: _Optional[str] = ..., last_timestamp: _Optional[int] = ...) -> None: ...
|
|
1423
1427
|
|
|
1424
1428
|
class SblList(_message.Message):
|
|
1425
|
-
__slots__ = ("sbl_id", "broker", "trade_date", "instrument_id", "intrate", "avail_sbl_qty")
|
|
1429
|
+
__slots__ = ("sbl_id", "broker", "trade_date", "instrument_id", "intrate", "avail_sbl_qty", "ext_info")
|
|
1426
1430
|
SBL_ID_FIELD_NUMBER: _ClassVar[int]
|
|
1427
1431
|
BROKER_FIELD_NUMBER: _ClassVar[int]
|
|
1428
1432
|
TRADE_DATE_FIELD_NUMBER: _ClassVar[int]
|
|
1429
1433
|
INSTRUMENT_ID_FIELD_NUMBER: _ClassVar[int]
|
|
1430
1434
|
INTRATE_FIELD_NUMBER: _ClassVar[int]
|
|
1431
1435
|
AVAIL_SBL_QTY_FIELD_NUMBER: _ClassVar[int]
|
|
1436
|
+
EXT_INFO_FIELD_NUMBER: _ClassVar[int]
|
|
1432
1437
|
sbl_id: str
|
|
1433
1438
|
broker: str
|
|
1434
1439
|
trade_date: str
|
|
1435
1440
|
instrument_id: str
|
|
1436
1441
|
intrate: float
|
|
1437
1442
|
avail_sbl_qty: int
|
|
1438
|
-
|
|
1443
|
+
ext_info: str
|
|
1444
|
+
def __init__(self, sbl_id: _Optional[str] = ..., broker: _Optional[str] = ..., trade_date: _Optional[str] = ..., instrument_id: _Optional[str] = ..., intrate: _Optional[float] = ..., avail_sbl_qty: _Optional[int] = ..., ext_info: _Optional[str] = ...) -> None: ...
|
|
1439
1445
|
|
|
1440
1446
|
class QrySblListRsp(_message.Message):
|
|
1441
1447
|
__slots__ = ("msg_type", "sbl_list", "request_id", "status", "reason", "last_timestamp")
|
|
@@ -1454,7 +1460,7 @@ class QrySblListRsp(_message.Message):
|
|
|
1454
1460
|
def __init__(self, msg_type: _Optional[int] = ..., sbl_list: _Optional[_Iterable[_Union[SblList, _Mapping]]] = ..., request_id: _Optional[str] = ..., status: _Optional[int] = ..., reason: _Optional[str] = ..., last_timestamp: _Optional[int] = ...) -> None: ...
|
|
1455
1461
|
|
|
1456
1462
|
class LockSblReq(_message.Message):
|
|
1457
|
-
__slots__ = ("msg_type", "strategy_id", "instrument_id", "lock_qty", "cl_order_id", "last_timestamp", "sbl_id", "intrate")
|
|
1463
|
+
__slots__ = ("msg_type", "strategy_id", "instrument_id", "lock_qty", "cl_order_id", "last_timestamp", "sbl_id", "intrate", "duration", "min_duration")
|
|
1458
1464
|
MSG_TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
1459
1465
|
STRATEGY_ID_FIELD_NUMBER: _ClassVar[int]
|
|
1460
1466
|
INSTRUMENT_ID_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -1463,6 +1469,8 @@ class LockSblReq(_message.Message):
|
|
|
1463
1469
|
LAST_TIMESTAMP_FIELD_NUMBER: _ClassVar[int]
|
|
1464
1470
|
SBL_ID_FIELD_NUMBER: _ClassVar[int]
|
|
1465
1471
|
INTRATE_FIELD_NUMBER: _ClassVar[int]
|
|
1472
|
+
DURATION_FIELD_NUMBER: _ClassVar[int]
|
|
1473
|
+
MIN_DURATION_FIELD_NUMBER: _ClassVar[int]
|
|
1466
1474
|
msg_type: int
|
|
1467
1475
|
strategy_id: int
|
|
1468
1476
|
instrument_id: str
|
|
@@ -1471,7 +1479,9 @@ class LockSblReq(_message.Message):
|
|
|
1471
1479
|
last_timestamp: int
|
|
1472
1480
|
sbl_id: str
|
|
1473
1481
|
intrate: float
|
|
1474
|
-
|
|
1482
|
+
duration: int
|
|
1483
|
+
min_duration: int
|
|
1484
|
+
def __init__(self, msg_type: _Optional[int] = ..., strategy_id: _Optional[int] = ..., instrument_id: _Optional[str] = ..., lock_qty: _Optional[int] = ..., cl_order_id: _Optional[str] = ..., last_timestamp: _Optional[int] = ..., sbl_id: _Optional[str] = ..., intrate: _Optional[float] = ..., duration: _Optional[int] = ..., min_duration: _Optional[int] = ...) -> None: ...
|
|
1475
1485
|
|
|
1476
1486
|
class LockSblRsp(_message.Message):
|
|
1477
1487
|
__slots__ = ("msg_type", "strategy_id", "account_id", "instrument_id", "locked_qty", "intrate", "status", "duration", "reason", "cl_order_id", "last_timestamp", "sbl_id")
|
|
@@ -2514,18 +2524,22 @@ class QryBasketInfoReq(_message.Message):
|
|
|
2514
2524
|
def __init__(self, msg_type: _Optional[int] = ..., template_id: _Optional[str] = ..., request_id: _Optional[str] = ...) -> None: ...
|
|
2515
2525
|
|
|
2516
2526
|
class BasketInfoDetail(_message.Message):
|
|
2517
|
-
__slots__ = ("component_instrument_id", "component_qty", "side", "comments", "position_effect")
|
|
2527
|
+
__slots__ = ("component_instrument_id", "component_qty", "side", "comments", "position_effect", "is_sub_cash_replace", "is_withdraw_cash")
|
|
2518
2528
|
COMPONENT_INSTRUMENT_ID_FIELD_NUMBER: _ClassVar[int]
|
|
2519
2529
|
COMPONENT_QTY_FIELD_NUMBER: _ClassVar[int]
|
|
2520
2530
|
SIDE_FIELD_NUMBER: _ClassVar[int]
|
|
2521
2531
|
COMMENTS_FIELD_NUMBER: _ClassVar[int]
|
|
2522
2532
|
POSITION_EFFECT_FIELD_NUMBER: _ClassVar[int]
|
|
2533
|
+
IS_SUB_CASH_REPLACE_FIELD_NUMBER: _ClassVar[int]
|
|
2534
|
+
IS_WITHDRAW_CASH_FIELD_NUMBER: _ClassVar[int]
|
|
2523
2535
|
component_instrument_id: str
|
|
2524
2536
|
component_qty: int
|
|
2525
2537
|
side: int
|
|
2526
2538
|
comments: str
|
|
2527
2539
|
position_effect: int
|
|
2528
|
-
|
|
2540
|
+
is_sub_cash_replace: int
|
|
2541
|
+
is_withdraw_cash: int
|
|
2542
|
+
def __init__(self, component_instrument_id: _Optional[str] = ..., component_qty: _Optional[int] = ..., side: _Optional[int] = ..., comments: _Optional[str] = ..., position_effect: _Optional[int] = ..., is_sub_cash_replace: _Optional[int] = ..., is_withdraw_cash: _Optional[int] = ...) -> None: ...
|
|
2529
2543
|
|
|
2530
2544
|
class BasketInfo(_message.Message):
|
|
2531
2545
|
__slots__ = ("template_id", "basket_info_details", "strategy_id", "strategy_name", "etf_instrument_id", "etf_unit", "template_type", "comments")
|
datahub/protos/position_pb2.pyi
CHANGED
|
@@ -434,20 +434,22 @@ class QrySblListReq(_message.Message):
|
|
|
434
434
|
def __init__(self, msg_type: _Optional[int] = ..., node_name: _Optional[str] = ..., node_type: _Optional[int] = ..., sbl_ids: _Optional[_Iterable[str]] = ..., request_id: _Optional[str] = ..., last_timestamp: _Optional[int] = ...) -> None: ...
|
|
435
435
|
|
|
436
436
|
class SblList(_message.Message):
|
|
437
|
-
__slots__ = ("sbl_id", "broker", "trade_date", "instrument_id", "intrate", "avail_sbl_qty")
|
|
437
|
+
__slots__ = ("sbl_id", "broker", "trade_date", "instrument_id", "intrate", "avail_sbl_qty", "ext_info")
|
|
438
438
|
SBL_ID_FIELD_NUMBER: _ClassVar[int]
|
|
439
439
|
BROKER_FIELD_NUMBER: _ClassVar[int]
|
|
440
440
|
TRADE_DATE_FIELD_NUMBER: _ClassVar[int]
|
|
441
441
|
INSTRUMENT_ID_FIELD_NUMBER: _ClassVar[int]
|
|
442
442
|
INTRATE_FIELD_NUMBER: _ClassVar[int]
|
|
443
443
|
AVAIL_SBL_QTY_FIELD_NUMBER: _ClassVar[int]
|
|
444
|
+
EXT_INFO_FIELD_NUMBER: _ClassVar[int]
|
|
444
445
|
sbl_id: str
|
|
445
446
|
broker: str
|
|
446
447
|
trade_date: str
|
|
447
448
|
instrument_id: str
|
|
448
449
|
intrate: float
|
|
449
450
|
avail_sbl_qty: int
|
|
450
|
-
|
|
451
|
+
ext_info: str
|
|
452
|
+
def __init__(self, sbl_id: _Optional[str] = ..., broker: _Optional[str] = ..., trade_date: _Optional[str] = ..., instrument_id: _Optional[str] = ..., intrate: _Optional[float] = ..., avail_sbl_qty: _Optional[int] = ..., ext_info: _Optional[str] = ...) -> None: ...
|
|
451
453
|
|
|
452
454
|
class QrySblListRsp(_message.Message):
|
|
453
455
|
__slots__ = ("msg_type", "node_name", "node_type", "sbl_list", "request_id", "status", "reason", "last_timestamp")
|
|
@@ -470,7 +472,7 @@ class QrySblListRsp(_message.Message):
|
|
|
470
472
|
def __init__(self, msg_type: _Optional[int] = ..., node_name: _Optional[str] = ..., node_type: _Optional[int] = ..., sbl_list: _Optional[_Iterable[_Union[SblList, _Mapping]]] = ..., request_id: _Optional[str] = ..., status: _Optional[int] = ..., reason: _Optional[str] = ..., last_timestamp: _Optional[int] = ...) -> None: ...
|
|
471
473
|
|
|
472
474
|
class LockSblReq(_message.Message):
|
|
473
|
-
__slots__ = ("msg_type", "node_name", "node_type", "strategy_id", "instrument_id", "lock_qty", "cl_order_id", "last_timestamp", "sbl_id")
|
|
475
|
+
__slots__ = ("msg_type", "node_name", "node_type", "strategy_id", "instrument_id", "lock_qty", "cl_order_id", "last_timestamp", "sbl_id", "intrate", "duration", "min_duration")
|
|
474
476
|
MSG_TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
475
477
|
NODE_NAME_FIELD_NUMBER: _ClassVar[int]
|
|
476
478
|
NODE_TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -480,6 +482,9 @@ class LockSblReq(_message.Message):
|
|
|
480
482
|
CL_ORDER_ID_FIELD_NUMBER: _ClassVar[int]
|
|
481
483
|
LAST_TIMESTAMP_FIELD_NUMBER: _ClassVar[int]
|
|
482
484
|
SBL_ID_FIELD_NUMBER: _ClassVar[int]
|
|
485
|
+
INTRATE_FIELD_NUMBER: _ClassVar[int]
|
|
486
|
+
DURATION_FIELD_NUMBER: _ClassVar[int]
|
|
487
|
+
MIN_DURATION_FIELD_NUMBER: _ClassVar[int]
|
|
483
488
|
msg_type: int
|
|
484
489
|
node_name: str
|
|
485
490
|
node_type: int
|
|
@@ -489,7 +494,10 @@ class LockSblReq(_message.Message):
|
|
|
489
494
|
cl_order_id: str
|
|
490
495
|
last_timestamp: int
|
|
491
496
|
sbl_id: str
|
|
492
|
-
|
|
497
|
+
intrate: float
|
|
498
|
+
duration: int
|
|
499
|
+
min_duration: int
|
|
500
|
+
def __init__(self, msg_type: _Optional[int] = ..., node_name: _Optional[str] = ..., node_type: _Optional[int] = ..., strategy_id: _Optional[int] = ..., instrument_id: _Optional[str] = ..., lock_qty: _Optional[int] = ..., cl_order_id: _Optional[str] = ..., last_timestamp: _Optional[int] = ..., sbl_id: _Optional[str] = ..., intrate: _Optional[float] = ..., duration: _Optional[int] = ..., min_duration: _Optional[int] = ...) -> None: ...
|
|
493
501
|
|
|
494
502
|
class LockSblRsp(_message.Message):
|
|
495
503
|
__slots__ = ("msg_type", "node_name", "node_type", "strategy_id", "account_id", "instrument_id", "locked_qty", "intrate", "status", "duration", "reason", "cl_order_id", "last_timestamp", "sbl_id")
|
|
@@ -564,8 +572,8 @@ class LockRecord(_message.Message):
|
|
|
564
572
|
duration: int
|
|
565
573
|
request_time: int
|
|
566
574
|
response_time: int
|
|
567
|
-
counter_order_id:
|
|
568
|
-
def __init__(self, sbl_id: _Optional[str] = ..., instrument_id: _Optional[str] = ..., locked_qty: _Optional[int] = ..., intrate: _Optional[float] = ..., status: _Optional[int] = ..., reason: _Optional[str] = ..., cl_order_id: _Optional[str] = ..., duration: _Optional[int] = ..., request_time: _Optional[int] = ..., response_time: _Optional[int] = ..., counter_order_id: _Optional[
|
|
575
|
+
counter_order_id: str
|
|
576
|
+
def __init__(self, sbl_id: _Optional[str] = ..., instrument_id: _Optional[str] = ..., locked_qty: _Optional[int] = ..., intrate: _Optional[float] = ..., status: _Optional[int] = ..., reason: _Optional[str] = ..., cl_order_id: _Optional[str] = ..., duration: _Optional[int] = ..., request_time: _Optional[int] = ..., response_time: _Optional[int] = ..., counter_order_id: _Optional[str] = ...) -> None: ...
|
|
569
577
|
|
|
570
578
|
class QryLockRecordRsp(_message.Message):
|
|
571
579
|
__slots__ = ("msg_type", "node_name", "node_type", "account_id", "strategy_id", "lock_records", "request_id", "status", "reason", "last_timestamp")
|