stonepy 0.2.0__tar.gz → 0.2.2__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 (596) hide show
  1. {stonepy-0.2.0 → stonepy-0.2.2}/CHANGELOG.md +52 -1
  2. {stonepy-0.2.0 → stonepy-0.2.2}/PKG-INFO +1 -1
  3. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/__init__.py +1 -1
  4. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_core/config.py +1 -1
  5. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_core/endpoint.py +4 -0
  6. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_core/transport.py +14 -1
  7. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_endpoints/client_preference.py +7 -7
  8. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_endpoints/margin.py +1 -1
  9. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_endpoints/market.py +7 -7
  10. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_endpoints/message.py +3 -3
  11. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_endpoints/order.py +7 -7
  12. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_endpoints/order_including_closed.py +1 -1
  13. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_endpoints/preference.py +3 -3
  14. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_endpoints/price_alert.py +1 -1
  15. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_endpoints/session.py +3 -2
  16. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_endpoints/user_account.py +3 -2
  17. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_endpoints/watchlist.py +4 -4
  18. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_generator/emit_endpoints.py +78 -20
  19. {stonepy-0.2.0 → stonepy-0.2.2}/.gitignore +0 -0
  20. {stonepy-0.2.0 → stonepy-0.2.2}/LICENSE +0 -0
  21. {stonepy-0.2.0 → stonepy-0.2.2}/README.md +0 -0
  22. {stonepy-0.2.0 → stonepy-0.2.2}/pyproject.toml +0 -0
  23. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_core/__init__.py +0 -0
  24. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_core/clock.py +0 -0
  25. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_core/codec.py +0 -0
  26. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_core/errors.py +0 -0
  27. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_core/logging.py +0 -0
  28. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_core/models.py +0 -0
  29. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_core/pipeline.py +0 -0
  30. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_core/plugins.py +0 -0
  31. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_core/ratelimit.py +0 -0
  32. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_core/resource.py +0 -0
  33. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_core/retry.py +0 -0
  34. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_core/session.py +0 -0
  35. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_core/status.py +0 -0
  36. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_endpoints/__init__.py +0 -0
  37. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_endpoints/cfd.py +0 -0
  38. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_endpoints/clientapplication.py +0 -0
  39. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_endpoints/clientpreference.py +0 -0
  40. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_endpoints/fixedmargin.py +0 -0
  41. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_endpoints/news.py +0 -0
  42. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_endpoints/pm.py +0 -0
  43. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_endpoints/spread.py +0 -0
  44. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_endpoints/tradingadvisor.py +0 -0
  45. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_generator/__init__.py +0 -0
  46. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_generator/__main__.py +0 -0
  47. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_generator/catalog.py +0 -0
  48. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_generator/emit_client.py +0 -0
  49. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_generator/emit_contract.py +0 -0
  50. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_generator/emit_models.py +0 -0
  51. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_generator/render.py +0 -0
  52. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/_generator/scaffold.py +0 -0
  53. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/client.py +0 -0
  54. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/errors.py +0 -0
  55. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/AccountInformationResponseDTOv2.py +0 -0
  56. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/AccountResult.py +0 -0
  57. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ActiveSignalsResponseDTO.py +0 -0
  58. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/AlertDTO.py +0 -0
  59. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/AllocationProfileDTO.py +0 -0
  60. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/AllocationProfileEntryDTO.py +0 -0
  61. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/Api2FALogonOnResponseDTO.py +0 -0
  62. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiAccountHolderDTO.py +0 -0
  63. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiAccountInformationSaveRequestDTO.py +0 -0
  64. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiAccountInformationSaveResponseDTO.py +0 -0
  65. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiAccountOperatorDTOv2.py +0 -0
  66. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiAccountOperatorsDTOv2.py +0 -0
  67. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiActiveOrderDTO.py +0 -0
  68. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiActiveStopLimitOrderDTOv2.py +0 -0
  69. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiAdvisoryTradeOrderResponseDTO.py +0 -0
  70. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiAssociatedDTOv2.py +0 -0
  71. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiAssociatedResponseDTO.py +0 -0
  72. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiBandedSpreadsDTO.py +0 -0
  73. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiBasicStopLimitOrderDTO.py +0 -0
  74. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiChangePasswordRequestDTO.py +0 -0
  75. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiChangePasswordResponseDTO.py +0 -0
  76. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiCiConnectMultipleUsersDetailsDTO.py +0 -0
  77. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientAccountDTO.py +0 -0
  78. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientAccountMarginResponseDTO.py +0 -0
  79. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientAccountTokenDTOv2.py +0 -0
  80. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientAccountWatchlistDTO.py +0 -0
  81. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientAccountWatchlistItemDTO.py +0 -0
  82. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientApplicationMessageTranslationDTO.py +0 -0
  83. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientApplicationMessageTranslationRequestDTO.py +0 -0
  84. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientApplicationMessageTranslationResponseDTO.py +0 -0
  85. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientCommunicationResponseDTO.py +0 -0
  86. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientCommunicationUpdateRequestDTOv2.py +0 -0
  87. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientCommunicationUpdateResponseDTO.py +0 -0
  88. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientPreferencesOverriddenMarginFactorDTO.py +0 -0
  89. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientPreferencesOverriddenPriceToleranceDTO.py +0 -0
  90. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientPreferencesOverriddenSettingSaveDTO.py +0 -0
  91. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientPreferencesOverriddenSettingsDTO.py +0 -0
  92. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientPreferencesOverriddenSettingsGetResponseDTO.py +0 -0
  93. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientPreferencesOverriddenSettingsSaveDTO.py +0 -0
  94. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientPreferencesOverriddenSettingsSaveRequestDTO.py +0 -0
  95. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientPreferencesOverriddenSettingsSaveResponseDTO.py +0 -0
  96. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientPreferencesOverridenMarginFactorDTO.py +0 -0
  97. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientPreferencesOverridenPriceToleranceDTO.py +0 -0
  98. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientPreferencesOverridenSettingSaveDTO.py +0 -0
  99. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientPreferencesOverridenSettingsDTO.py +0 -0
  100. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientPreferencesOverridenSettingsGetResponseDTO.py +0 -0
  101. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientPreferencesOverridenSettingsSaveDTO.py +0 -0
  102. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientPreferencesOverridenSettingsSaveRequestDTO.py +0 -0
  103. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiClientPreferencesOverridenSettingsSaveResponseDTO.py +0 -0
  104. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiCommunityActionDTO.py +0 -0
  105. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiCommunityActionUserDetailsDTO.py +0 -0
  106. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiConnectUserDetailsDTO.py +0 -0
  107. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiContractDTOv2.py +0 -0
  108. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiCultureLookupDTO.py +0 -0
  109. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiDateTimeOffsetDTO.py +0 -0
  110. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiDeleteWatchlistRequestDTO.py +0 -0
  111. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiDeleteWatchlistResponseDTO.py +0 -0
  112. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiErrorResponseDTO.py +0 -0
  113. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiFollowedDTO.py +0 -0
  114. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiFollowerDTO.py +0 -0
  115. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiFreeCashToTradeResponseDTO.py +0 -0
  116. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiFxFinancingDTO.py +0 -0
  117. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiGetClientPreferenceResponseDTO.py +0 -0
  118. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiGetClientPreferencesResponseDTO.py +0 -0
  119. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiGetCommunityActionsResponseDTO.py +0 -0
  120. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiGetKeyListClientPreferenceResponseDTO.py +0 -0
  121. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiGetMarketInformationExtendedResponseDTOv2.py +0 -0
  122. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiGetMultipleUsersDetailsResponseDTO.py +0 -0
  123. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiGetPreferencesResponseDTO.py +0 -0
  124. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiGetWallItemsForUsersResponseDTO.py +0 -0
  125. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiGetWallSubItemsResponseDTO.py +0 -0
  126. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiIfDoneDTOv2.py +0 -0
  127. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiIfDoneResponseDTO.py +0 -0
  128. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiKnockoutDTO.py +0 -0
  129. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiListFollowedUsersResponseDTO.py +0 -0
  130. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiListFollowingUsersResponseDTO.py +0 -0
  131. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiListLatestTradedMarketsResponseDTO.py +0 -0
  132. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiListTopholdersDTO.py +0 -0
  133. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiListTopholdersForMarketsResponseDTO.py +0 -0
  134. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiLogOffRequestDTO.py +0 -0
  135. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiLogOffResponseDTO.py +0 -0
  136. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiLogOnRequestDTO.py +0 -0
  137. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiLogOnResponseDTOv2.py +0 -0
  138. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiLookupDTO.py +0 -0
  139. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiLookupResponseDTO.py +0 -0
  140. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiManagedClientAccountMarginResponseDTO.py +0 -0
  141. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiManagedClientAccountsMarginResponseDTO.py +0 -0
  142. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiManagedInstructionResponseDTO.py +0 -0
  143. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiManagedTradeDTO.py +0 -0
  144. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiManagedTradeHistoryDTO.py +0 -0
  145. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiMarketDTO.py +0 -0
  146. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiMarketEodDTO.py +0 -0
  147. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiMarketInformationDTOv2.py +0 -0
  148. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiMarketInformationExtendedDTOv2.py +0 -0
  149. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiMarketInformationSaveDTO.py +0 -0
  150. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiMarketSpreadDTO.py +0 -0
  151. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiMarketTagDTO.py +0 -0
  152. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiOpenPositionDTOv2.py +0 -0
  153. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiOrderActionResponseDTO.py +0 -0
  154. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiOrderDTOv2.py +0 -0
  155. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiOrderResponseDTO.py +0 -0
  156. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiPrimaryMarketTagDTO.py +0 -0
  157. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiProductInformationDTO.py +0 -0
  158. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiQuoteResponseDTO.py +0 -0
  159. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiRestrictionDTOv2.py +0 -0
  160. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiRestrictionsDTOv2.py +0 -0
  161. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiSaveAccountInformationRequestDTO.py +0 -0
  162. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiSaveAccountInformationResponseDTO.py +0 -0
  163. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiSaveClientPreferenceRequestDTO.py +0 -0
  164. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiSaveMarketInformationResponseDTO.py +0 -0
  165. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiSavePreferencesRequestDTO.py +0 -0
  166. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiSaveSignalPreferencesResponseDTO.py +0 -0
  167. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiSaveWatchlistRequestDTOv2.py +0 -0
  168. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiSaveWatchlistResponseDTO.py +0 -0
  169. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiSimulateOrderResponseDTO.py +0 -0
  170. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiSimulateTradeOrderResponseDTO.py +0 -0
  171. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiStepMarginBandDTO.py +0 -0
  172. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiStepMarginDTO.py +0 -0
  173. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiStopLimitOrderDTOv2.py +0 -0
  174. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiStopLimitOrderHistoryDTO.py +0 -0
  175. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiStopLimitResponseDTO.py +0 -0
  176. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiTopholderDTO.py +0 -0
  177. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiTradeActionDTO.py +0 -0
  178. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiTradeHistoryDTO.py +0 -0
  179. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiTradeOrderDTOv2.py +0 -0
  180. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiTradeOrderResponseDTO.py +0 -0
  181. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiTradedMarketsDTO.py +0 -0
  182. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiTraderDetailsDTO.py +0 -0
  183. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiTraderSearchResponseDTO.py +0 -0
  184. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiTradingAccountDTOv2.py +0 -0
  185. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiTradingDayTimesDTO.py +0 -0
  186. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiUpdateDeleteClientPreferenceResponseDTO.py +0 -0
  187. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiUserDynamicProfileDTO.py +0 -0
  188. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiUserFollowedUsersDTO.py +0 -0
  189. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiUserFollowersDTO.py +0 -0
  190. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiUserProfileDTO.py +0 -0
  191. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiUserTradingAccountDTO.py +0 -0
  192. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiUsernameResponseDTO.py +0 -0
  193. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiValidateSessionRequestDTOv2.py +0 -0
  194. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiValidateSessionResponseDTO.py +0 -0
  195. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiWallItemDTO.py +0 -0
  196. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ApiWallItemsForUsersDTO.py +0 -0
  197. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/CancelOrderRequestDTO.py +0 -0
  198. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/CashEquity.py +0 -0
  199. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ClientAccountMarginDTO.py +0 -0
  200. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ClientAccountMarginResponseDTO.py +0 -0
  201. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ClientCommunicationMessageDTO.py +0 -0
  202. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ClientPreferenceKeyDTO.py +0 -0
  203. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ClientPreferenceRequestDTO.py +0 -0
  204. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ClientPreferencesRequestDTO.py +0 -0
  205. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/CorporateActionsDTO.py +0 -0
  206. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/DeleteAllocationProfileRequestDTO.py +0 -0
  207. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/DeleteAllocationProfileResponseDTO.py +0 -0
  208. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/DeleteWatchlistItemRequestDTO.py +0 -0
  209. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/DeleteWatchlistResponseDTO.py +0 -0
  210. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/EnrichedOrderDTO.py +0 -0
  211. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ExecutionResponseDTO.py +0 -0
  212. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ExecutionVenueRequestDTO.py +0 -0
  213. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/FixedMarginOrderResponseDTO.py +0 -0
  214. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/FullMarketInformationSearchWithTagsResponseDTOv2.py +0 -0
  215. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/GetActiveStopLimitOrderResponseDTOv2.py +0 -0
  216. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/GetAllTradesWallResponseDTO.py +0 -0
  217. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/GetChangedOrdersResponseDTO.py +0 -0
  218. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/GetClientPreferenceResponseDTO.py +0 -0
  219. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/GetClientPreferencesResponseDTO.py +0 -0
  220. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/GetKeyListClientPreferenceResponseDTO.py +0 -0
  221. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/GetListClientPreferenceResponseDTO.py +0 -0
  222. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/GetMarketInformationResponseDTOv2.py +0 -0
  223. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/GetMarketsTradesWallResponseDTO.py +0 -0
  224. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/GetMessagePopupResponseDTO.py +0 -0
  225. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/GetNewsDetailResponseDTO.py +0 -0
  226. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/GetOpenPositionResponseDTOv2.py +0 -0
  227. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/GetOrderResponseDTOv2.py +0 -0
  228. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/GetOrdersResponseDTOv2.py +0 -0
  229. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/GetPriceBarResponseDTO.py +0 -0
  230. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/GetPriceTickResponseDTO.py +0 -0
  231. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/GetVersionInformationResponseDTO.py +0 -0
  232. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/HistoricalOrderDTO.py +0 -0
  233. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/HistoricalOrdersResponseDTO.py +0 -0
  234. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/IdentifierDTO.py +0 -0
  235. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/InsertWatchlistItemRequestDTO.py +0 -0
  236. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/LegalPartyDTO.py +0 -0
  237. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/LinkedAccountResult.py +0 -0
  238. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ListActiveOrdersRequestDTO.py +0 -0
  239. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ListActiveOrdersResponseDTO.py +0 -0
  240. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ListActiveStopLimitOrderResponseDTO.py +0 -0
  241. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ListAllocationProfilesResponseDTO.py +0 -0
  242. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ListCfdMarketsResponseDTO.py +0 -0
  243. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ListManagedClientsResponseDTO.py +0 -0
  244. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ListMarketInformationRequestDTO.py +0 -0
  245. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ListMarketInformationResponseDTO.py +0 -0
  246. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ListMarketInformationSearchResponseDTO.py +0 -0
  247. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ListMarketSearchPaginatedResponseDTO.py +0 -0
  248. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ListMarketSearchResponseDTO.py +0 -0
  249. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ListNewsHeadlinesRequestDTO.py +0 -0
  250. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ListNewsHeadlinesResponseDTO.py +0 -0
  251. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ListOpenPositionsResponseDTO.py +0 -0
  252. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ListProductInformationDTO.py +0 -0
  253. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ListProductInformationResponseDTO.py +0 -0
  254. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ListSpreadMarketsResponseDTO.py +0 -0
  255. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ListStopLimitOrderHistoryResponseDTO.py +0 -0
  256. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ListTradeHistoryResponseDTO.py +0 -0
  257. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ListWatchlistRequestDTO.py +0 -0
  258. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ListWatchlistResponseDTO.py +0 -0
  259. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/LogonUser.py +0 -0
  260. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ManagedClientDTO.py +0 -0
  261. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/ManagedTradingAccountDTO.py +0 -0
  262. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/MarketInformationSearchWithTagsResponseDTO.py +0 -0
  263. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/MarketInformationSearchWithoutTagsResponseDTO.py +0 -0
  264. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/MarketInformationTagLookupResponseDTO.py +0 -0
  265. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/MarketPricesDTO.py +0 -0
  266. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/MarketSearchResultDTO.py +0 -0
  267. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/MarketSpreadData.py +0 -0
  268. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/MultipleMarketInformationRequestDTO.py +0 -0
  269. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/NewFixedMarginTradeOrderRequestDTO.py +0 -0
  270. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/NewStopLimitOrderRequestDTO.py +0 -0
  271. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/NewTradeOrderRequestDTO.py +0 -0
  272. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/NewsDTO.py +0 -0
  273. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/NewsDetailDTO.py +0 -0
  274. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/NewsHeadlineDTO.py +0 -0
  275. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/NewsHeadlinesResponseDTO.py +0 -0
  276. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/NewsResponseDTO.py +0 -0
  277. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/OpenOrderDTO.py +0 -0
  278. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/OpenOrdersResponseDTO.py +0 -0
  279. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/OrderDTO.py +0 -0
  280. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/OrderHistoryDTO.py +0 -0
  281. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/OrderRequestDTO.py +0 -0
  282. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/PendingOrderDTO.py +0 -0
  283. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/PendingOrdersResponseDTO.py +0 -0
  284. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/PreferenceDTO.py +0 -0
  285. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/PriceAlertDTO.py +0 -0
  286. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/PriceAlertResponseDTO.py +0 -0
  287. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/PriceBarDTO.py +0 -0
  288. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/PriceDTO.py +0 -0
  289. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/PriceTickDTO.py +0 -0
  290. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/QuoteDTO.py +0 -0
  291. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/SaveAlertRequestDTOv2.py +0 -0
  292. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/SaveAlertResponseDTOv2.py +0 -0
  293. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/SaveAllocationProfileRequestDTO.py +0 -0
  294. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/SaveAllocationProfileResponseDTO.py +0 -0
  295. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/SaveClientPreferenceRequestDTO.py +0 -0
  296. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/SaveMarketInformationRequestDTO.py +0 -0
  297. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/SaveWatchlistRequestDTO.py +0 -0
  298. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/SaveWatchlistResponseDTO.py +0 -0
  299. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/SecureMessageCount.py +0 -0
  300. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/SignalDTO.py +0 -0
  301. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/SignalPerformanceDTO.py +0 -0
  302. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/SignalPerformanceResponseDTO.py +0 -0
  303. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/SingleActiveStopLimitOrderResponseDTO.py +0 -0
  304. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/SingleOpenPositionResponseDTO.py +0 -0
  305. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/StoryResponseDTO.py +0 -0
  306. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/SystemStatusDTO.py +0 -0
  307. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/SystemStatusRequestDTO.py +0 -0
  308. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/Timestamp.py +0 -0
  309. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/TradeMarginDTO.py +0 -0
  310. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/TradingAccountMarginDTO.py +0 -0
  311. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/UpdateDeleteClientPreferenceResponseDTO.py +0 -0
  312. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/UpdateFixedMarginTradeOrderRequestDTO.py +0 -0
  313. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/UpdateStopLimitOrderRequestDTO.py +0 -0
  314. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/UpdateTradeOrderRequestDTO.py +0 -0
  315. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/UpdateWatchlistDisplayOrderRequestDTO.py +0 -0
  316. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/__init__.py +0 -0
  317. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/models/enums.py +0 -0
  318. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/py.typed +0 -0
  319. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/__init__.py +0 -0
  320. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/cfd/__init__.py +0 -0
  321. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/cfd/_sync/list_cfd_markets.py +0 -0
  322. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/cfd/list_cfd_markets.py +0 -0
  323. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/client_preference/__init__.py +0 -0
  324. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/client_preference/_sync/delete_client_preference.py +0 -0
  325. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/client_preference/_sync/get_client_preference.py +0 -0
  326. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/client_preference/_sync/get_client_preference_overridden_settings.py +0 -0
  327. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/client_preference/_sync/get_client_preferences_key_list.py +0 -0
  328. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/client_preference/_sync/get_client_preferences_list.py +0 -0
  329. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/client_preference/_sync/save_client_preference.py +0 -0
  330. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/client_preference/_sync/save_client_preference_overridden_settings.py +0 -0
  331. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/client_preference/delete_client_preference.py +0 -0
  332. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/client_preference/get_client_preference.py +0 -0
  333. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/client_preference/get_client_preference_overridden_settings.py +0 -0
  334. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/client_preference/get_client_preferences_key_list.py +0 -0
  335. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/client_preference/get_client_preferences_list.py +0 -0
  336. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/client_preference/save_client_preference.py +0 -0
  337. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/client_preference/save_client_preference_overridden_settings.py +0 -0
  338. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/clientapplication/__init__.py +0 -0
  339. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/clientapplication/_sync/get_version_information.py +0 -0
  340. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/clientapplication/get_version_information.py +0 -0
  341. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/clientpreference/__init__.py +0 -0
  342. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/clientpreference/_sync/delete.py +0 -0
  343. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/clientpreference/_sync/get.py +0 -0
  344. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/clientpreference/_sync/get_key_list.py +0 -0
  345. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/clientpreference/_sync/get_list.py +0 -0
  346. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/clientpreference/_sync/get_overridden_settings.py +0 -0
  347. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/clientpreference/_sync/save.py +0 -0
  348. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/clientpreference/_sync/save_overridden_settings.py +0 -0
  349. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/clientpreference/delete.py +0 -0
  350. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/clientpreference/get.py +0 -0
  351. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/clientpreference/get_key_list.py +0 -0
  352. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/clientpreference/get_list.py +0 -0
  353. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/clientpreference/get_overridden_settings.py +0 -0
  354. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/clientpreference/save.py +0 -0
  355. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/clientpreference/save_overridden_settings.py +0 -0
  356. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/fixedmargin/__init__.py +0 -0
  357. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/fixedmargin/_sync/get_free_cash_to_trade.py +0 -0
  358. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/fixedmargin/_sync/trade_fm.py +0 -0
  359. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/fixedmargin/_sync/update_trade_fm.py +0 -0
  360. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/fixedmargin/get_free_cash_to_trade.py +0 -0
  361. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/fixedmargin/trade_fm.py +0 -0
  362. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/fixedmargin/update_trade_fm.py +0 -0
  363. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/margin/__init__.py +0 -0
  364. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/margin/_sync/get_client_account_margin.py +0 -0
  365. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/margin/_sync/list_managed_client_accounts_margin.py +0 -0
  366. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/margin/get_client_account_margin.py +0 -0
  367. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/margin/list_managed_client_accounts_margin.py +0 -0
  368. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/__init__.py +0 -0
  369. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/_sync/full_search_with_tags.py +0 -0
  370. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/_sync/get_full_search_with_tags.py +0 -0
  371. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/_sync/get_latest_price_bars.py +0 -0
  372. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/_sync/get_latest_price_ticks.py +0 -0
  373. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/_sync/get_market_information.py +0 -0
  374. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/_sync/get_market_information_extended.py +0 -0
  375. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/_sync/get_market_spread.py +0 -0
  376. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/_sync/get_price_bars_after_date.py +0 -0
  377. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/_sync/get_price_bars_before_date.py +0 -0
  378. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/_sync/get_price_bars_between_dates.py +0 -0
  379. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/_sync/get_price_ticks_after_date.py +0 -0
  380. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/_sync/get_price_ticks_before_date.py +0 -0
  381. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/_sync/get_price_ticks_between_dates.py +0 -0
  382. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/_sync/list_latest_traded_markets.py +0 -0
  383. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/_sync/list_market_information.py +0 -0
  384. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/_sync/list_market_information_search.py +0 -0
  385. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/_sync/list_market_search.py +0 -0
  386. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/_sync/list_market_search_paginated.py +0 -0
  387. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/_sync/save_market_information.py +0 -0
  388. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/_sync/save_product_information.py +0 -0
  389. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/_sync/search_with_tags.py +0 -0
  390. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/_sync/tag_lookup.py +0 -0
  391. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/full_search_with_tags.py +0 -0
  392. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/get_full_search_with_tags.py +0 -0
  393. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/get_latest_price_bars.py +0 -0
  394. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/get_latest_price_ticks.py +0 -0
  395. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/get_market_information.py +0 -0
  396. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/get_market_information_extended.py +0 -0
  397. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/get_market_spread.py +0 -0
  398. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/get_price_bars_after_date.py +0 -0
  399. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/get_price_bars_before_date.py +0 -0
  400. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/get_price_bars_between_dates.py +0 -0
  401. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/get_price_ticks_after_date.py +0 -0
  402. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/get_price_ticks_before_date.py +0 -0
  403. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/get_price_ticks_between_dates.py +0 -0
  404. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/list_latest_traded_markets.py +0 -0
  405. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/list_market_information.py +0 -0
  406. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/list_market_information_search.py +0 -0
  407. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/list_market_search.py +0 -0
  408. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/list_market_search_paginated.py +0 -0
  409. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/save_market_information.py +0 -0
  410. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/save_product_information.py +0 -0
  411. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/search_with_tags.py +0 -0
  412. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/market/tag_lookup.py +0 -0
  413. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/message/__init__.py +0 -0
  414. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/message/_sync/client_communication_message_update.py +0 -0
  415. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/message/_sync/get_client_application_message_translation.py +0 -0
  416. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/message/_sync/get_client_application_message_translation_with_interesting_items.py +0 -0
  417. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/message/_sync/get_client_communication_messages.py +0 -0
  418. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/message/_sync/get_message_popup.py +0 -0
  419. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/message/_sync/get_secure_messages.py +0 -0
  420. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/message/_sync/get_system_lookup.py +0 -0
  421. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/message/_sync/save_client_communication_message_response.py +0 -0
  422. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/message/client_communication_message_update.py +0 -0
  423. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/message/get_client_application_message_translation.py +0 -0
  424. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/message/get_client_application_message_translation_with_interesting_items.py +0 -0
  425. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/message/get_client_communication_messages.py +0 -0
  426. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/message/get_message_popup.py +0 -0
  427. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/message/get_secure_messages.py +0 -0
  428. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/message/get_system_lookup.py +0 -0
  429. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/message/save_client_communication_message_response.py +0 -0
  430. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/news/__init__.py +0 -0
  431. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/news/_sync/get_market_report_headlines.py +0 -0
  432. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/news/_sync/get_market_reports.py +0 -0
  433. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/news/_sync/get_news.py +0 -0
  434. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/news/_sync/get_news_detail.py +0 -0
  435. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/news/_sync/get_news_headlines.py +0 -0
  436. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/news/_sync/get_story.py +0 -0
  437. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/news/_sync/list_news_headlines.py +0 -0
  438. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/news/_sync/list_news_headlines_with_source.py +0 -0
  439. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/news/_sync/search_market_reports.py +0 -0
  440. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/news/_sync/search_news.py +0 -0
  441. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/news/get_market_report_headlines.py +0 -0
  442. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/news/get_market_reports.py +0 -0
  443. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/news/get_news.py +0 -0
  444. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/news/get_news_detail.py +0 -0
  445. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/news/get_news_headlines.py +0 -0
  446. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/news/get_story.py +0 -0
  447. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/news/list_news_headlines.py +0 -0
  448. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/news/list_news_headlines_with_source.py +0 -0
  449. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/news/search_market_reports.py +0 -0
  450. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/news/search_news.py +0 -0
  451. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/__init__.py +0 -0
  452. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/cancel_order.py +0 -0
  453. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/get_active_stop_limit_order.py +0 -0
  454. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/get_all_trades_wall.py +0 -0
  455. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/get_changed_orders.py +0 -0
  456. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/get_markets_trades_wall.py +0 -0
  457. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/get_open_position.py +0 -0
  458. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/get_order.py +0 -0
  459. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/get_order_history.py +0 -0
  460. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/get_orders.py +0 -0
  461. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/get_orders_by_reference.py +0 -0
  462. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/list_active_orders.py +0 -0
  463. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/list_active_stop_limit_orders.py +0 -0
  464. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/list_open_positions.py +0 -0
  465. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/list_stop_limit_order_history.py +0 -0
  466. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/list_trade_history.py +0 -0
  467. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/order.py +0 -0
  468. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/place_order.py +0 -0
  469. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/save_order.py +0 -0
  470. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/simulate_cancel_order.py +0 -0
  471. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/simulate_order.py +0 -0
  472. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/simulate_trade.py +0 -0
  473. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/simulate_update_order.py +0 -0
  474. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/simulate_update_trade.py +0 -0
  475. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/trade.py +0 -0
  476. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/update_order.py +0 -0
  477. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/_sync/update_trade.py +0 -0
  478. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/cancel_order.py +0 -0
  479. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/get_active_stop_limit_order.py +0 -0
  480. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/get_all_trades_wall.py +0 -0
  481. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/get_changed_orders.py +0 -0
  482. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/get_markets_trades_wall.py +0 -0
  483. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/get_open_position.py +0 -0
  484. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/get_order.py +0 -0
  485. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/get_order_history.py +0 -0
  486. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/get_orders.py +0 -0
  487. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/get_orders_by_reference.py +0 -0
  488. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/list_active_orders.py +0 -0
  489. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/list_active_stop_limit_orders.py +0 -0
  490. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/list_open_positions.py +0 -0
  491. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/list_stop_limit_order_history.py +0 -0
  492. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/list_trade_history.py +0 -0
  493. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/order.py +0 -0
  494. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/place_order.py +0 -0
  495. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/save_order.py +0 -0
  496. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/simulate_cancel_order.py +0 -0
  497. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/simulate_order.py +0 -0
  498. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/simulate_trade.py +0 -0
  499. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/simulate_update_order.py +0 -0
  500. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/simulate_update_trade.py +0 -0
  501. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/trade.py +0 -0
  502. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/update_order.py +0 -0
  503. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order/update_trade.py +0 -0
  504. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order_including_closed/__init__.py +0 -0
  505. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order_including_closed/_sync/get_order_including_closed.py +0 -0
  506. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/order_including_closed/get_order_including_closed.py +0 -0
  507. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/pm/__init__.py +0 -0
  508. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/pm/_sync/get_historical_orders.py +0 -0
  509. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/pm/_sync/get_open_orders.py +0 -0
  510. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/pm/_sync/get_pending_orders.py +0 -0
  511. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/pm/_sync/get_signal_performance.py +0 -0
  512. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/pm/_sync/get_signal_preferences.py +0 -0
  513. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/pm/_sync/list_active_signals.py +0 -0
  514. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/pm/_sync/save_signal_preferences.py +0 -0
  515. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/pm/get_historical_orders.py +0 -0
  516. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/pm/get_open_orders.py +0 -0
  517. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/pm/get_pending_orders.py +0 -0
  518. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/pm/get_signal_performance.py +0 -0
  519. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/pm/get_signal_preferences.py +0 -0
  520. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/pm/list_active_signals.py +0 -0
  521. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/pm/save_signal_preferences.py +0 -0
  522. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/preference/__init__.py +0 -0
  523. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/preference/_sync/delete_user_preference.py +0 -0
  524. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/preference/_sync/get_user_preference.py +0 -0
  525. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/preference/_sync/save_user_preference.py +0 -0
  526. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/preference/delete_user_preference.py +0 -0
  527. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/preference/get_user_preference.py +0 -0
  528. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/preference/save_user_preference.py +0 -0
  529. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/price_alert/__init__.py +0 -0
  530. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/price_alert/_sync/delete_pa.py +0 -0
  531. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/price_alert/_sync/get_pa.py +0 -0
  532. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/price_alert/_sync/save_pa.py +0 -0
  533. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/price_alert/_sync/save_price_alert.py +0 -0
  534. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/price_alert/delete_pa.py +0 -0
  535. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/price_alert/get_pa.py +0 -0
  536. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/price_alert/save_pa.py +0 -0
  537. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/price_alert/save_price_alert.py +0 -0
  538. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/session/__init__.py +0 -0
  539. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/session/_sync/change_password.py +0 -0
  540. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/session/_sync/delete_session.py +0 -0
  541. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/session/_sync/log_on.py +0 -0
  542. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/session/_sync/validate_session.py +0 -0
  543. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/session/change_password.py +0 -0
  544. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/session/delete_session.py +0 -0
  545. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/session/log_on.py +0 -0
  546. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/session/validate_session.py +0 -0
  547. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/spread/__init__.py +0 -0
  548. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/spread/_sync/list_spread_markets.py +0 -0
  549. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/spread/list_spread_markets.py +0 -0
  550. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/tradingadvisor/__init__.py +0 -0
  551. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/tradingadvisor/_sync/delete_allocation_profile.py +0 -0
  552. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/tradingadvisor/_sync/list_allocation_profiles.py +0 -0
  553. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/tradingadvisor/_sync/list_managed_clients.py +0 -0
  554. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/tradingadvisor/_sync/save_allocation_profile.py +0 -0
  555. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/tradingadvisor/delete_allocation_profile.py +0 -0
  556. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/tradingadvisor/list_allocation_profiles.py +0 -0
  557. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/tradingadvisor/list_managed_clients.py +0 -0
  558. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/tradingadvisor/save_allocation_profile.py +0 -0
  559. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/__init__.py +0 -0
  560. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/_sync/get_charting_enabled.py +0 -0
  561. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/_sync/get_client_and_trading_account.py +0 -0
  562. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/_sync/get_multiple_users_details_by_client_account_ids.py +0 -0
  563. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/_sync/get_multiple_users_details_by_facebook_ids.py +0 -0
  564. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/_sync/get_multiple_users_details_by_screen_names.py +0 -0
  565. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/_sync/get_social_actions.py +0 -0
  566. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/_sync/get_username.py +0 -0
  567. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/_sync/get_wall_items_for_users.py +0 -0
  568. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/_sync/get_wall_sub_items.py +0 -0
  569. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/_sync/list_followed.py +0 -0
  570. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/_sync/list_followers.py +0 -0
  571. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/_sync/list_topholders_for_markets.py +0 -0
  572. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/_sync/save_account_information.py +0 -0
  573. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/_sync/search.py +0 -0
  574. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/get_charting_enabled.py +0 -0
  575. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/get_client_and_trading_account.py +0 -0
  576. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/get_multiple_users_details_by_client_account_ids.py +0 -0
  577. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/get_multiple_users_details_by_facebook_ids.py +0 -0
  578. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/get_multiple_users_details_by_screen_names.py +0 -0
  579. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/get_social_actions.py +0 -0
  580. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/get_username.py +0 -0
  581. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/get_wall_items_for_users.py +0 -0
  582. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/get_wall_sub_items.py +0 -0
  583. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/list_followed.py +0 -0
  584. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/list_followers.py +0 -0
  585. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/list_topholders_for_markets.py +0 -0
  586. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/save_account_information.py +0 -0
  587. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/user_account/search.py +0 -0
  588. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/watchlist/__init__.py +0 -0
  589. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/watchlist/_sync/delete_watchlist.py +0 -0
  590. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/watchlist/_sync/get_watchlists.py +0 -0
  591. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/watchlist/_sync/get_watchlists_list.py +0 -0
  592. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/watchlist/_sync/save_watchlist.py +0 -0
  593. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/watchlist/delete_watchlist.py +0 -0
  594. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/watchlist/get_watchlists.py +0 -0
  595. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/watchlist/get_watchlists_list.py +0 -0
  596. {stonepy-0.2.0 → stonepy-0.2.2}/src/stonepy/resources/watchlist/save_watchlist.py +0 -0
@@ -7,6 +7,55 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.2.2] - 2026-06-28
11
+
12
+ ### Fixed
13
+
14
+ - Correct the request path for the v2 endpoints across the `market`, `message`,
15
+ `client_preference`, `order`, `preference`, `watchlist`, `session`, `price_alert`, and
16
+ `user_account` resource groups. The frozen catalog composed each path as `/{target}{uri_template}`,
17
+ doubling the resource segment the v2 `uri_template` already carries (for example
18
+ `/market/v2/market/...`), so every one returned `404`. The generator now emits the documented
19
+ `/v2/...` template for v2 endpoints, served under the existing `/TradingAPI` base. Routes were
20
+ verified against the live CIAPI demo
21
+ ([#15](https://github.com/aaronmgn/stonepy/issues/15),
22
+ [#16](https://github.com/aaronmgn/stonepy/issues/16),
23
+ [#17](https://github.com/aaronmgn/stonepy/issues/17),
24
+ [#18](https://github.com/aaronmgn/stonepy/issues/18),
25
+ [#19](https://github.com/aaronmgn/stonepy/issues/19),
26
+ [#20](https://github.com/aaronmgn/stonepy/issues/20),
27
+ [#21](https://github.com/aaronmgn/stonepy/issues/21)).
28
+ - Correct three v2 order/preference routes whose upstream `uri_template` is itself wrong:
29
+ `order.get_active_stop_limit_order` now calls the v1-style
30
+ `/order/{orderId}/activeStopLimitOrder` (the 0.2.0 `/order/v2/...` override also 404s),
31
+ `order.get_open_position` calls `/v2/order/{orderId}/openPosition`, `order.save_order` posts to
32
+ `/v2/order`, and `user_preference.get_user_preference` calls the singular `/v2/Preference`
33
+ (the catalog pluralised it to `/v2/Preferences`)
34
+ ([#18](https://github.com/aaronmgn/stonepy/issues/18),
35
+ [#19](https://github.com/aaronmgn/stonepy/issues/19)).
36
+
37
+ ## [0.2.1] - 2026-06-28
38
+
39
+ ### Fixed
40
+
41
+ - `session.log_on` now calls the host-root `/v2/session` endpoint that CIAPI actually serves,
42
+ instead of the unreachable `/session/v2/Session` that returned `401` against the documented
43
+ base URL ([#8](https://github.com/aaronmgn/stonepy/issues/8)).
44
+ - `user_account.get_client_and_trading_account` now calls the host-root
45
+ `/v2/UserAccount/ClientAndTradingAccount` endpoint instead of the doubled
46
+ `/userAccount/v2/userAccount/ClientAndTradingAccount` path
47
+ ([#9](https://github.com/aaronmgn/stonepy/issues/9)).
48
+ - `margin.get_client_account_margin` now calls the v1 `/margin/ClientAccountMargin` endpoint
49
+ (under the `/TradingAPI` base) that CIAPI serves, instead of the `/margin/v2/margin/...` path
50
+ that 404s ([#10](https://github.com/aaronmgn/stonepy/issues/10)).
51
+
52
+ ### Added
53
+
54
+ - `EndpointSpec.host_rooted`: endpoints flagged host-rooted resolve their path against the server
55
+ host root (scheme and host of `base_url`) rather than the configured base path, so CIAPI's
56
+ `/v2` session and account endpoints can be reached from the same `base_url` as the `/TradingAPI`
57
+ resources.
58
+
10
59
  ## [0.2.0] - 2026-06-27
11
60
 
12
61
  ### Added
@@ -116,7 +165,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
116
165
  - Generated endpoint bindings, DTO models, synchronous and asynchronous clients, retry handling,
117
166
  rate-limit handling, and typed resource groups.
118
167
 
119
- [Unreleased]: https://github.com/aaronmgn/stonepy/compare/v0.2.0...HEAD
168
+ [Unreleased]: https://github.com/aaronmgn/stonepy/compare/v0.2.2...HEAD
169
+ [0.2.2]: https://github.com/aaronmgn/stonepy/releases/tag/v0.2.2
170
+ [0.2.1]: https://github.com/aaronmgn/stonepy/releases/tag/v0.2.1
120
171
  [0.2.0]: https://github.com/aaronmgn/stonepy/releases/tag/v0.2.0
121
172
  [0.1.3]: https://github.com/aaronmgn/stonepy/releases/tag/v0.1.3
122
173
  [0.1.2]: https://github.com/aaronmgn/stonepy/releases/tag/v0.1.2
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stonepy
3
- Version: 0.2.0
3
+ Version: 0.2.2
4
4
  Summary: Python client for the StoneX (CIAPI) v2 trading API
5
5
  Project-URL: Homepage, https://github.com/aaronmgn/stonepy
6
6
  Project-URL: Repository, https://github.com/aaronmgn/stonepy
@@ -18,7 +18,7 @@ from stonepy._core.errors import (
18
18
  )
19
19
  from stonepy.client import AsyncStoneXClient, StoneXClient
20
20
 
21
- __version__ = "0.2.0"
21
+ __version__ = "0.2.2"
22
22
 
23
23
  __all__ = [
24
24
  "AsyncStoneXClient",
@@ -11,7 +11,7 @@ from stonepy._core.logging import safe_repr
11
11
  from stonepy._core.status import StatusDecoder, default_status_decoder
12
12
 
13
13
  _T = TypeVar("_T")
14
- _FALLBACK_VERSION = "0.2.0"
14
+ _FALLBACK_VERSION = "0.2.2"
15
15
 
16
16
 
17
17
  def _default_user_agent() -> str:
@@ -56,6 +56,9 @@ class EndpointSpec(Generic[ResponseT]):
56
56
  response_model: The Pydantic model the response body is validated against.
57
57
  request_model: The Pydantic model for the request body, if any.
58
58
  params: The ordered path, query, and body parameter bindings.
59
+ host_rooted: Whether ``path`` is resolved against the server host root rather than the
60
+ configured base URL. CIAPI serves its v2 session and account endpoints from
61
+ ``/v2`` at the host root, not under the ``/TradingAPI`` base.
59
62
  """
60
63
 
61
64
  name: str
@@ -67,3 +70,4 @@ class EndpointSpec(Generic[ResponseT]):
67
70
  response_model: type[ResponseT]
68
71
  request_model: type | None = None
69
72
  params: tuple[Param, ...] = field(default_factory=tuple)
73
+ host_rooted: bool = False
@@ -225,7 +225,7 @@ def build_request(
225
225
  if extra_path_params:
226
226
  raise ValueError(f"Unexpected path params: {', '.join(sorted(extra_path_params))}")
227
227
 
228
- url = base_url.rstrip("/") + path
228
+ url = _endpoint_root(base_url, spec).rstrip("/") + path
229
229
  headers = {"User-Agent": user_agent, **auth_headers}
230
230
  params.update(
231
231
  {
@@ -241,6 +241,19 @@ def build_request(
241
241
  return Request(spec.method, url, headers, params, content)
242
242
 
243
243
 
244
+ def _endpoint_root(base_url: str, spec: EndpointSpec[Any]) -> str:
245
+ """Return the URL root for *spec*: the host root for host-rooted specs, else *base_url*.
246
+
247
+ CIAPI serves its v2 session and account endpoints from ``/v2`` at the host root rather than
248
+ under the configured ``/TradingAPI`` base, so a host-rooted spec drops the base path while
249
+ preserving the scheme and host (including any non-default port).
250
+ """
251
+ if not spec.host_rooted:
252
+ return base_url
253
+ parsed = urlsplit(base_url)
254
+ return urlunsplit((parsed.scheme, parsed.netloc, "", "", ""))
255
+
256
+
244
257
  def _assert_supported_param_locations(spec: EndpointSpec[Any]) -> None:
245
258
  for param in spec.params:
246
259
  if param.location == "path":
@@ -20,7 +20,7 @@ DELETE_CLIENT_PREFERENCE_SPEC: EndpointSpec[ApiUpdateDeleteClientPreferenceRespo
20
20
  EndpointSpec(
21
21
  name="DeleteClientPreference v2",
22
22
  method="DELETE",
23
- path="/clientPreference/v2/clientPreference?clientAccountId={clientAccountId}&key={key}",
23
+ path="/v2/clientPreference?clientAccountId={clientAccountId}&key={key}",
24
24
  idempotent=True,
25
25
  auth_policy=AuthPolicy.SESSION,
26
26
  rate_limit_bucket="client_preference",
@@ -55,7 +55,7 @@ GET_CLIENT_PREFERENCES_KEY_LIST_SPEC: EndpointSpec[ApiGetKeyListClientPreference
55
55
  EndpointSpec(
56
56
  name="GetClientPreferencesKeyList v2",
57
57
  method="GET",
58
- path="/clientPreference/v2/clientPreference/keyList?clientAccountId={clientAccountId}",
58
+ path="/v2/clientPreference/keyList?clientAccountId={clientAccountId}",
59
59
  idempotent=True,
60
60
  auth_policy=AuthPolicy.SESSION,
61
61
  rate_limit_bucket="client_preference",
@@ -86,7 +86,7 @@ async def aget_client_preferences_key_list(
86
86
  GET_CLIENT_PREFERENCES_LIST_SPEC: EndpointSpec[ApiGetClientPreferencesResponseDTO] = EndpointSpec(
87
87
  name="GetClientPreferencesList v2",
88
88
  method="GET",
89
- path="/clientPreference/v2/clientPreference/list?keys={string}&clientAccountId={clientAccountId}", # noqa: E501
89
+ path="/v2/clientPreference/list?keys={string}&clientAccountId={clientAccountId}",
90
90
  idempotent=True,
91
91
  auth_policy=AuthPolicy.SESSION,
92
92
  rate_limit_bucket="client_preference",
@@ -124,7 +124,7 @@ GET_CLIENT_PREFERENCE_OVERRIDDEN_SETTINGS_SPEC: EndpointSpec[
124
124
  ] = EndpointSpec(
125
125
  name="GetClientPreferenceOverriddenSettings v2",
126
126
  method="GET",
127
- path="/clientPreference/v2/clientPreference/overriddenSettings?clientAccountId={clientAccountId}", # noqa: E501
127
+ path="/v2/clientPreference/overriddenSettings?clientAccountId={clientAccountId}",
128
128
  idempotent=True,
129
129
  auth_policy=AuthPolicy.SESSION,
130
130
  rate_limit_bucket="client_preference",
@@ -154,7 +154,7 @@ async def aget_client_preference_overridden_settings(
154
154
  GET_CLIENT_PREFERENCE_SPEC: EndpointSpec[ApiGetClientPreferenceResponseDTO] = EndpointSpec(
155
155
  name="GetClientPreference v2",
156
156
  method="GET",
157
- path="/clientPreference/v2/clientPreference?clientAccountId={clientAccountId}&key={key}",
157
+ path="/v2/clientPreference?clientAccountId={clientAccountId}&key={key}",
158
158
  idempotent=True,
159
159
  auth_policy=AuthPolicy.SESSION,
160
160
  rate_limit_bucket="client_preference",
@@ -189,7 +189,7 @@ SAVE_CLIENT_PREFERENCE_OVERRIDDEN_SETTINGS_SPEC: EndpointSpec[
189
189
  ] = EndpointSpec(
190
190
  name="SaveClientPreferenceOverriddenSettings v2",
191
191
  method="POST",
192
- path="/clientPreference/v2/clientPreference/overriddenSettings/save",
192
+ path="/v2/clientPreference/overriddenSettings/save",
193
193
  idempotent=False,
194
194
  auth_policy=AuthPolicy.SESSION,
195
195
  rate_limit_bucket="client_preference",
@@ -235,7 +235,7 @@ SAVE_CLIENT_PREFERENCE_SPEC: EndpointSpec[ApiUpdateDeleteClientPreferenceRespons
235
235
  EndpointSpec(
236
236
  name="SaveClientPreference v2",
237
237
  method="POST",
238
- path="/clientPreference/v2/clientPreference/Save",
238
+ path="/v2/clientPreference/Save",
239
239
  idempotent=False,
240
240
  auth_policy=AuthPolicy.SESSION,
241
241
  rate_limit_bucket="client_preference",
@@ -10,7 +10,7 @@ from stonepy.models import ApiManagedClientAccountsMarginResponseDTO, ClientAcco
10
10
  GET_CLIENT_ACCOUNT_MARGIN_SPEC: EndpointSpec[ClientAccountMarginResponseDTO] = EndpointSpec(
11
11
  name="GetClientAccountMargin v2",
12
12
  method="GET",
13
- path="/margin/v2/margin/clientAccountMargin?clientAccountId={clientAccountId}",
13
+ path="/margin/ClientAccountMargin",
14
14
  idempotent=True,
15
15
  auth_policy=AuthPolicy.SESSION,
16
16
  rate_limit_bucket="margin",
@@ -140,7 +140,7 @@ GET_FULL_SEARCH_WITH_TAGS_SPEC: EndpointSpec[FullMarketInformationSearchWithTags
140
140
  EndpointSpec(
141
141
  name="GetFullSearchWithTags v2",
142
142
  method="GET",
143
- path="/market/v2/market/fullSearchWithTags",
143
+ path="/v2/market/fullSearchWithTags",
144
144
  idempotent=True,
145
145
  auth_policy=AuthPolicy.SESSION,
146
146
  rate_limit_bucket="market",
@@ -371,7 +371,7 @@ GET_MARKET_INFORMATION_EXTENDED_SPEC: EndpointSpec[ApiGetMarketInformationExtend
371
371
  EndpointSpec(
372
372
  name="GetMarketInformationExtended v2",
373
373
  method="GET",
374
- path="/market/v2/market/{marketId}/informationExtended?clientAccountId={clientAccountId}",
374
+ path="/v2/market/{marketId}/informationExtended?clientAccountId={clientAccountId}",
375
375
  idempotent=True,
376
376
  auth_policy=AuthPolicy.SESSION,
377
377
  rate_limit_bucket="market",
@@ -409,7 +409,7 @@ async def aget_market_information_extended(
409
409
  GET_MARKET_INFORMATION_SPEC: EndpointSpec[GetMarketInformationResponseDTOv2] = EndpointSpec(
410
410
  name="GetMarketInformation v2",
411
411
  method="GET",
412
- path="/market/v2/market/{marketId}/information?clientAccountId={clientAccountId}",
412
+ path="/v2/market/{marketId}/information?clientAccountId={clientAccountId}",
413
413
  idempotent=True,
414
414
  auth_policy=AuthPolicy.SESSION,
415
415
  rate_limit_bucket="market",
@@ -446,7 +446,7 @@ async def aget_market_information(
446
446
  GET_MARKET_SPREAD_SPEC: EndpointSpec[MarketSpreadData] = EndpointSpec(
447
447
  name="GetMarketSpread v2",
448
448
  method="GET",
449
- path="/market/v2/market/spread?clientAccountId={clientAccountId}&marketId={marketId}",
449
+ path="/v2/market/spread?clientAccountId={clientAccountId}&marketId={marketId}",
450
450
  idempotent=True,
451
451
  auth_policy=AuthPolicy.SESSION,
452
452
  rate_limit_bucket="market",
@@ -1102,7 +1102,7 @@ async def alist_market_information_search(
1102
1102
  LIST_MARKET_INFORMATION_SPEC: EndpointSpec[ListMarketInformationResponseDTO] = EndpointSpec(
1103
1103
  name="ListMarketInformation v2",
1104
1104
  method="POST",
1105
- path="/market/v2/market/information",
1105
+ path="/v2/market/information",
1106
1106
  idempotent=True,
1107
1107
  auth_policy=AuthPolicy.SESSION,
1108
1108
  rate_limit_bucket="market",
@@ -1389,7 +1389,7 @@ async def asave_market_information(
1389
1389
  SAVE_PRODUCT_INFORMATION_SPEC: EndpointSpec[ListProductInformationResponseDTO] = EndpointSpec(
1390
1390
  name="SaveProductInformation v2",
1391
1391
  method="POST",
1392
- path="/market/v2/market/productInformation",
1392
+ path="/v2/market/productInformation",
1393
1393
  idempotent=False,
1394
1394
  auth_policy=AuthPolicy.SESSION,
1395
1395
  rate_limit_bucket="market",
@@ -1529,7 +1529,7 @@ async def asearch_with_tags(
1529
1529
  TAG_LOOKUP_SPEC: EndpointSpec[MarketInformationTagLookupResponseDTO] = EndpointSpec(
1530
1530
  name="TagLookup v2",
1531
1531
  method="GET",
1532
- path="/market/v2/market/tagLookup?clientAccountId={clientAccountId}",
1532
+ path="/v2/market/tagLookup?clientAccountId={clientAccountId}",
1533
1533
  idempotent=True,
1534
1534
  auth_policy=AuthPolicy.SESSION,
1535
1535
  rate_limit_bucket="market",
@@ -154,7 +154,7 @@ GET_CLIENT_COMMUNICATION_MESSAGES_SPEC: EndpointSpec[ApiClientCommunicationRespo
154
154
  EndpointSpec(
155
155
  name="GetClientCommunicationMessages v2",
156
156
  method="GET",
157
- path="/message/v2/message/clientCommunicationMessages?clientAccountId={clientAccountId}",
157
+ path="/v2/message/clientCommunicationMessages?clientAccountId={clientAccountId}",
158
158
  idempotent=True,
159
159
  auth_policy=AuthPolicy.SESSION,
160
160
  rate_limit_bucket="message",
@@ -223,7 +223,7 @@ async def aget_message_popup(
223
223
  GET_SECURE_MESSAGES_SPEC: EndpointSpec[SecureMessageCount] = EndpointSpec(
224
224
  name="GetSecureMessages v2",
225
225
  method="GET",
226
- path="/message/v2/message/SecureMessages?clientAccountId={clientAccountId}",
226
+ path="/v2/message/SecureMessages?clientAccountId={clientAccountId}",
227
227
  idempotent=True,
228
228
  auth_policy=AuthPolicy.SESSION,
229
229
  rate_limit_bucket="message",
@@ -305,7 +305,7 @@ SAVE_CLIENT_COMMUNICATION_MESSAGE_RESPONSE_SPEC: EndpointSpec[
305
305
  ] = EndpointSpec(
306
306
  name="SaveClientCommunicationMessageResponse v2",
307
307
  method="POST",
308
- path="/message/v2/message/clientCommunicationMessageResponse",
308
+ path="/v2/message/clientCommunicationMessageResponse",
309
309
  idempotent=False,
310
310
  auth_policy=AuthPolicy.SESSION,
311
311
  rate_limit_bucket="message",
@@ -66,7 +66,7 @@ async def acancel_order(
66
66
  GET_ACTIVE_STOP_LIMIT_ORDER_SPEC: EndpointSpec[GetActiveStopLimitOrderResponseDTOv2] = EndpointSpec(
67
67
  name="GetActiveStopLimitOrder v2",
68
68
  method="GET",
69
- path="/order/v2/{orderId}/activeStopLimitOrder?clientAccountId={clientAccountId}",
69
+ path="/order/{orderId}/activeStopLimitOrder?clientAccountId={clientAccountId}",
70
70
  idempotent=True,
71
71
  auth_policy=AuthPolicy.SESSION,
72
72
  rate_limit_bucket="order",
@@ -250,7 +250,7 @@ async def aget_markets_trades_wall(
250
250
  GET_OPEN_POSITION_SPEC: EndpointSpec[GetOpenPositionResponseDTOv2] = EndpointSpec(
251
251
  name="GetOpenPosition v2",
252
252
  method="GET",
253
- path="/order/v2/{orderId}/openPosition?clientAccountId={clientAccountId}",
253
+ path="/v2/order/{orderId}/openPosition?clientAccountId={clientAccountId}",
254
254
  idempotent=True,
255
255
  auth_policy=AuthPolicy.SESSION,
256
256
  rate_limit_bucket="order",
@@ -299,7 +299,7 @@ async def aget_open_position(
299
299
  GET_ORDERS_BY_REFERENCE_SPEC: EndpointSpec[GetOrdersResponseDTOv2] = EndpointSpec(
300
300
  name="GetOrdersByReference v2",
301
301
  method="GET",
302
- path="/order/v2/order/orders/{reference}?clientAccountId={clientAccountId}",
302
+ path="/v2/order/orders/{reference}?clientAccountId={clientAccountId}",
303
303
  idempotent=True,
304
304
  auth_policy=AuthPolicy.SESSION,
305
305
  rate_limit_bucket="order",
@@ -336,7 +336,7 @@ async def aget_orders_by_reference(
336
336
  GET_ORDERS_SPEC: EndpointSpec[EnrichedOrderDTO] = EndpointSpec(
337
337
  name="GetOrders v2",
338
338
  method="GET",
339
- path="/order/v2/orders?clientAccountId={clientAccountId}",
339
+ path="/v2/orders?clientAccountId={clientAccountId}",
340
340
  idempotent=True,
341
341
  auth_policy=AuthPolicy.SESSION,
342
342
  rate_limit_bucket="order",
@@ -367,7 +367,7 @@ async def aget_orders(
367
367
  GET_ORDER_HISTORY_SPEC: EndpointSpec[OrderHistoryDTO] = EndpointSpec(
368
368
  name="GetOrderHistory v2",
369
369
  method="GET",
370
- path="/order/v2/orderhistory?clientAccountId={clientAccountId}",
370
+ path="/v2/orderhistory?clientAccountId={clientAccountId}",
371
371
  idempotent=True,
372
372
  auth_policy=AuthPolicy.SESSION,
373
373
  rate_limit_bucket="order",
@@ -429,7 +429,7 @@ async def aget_order_history(
429
429
  GET_ORDER_SPEC: EndpointSpec[GetOrderResponseDTOv2] = EndpointSpec(
430
430
  name="GetOrder v2",
431
431
  method="GET",
432
- path="/order/v2/order/{orderId}?clientAccountId={clientAccountId}",
432
+ path="/v2/order/{orderId}?clientAccountId={clientAccountId}",
433
433
  idempotent=True,
434
434
  auth_policy=AuthPolicy.SESSION,
435
435
  rate_limit_bucket="order",
@@ -746,7 +746,7 @@ async def aorder(
746
746
  SAVE_ORDER_SPEC: EndpointSpec[ExecutionResponseDTO] = EndpointSpec(
747
747
  name="SaveOrder v2",
748
748
  method="POST",
749
- path="/order/v2/save",
749
+ path="/v2/order",
750
750
  idempotent=False,
751
751
  auth_policy=AuthPolicy.SESSION,
752
752
  rate_limit_bucket="order",
@@ -10,7 +10,7 @@ from stonepy.models import SingleActiveStopLimitOrderResponseDTO
10
10
  GET_ORDER_INCLUDING_CLOSED_SPEC: EndpointSpec[SingleActiveStopLimitOrderResponseDTO] = EndpointSpec(
11
11
  name="GetOrderIncludingClosed v2",
12
12
  method="GET",
13
- path="/orderIncludingClosed/v2/orderIncludingClosed/{orderId}?clientAccountId={clientAccountId}", # noqa: E501
13
+ path="/v2/orderIncludingClosed/{orderId}?clientAccountId={clientAccountId}",
14
14
  idempotent=True,
15
15
  auth_policy=AuthPolicy.SESSION,
16
16
  rate_limit_bucket="order_including_closed",
@@ -11,7 +11,7 @@ from stonepy.models import ApiGetPreferencesResponseDTO, ApiSavePreferencesReque
11
11
  DELETE_USER_PREFERENCE_SPEC: EndpointSpec[ResponseModel] = EndpointSpec(
12
12
  name="DeleteUserPreference v2",
13
13
  method="DELETE",
14
- path="/preference/v2/Preference",
14
+ path="/v2/Preference",
15
15
  idempotent=True,
16
16
  auth_policy=AuthPolicy.SESSION,
17
17
  rate_limit_bucket="preference",
@@ -37,7 +37,7 @@ async def adelete_user_preference(
37
37
  GET_USER_PREFERENCE_SPEC: EndpointSpec[ApiGetPreferencesResponseDTO] = EndpointSpec(
38
38
  name="GetUserPreference v2",
39
39
  method="GET",
40
- path="/preference/v2/Preferences",
40
+ path="/v2/Preference",
41
41
  idempotent=True,
42
42
  auth_policy=AuthPolicy.SESSION,
43
43
  rate_limit_bucket="preference",
@@ -63,7 +63,7 @@ async def aget_user_preference(
63
63
  SAVE_USER_PREFERENCE_SPEC: EndpointSpec[ResponseModel] = EndpointSpec(
64
64
  name="SaveUserPreference v2",
65
65
  method="POST",
66
- path="/preference/v2/Preference/save",
66
+ path="/v2/Preference/save",
67
67
  idempotent=False,
68
68
  auth_policy=AuthPolicy.SESSION,
69
69
  rate_limit_bucket="preference",
@@ -112,7 +112,7 @@ async def asave_pa(ctx: CallContext, request: SaveAlertRequestDTOv2) -> Response
112
112
  SAVE_PRICE_ALERT_SPEC: EndpointSpec[SaveAlertResponseDTOv2] = EndpointSpec(
113
113
  name="SavePriceAlert v2",
114
114
  method="POST",
115
- path="/priceAlert/v2/priceAlert/save",
115
+ path="/v2/priceAlert/save",
116
116
  idempotent=False,
117
117
  auth_policy=AuthPolicy.SESSION,
118
118
  rate_limit_bucket="price_alert",
@@ -76,7 +76,8 @@ async def adelete_session(ctx: CallContext, user_name: str, session: str) -> Api
76
76
  LOG_ON_SPEC: EndpointSpec[ApiLogOnResponseDTOv2] = EndpointSpec(
77
77
  name="LogOn v2",
78
78
  method="POST",
79
- path="/session/v2/Session",
79
+ path="/v2/session",
80
+ host_rooted=True,
80
81
  idempotent=False,
81
82
  auth_policy=AuthPolicy.NONE,
82
83
  rate_limit_bucket="session",
@@ -99,7 +100,7 @@ async def alog_on(ctx: CallContext, request: ApiLogOnRequestDTO) -> ApiLogOnResp
99
100
  VALIDATE_SESSION_SPEC: EndpointSpec[ApiValidateSessionResponseDTO] = EndpointSpec(
100
101
  name="ValidateSession v2",
101
102
  method="POST",
102
- path="/session/v2/Session/validate",
103
+ path="/v2/Session/validate",
103
104
  idempotent=False,
104
105
  auth_policy=AuthPolicy.SESSION,
105
106
  rate_limit_bucket="session",
@@ -46,7 +46,8 @@ async def aget_charting_enabled(ctx: CallContext, id: str) -> ResponseModel:
46
46
  GET_CLIENT_AND_TRADING_ACCOUNT_SPEC: EndpointSpec[AccountInformationResponseDTOv2] = EndpointSpec(
47
47
  name="GetClientAndTradingAccount v2",
48
48
  method="GET",
49
- path="/userAccount/v2/userAccount/ClientAndTradingAccount",
49
+ path="/v2/UserAccount/ClientAndTradingAccount",
50
+ host_rooted=True,
50
51
  idempotent=True,
51
52
  auth_policy=AuthPolicy.SESSION,
52
53
  rate_limit_bucket="user_account",
@@ -406,7 +407,7 @@ async def alist_topholders_for_markets(
406
407
  SAVE_ACCOUNT_INFORMATION_SPEC: EndpointSpec[ApiAccountInformationSaveResponseDTO] = EndpointSpec(
407
408
  name="SaveAccountInformation v2",
408
409
  method="POST",
409
- path="/useraccount/v2/userAccount/Save",
410
+ path="/v2/userAccount/Save",
410
411
  idempotent=False,
411
412
  auth_policy=AuthPolicy.SESSION,
412
413
  rate_limit_bucket="user_account",
@@ -15,7 +15,7 @@ from stonepy.models import (
15
15
  DELETE_WATCHLIST_SPEC: EndpointSpec[DeleteWatchlistResponseDTO] = EndpointSpec(
16
16
  name="DeleteWatchlist v2",
17
17
  method="DELETE",
18
- path="/watchlist/v2/watchlists",
18
+ path="/v2/watchlists",
19
19
  idempotent=True,
20
20
  auth_policy=AuthPolicy.SESSION,
21
21
  rate_limit_bucket="watchlist",
@@ -50,7 +50,7 @@ async def adelete_watchlist(
50
50
  GET_WATCHLISTS_LIST_SPEC: EndpointSpec[ListWatchlistResponseDTO] = EndpointSpec(
51
51
  name="GetWatchlistsList v2",
52
52
  method="GET",
53
- path="/watchlist/v2/watchlists/list?clientAccountId={clientAccountId}&ids={ids}",
53
+ path="/v2/watchlists/list?clientAccountId={clientAccountId}&ids={ids}",
54
54
  idempotent=True,
55
55
  auth_policy=AuthPolicy.SESSION,
56
56
  rate_limit_bucket="watchlist",
@@ -111,7 +111,7 @@ async def aget_watchlists_list(
111
111
  GET_WATCHLISTS_SPEC: EndpointSpec[ListWatchlistResponseDTO] = EndpointSpec(
112
112
  name="GetWatchlists v2",
113
113
  method="GET",
114
- path="/watchlists/v2/watchlists?clientAccountId={clientAccountId}",
114
+ path="/v2/watchlists?clientAccountId={clientAccountId}",
115
115
  idempotent=True,
116
116
  auth_policy=AuthPolicy.SESSION,
117
117
  rate_limit_bucket="watchlist",
@@ -133,7 +133,7 @@ async def aget_watchlists(ctx: CallContext, client_account_id: int) -> ListWatch
133
133
  SAVE_WATCHLIST_SPEC: EndpointSpec[SaveWatchlistResponseDTO] = EndpointSpec(
134
134
  name="SaveWatchlist v2",
135
135
  method="POST",
136
- path="/watchlist/v2/watchlists/save",
136
+ path="/v2/watchlists/save",
137
137
  idempotent=False,
138
138
  auth_policy=AuthPolicy.SESSION,
139
139
  rate_limit_bucket="watchlist",
@@ -12,7 +12,14 @@ from typing import Any
12
12
  from stonepy._generator.catalog import Catalog, EndpointRecord, python_name, python_type
13
13
  from stonepy._generator.render import BANNER, field_name, format_python, render_docstring
14
14
 
15
- __all__ = ["emit_all", "endpoint_spec_name", "render_binding", "resolved_path", "target_module"]
15
+ __all__ = [
16
+ "emit_all",
17
+ "endpoint_spec_name",
18
+ "is_host_rooted",
19
+ "render_binding",
20
+ "resolved_path",
21
+ "target_module",
22
+ ]
16
23
 
17
24
  _VERSION_SUFFIX_RE = re.compile(r"\s+v\d+\s*$", re.IGNORECASE)
18
25
  _DEFAULT_VALUE_RE = re.compile(r"\bdefault\s+([^\s,;]+)", re.IGNORECASE)
@@ -50,20 +57,51 @@ _OPTIONAL_PARAM_OVERRIDES: dict[tuple[str, str], frozenset[str]] = {
50
57
  ("cfd", "ListCfdMarkets"): frozenset({"marketName", "marketCode"}),
51
58
  }
52
59
 
53
- # Catalog gap: the upstream "GetActiveStopLimitOrder v2" doc page templates its URI as
54
- # "/v2{orderId}/activeStopLimitOrder" — missing the slash after "v2" that every sibling v2 order
55
- # endpoint carries (GetOpenPosition v2 = "/v2/{orderId}/openPosition", GetOrder v2 =
56
- # "/v2/order/{orderId}"). Verified against docs.labs.gaincapital.com as an upstream documentation
57
- # typo (the page's own example request is ".../order/123456/activeStopLimitOrder"), so without this
58
- # correction the generated client would request the non-existent "/order/v2{orderId}/..." path.
59
- # Keyed by (target_module, endpoint name); mirrors the other curated catalog-gap overrides.
60
+ # Per-endpoint path corrections for catalog gaps the systematic v2 de-doubling in resolved_path()
61
+ # cannot cover (the documented uri_template is itself wrong). Each value was verified against the
62
+ # live CIAPI demo by matching the response to the endpoint's typed DTO shape. Keyed by
63
+ # (target_module, endpoint name).
60
64
  _PATH_OVERRIDES: dict[tuple[str, str], str] = {
61
- (
62
- "order",
63
- "GetActiveStopLimitOrder v2",
64
- ): "/order/v2/{orderId}/activeStopLimitOrder?clientAccountId={clientAccountId}",
65
+ # CIAPI serves logon and account lookup from the host root ("https://host/v2/...", see
66
+ # _HOST_ROOTED_ENDPOINTS), not the catalog's best-effort "/{target}/v2/..." which doubles the
67
+ # target segment and 401s. Confirmed against the reference pygcapi client (BASE_URL_V2 =
68
+ # "https://host/v2"): logon at "/v2/session", account at "/v2/UserAccount/...".
69
+ ("session", "LogOn v2"): "/v2/session",
70
+ ("user_account", "GetClientAndTradingAccount v2"): "/v2/UserAccount/ClientAndTradingAccount",
71
+ # CIAPI never shipped a working v2 margin route; account margin is served by the v1 endpoint
72
+ # "/margin/ClientAccountMargin" under the /TradingAPI base (the catalog's doubled
73
+ # "/margin/v2/margin/..." path 404s). Stays base-rooted, so no _HOST_ROOTED_ENDPOINTS entry.
74
+ ("margin", "GetClientAccountMargin v2"): "/margin/ClientAccountMargin",
75
+ # The active-stop-limit query is a v1-style route "/order/{orderId}/activeStopLimitOrder" (it
76
+ # returns the typed ActiveStopLimitOrder DTO live; matches the doc page's own
77
+ # ".../order/123456/activeStopLimitOrder" example). The catalog's "/v2{orderId}/..." template
78
+ # and any "/v2/..."/"/order/v2/..." variant 404.
79
+ ("order", "GetActiveStopLimitOrder v2"): (
80
+ "/order/{orderId}/activeStopLimitOrder?clientAccountId={clientAccountId}"
81
+ ),
82
+ # Open-position query needs the "order" segment after "/v2/" that the catalog template omits
83
+ # ("/v2/{orderId}/openPosition" 404s; "/v2/order/{orderId}/openPosition" returns the DTO live).
84
+ ("order", "GetOpenPosition v2"): (
85
+ "/v2/order/{orderId}/openPosition?clientAccountId={clientAccountId}"
86
+ ),
87
+ # SaveOrder posts to "/v2/order" (live: validates ClientAccountId); the catalog's bare
88
+ # "/v2/save" 404s.
89
+ ("order", "SaveOrder v2"): "/v2/order",
90
+ # The user-preference route is the singular "/v2/Preference"; the catalog pluralises it to
91
+ # "/v2/Preferences", which 404s.
92
+ ("preference", "GetUserPreference v2"): "/v2/Preference",
65
93
  }
66
94
 
95
+ # CIAPI serves a few v2 endpoints from the host root ("https://host/v2/...") rather than under the
96
+ # configured "/TradingAPI" base; their path is resolved against the host root (see
97
+ # transport.build_request). Keyed by (target_module, endpoint name).
98
+ _HOST_ROOTED_ENDPOINTS: frozenset[tuple[str, str]] = frozenset(
99
+ {
100
+ ("session", "LogOn v2"),
101
+ ("user_account", "GetClientAndTradingAccount v2"),
102
+ }
103
+ )
104
+
67
105
 
68
106
  def endpoint_summary(rec: EndpointRecord) -> str:
69
107
  """Return a one-paragraph summary of an endpoint for use as a wrapper docstring."""
@@ -76,16 +114,29 @@ def endpoint_summary(rec: EndpointRecord) -> str:
76
114
 
77
115
 
78
116
  def resolved_path(rec: EndpointRecord) -> str:
79
- """Return the endpoint path, applying curated catalog path-typo corrections.
80
-
81
- The catalog's ``path``/``uri_template`` is authoritative except for the declared upstream
82
- doc typos in ``_PATH_OVERRIDES``; this single resolver keeps the generated endpoint spec and
83
- the generated contract test in agreement on the corrected value.
117
+ """Return the endpoint path, applying curated catalog path corrections.
118
+
119
+ Resolution order: an explicit ``_PATH_OVERRIDES`` entry wins; otherwise a v2 endpoint
120
+ (``uri_template`` beginning ``/v2/``) uses that template directly, because the catalog
121
+ composes ``path`` as ``/{target}{uri_template}`` and so doubles the resource segment the v2
122
+ template already carries (e.g. ``/market/v2/market/...``), which 404s on the live API. All
123
+ other endpoints keep the catalog ``path``. This single resolver keeps the generated endpoint
124
+ spec and the generated contract test in agreement on the corrected value.
84
125
  """
85
126
 
86
- return _PATH_OVERRIDES.get(
87
- (target_module(rec.target), rec.name), rec.path or rec.uri_template or ""
88
- )
127
+ override = _PATH_OVERRIDES.get((target_module(rec.target), rec.name))
128
+ if override is not None:
129
+ return override
130
+ uri = rec.uri_template or ""
131
+ if uri.startswith("/v2/"):
132
+ return uri
133
+ return rec.path or uri or ""
134
+
135
+
136
+ def is_host_rooted(rec: EndpointRecord) -> bool:
137
+ """Return whether *rec* is served from the host root rather than the configured base URL."""
138
+
139
+ return (target_module(rec.target), rec.name) in _HOST_ROOTED_ENDPOINTS
89
140
 
90
141
 
91
142
  def target_module(name: str | None) -> str:
@@ -181,6 +232,7 @@ class _Binding:
181
232
  spec_name: str,
182
233
  method: str,
183
234
  path: str,
235
+ host_rooted: bool,
184
236
  rate_limit_bucket: str,
185
237
  auth_policy: str,
186
238
  idempotent: bool,
@@ -200,6 +252,7 @@ class _Binding:
200
252
  self.spec_name = spec_name
201
253
  self.method = method
202
254
  self.path = path
255
+ self.host_rooted = host_rooted
203
256
  self.rate_limit_bucket = rate_limit_bucket
204
257
  self.auth_policy = auth_policy
205
258
  self.idempotent = idempotent
@@ -263,6 +316,7 @@ def _binding(
263
316
  spec_name=endpoint_spec_name(rec),
264
317
  method=method,
265
318
  path=path,
319
+ host_rooted=is_host_rooted(rec),
266
320
  rate_limit_bucket=target_module(rec.target),
267
321
  auth_policy=_auth_policy(rec),
268
322
  idempotent=_is_idempotent(rec, method),
@@ -370,6 +424,10 @@ def _binding_lines(binding: _Binding) -> list[str]:
370
424
  f" name={_string_literal(binding.rec.name)},\n",
371
425
  f" method={_string_literal(binding.method)},\n",
372
426
  f" path={_string_literal(binding.path)},\n",
427
+ ]
428
+ if binding.host_rooted:
429
+ lines.append(" host_rooted=True,\n")
430
+ lines += [
373
431
  f" idempotent={binding.idempotent},\n",
374
432
  f" auth_policy=AuthPolicy.{binding.auth_policy},\n",
375
433
  f" rate_limit_bucket={_string_literal(binding.rate_limit_bucket)},\n",
File without changes
File without changes