architect-py 3.2.1__py3-none-any.whl → 5.0.0b1__py3-none-any.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.
- architect_py/__init__.py +8 -2
- architect_py/async_client.py +887 -575
- architect_py/client.py +36 -33
- architect_py/client_interface.py +62 -0
- architect_py/common_types/__init__.py +6 -0
- architect_py/common_types/order_dir.py +85 -0
- architect_py/common_types/scalars.py +25 -0
- architect_py/common_types/tradable_product.py +59 -0
- architect_py/graphql_client/client.py +3 -6
- architect_py/graphql_client/fragments.py +3 -6
- architect_py/graphql_client/get_fills_query.py +2 -1
- architect_py/graphql_client/search_symbols_query.py +2 -1
- architect_py/graphql_client/subscribe_orderflow.py +2 -1
- architect_py/graphql_client/subscribe_trades.py +2 -1
- architect_py/grpc/__init__.py +125 -0
- architect_py/grpc/client.py +86 -0
- architect_py/{grpc_client → grpc/models}/Accounts/AccountsRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Accounts/AccountsResponse.py +1 -1
- architect_py/{grpc_client → grpc/models}/Accounts/__init__.py +1 -1
- architect_py/{grpc_client → grpc/models}/Algo/AlgoOrderForTwapAlgo.py +1 -1
- architect_py/{grpc_client → grpc/models}/Algo/CreateAlgoOrderRequestForTwapAlgo.py +2 -2
- architect_py/{grpc_client → grpc/models}/Algo/ModifyAlgoOrderRequestForTwapAlgo.py +2 -2
- architect_py/{grpc_client → grpc/models}/Algo/__init__.py +1 -1
- architect_py/grpc/models/Auth/CreateJwtRequest.py +47 -0
- architect_py/grpc/models/Auth/CreateJwtResponse.py +23 -0
- architect_py/{grpc_client/Cpty → grpc/models/Auth}/__init__.py +1 -1
- architect_py/grpc/models/Core/ConfigRequest.py +37 -0
- architect_py/grpc/models/Core/ConfigResponse.py +25 -0
- architect_py/{grpc_client/Folio → grpc/models/Core}/__init__.py +1 -1
- architect_py/{grpc_client → grpc/models}/Cpty/CptyRequest.py +5 -4
- architect_py/{grpc_client → grpc/models}/Cpty/CptyResponse.py +6 -6
- architect_py/grpc/models/Cpty/CptyStatus.py +48 -0
- architect_py/grpc/models/Cpty/CptyStatusRequest.py +45 -0
- architect_py/grpc/models/Cpty/CptysRequest.py +37 -0
- architect_py/grpc/models/Cpty/CptysResponse.py +27 -0
- architect_py/grpc/models/Cpty/__init__.py +2 -0
- architect_py/{grpc_client → grpc/models}/Folio/AccountHistoryRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Folio/AccountHistoryResponse.py +1 -1
- architect_py/{grpc_client → grpc/models}/Folio/AccountSummariesRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Folio/AccountSummariesResponse.py +1 -1
- architect_py/{grpc_client → grpc/models}/Folio/AccountSummary.py +1 -1
- architect_py/{grpc_client → grpc/models}/Folio/AccountSummaryRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Folio/HistoricalFillsRequest.py +3 -3
- architect_py/{grpc_client → grpc/models}/Folio/HistoricalFillsResponse.py +1 -1
- architect_py/{grpc_client → grpc/models}/Folio/HistoricalOrdersRequest.py +3 -3
- architect_py/{grpc_client → grpc/models}/Folio/HistoricalOrdersResponse.py +1 -1
- architect_py/grpc/models/Folio/__init__.py +2 -0
- architect_py/{grpc_client → grpc/models}/Health/HealthCheckRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Health/HealthCheckResponse.py +1 -1
- architect_py/grpc/models/Health/__init__.py +2 -0
- architect_py/{grpc_client → grpc/models}/Marketdata/Candle.py +1 -1
- architect_py/{grpc_client → grpc/models}/Marketdata/HistoricalCandlesRequest.py +11 -8
- architect_py/{grpc_client → grpc/models}/Marketdata/HistoricalCandlesResponse.py +1 -1
- architect_py/{grpc_client → grpc/models}/Marketdata/L1BookSnapshot.py +36 -3
- architect_py/{grpc_client → grpc/models}/Marketdata/L1BookSnapshotRequest.py +8 -3
- architect_py/{grpc_client → grpc/models}/Marketdata/L1BookSnapshotsRequest.py +6 -3
- architect_py/{grpc_client → grpc/models}/Marketdata/L2BookSnapshot.py +1 -1
- architect_py/{grpc_client → grpc/models}/Marketdata/L2BookSnapshotRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Marketdata/Liquidation.py +2 -2
- architect_py/{grpc_client → grpc/models}/Marketdata/MarketStatus.py +1 -1
- architect_py/{grpc_client → grpc/models}/Marketdata/MarketStatusRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeCandlesRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeCurrentCandlesRequest.py +3 -4
- architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeL1BookSnapshotsRequest.py +6 -3
- architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeL2BookUpdatesRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeLiquidationsRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeManyCandlesRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeTickersRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeTradesRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Marketdata/Ticker.py +14 -3
- architect_py/{grpc_client → grpc/models}/Marketdata/TickerRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Marketdata/TickersRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Marketdata/TickersResponse.py +1 -1
- architect_py/{grpc_client → grpc/models}/Marketdata/Trade.py +2 -2
- architect_py/grpc/models/Marketdata/__init__.py +2 -0
- architect_py/{grpc_client → grpc/models}/Oms/Cancel.py +1 -1
- architect_py/{grpc_client → grpc/models}/Oms/CancelAllOrdersRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Oms/CancelAllOrdersResponse.py +1 -1
- architect_py/{grpc_client → grpc/models}/Oms/CancelOrderRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Oms/OpenOrdersRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Oms/OpenOrdersResponse.py +1 -1
- architect_py/{grpc_client → grpc/models}/Oms/Order.py +2 -2
- architect_py/{grpc_client → grpc/models}/Oms/PendingCancelsRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Oms/PendingCancelsResponse.py +1 -1
- architect_py/{grpc_client → grpc/models}/Oms/PlaceOrderRequest.py +3 -3
- architect_py/grpc/models/Oms/__init__.py +2 -0
- architect_py/{grpc_client → grpc/models}/Orderflow/DropcopyRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Orderflow/OrderflowRequest.py +2 -1
- architect_py/{grpc_client → grpc/models}/Orderflow/SubscribeOrderflowRequest.py +2 -2
- architect_py/grpc/models/Orderflow/__init__.py +2 -0
- architect_py/grpc/models/Symbology/DownloadProductCatalogRequest.py +42 -0
- architect_py/grpc/models/Symbology/DownloadProductCatalogResponse.py +27 -0
- architect_py/{grpc_client → grpc/models}/Symbology/PruneExpiredSymbolsRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Symbology/PruneExpiredSymbolsResponse.py +1 -1
- architect_py/{grpc_client → grpc/models}/Symbology/SubscribeSymbology.py +1 -1
- architect_py/{grpc_client → grpc/models}/Symbology/SymbologyRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Symbology/SymbologySnapshot.py +7 -2
- architect_py/{grpc_client → grpc/models}/Symbology/SymbologyUpdate.py +9 -2
- architect_py/{grpc_client → grpc/models}/Symbology/SymbolsRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Symbology/SymbolsResponse.py +1 -1
- architect_py/grpc/models/Symbology/UploadProductCatalogRequest.py +49 -0
- architect_py/grpc/models/Symbology/UploadProductCatalogResponse.py +20 -0
- architect_py/{grpc_client → grpc/models}/Symbology/UploadSymbologyRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Symbology/UploadSymbologyResponse.py +1 -1
- architect_py/grpc/models/Symbology/__init__.py +2 -0
- architect_py/grpc/models/__init__.py +2 -0
- architect_py/{grpc_client → grpc/models}/definitions.py +293 -223
- architect_py/grpc/resolve_endpoint.py +67 -0
- architect_py/{grpc_client/grpc_server.py → grpc/server.py} +13 -9
- architect_py/grpc/utils.py +32 -0
- architect_py/tests/conftest.py +86 -85
- architect_py/tests/test_book_building.py +49 -50
- architect_py/tests/test_marketdata.py +168 -0
- architect_py/tests/test_order_entry.py +37 -0
- architect_py/tests/test_orderflow.py +38 -0
- architect_py/tests/test_portfolio_management.py +23 -0
- architect_py/tests/test_rounding.py +28 -28
- architect_py/tests/test_symbology.py +37 -30
- architect_py/utils/nearest_tick.py +2 -5
- architect_py/utils/nearest_tick_2.py +1 -2
- architect_py/utils/orderbook.py +35 -0
- architect_py/utils/pandas.py +44 -0
- architect_py/utils/price_bands.py +0 -3
- architect_py/utils/symbol_parsing.py +29 -0
- architect_py-5.0.0b1.dist-info/METADATA +124 -0
- architect_py-5.0.0b1.dist-info/RECORD +184 -0
- {architect_py-3.2.1.dist-info → architect_py-5.0.0b1.dist-info}/WHEEL +2 -1
- architect_py-5.0.0b1.dist-info/top_level.txt +4 -0
- examples/__init__.py +0 -0
- examples/book_subscription.py +53 -0
- examples/candles.py +30 -0
- examples/common.py +107 -0
- examples/external_cpty.py +77 -0
- examples/funding_rate_mean_reversion_algo.py +192 -0
- examples/order_sending.py +92 -0
- examples/stream_l1_marketdata.py +25 -0
- examples/stream_l2_marketdata.py +40 -0
- examples/trades.py +21 -0
- examples/tutorial_async.py +84 -0
- examples/tutorial_sync.py +95 -0
- scripts/generate_functions_md.py +164 -0
- scripts/generate_sync_interface.py +207 -0
- scripts/postprocess_grpc.py +594 -0
- scripts/preprocess_grpc_schema.py +647 -0
- templates/exceptions.py +83 -0
- templates/juniper_base_client.py +371 -0
- architect_py/client_protocol.py +0 -52
- architect_py/grpc_client/Folio/AggregatedAccountSummariesRequest.py +0 -59
- architect_py/grpc_client/Folio/AggregatedAccountSummariesResponse.py +0 -27
- architect_py/grpc_client/Health/__init__.py +0 -2
- architect_py/grpc_client/Marketdata/__init__.py +0 -2
- architect_py/grpc_client/Oms/__init__.py +0 -2
- architect_py/grpc_client/Orderflow/__init__.py +0 -2
- architect_py/grpc_client/Symbology/__init__.py +0 -2
- architect_py/grpc_client/__init__.py +0 -2
- architect_py/grpc_client/grpc_client.py +0 -405
- architect_py/scalars.py +0 -172
- architect_py/tests/test_accounts.py +0 -31
- architect_py/tests/test_client.py +0 -29
- architect_py/tests/test_grpc_client.py +0 -30
- architect_py/tests/test_order_sending.py +0 -61
- architect_py/tests/test_snapshots.py +0 -52
- architect_py/tests/test_subscriptions.py +0 -129
- architect_py-3.2.1.dist-info/METADATA +0 -212
- architect_py-3.2.1.dist-info/RECORD +0 -146
- /architect_py/{grpc_client → grpc/models}/Marketdata/ArrayOfL1BookSnapshot.py +0 -0
- /architect_py/{grpc_client → grpc/models}/Marketdata/L2BookUpdate.py +0 -0
- /architect_py/{grpc_client → grpc/models}/Marketdata/TickerUpdate.py +0 -0
- /architect_py/{grpc_client → grpc/models}/Orderflow/Dropcopy.py +0 -0
- /architect_py/{grpc_client → grpc/models}/Orderflow/Orderflow.py +0 -0
- {architect_py-3.2.1.dist-info → architect_py-5.0.0b1.dist-info/licenses}/LICENSE +0 -0
@@ -2,7 +2,7 @@
|
|
2
2
|
# filename: Oms/OpenOrdersRequest.json
|
3
3
|
|
4
4
|
from __future__ import annotations
|
5
|
-
from architect_py.
|
5
|
+
from architect_py.grpc.models.Oms.OpenOrdersResponse import OpenOrdersResponse
|
6
6
|
|
7
7
|
from typing import List, Optional
|
8
8
|
|
@@ -19,7 +19,7 @@ class OpenOrdersRequest(Struct, omit_defaults=True):
|
|
19
19
|
trader: Optional[definitions.TraderIdOrEmail] = None
|
20
20
|
venue: Optional[str] = None
|
21
21
|
|
22
|
-
#
|
22
|
+
# Constructor that takes all field titles as arguments for convenience
|
23
23
|
@classmethod
|
24
24
|
def new(
|
25
25
|
cls,
|
@@ -13,7 +13,7 @@ from .Order import Order
|
|
13
13
|
class OpenOrdersResponse(Struct, omit_defaults=True):
|
14
14
|
open_orders: List[Order]
|
15
15
|
|
16
|
-
#
|
16
|
+
# Constructor that takes all field titles as arguments for convenience
|
17
17
|
@classmethod
|
18
18
|
def new(
|
19
19
|
cls,
|
@@ -2,7 +2,7 @@
|
|
2
2
|
# filename: Oms/Order.json
|
3
3
|
|
4
4
|
from __future__ import annotations
|
5
|
-
from architect_py.
|
5
|
+
from architect_py.common_types import OrderDir
|
6
6
|
|
7
7
|
from decimal import Decimal
|
8
8
|
from enum import Enum
|
@@ -48,7 +48,7 @@ class Order(Struct, omit_defaults=True):
|
|
48
48
|
po: Optional[Annotated[bool, Meta(title="post_only")]] = None
|
49
49
|
tp: Optional[Annotated[Decimal, Meta(title="trigger_price")]] = None
|
50
50
|
|
51
|
-
#
|
51
|
+
# Constructor that takes all field titles as arguments for convenience
|
52
52
|
@classmethod
|
53
53
|
def new(
|
54
54
|
cls,
|
@@ -2,7 +2,7 @@
|
|
2
2
|
# filename: Oms/PendingCancelsRequest.json
|
3
3
|
|
4
4
|
from __future__ import annotations
|
5
|
-
from architect_py.
|
5
|
+
from architect_py.grpc.models.Oms.PendingCancelsResponse import PendingCancelsResponse
|
6
6
|
|
7
7
|
from typing import List, Optional
|
8
8
|
|
@@ -18,7 +18,7 @@ class PendingCancelsRequest(Struct, omit_defaults=True):
|
|
18
18
|
trader: Optional[definitions.TraderIdOrEmail] = None
|
19
19
|
venue: Optional[str] = None
|
20
20
|
|
21
|
-
#
|
21
|
+
# Constructor that takes all field titles as arguments for convenience
|
22
22
|
@classmethod
|
23
23
|
def new(
|
24
24
|
cls,
|
@@ -13,7 +13,7 @@ from .Cancel import Cancel
|
|
13
13
|
class PendingCancelsResponse(Struct, omit_defaults=True):
|
14
14
|
pending_cancels: List[Cancel]
|
15
15
|
|
16
|
-
#
|
16
|
+
# Constructor that takes all field titles as arguments for convenience
|
17
17
|
@classmethod
|
18
18
|
def new(
|
19
19
|
cls,
|
@@ -2,8 +2,8 @@
|
|
2
2
|
# filename: Oms/PlaceOrderRequest.json
|
3
3
|
|
4
4
|
from __future__ import annotations
|
5
|
-
from architect_py.
|
6
|
-
from architect_py.
|
5
|
+
from architect_py.grpc.models.Oms.Order import Order
|
6
|
+
from architect_py.common_types import OrderDir
|
7
7
|
|
8
8
|
from decimal import Decimal
|
9
9
|
from enum import Enum
|
@@ -54,7 +54,7 @@ class PlaceOrderRequest(Struct, omit_defaults=True):
|
|
54
54
|
po: Optional[Annotated[bool, Meta(title="post_only")]] = None
|
55
55
|
tp: Optional[Annotated[Decimal, Meta(title="trigger_price")]] = None
|
56
56
|
|
57
|
-
#
|
57
|
+
# Constructor that takes all field titles as arguments for convenience
|
58
58
|
@classmethod
|
59
59
|
def new(
|
60
60
|
cls,
|
@@ -2,7 +2,7 @@
|
|
2
2
|
# filename: Orderflow/DropcopyRequest.json
|
3
3
|
|
4
4
|
from __future__ import annotations
|
5
|
-
from architect_py.
|
5
|
+
from architect_py.grpc.models.Orderflow.Dropcopy import (
|
6
6
|
Dropcopy,
|
7
7
|
TaggedOrder,
|
8
8
|
TaggedFill,
|
@@ -24,7 +24,7 @@ class DropcopyRequest(Struct, omit_defaults=True):
|
|
24
24
|
orders: Optional[bool] = False
|
25
25
|
trader: Optional[definitions.TraderIdOrEmail] = None
|
26
26
|
|
27
|
-
#
|
27
|
+
# Constructor that takes all field titles as arguments for convenience
|
28
28
|
@classmethod
|
29
29
|
def new(
|
30
30
|
cls,
|
@@ -2,7 +2,7 @@
|
|
2
2
|
# filename: Orderflow/OrderflowRequest.json
|
3
3
|
|
4
4
|
from __future__ import annotations
|
5
|
-
from architect_py.
|
5
|
+
from architect_py.grpc.models.Orderflow.Orderflow import (
|
6
6
|
Orderflow,
|
7
7
|
OrderPending,
|
8
8
|
TaggedOrderAck,
|
@@ -46,6 +46,7 @@ OrderflowRequest = Annotated[
|
|
46
46
|
]
|
47
47
|
|
48
48
|
OrderflowRequest_rpc_method = "duplex_stream"
|
49
|
+
UnannotatedOrderflowRequest = PlaceOrder | CancelOrder | CancelAllOrders
|
49
50
|
OrderflowRequestResponseType = Orderflow
|
50
51
|
OrderflowRequestUnannotatedResponseType = (
|
51
52
|
OrderPending
|
@@ -2,7 +2,7 @@
|
|
2
2
|
# filename: Orderflow/SubscribeOrderflowRequest.json
|
3
3
|
|
4
4
|
from __future__ import annotations
|
5
|
-
from architect_py.
|
5
|
+
from architect_py.grpc.models.Orderflow.Orderflow import (
|
6
6
|
Orderflow,
|
7
7
|
OrderPending,
|
8
8
|
TaggedOrderAck,
|
@@ -34,7 +34,7 @@ class SubscribeOrderflowRequest(Struct, omit_defaults=True):
|
|
34
34
|
execution_venue: Optional[str] = None
|
35
35
|
trader: Optional[definitions.TraderIdOrEmail] = None
|
36
36
|
|
37
|
-
#
|
37
|
+
# Constructor that takes all field titles as arguments for convenience
|
38
38
|
@classmethod
|
39
39
|
def new(
|
40
40
|
cls,
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# generated by datamodel-codegen:
|
2
|
+
# filename: Symbology/DownloadProductCatalogRequest.json
|
3
|
+
|
4
|
+
from __future__ import annotations
|
5
|
+
from architect_py.grpc.models.Symbology.DownloadProductCatalogResponse import (
|
6
|
+
DownloadProductCatalogResponse,
|
7
|
+
)
|
8
|
+
|
9
|
+
from msgspec import Struct
|
10
|
+
|
11
|
+
|
12
|
+
class DownloadProductCatalogRequest(Struct, omit_defaults=True):
|
13
|
+
exchange: str
|
14
|
+
|
15
|
+
# Constructor that takes all field titles as arguments for convenience
|
16
|
+
@classmethod
|
17
|
+
def new(
|
18
|
+
cls,
|
19
|
+
exchange: str,
|
20
|
+
):
|
21
|
+
return cls(
|
22
|
+
exchange,
|
23
|
+
)
|
24
|
+
|
25
|
+
def __str__(self) -> str:
|
26
|
+
return f"DownloadProductCatalogRequest(exchange={self.exchange})"
|
27
|
+
|
28
|
+
@staticmethod
|
29
|
+
def get_response_type():
|
30
|
+
return DownloadProductCatalogResponse
|
31
|
+
|
32
|
+
@staticmethod
|
33
|
+
def get_unannotated_response_type():
|
34
|
+
return DownloadProductCatalogResponse
|
35
|
+
|
36
|
+
@staticmethod
|
37
|
+
def get_route() -> str:
|
38
|
+
return "/json.architect.Symbology/DownloadProductCatalog"
|
39
|
+
|
40
|
+
@staticmethod
|
41
|
+
def get_rpc_method():
|
42
|
+
return "unary"
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# generated by datamodel-codegen:
|
2
|
+
# filename: Symbology/DownloadProductCatalogResponse.json
|
3
|
+
|
4
|
+
from __future__ import annotations
|
5
|
+
|
6
|
+
from typing import List
|
7
|
+
|
8
|
+
from msgspec import Struct
|
9
|
+
|
10
|
+
from .. import definitions
|
11
|
+
|
12
|
+
|
13
|
+
class DownloadProductCatalogResponse(Struct, omit_defaults=True):
|
14
|
+
product_catalog: List[definitions.ProductCatalogInfo]
|
15
|
+
|
16
|
+
# Constructor that takes all field titles as arguments for convenience
|
17
|
+
@classmethod
|
18
|
+
def new(
|
19
|
+
cls,
|
20
|
+
product_catalog: List[definitions.ProductCatalogInfo],
|
21
|
+
):
|
22
|
+
return cls(
|
23
|
+
product_catalog,
|
24
|
+
)
|
25
|
+
|
26
|
+
def __str__(self) -> str:
|
27
|
+
return f"DownloadProductCatalogResponse(product_catalog={self.product_catalog})"
|
@@ -2,7 +2,7 @@
|
|
2
2
|
# filename: Symbology/PruneExpiredSymbolsRequest.json
|
3
3
|
|
4
4
|
from __future__ import annotations
|
5
|
-
from architect_py.
|
5
|
+
from architect_py.grpc.models.Symbology.PruneExpiredSymbolsResponse import (
|
6
6
|
PruneExpiredSymbolsResponse,
|
7
7
|
)
|
8
8
|
|
@@ -24,7 +24,7 @@ class PruneExpiredSymbolsRequest(Struct, omit_defaults=True):
|
|
24
24
|
If None then it will just use server current time; otherwise, specify a unix timestamp in seconds
|
25
25
|
"""
|
26
26
|
|
27
|
-
#
|
27
|
+
# Constructor that takes all field titles as arguments for convenience
|
28
28
|
@classmethod
|
29
29
|
def new(
|
30
30
|
cls,
|
@@ -9,7 +9,7 @@ from msgspec import Struct
|
|
9
9
|
class PruneExpiredSymbolsResponse(Struct, omit_defaults=True):
|
10
10
|
pass
|
11
11
|
|
12
|
-
#
|
12
|
+
# Constructor that takes all field titles as arguments for convenience
|
13
13
|
@classmethod
|
14
14
|
def new(
|
15
15
|
cls,
|
@@ -9,7 +9,7 @@ from msgspec import Struct
|
|
9
9
|
class SubscribeSymbology(Struct, omit_defaults=True):
|
10
10
|
pass
|
11
11
|
|
12
|
-
#
|
12
|
+
# Constructor that takes all field titles as arguments for convenience
|
13
13
|
@classmethod
|
14
14
|
def new(
|
15
15
|
cls,
|
@@ -2,7 +2,7 @@
|
|
2
2
|
# filename: Symbology/SymbologyRequest.json
|
3
3
|
|
4
4
|
from __future__ import annotations
|
5
|
-
from architect_py.
|
5
|
+
from architect_py.grpc.models.Symbology.SymbologySnapshot import SymbologySnapshot
|
6
6
|
|
7
7
|
from msgspec import Struct
|
8
8
|
|
@@ -10,7 +10,7 @@ from msgspec import Struct
|
|
10
10
|
class SymbologyRequest(Struct, omit_defaults=True):
|
11
11
|
pass
|
12
12
|
|
13
|
-
#
|
13
|
+
# Constructor that takes all field titles as arguments for convenience
|
14
14
|
@classmethod
|
15
15
|
def new(
|
16
16
|
cls,
|
@@ -21,8 +21,9 @@ class SymbologySnapshot(Struct, omit_defaults=True):
|
|
21
21
|
sid: Annotated[int, Meta(ge=0, title="sequence_id")]
|
22
22
|
sn: Annotated[int, Meta(ge=0, title="sequence_number")]
|
23
23
|
product_aliases: Optional[Dict[str, Dict[str, str]]] = {}
|
24
|
+
product_catalog: Optional[Dict[str, Dict[str, definitions.ProductCatalogInfo]]] = {}
|
24
25
|
|
25
|
-
#
|
26
|
+
# Constructor that takes all field titles as arguments for convenience
|
26
27
|
@classmethod
|
27
28
|
def new(
|
28
29
|
cls,
|
@@ -32,6 +33,9 @@ class SymbologySnapshot(Struct, omit_defaults=True):
|
|
32
33
|
sequence_id: int,
|
33
34
|
sequence_number: int,
|
34
35
|
product_aliases: Optional[Dict[str, Dict[str, str]]] = {},
|
36
|
+
product_catalog: Optional[
|
37
|
+
Dict[str, Dict[str, definitions.ProductCatalogInfo]]
|
38
|
+
] = {},
|
35
39
|
):
|
36
40
|
return cls(
|
37
41
|
execution_info,
|
@@ -40,10 +44,11 @@ class SymbologySnapshot(Struct, omit_defaults=True):
|
|
40
44
|
sequence_id,
|
41
45
|
sequence_number,
|
42
46
|
product_aliases,
|
47
|
+
product_catalog,
|
43
48
|
)
|
44
49
|
|
45
50
|
def __str__(self) -> str:
|
46
|
-
return f"SymbologySnapshot(execution_info={self.execution_info},options_series={self.options_series},products={self.products},sequence_id={self.sid},sequence_number={self.sn},product_aliases={self.product_aliases})"
|
51
|
+
return f"SymbologySnapshot(execution_info={self.execution_info},options_series={self.options_series},products={self.products},sequence_id={self.sid},sequence_number={self.sn},product_aliases={self.product_aliases},product_catalog={self.product_catalog})"
|
47
52
|
|
48
53
|
@property
|
49
54
|
def sequence_id(self) -> int:
|
@@ -26,9 +26,12 @@ class SymbologyUpdate(Struct, omit_defaults=True):
|
|
26
26
|
product_aliases: Optional[
|
27
27
|
definitions.SnapshotOrUpdateForAliasKindAndSnapshotOrUpdateForStringAndString
|
28
28
|
] = None
|
29
|
+
product_catalog: Optional[
|
30
|
+
definitions.SnapshotOrUpdateForStringAndSnapshotOrUpdateForStringAndProductCatalogInfo
|
31
|
+
] = None
|
29
32
|
products: Optional[definitions.SnapshotOrUpdateForStringAndProductInfo] = None
|
30
33
|
|
31
|
-
#
|
34
|
+
# Constructor that takes all field titles as arguments for convenience
|
32
35
|
@classmethod
|
33
36
|
def new(
|
34
37
|
cls,
|
@@ -43,6 +46,9 @@ class SymbologyUpdate(Struct, omit_defaults=True):
|
|
43
46
|
product_aliases: Optional[
|
44
47
|
definitions.SnapshotOrUpdateForAliasKindAndSnapshotOrUpdateForStringAndString
|
45
48
|
] = None,
|
49
|
+
product_catalog: Optional[
|
50
|
+
definitions.SnapshotOrUpdateForStringAndSnapshotOrUpdateForStringAndProductCatalogInfo
|
51
|
+
] = None,
|
46
52
|
products: Optional[definitions.SnapshotOrUpdateForStringAndProductInfo] = None,
|
47
53
|
):
|
48
54
|
return cls(
|
@@ -51,11 +57,12 @@ class SymbologyUpdate(Struct, omit_defaults=True):
|
|
51
57
|
execution_info,
|
52
58
|
options_series,
|
53
59
|
product_aliases,
|
60
|
+
product_catalog,
|
54
61
|
products,
|
55
62
|
)
|
56
63
|
|
57
64
|
def __str__(self) -> str:
|
58
|
-
return f"SymbologyUpdate(sequence_id={self.sid},sequence_number={self.sn},execution_info={self.execution_info},options_series={self.options_series},product_aliases={self.product_aliases},products={self.products})"
|
65
|
+
return f"SymbologyUpdate(sequence_id={self.sid},sequence_number={self.sn},execution_info={self.execution_info},options_series={self.options_series},product_aliases={self.product_aliases},product_catalog={self.product_catalog},products={self.products})"
|
59
66
|
|
60
67
|
@property
|
61
68
|
def sequence_id(self) -> int:
|
@@ -2,7 +2,7 @@
|
|
2
2
|
# filename: Symbology/SymbolsRequest.json
|
3
3
|
|
4
4
|
from __future__ import annotations
|
5
|
-
from architect_py.
|
5
|
+
from architect_py.grpc.models.Symbology.SymbolsResponse import SymbolsResponse
|
6
6
|
|
7
7
|
from msgspec import Struct
|
8
8
|
|
@@ -12,7 +12,7 @@ class SymbolsRequest(Struct, omit_defaults=True):
|
|
12
12
|
List all symbols
|
13
13
|
"""
|
14
14
|
|
15
|
-
#
|
15
|
+
# Constructor that takes all field titles as arguments for convenience
|
16
16
|
@classmethod
|
17
17
|
def new(
|
18
18
|
cls,
|
@@ -11,7 +11,7 @@ from msgspec import Struct
|
|
11
11
|
class SymbolsResponse(Struct, omit_defaults=True):
|
12
12
|
symbols: List[str]
|
13
13
|
|
14
|
-
#
|
14
|
+
# Constructor that takes all field titles as arguments for convenience
|
15
15
|
@classmethod
|
16
16
|
def new(
|
17
17
|
cls,
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# generated by datamodel-codegen:
|
2
|
+
# filename: Symbology/UploadProductCatalogRequest.json
|
3
|
+
|
4
|
+
from __future__ import annotations
|
5
|
+
from architect_py.grpc.models.Symbology.UploadProductCatalogResponse import (
|
6
|
+
UploadProductCatalogResponse,
|
7
|
+
)
|
8
|
+
|
9
|
+
from typing import List
|
10
|
+
|
11
|
+
from msgspec import Struct
|
12
|
+
|
13
|
+
from .. import definitions
|
14
|
+
|
15
|
+
|
16
|
+
class UploadProductCatalogRequest(Struct, omit_defaults=True):
|
17
|
+
exchange: str
|
18
|
+
product_catalog: List[definitions.ProductCatalogInfo]
|
19
|
+
|
20
|
+
# Constructor that takes all field titles as arguments for convenience
|
21
|
+
@classmethod
|
22
|
+
def new(
|
23
|
+
cls,
|
24
|
+
exchange: str,
|
25
|
+
product_catalog: List[definitions.ProductCatalogInfo],
|
26
|
+
):
|
27
|
+
return cls(
|
28
|
+
exchange,
|
29
|
+
product_catalog,
|
30
|
+
)
|
31
|
+
|
32
|
+
def __str__(self) -> str:
|
33
|
+
return f"UploadProductCatalogRequest(exchange={self.exchange},product_catalog={self.product_catalog})"
|
34
|
+
|
35
|
+
@staticmethod
|
36
|
+
def get_response_type():
|
37
|
+
return UploadProductCatalogResponse
|
38
|
+
|
39
|
+
@staticmethod
|
40
|
+
def get_unannotated_response_type():
|
41
|
+
return UploadProductCatalogResponse
|
42
|
+
|
43
|
+
@staticmethod
|
44
|
+
def get_route() -> str:
|
45
|
+
return "/json.architect.Symbology/UploadProductCatalog"
|
46
|
+
|
47
|
+
@staticmethod
|
48
|
+
def get_rpc_method():
|
49
|
+
return "unary"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# generated by datamodel-codegen:
|
2
|
+
# filename: Symbology/UploadProductCatalogResponse.json
|
3
|
+
|
4
|
+
from __future__ import annotations
|
5
|
+
|
6
|
+
from msgspec import Struct
|
7
|
+
|
8
|
+
|
9
|
+
class UploadProductCatalogResponse(Struct, omit_defaults=True):
|
10
|
+
pass
|
11
|
+
|
12
|
+
# Constructor that takes all field titles as arguments for convenience
|
13
|
+
@classmethod
|
14
|
+
def new(
|
15
|
+
cls,
|
16
|
+
):
|
17
|
+
return cls()
|
18
|
+
|
19
|
+
def __str__(self) -> str:
|
20
|
+
return f"UploadProductCatalogResponse()"
|
@@ -2,7 +2,7 @@
|
|
2
2
|
# filename: Symbology/UploadSymbologyRequest.json
|
3
3
|
|
4
4
|
from __future__ import annotations
|
5
|
-
from architect_py.
|
5
|
+
from architect_py.grpc.models.Symbology.UploadSymbologyResponse import (
|
6
6
|
UploadSymbologyResponse,
|
7
7
|
)
|
8
8
|
|
@@ -19,7 +19,7 @@ class UploadSymbologyRequest(Struct, omit_defaults=True):
|
|
19
19
|
product_aliases: Optional[Dict[str, Dict[str, str]]] = None
|
20
20
|
products: Optional[Dict[str, definitions.ProductInfo]] = None
|
21
21
|
|
22
|
-
#
|
22
|
+
# Constructor that takes all field titles as arguments for convenience
|
23
23
|
@classmethod
|
24
24
|
def new(
|
25
25
|
cls,
|
@@ -9,7 +9,7 @@ from msgspec import Struct
|
|
9
9
|
class UploadSymbologyResponse(Struct, omit_defaults=True):
|
10
10
|
pass
|
11
11
|
|
12
|
-
#
|
12
|
+
# Constructor that takes all field titles as arguments for convenience
|
13
13
|
@classmethod
|
14
14
|
def new(
|
15
15
|
cls,
|