architect-py 3.2.2__py3-none-any.whl → 5.0.0b2__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.
Files changed (205) hide show
  1. architect_py/__init__.py +15 -2
  2. architect_py/async_client.py +1060 -643
  3. architect_py/client.py +25 -26
  4. architect_py/client_interface.py +63 -0
  5. architect_py/common_types/__init__.py +6 -0
  6. architect_py/common_types/order_dir.py +91 -0
  7. architect_py/common_types/scalars.py +25 -0
  8. architect_py/common_types/tradable_product.py +59 -0
  9. architect_py/graphql_client/__init__.py +2 -0
  10. architect_py/graphql_client/client.py +3 -6
  11. architect_py/graphql_client/enums.py +5 -0
  12. architect_py/graphql_client/fragments.py +3 -6
  13. architect_py/graphql_client/get_fills_query.py +2 -1
  14. architect_py/graphql_client/search_symbols_query.py +2 -1
  15. architect_py/graphql_client/subscribe_orderflow.py +2 -1
  16. architect_py/graphql_client/subscribe_trades.py +2 -1
  17. architect_py/grpc/__init__.py +143 -0
  18. architect_py/grpc/client.py +94 -0
  19. architect_py/{grpc_client → grpc/models}/Accounts/AccountsRequest.py +6 -3
  20. architect_py/{grpc_client → grpc/models}/Accounts/AccountsResponse.py +1 -1
  21. architect_py/{grpc_client → grpc/models}/Accounts/__init__.py +1 -1
  22. architect_py/grpc/models/Algo/AlgoOrder.py +114 -0
  23. architect_py/grpc/models/Algo/AlgoOrderRequest.py +46 -0
  24. architect_py/grpc/models/Algo/AlgoOrdersRequest.py +72 -0
  25. architect_py/grpc/models/Algo/AlgoOrdersResponse.py +27 -0
  26. architect_py/grpc/models/Algo/CreateAlgoOrderRequest.py +56 -0
  27. architect_py/grpc/models/Algo/PauseAlgoRequest.py +42 -0
  28. architect_py/grpc/models/Algo/PauseAlgoResponse.py +20 -0
  29. architect_py/grpc/models/Algo/StartAlgoRequest.py +42 -0
  30. architect_py/grpc/models/Algo/StartAlgoResponse.py +20 -0
  31. architect_py/grpc/models/Algo/StopAlgoRequest.py +42 -0
  32. architect_py/grpc/models/Algo/StopAlgoResponse.py +20 -0
  33. architect_py/{grpc_client → grpc/models}/Algo/__init__.py +1 -1
  34. architect_py/grpc/models/Auth/CreateJwtRequest.py +47 -0
  35. architect_py/grpc/models/Auth/CreateJwtResponse.py +23 -0
  36. architect_py/{grpc_client/Cpty → grpc/models/Auth}/__init__.py +1 -1
  37. architect_py/grpc/models/Boss/DepositsRequest.py +40 -0
  38. architect_py/grpc/models/Boss/DepositsResponse.py +27 -0
  39. architect_py/grpc/models/Boss/RqdAccountStatisticsRequest.py +42 -0
  40. architect_py/grpc/models/Boss/RqdAccountStatisticsResponse.py +25 -0
  41. architect_py/grpc/models/Boss/StatementUrlRequest.py +40 -0
  42. architect_py/grpc/models/Boss/StatementUrlResponse.py +23 -0
  43. architect_py/grpc/models/Boss/StatementsRequest.py +40 -0
  44. architect_py/grpc/models/Boss/StatementsResponse.py +27 -0
  45. architect_py/grpc/models/Boss/WithdrawalsRequest.py +40 -0
  46. architect_py/grpc/models/Boss/WithdrawalsResponse.py +27 -0
  47. architect_py/{grpc_client/Folio → grpc/models/Boss}/__init__.py +1 -1
  48. architect_py/grpc/models/Core/ConfigRequest.py +37 -0
  49. architect_py/grpc/models/Core/ConfigResponse.py +25 -0
  50. architect_py/grpc/models/Core/__init__.py +2 -0
  51. architect_py/{grpc_client → grpc/models}/Cpty/CptyRequest.py +2 -2
  52. architect_py/{grpc_client → grpc/models}/Cpty/CptyResponse.py +3 -3
  53. architect_py/{grpc_client → grpc/models}/Cpty/CptyStatus.py +1 -1
  54. architect_py/{grpc_client → grpc/models}/Cpty/CptyStatusRequest.py +2 -2
  55. architect_py/{grpc_client → grpc/models}/Cpty/CptysRequest.py +2 -2
  56. architect_py/{grpc_client → grpc/models}/Cpty/CptysResponse.py +1 -1
  57. architect_py/grpc/models/Cpty/__init__.py +2 -0
  58. architect_py/{grpc_client → grpc/models}/Folio/AccountHistoryRequest.py +2 -2
  59. architect_py/{grpc_client → grpc/models}/Folio/AccountHistoryResponse.py +1 -1
  60. architect_py/{grpc_client → grpc/models}/Folio/AccountSummariesRequest.py +2 -2
  61. architect_py/{grpc_client → grpc/models}/Folio/AccountSummariesResponse.py +1 -1
  62. architect_py/{grpc_client → grpc/models}/Folio/AccountSummary.py +1 -1
  63. architect_py/{grpc_client → grpc/models}/Folio/AccountSummaryRequest.py +2 -2
  64. architect_py/{grpc_client → grpc/models}/Folio/HistoricalFillsRequest.py +7 -4
  65. architect_py/{grpc_client → grpc/models}/Folio/HistoricalFillsResponse.py +1 -1
  66. architect_py/{grpc_client → grpc/models}/Folio/HistoricalOrdersRequest.py +3 -3
  67. architect_py/{grpc_client → grpc/models}/Folio/HistoricalOrdersResponse.py +1 -1
  68. architect_py/grpc/models/Folio/__init__.py +2 -0
  69. architect_py/{grpc_client → grpc/models}/Health/HealthCheckRequest.py +2 -2
  70. architect_py/{grpc_client → grpc/models}/Health/HealthCheckResponse.py +1 -1
  71. architect_py/grpc/models/Health/__init__.py +2 -0
  72. architect_py/{grpc_client → grpc/models}/Marketdata/Candle.py +1 -1
  73. architect_py/{grpc_client → grpc/models}/Marketdata/HistoricalCandlesRequest.py +11 -8
  74. architect_py/{grpc_client → grpc/models}/Marketdata/HistoricalCandlesResponse.py +1 -1
  75. architect_py/{grpc_client → grpc/models}/Marketdata/L1BookSnapshot.py +52 -5
  76. architect_py/{grpc_client → grpc/models}/Marketdata/L1BookSnapshotRequest.py +8 -3
  77. architect_py/{grpc_client → grpc/models}/Marketdata/L1BookSnapshotsRequest.py +6 -3
  78. architect_py/{grpc_client → grpc/models}/Marketdata/L2BookSnapshot.py +1 -1
  79. architect_py/{grpc_client → grpc/models}/Marketdata/L2BookSnapshotRequest.py +2 -2
  80. architect_py/{grpc_client → grpc/models}/Marketdata/Liquidation.py +2 -2
  81. architect_py/{grpc_client → grpc/models}/Marketdata/MarketStatus.py +1 -1
  82. architect_py/{grpc_client → grpc/models}/Marketdata/MarketStatusRequest.py +2 -2
  83. architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeCandlesRequest.py +2 -2
  84. architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeCurrentCandlesRequest.py +3 -4
  85. architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeL1BookSnapshotsRequest.py +6 -3
  86. architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeL2BookUpdatesRequest.py +2 -2
  87. architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeLiquidationsRequest.py +2 -2
  88. architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeManyCandlesRequest.py +2 -2
  89. architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeTickersRequest.py +2 -2
  90. architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeTradesRequest.py +2 -2
  91. architect_py/{grpc_client → grpc/models}/Marketdata/Ticker.py +1 -1
  92. architect_py/{grpc_client → grpc/models}/Marketdata/TickerRequest.py +2 -2
  93. architect_py/{grpc_client → grpc/models}/Marketdata/TickersRequest.py +2 -2
  94. architect_py/{grpc_client → grpc/models}/Marketdata/TickersResponse.py +1 -1
  95. architect_py/{grpc_client → grpc/models}/Marketdata/Trade.py +2 -2
  96. architect_py/grpc/models/Marketdata/__init__.py +2 -0
  97. architect_py/grpc/models/Oms/Cancel.py +90 -0
  98. architect_py/{grpc_client → grpc/models}/Oms/CancelAllOrdersRequest.py +2 -2
  99. architect_py/{grpc_client → grpc/models}/Oms/CancelAllOrdersResponse.py +1 -1
  100. architect_py/{grpc_client → grpc/models}/Oms/CancelOrderRequest.py +2 -2
  101. architect_py/{grpc_client → grpc/models}/Oms/OpenOrdersRequest.py +2 -2
  102. architect_py/{grpc_client → grpc/models}/Oms/OpenOrdersResponse.py +1 -1
  103. architect_py/{grpc_client → grpc/models}/Oms/Order.py +6 -13
  104. architect_py/{grpc_client → grpc/models}/Oms/PendingCancelsRequest.py +2 -2
  105. architect_py/{grpc_client → grpc/models}/Oms/PendingCancelsResponse.py +1 -1
  106. architect_py/{grpc_client → grpc/models}/Oms/PlaceOrderRequest.py +16 -23
  107. architect_py/grpc/models/Oms/__init__.py +2 -0
  108. architect_py/grpc/models/OptionsMarketdata/OptionsChain.py +30 -0
  109. architect_py/grpc/models/OptionsMarketdata/OptionsChainGreeks.py +30 -0
  110. architect_py/grpc/models/OptionsMarketdata/OptionsChainGreeksRequest.py +47 -0
  111. architect_py/grpc/models/OptionsMarketdata/OptionsChainRequest.py +45 -0
  112. architect_py/grpc/models/OptionsMarketdata/OptionsExpirations.py +29 -0
  113. architect_py/grpc/models/OptionsMarketdata/OptionsExpirationsRequest.py +42 -0
  114. architect_py/grpc/models/OptionsMarketdata/__init__.py +2 -0
  115. architect_py/{grpc_client → grpc/models}/Orderflow/DropcopyRequest.py +2 -2
  116. architect_py/{grpc_client → grpc/models}/Orderflow/OrderflowRequest.py +1 -1
  117. architect_py/{grpc_client → grpc/models}/Orderflow/SubscribeOrderflowRequest.py +2 -2
  118. architect_py/grpc/models/Orderflow/__init__.py +2 -0
  119. architect_py/grpc/models/Symbology/DownloadProductCatalogRequest.py +42 -0
  120. architect_py/grpc/models/Symbology/DownloadProductCatalogResponse.py +27 -0
  121. architect_py/grpc/models/Symbology/ExecutionInfoRequest.py +47 -0
  122. architect_py/grpc/models/Symbology/ExecutionInfoResponse.py +27 -0
  123. architect_py/{grpc_client → grpc/models}/Symbology/PruneExpiredSymbolsRequest.py +2 -2
  124. architect_py/{grpc_client → grpc/models}/Symbology/PruneExpiredSymbolsResponse.py +1 -1
  125. architect_py/{grpc_client → grpc/models}/Symbology/SubscribeSymbology.py +1 -1
  126. architect_py/{grpc_client → grpc/models}/Symbology/SymbologyRequest.py +2 -2
  127. architect_py/{grpc_client → grpc/models}/Symbology/SymbologySnapshot.py +7 -2
  128. architect_py/{grpc_client → grpc/models}/Symbology/SymbologyUpdate.py +9 -2
  129. architect_py/{grpc_client → grpc/models}/Symbology/SymbolsRequest.py +2 -2
  130. architect_py/{grpc_client → grpc/models}/Symbology/SymbolsResponse.py +1 -1
  131. architect_py/grpc/models/Symbology/UploadProductCatalogRequest.py +49 -0
  132. architect_py/grpc/models/Symbology/UploadProductCatalogResponse.py +20 -0
  133. architect_py/{grpc_client → grpc/models}/Symbology/UploadSymbologyRequest.py +2 -2
  134. architect_py/{grpc_client → grpc/models}/Symbology/UploadSymbologyResponse.py +1 -1
  135. architect_py/grpc/models/Symbology/__init__.py +2 -0
  136. architect_py/grpc/models/__init__.py +2 -0
  137. architect_py/{grpc_client → grpc/models}/definitions.py +690 -841
  138. architect_py/grpc/resolve_endpoint.py +70 -0
  139. architect_py/{grpc_client/grpc_server.py → grpc/server.py} +9 -6
  140. architect_py/grpc/utils.py +32 -0
  141. architect_py/internal_utils/__init__.py +0 -0
  142. architect_py/internal_utils/no_pandas.py +3 -0
  143. architect_py/tests/conftest.py +91 -87
  144. architect_py/tests/test_book_building.py +49 -50
  145. architect_py/tests/test_marketdata.py +168 -0
  146. architect_py/tests/test_order_entry.py +37 -0
  147. architect_py/tests/test_orderflow.py +41 -0
  148. architect_py/tests/test_portfolio_management.py +23 -0
  149. architect_py/tests/test_rounding.py +28 -28
  150. architect_py/tests/test_symbology.py +37 -30
  151. architect_py/utils/nearest_tick.py +2 -5
  152. architect_py/utils/nearest_tick_2.py +1 -2
  153. architect_py/utils/orderbook.py +35 -0
  154. architect_py/utils/pandas.py +44 -0
  155. architect_py/utils/price_bands.py +0 -3
  156. architect_py/utils/symbol_parsing.py +29 -0
  157. architect_py-5.0.0b2.dist-info/METADATA +123 -0
  158. architect_py-5.0.0b2.dist-info/RECORD +214 -0
  159. {architect_py-3.2.2.dist-info → architect_py-5.0.0b2.dist-info}/WHEEL +2 -1
  160. architect_py-5.0.0b2.dist-info/top_level.txt +4 -0
  161. examples/__init__.py +0 -0
  162. examples/book_subscription.py +52 -0
  163. examples/candles.py +30 -0
  164. examples/common.py +116 -0
  165. examples/external_cpty.py +77 -0
  166. examples/funding_rate_mean_reversion_algo.py +186 -0
  167. examples/order_sending.py +91 -0
  168. examples/stream_l1_marketdata.py +25 -0
  169. examples/stream_l2_marketdata.py +38 -0
  170. examples/trades.py +21 -0
  171. examples/tutorial_async.py +86 -0
  172. examples/tutorial_sync.py +95 -0
  173. scripts/generate_functions_md.py +166 -0
  174. scripts/generate_sync_interface.py +226 -0
  175. scripts/postprocess_grpc.py +604 -0
  176. scripts/preprocess_grpc_schema.py +708 -0
  177. templates/exceptions.py +83 -0
  178. templates/juniper_base_client.py +371 -0
  179. architect_py/client_protocol.py +0 -53
  180. architect_py/grpc_client/Algo/AlgoOrderForTwapAlgo.py +0 -61
  181. architect_py/grpc_client/Algo/CreateAlgoOrderRequestForTwapAlgo.py +0 -59
  182. architect_py/grpc_client/Algo/ModifyAlgoOrderRequestForTwapAlgo.py +0 -45
  183. architect_py/grpc_client/Health/__init__.py +0 -2
  184. architect_py/grpc_client/Marketdata/__init__.py +0 -2
  185. architect_py/grpc_client/Oms/Cancel.py +0 -42
  186. architect_py/grpc_client/Oms/__init__.py +0 -2
  187. architect_py/grpc_client/Orderflow/__init__.py +0 -2
  188. architect_py/grpc_client/Symbology/__init__.py +0 -2
  189. architect_py/grpc_client/__init__.py +0 -2
  190. architect_py/grpc_client/grpc_client.py +0 -413
  191. architect_py/scalars.py +0 -172
  192. architect_py/tests/test_accounts.py +0 -31
  193. architect_py/tests/test_client.py +0 -29
  194. architect_py/tests/test_grpc_client.py +0 -30
  195. architect_py/tests/test_order_sending.py +0 -65
  196. architect_py/tests/test_snapshots.py +0 -52
  197. architect_py/tests/test_subscriptions.py +0 -126
  198. architect_py-3.2.2.dist-info/METADATA +0 -191
  199. architect_py-3.2.2.dist-info/RECORD +0 -148
  200. /architect_py/{grpc_client → grpc/models}/Marketdata/ArrayOfL1BookSnapshot.py +0 -0
  201. /architect_py/{grpc_client → grpc/models}/Marketdata/L2BookUpdate.py +0 -0
  202. /architect_py/{grpc_client → grpc/models}/Marketdata/TickerUpdate.py +0 -0
  203. /architect_py/{grpc_client → grpc/models}/Orderflow/Dropcopy.py +0 -0
  204. /architect_py/{grpc_client → grpc/models}/Orderflow/Orderflow.py +0 -0
  205. {architect_py-3.2.2.dist-info → architect_py-5.0.0b2.dist-info/licenses}/LICENSE +0 -0
@@ -0,0 +1,42 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: OptionsMarketdata/OptionsExpirationsRequest.json
3
+
4
+ from __future__ import annotations
5
+ from architect_py.grpc.models.OptionsMarketdata.OptionsExpirations import (
6
+ OptionsExpirations,
7
+ )
8
+
9
+ from msgspec import Struct
10
+
11
+
12
+ class OptionsExpirationsRequest(Struct, omit_defaults=True):
13
+ underlying: str
14
+
15
+ # Constructor that takes all field titles as arguments for convenience
16
+ @classmethod
17
+ def new(
18
+ cls,
19
+ underlying: str,
20
+ ):
21
+ return cls(
22
+ underlying,
23
+ )
24
+
25
+ def __str__(self) -> str:
26
+ return f"OptionsExpirationsRequest(underlying={self.underlying})"
27
+
28
+ @staticmethod
29
+ def get_response_type():
30
+ return OptionsExpirations
31
+
32
+ @staticmethod
33
+ def get_unannotated_response_type():
34
+ return OptionsExpirations
35
+
36
+ @staticmethod
37
+ def get_route() -> str:
38
+ return "/json.architect.OptionsMarketdata/OptionsExpirations"
39
+
40
+ @staticmethod
41
+ def get_rpc_method():
42
+ return "unary"
@@ -0,0 +1,2 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: schemas
@@ -2,7 +2,7 @@
2
2
  # filename: Orderflow/DropcopyRequest.json
3
3
 
4
4
  from __future__ import annotations
5
- from architect_py.grpc_client.Orderflow.Dropcopy import (
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
- # below is a constructor that takes all field titles as arguments for convenience
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.grpc_client.Orderflow.Orderflow import (
5
+ from architect_py.grpc.models.Orderflow.Orderflow import (
6
6
  Orderflow,
7
7
  OrderPending,
8
8
  TaggedOrderAck,
@@ -2,7 +2,7 @@
2
2
  # filename: Orderflow/SubscribeOrderflowRequest.json
3
3
 
4
4
  from __future__ import annotations
5
- from architect_py.grpc_client.Orderflow.Orderflow import (
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
- # below is a constructor that takes all field titles as arguments for convenience
37
+ # Constructor that takes all field titles as arguments for convenience
38
38
  @classmethod
39
39
  def new(
40
40
  cls,
@@ -0,0 +1,2 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: schemas
@@ -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})"
@@ -0,0 +1,47 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: Symbology/ExecutionInfoRequest.json
3
+
4
+ from __future__ import annotations
5
+ from architect_py.grpc.models.Symbology.ExecutionInfoResponse import (
6
+ ExecutionInfoResponse,
7
+ )
8
+
9
+ from typing import Optional
10
+
11
+ from msgspec import Struct
12
+
13
+
14
+ class ExecutionInfoRequest(Struct, omit_defaults=True):
15
+ symbol: str
16
+ execution_venue: Optional[str] = None
17
+
18
+ # Constructor that takes all field titles as arguments for convenience
19
+ @classmethod
20
+ def new(
21
+ cls,
22
+ symbol: str,
23
+ execution_venue: Optional[str] = None,
24
+ ):
25
+ return cls(
26
+ symbol,
27
+ execution_venue,
28
+ )
29
+
30
+ def __str__(self) -> str:
31
+ return f"ExecutionInfoRequest(symbol={self.symbol},execution_venue={self.execution_venue})"
32
+
33
+ @staticmethod
34
+ def get_response_type():
35
+ return ExecutionInfoResponse
36
+
37
+ @staticmethod
38
+ def get_unannotated_response_type():
39
+ return ExecutionInfoResponse
40
+
41
+ @staticmethod
42
+ def get_route() -> str:
43
+ return "/json.architect.Symbology/ExecutionInfo"
44
+
45
+ @staticmethod
46
+ def get_rpc_method():
47
+ return "unary"
@@ -0,0 +1,27 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: Symbology/ExecutionInfoResponse.json
3
+
4
+ from __future__ import annotations
5
+
6
+ from typing import Dict
7
+
8
+ from msgspec import Struct
9
+
10
+ from .. import definitions
11
+
12
+
13
+ class ExecutionInfoResponse(Struct, omit_defaults=True):
14
+ execution_info: Dict[str, definitions.ExecutionInfo]
15
+
16
+ # Constructor that takes all field titles as arguments for convenience
17
+ @classmethod
18
+ def new(
19
+ cls,
20
+ execution_info: Dict[str, definitions.ExecutionInfo],
21
+ ):
22
+ return cls(
23
+ execution_info,
24
+ )
25
+
26
+ def __str__(self) -> str:
27
+ return f"ExecutionInfoResponse(execution_info={self.execution_info})"
@@ -2,7 +2,7 @@
2
2
  # filename: Symbology/PruneExpiredSymbolsRequest.json
3
3
 
4
4
  from __future__ import annotations
5
- from architect_py.grpc_client.Symbology.PruneExpiredSymbolsResponse import (
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
- # below is a constructor that takes all field titles as arguments for convenience
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
- # below is a constructor that takes all field titles as arguments for convenience
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
- # below is a constructor that takes all field titles as arguments for convenience
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.grpc_client.Symbology.SymbologySnapshot import SymbologySnapshot
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
- # below is a constructor that takes all field titles as arguments for convenience
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
- # below is a constructor that takes all field titles as arguments for convenience
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
- # below is a constructor that takes all field titles as arguments for convenience
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.grpc_client.Symbology.SymbolsResponse import SymbolsResponse
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
- # below is a constructor that takes all field titles as arguments for convenience
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
- # below is a constructor that takes all field titles as arguments for convenience
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.grpc_client.Symbology.UploadSymbologyResponse import (
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
- # below is a constructor that takes all field titles as arguments for convenience
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
- # below is a constructor that takes all field titles as arguments for convenience
12
+ # Constructor that takes all field titles as arguments for convenience
13
13
  @classmethod
14
14
  def new(
15
15
  cls,
@@ -0,0 +1,2 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: schemas
@@ -0,0 +1,2 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: schemas