architect-py 3.2.2__tar.gz → 5.0.0b1__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.
Files changed (212) hide show
  1. architect_py-5.0.0b1/PKG-INFO +124 -0
  2. architect_py-5.0.0b1/README.md +101 -0
  3. architect_py-5.0.0b1/architect_py/__init__.py +8 -0
  4. architect_py-5.0.0b1/architect_py/async_client.py +1464 -0
  5. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/client.py +25 -26
  6. architect_py-5.0.0b1/architect_py/client_interface.py +62 -0
  7. architect_py-5.0.0b1/architect_py/common_types/__init__.py +6 -0
  8. architect_py-5.0.0b1/architect_py/common_types/order_dir.py +85 -0
  9. architect_py-5.0.0b1/architect_py/common_types/scalars.py +25 -0
  10. architect_py-5.0.0b1/architect_py/common_types/tradable_product.py +59 -0
  11. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/client.py +3 -6
  12. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/fragments.py +3 -6
  13. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/get_fills_query.py +2 -1
  14. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/search_symbols_query.py +2 -1
  15. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/subscribe_orderflow.py +2 -1
  16. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/subscribe_trades.py +2 -1
  17. architect_py-5.0.0b1/architect_py/grpc/__init__.py +125 -0
  18. architect_py-5.0.0b1/architect_py/grpc/client.py +86 -0
  19. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Accounts/AccountsRequest.py +2 -2
  20. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Accounts/AccountsResponse.py +1 -1
  21. {architect_py-3.2.2/architect_py/grpc_client/Cpty → architect_py-5.0.0b1/architect_py/grpc/models/Accounts}/__init__.py +1 -1
  22. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Algo/AlgoOrderForTwapAlgo.py +1 -1
  23. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Algo/CreateAlgoOrderRequestForTwapAlgo.py +2 -2
  24. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Algo/ModifyAlgoOrderRequestForTwapAlgo.py +2 -2
  25. {architect_py-3.2.2/architect_py/grpc_client/Accounts → architect_py-5.0.0b1/architect_py/grpc/models/Algo}/__init__.py +1 -1
  26. architect_py-5.0.0b1/architect_py/grpc/models/Auth/CreateJwtRequest.py +47 -0
  27. architect_py-5.0.0b1/architect_py/grpc/models/Auth/CreateJwtResponse.py +23 -0
  28. {architect_py-3.2.2/architect_py/grpc_client/Algo → architect_py-5.0.0b1/architect_py/grpc/models/Auth}/__init__.py +1 -1
  29. architect_py-5.0.0b1/architect_py/grpc/models/Core/ConfigRequest.py +37 -0
  30. architect_py-5.0.0b1/architect_py/grpc/models/Core/ConfigResponse.py +25 -0
  31. {architect_py-3.2.2/architect_py/grpc_client/Folio → architect_py-5.0.0b1/architect_py/grpc/models/Core}/__init__.py +1 -1
  32. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Cpty/CptyRequest.py +2 -2
  33. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Cpty/CptyResponse.py +3 -3
  34. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Cpty/CptyStatus.py +1 -1
  35. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Cpty/CptyStatusRequest.py +2 -2
  36. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Cpty/CptysRequest.py +2 -2
  37. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Cpty/CptysResponse.py +1 -1
  38. architect_py-5.0.0b1/architect_py/grpc/models/Cpty/__init__.py +2 -0
  39. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Folio/AccountHistoryRequest.py +2 -2
  40. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Folio/AccountHistoryResponse.py +1 -1
  41. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Folio/AccountSummariesRequest.py +2 -2
  42. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Folio/AccountSummariesResponse.py +1 -1
  43. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Folio/AccountSummary.py +1 -1
  44. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Folio/AccountSummaryRequest.py +2 -2
  45. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Folio/HistoricalFillsRequest.py +3 -3
  46. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Folio/HistoricalFillsResponse.py +1 -1
  47. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Folio/HistoricalOrdersRequest.py +3 -3
  48. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Folio/HistoricalOrdersResponse.py +1 -1
  49. architect_py-5.0.0b1/architect_py/grpc/models/Folio/__init__.py +2 -0
  50. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Health/HealthCheckRequest.py +2 -2
  51. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Health/HealthCheckResponse.py +1 -1
  52. architect_py-5.0.0b1/architect_py/grpc/models/Health/__init__.py +2 -0
  53. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/Candle.py +1 -1
  54. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/HistoricalCandlesRequest.py +11 -8
  55. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/HistoricalCandlesResponse.py +1 -1
  56. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/L1BookSnapshot.py +36 -3
  57. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/L1BookSnapshotRequest.py +8 -3
  58. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/L1BookSnapshotsRequest.py +6 -3
  59. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/L2BookSnapshot.py +1 -1
  60. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/L2BookSnapshotRequest.py +2 -2
  61. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/Liquidation.py +2 -2
  62. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/MarketStatus.py +1 -1
  63. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/MarketStatusRequest.py +2 -2
  64. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/SubscribeCandlesRequest.py +2 -2
  65. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/SubscribeCurrentCandlesRequest.py +3 -4
  66. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/SubscribeL1BookSnapshotsRequest.py +6 -3
  67. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/SubscribeL2BookUpdatesRequest.py +2 -2
  68. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/SubscribeLiquidationsRequest.py +2 -2
  69. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/SubscribeManyCandlesRequest.py +2 -2
  70. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/SubscribeTickersRequest.py +2 -2
  71. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/SubscribeTradesRequest.py +2 -2
  72. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/Ticker.py +1 -1
  73. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/TickerRequest.py +2 -2
  74. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/TickersRequest.py +2 -2
  75. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/TickersResponse.py +1 -1
  76. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/Trade.py +2 -2
  77. architect_py-5.0.0b1/architect_py/grpc/models/Marketdata/__init__.py +2 -0
  78. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Oms/Cancel.py +1 -1
  79. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Oms/CancelAllOrdersRequest.py +2 -2
  80. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Oms/CancelAllOrdersResponse.py +1 -1
  81. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Oms/CancelOrderRequest.py +2 -2
  82. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Oms/OpenOrdersRequest.py +2 -2
  83. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Oms/OpenOrdersResponse.py +1 -1
  84. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Oms/Order.py +2 -2
  85. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Oms/PendingCancelsRequest.py +2 -2
  86. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Oms/PendingCancelsResponse.py +1 -1
  87. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Oms/PlaceOrderRequest.py +3 -3
  88. architect_py-5.0.0b1/architect_py/grpc/models/Oms/__init__.py +2 -0
  89. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Orderflow/DropcopyRequest.py +2 -2
  90. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Orderflow/OrderflowRequest.py +1 -1
  91. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Orderflow/SubscribeOrderflowRequest.py +2 -2
  92. architect_py-5.0.0b1/architect_py/grpc/models/Orderflow/__init__.py +2 -0
  93. architect_py-5.0.0b1/architect_py/grpc/models/Symbology/DownloadProductCatalogRequest.py +42 -0
  94. architect_py-5.0.0b1/architect_py/grpc/models/Symbology/DownloadProductCatalogResponse.py +27 -0
  95. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Symbology/PruneExpiredSymbolsRequest.py +2 -2
  96. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Symbology/PruneExpiredSymbolsResponse.py +1 -1
  97. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Symbology/SubscribeSymbology.py +1 -1
  98. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Symbology/SymbologyRequest.py +2 -2
  99. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Symbology/SymbologySnapshot.py +7 -2
  100. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Symbology/SymbologyUpdate.py +9 -2
  101. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Symbology/SymbolsRequest.py +2 -2
  102. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Symbology/SymbolsResponse.py +1 -1
  103. architect_py-5.0.0b1/architect_py/grpc/models/Symbology/UploadProductCatalogRequest.py +49 -0
  104. architect_py-5.0.0b1/architect_py/grpc/models/Symbology/UploadProductCatalogResponse.py +20 -0
  105. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Symbology/UploadSymbologyRequest.py +2 -2
  106. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Symbology/UploadSymbologyResponse.py +1 -1
  107. architect_py-5.0.0b1/architect_py/grpc/models/Symbology/__init__.py +2 -0
  108. architect_py-5.0.0b1/architect_py/grpc/models/__init__.py +2 -0
  109. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/definitions.py +248 -66
  110. architect_py-5.0.0b1/architect_py/grpc/resolve_endpoint.py +67 -0
  111. architect_py-3.2.2/architect_py/grpc_client/grpc_server.py → architect_py-5.0.0b1/architect_py/grpc/server.py +9 -6
  112. architect_py-5.0.0b1/architect_py/grpc/utils.py +32 -0
  113. architect_py-5.0.0b1/architect_py/tests/conftest.py +119 -0
  114. architect_py-5.0.0b1/architect_py/tests/test_book_building.py +55 -0
  115. architect_py-5.0.0b1/architect_py/tests/test_marketdata.py +168 -0
  116. architect_py-5.0.0b1/architect_py/tests/test_order_entry.py +37 -0
  117. architect_py-5.0.0b1/architect_py/tests/test_orderflow.py +38 -0
  118. architect_py-5.0.0b1/architect_py/tests/test_portfolio_management.py +23 -0
  119. architect_py-5.0.0b1/architect_py/tests/test_rounding.py +41 -0
  120. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/tests/test_symbology.py +37 -30
  121. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/utils/nearest_tick.py +2 -5
  122. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/utils/nearest_tick_2.py +1 -2
  123. architect_py-5.0.0b1/architect_py/utils/orderbook.py +35 -0
  124. architect_py-5.0.0b1/architect_py/utils/pandas.py +44 -0
  125. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/utils/price_bands.py +0 -3
  126. architect_py-5.0.0b1/architect_py/utils/symbol_parsing.py +29 -0
  127. architect_py-5.0.0b1/architect_py.egg-info/PKG-INFO +124 -0
  128. architect_py-5.0.0b1/architect_py.egg-info/SOURCES.txt +187 -0
  129. architect_py-5.0.0b1/architect_py.egg-info/dependency_links.txt +1 -0
  130. architect_py-5.0.0b1/architect_py.egg-info/requires.txt +10 -0
  131. architect_py-5.0.0b1/architect_py.egg-info/top_level.txt +7 -0
  132. architect_py-5.0.0b1/examples/__init__.py +0 -0
  133. architect_py-5.0.0b1/examples/book_subscription.py +53 -0
  134. architect_py-5.0.0b1/examples/candles.py +30 -0
  135. architect_py-5.0.0b1/examples/common.py +107 -0
  136. architect_py-5.0.0b1/examples/external_cpty.py +77 -0
  137. architect_py-5.0.0b1/examples/funding_rate_mean_reversion_algo.py +192 -0
  138. architect_py-5.0.0b1/examples/order_sending.py +92 -0
  139. architect_py-5.0.0b1/examples/stream_l1_marketdata.py +25 -0
  140. architect_py-5.0.0b1/examples/stream_l2_marketdata.py +40 -0
  141. architect_py-5.0.0b1/examples/trades.py +21 -0
  142. architect_py-5.0.0b1/examples/tutorial_async.py +84 -0
  143. architect_py-5.0.0b1/examples/tutorial_sync.py +95 -0
  144. architect_py-5.0.0b1/pyproject.toml +64 -0
  145. architect_py-5.0.0b1/scripts/generate_functions_md.py +164 -0
  146. architect_py-5.0.0b1/scripts/generate_sync_interface.py +207 -0
  147. architect_py-5.0.0b1/scripts/postprocess_grpc.py +594 -0
  148. architect_py-5.0.0b1/scripts/preprocess_grpc_schema.py +647 -0
  149. architect_py-5.0.0b1/setup.cfg +4 -0
  150. architect_py-5.0.0b1/templates/exceptions.py +83 -0
  151. architect_py-5.0.0b1/templates/juniper_base_client.py +371 -0
  152. architect_py-3.2.2/PKG-INFO +0 -191
  153. architect_py-3.2.2/README.md +0 -166
  154. architect_py-3.2.2/architect_py/__init__.py +0 -2
  155. architect_py-3.2.2/architect_py/async_client.py +0 -1161
  156. architect_py-3.2.2/architect_py/client_protocol.py +0 -53
  157. architect_py-3.2.2/architect_py/grpc_client/Health/__init__.py +0 -2
  158. architect_py-3.2.2/architect_py/grpc_client/Marketdata/__init__.py +0 -2
  159. architect_py-3.2.2/architect_py/grpc_client/Oms/__init__.py +0 -2
  160. architect_py-3.2.2/architect_py/grpc_client/Orderflow/__init__.py +0 -2
  161. architect_py-3.2.2/architect_py/grpc_client/Symbology/__init__.py +0 -2
  162. architect_py-3.2.2/architect_py/grpc_client/__init__.py +0 -2
  163. architect_py-3.2.2/architect_py/grpc_client/grpc_client.py +0 -413
  164. architect_py-3.2.2/architect_py/scalars.py +0 -172
  165. architect_py-3.2.2/architect_py/tests/conftest.py +0 -120
  166. architect_py-3.2.2/architect_py/tests/test_accounts.py +0 -31
  167. architect_py-3.2.2/architect_py/tests/test_book_building.py +0 -56
  168. architect_py-3.2.2/architect_py/tests/test_client.py +0 -29
  169. architect_py-3.2.2/architect_py/tests/test_grpc_client.py +0 -30
  170. architect_py-3.2.2/architect_py/tests/test_order_sending.py +0 -65
  171. architect_py-3.2.2/architect_py/tests/test_rounding.py +0 -41
  172. architect_py-3.2.2/architect_py/tests/test_snapshots.py +0 -52
  173. architect_py-3.2.2/architect_py/tests/test_subscriptions.py +0 -126
  174. architect_py-3.2.2/pyproject.toml +0 -57
  175. {architect_py-3.2.2 → architect_py-5.0.0b1}/LICENSE +0 -0
  176. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/__init__.py +0 -0
  177. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/base_model.py +0 -0
  178. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/cancel_all_orders_mutation.py +0 -0
  179. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/cancel_order_mutation.py +0 -0
  180. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/create_jwt.py +0 -0
  181. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/enums.py +0 -0
  182. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/exceptions.py +0 -0
  183. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/get_account_history_query.py +0 -0
  184. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/get_account_query.py +0 -0
  185. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/get_account_summaries_query.py +0 -0
  186. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/get_account_summary_query.py +0 -0
  187. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/get_candle_snapshot_query.py +0 -0
  188. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/get_execution_info_query.py +0 -0
  189. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/get_execution_infos_query.py +0 -0
  190. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/get_first_notice_date_query.py +0 -0
  191. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/get_future_series_query.py +0 -0
  192. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/get_historical_orders_query.py +0 -0
  193. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/get_l_1_book_snapshot_query.py +0 -0
  194. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/get_l_1_book_snapshots_query.py +0 -0
  195. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/get_l_2_book_snapshot_query.py +0 -0
  196. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/get_market_status_query.py +0 -0
  197. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/get_open_orders_query.py +0 -0
  198. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/get_product_info_query.py +0 -0
  199. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/get_product_infos_query.py +0 -0
  200. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/input_types.py +0 -0
  201. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/juniper_base_client.py +0 -0
  202. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/list_accounts_query.py +0 -0
  203. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/place_order_mutation.py +0 -0
  204. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/subscribe_candles.py +0 -0
  205. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/user_email_query.py +0 -0
  206. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/graphql_client/user_id_query.py +0 -0
  207. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/ArrayOfL1BookSnapshot.py +0 -0
  208. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/L2BookUpdate.py +0 -0
  209. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Marketdata/TickerUpdate.py +0 -0
  210. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Orderflow/Dropcopy.py +0 -0
  211. {architect_py-3.2.2/architect_py/grpc_client → architect_py-5.0.0b1/architect_py/grpc/models}/Orderflow/Orderflow.py +0 -0
  212. {architect_py-3.2.2 → architect_py-5.0.0b1}/architect_py/tests/__init__.py +0 -0
@@ -0,0 +1,124 @@
1
+ Metadata-Version: 2.4
2
+ Name: architect-py
3
+ Version: 5.0.0b1
4
+ Summary: Python SDK for the Architect trading platform and brokerage.
5
+ Author-email: "Architect Financial Technologies, Inc." <hello@architect.co>
6
+ License-Expression: Apache-2.0
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: Operating System :: OS Independent
9
+ Classifier: Development Status :: 4 - Beta
10
+ Requires-Python: <4,>=3.10
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ Requires-Dist: asyncio>=3
14
+ Requires-Dist: gql[httpx]<4,>=3.5.0
15
+ Requires-Dist: grpcio>=1.66.1
16
+ Requires-Dist: msgspec<0.20,>=0.19
17
+ Requires-Dist: pydantic~=2.10
18
+ Requires-Dist: websockets>=11
19
+ Requires-Dist: dnspython>=2.0
20
+ Provides-Extra: pandas
21
+ Requires-Dist: pandas>=2; extra == "pandas"
22
+ Dynamic: license-file
23
+
24
+ # [![Architect](https://avatars.githubusercontent.com/u/116864654?s=29&v=2)](https://architect.co) architect_py
25
+ [![PyPI version](https://img.shields.io/pypi/v/architect-py.svg)](https://pypi.org/project/architect-py/)
26
+
27
+ A fully-featured Python SDK for trading on [Architect](https://architect.co).
28
+
29
+ Just some of the features of this SDK: symbology, portfolio management, order entry, advanced algos, and marketdata subscriptions.
30
+
31
+ Also, it is compatible with Jupyter notebooks! Check the [examples for an example notebook](examples/jupyter_example.ipynb).
32
+
33
+ ## Installation
34
+
35
+ - pip: `pip install architect-py`
36
+ - poetry: `poetry add architect-py`
37
+ - uv: `uv add architect-py`
38
+
39
+ ## API keys for the brokerage
40
+
41
+ API keys/secrets for the brokerage can be generated on the [user account page](https://app.architect.co/user/account).
42
+
43
+
44
+ ## Example usage
45
+
46
+ `AsyncClient` and `Client` are the entryways into making calls to the Architect backend.
47
+ Note that the sync `Client` does not have access to any subscription functions, because they are async by nature.
48
+
49
+
50
+ ```python
51
+ import asyncio
52
+
53
+ from architect_py.async_client import AsyncClient
54
+ from architect_py.scalars import TradableProduct
55
+
56
+ async def main():
57
+ c = await AsyncClient.connect(
58
+ host="<your installation domain>", # e.g. app.architect.co for the brokerage
59
+ api_key="<api key>",
60
+ api_secret="<api secret>"
61
+ paper_trading=True,
62
+ )
63
+ print(await c.who_am_i())
64
+
65
+ series = await async_client.get_cme_futures_series("ES CME Futures")
66
+ front_ES_future = series[0][1]
67
+
68
+ s = c.subscribe_trades_stream(front_ES_future)
69
+ async for trade in s:
70
+ print(trade)
71
+
72
+ asyncio.run(main())
73
+ ```
74
+
75
+ ```python
76
+ from architect_py.client import Client
77
+
78
+ def main():
79
+ c = Client(
80
+ host="<your installation domain>",
81
+ api_key="<api key>",
82
+ api_secret="<api secret>"
83
+ paper_trading=True,
84
+ )
85
+ print(c.who_am_i())
86
+
87
+ print(client.get_account_summaries())
88
+
89
+ print(client.search_symbols("ES"))
90
+ ```
91
+
92
+ While the AsyncClient is the recommended way to use the Architect API, the Client instead without any familiarity with `async/await`.
93
+ The sync clients and async clients usage is identical, except one removes the `await` before the call. The only exception to this is that the sync client does not support any subscriptions, because they are inherently asynchronous.
94
+
95
+ Check the `examples` folder or the `architect_py/tests` folders for example usages.
96
+
97
+
98
+ ## Method catalog
99
+
100
+ Check out the [FUNCTIONS.md](FUNCTIONS.md) file to see a catalog of methods.
101
+
102
+ ---
103
+
104
+
105
+ ### Running examples from this package
106
+
107
+ Clone this repository to run examples in the `examples` directory. This package
108
+ uses poetry for dependency management. To enter a poetry virtual environment, make
109
+ sure you have [poetry](https://python-poetry.org/docs/) installed and run the
110
+ following from the repository root.
111
+
112
+ ```bash
113
+ poetry shell
114
+ poetry install --sync
115
+
116
+ export ARCHITECT_HOST="<your installation domain>"
117
+ export ARCHITECT_API_KEY="<api key>"
118
+ export ARCHITECT_API_SECRET="<api secret>"
119
+
120
+ python -m examples.trades
121
+ ```
122
+
123
+ You can exit the poetry shell by running `exit`. Environment variables set
124
+ within the shell are not persisted.
@@ -0,0 +1,101 @@
1
+ # [![Architect](https://avatars.githubusercontent.com/u/116864654?s=29&v=2)](https://architect.co) architect_py
2
+ [![PyPI version](https://img.shields.io/pypi/v/architect-py.svg)](https://pypi.org/project/architect-py/)
3
+
4
+ A fully-featured Python SDK for trading on [Architect](https://architect.co).
5
+
6
+ Just some of the features of this SDK: symbology, portfolio management, order entry, advanced algos, and marketdata subscriptions.
7
+
8
+ Also, it is compatible with Jupyter notebooks! Check the [examples for an example notebook](examples/jupyter_example.ipynb).
9
+
10
+ ## Installation
11
+
12
+ - pip: `pip install architect-py`
13
+ - poetry: `poetry add architect-py`
14
+ - uv: `uv add architect-py`
15
+
16
+ ## API keys for the brokerage
17
+
18
+ API keys/secrets for the brokerage can be generated on the [user account page](https://app.architect.co/user/account).
19
+
20
+
21
+ ## Example usage
22
+
23
+ `AsyncClient` and `Client` are the entryways into making calls to the Architect backend.
24
+ Note that the sync `Client` does not have access to any subscription functions, because they are async by nature.
25
+
26
+
27
+ ```python
28
+ import asyncio
29
+
30
+ from architect_py.async_client import AsyncClient
31
+ from architect_py.scalars import TradableProduct
32
+
33
+ async def main():
34
+ c = await AsyncClient.connect(
35
+ host="<your installation domain>", # e.g. app.architect.co for the brokerage
36
+ api_key="<api key>",
37
+ api_secret="<api secret>"
38
+ paper_trading=True,
39
+ )
40
+ print(await c.who_am_i())
41
+
42
+ series = await async_client.get_cme_futures_series("ES CME Futures")
43
+ front_ES_future = series[0][1]
44
+
45
+ s = c.subscribe_trades_stream(front_ES_future)
46
+ async for trade in s:
47
+ print(trade)
48
+
49
+ asyncio.run(main())
50
+ ```
51
+
52
+ ```python
53
+ from architect_py.client import Client
54
+
55
+ def main():
56
+ c = Client(
57
+ host="<your installation domain>",
58
+ api_key="<api key>",
59
+ api_secret="<api secret>"
60
+ paper_trading=True,
61
+ )
62
+ print(c.who_am_i())
63
+
64
+ print(client.get_account_summaries())
65
+
66
+ print(client.search_symbols("ES"))
67
+ ```
68
+
69
+ While the AsyncClient is the recommended way to use the Architect API, the Client instead without any familiarity with `async/await`.
70
+ The sync clients and async clients usage is identical, except one removes the `await` before the call. The only exception to this is that the sync client does not support any subscriptions, because they are inherently asynchronous.
71
+
72
+ Check the `examples` folder or the `architect_py/tests` folders for example usages.
73
+
74
+
75
+ ## Method catalog
76
+
77
+ Check out the [FUNCTIONS.md](FUNCTIONS.md) file to see a catalog of methods.
78
+
79
+ ---
80
+
81
+
82
+ ### Running examples from this package
83
+
84
+ Clone this repository to run examples in the `examples` directory. This package
85
+ uses poetry for dependency management. To enter a poetry virtual environment, make
86
+ sure you have [poetry](https://python-poetry.org/docs/) installed and run the
87
+ following from the repository root.
88
+
89
+ ```bash
90
+ poetry shell
91
+ poetry install --sync
92
+
93
+ export ARCHITECT_HOST="<your installation domain>"
94
+ export ARCHITECT_API_KEY="<api key>"
95
+ export ARCHITECT_API_SECRET="<api secret>"
96
+
97
+ python -m examples.trades
98
+ ```
99
+
100
+ You can exit the poetry shell by running `exit`. Environment variables set
101
+ within the shell are not persisted.
@@ -0,0 +1,8 @@
1
+ __version__ = "5.0.0b1"
2
+
3
+ from .async_client import AsyncClient
4
+ from .client import Client
5
+ from .common_types import OrderDir, TradableProduct
6
+ from .grpc import CandleWidth
7
+
8
+ __all__ = ["AsyncClient", "Client", "CandleWidth", "OrderDir", "TradableProduct"]