finance_dev 0.9.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (486) hide show
  1. finance_dev/__init__.py +18 -0
  2. finance_dev/_hooks/__init__.py +7 -0
  3. finance_dev/_hooks/clientcredentials.py +319 -0
  4. finance_dev/_hooks/oauth2scopes.py +50 -0
  5. finance_dev/_hooks/registration.py +13 -0
  6. finance_dev/_hooks/sdkhooks.py +82 -0
  7. finance_dev/_hooks/types.py +125 -0
  8. finance_dev/_version.py +16 -0
  9. finance_dev/accounts.py +797 -0
  10. finance_dev/alternativedata.py +4830 -0
  11. finance_dev/analytics.py +3757 -0
  12. finance_dev/basesdk.py +393 -0
  13. finance_dev/calendar.py +1523 -0
  14. finance_dev/chart.py +1881 -0
  15. finance_dev/company.py +1105 -0
  16. finance_dev/corporateactions.py +1795 -0
  17. finance_dev/economy.py +1153 -0
  18. finance_dev/errors/__init__.py +94 -0
  19. finance_dev/errors/apierror.py +41 -0
  20. finance_dev/errors/authenticationerrorenvelope.py +43 -0
  21. finance_dev/errors/badrequest.py +34 -0
  22. finance_dev/errors/errorenvelope.py +42 -0
  23. finance_dev/errors/errorresponse.py +45 -0
  24. finance_dev/errors/financedevapierror.py +31 -0
  25. finance_dev/errors/forbidden.py +34 -0
  26. finance_dev/errors/internalservererror.py +35 -0
  27. finance_dev/errors/no_response_error.py +18 -0
  28. finance_dev/errors/notfound.py +34 -0
  29. finance_dev/errors/orderhistorybadrequest.py +35 -0
  30. finance_dev/errors/predorderserrorenvelope.py +42 -0
  31. finance_dev/errors/responsevalidationerror.py +28 -0
  32. finance_dev/errors/unauthorized.py +34 -0
  33. finance_dev/estimates.py +1906 -0
  34. finance_dev/etf.py +1108 -0
  35. finance_dev/filings.py +586 -0
  36. finance_dev/financials.py +4079 -0
  37. finance_dev/history.py +477 -0
  38. finance_dev/httpclient.py +126 -0
  39. finance_dev/indices.py +2308 -0
  40. finance_dev/logos.py +692 -0
  41. finance_dev/market.py +1825 -0
  42. finance_dev/markets.py +952 -0
  43. finance_dev/models/__init__.py +4568 -0
  44. finance_dev/models/accountbalancev2.py +340 -0
  45. finance_dev/models/accountitem.py +78 -0
  46. finance_dev/models/accountposition.py +147 -0
  47. finance_dev/models/aggregatetechnicalindicatorsresponse.py +192 -0
  48. finance_dev/models/analystinsightitem.py +161 -0
  49. finance_dev/models/analystinsightsresponse.py +39 -0
  50. finance_dev/models/apperror.py +123 -0
  51. finance_dev/models/authenticationerrordetail.py +58 -0
  52. finance_dev/models/bankbranchesresponse.py +96 -0
  53. finance_dev/models/basicfinancials.py +243 -0
  54. finance_dev/models/bullbearanalysisresponse.py +150 -0
  55. finance_dev/models/cancelorderop.py +40 -0
  56. finance_dev/models/cancelordrequest_union.py +287 -0
  57. finance_dev/models/cancelordresponse.py +115 -0
  58. finance_dev/models/cashflowstatement.py +290 -0
  59. finance_dev/models/cashflowstatementsresponse.py +61 -0
  60. finance_dev/models/chartbars.py +111 -0
  61. finance_dev/models/chartconfig.py +81 -0
  62. finance_dev/models/chartresolution.py +46 -0
  63. finance_dev/models/companyesgresponse.py +408 -0
  64. finance_dev/models/companyexecutive.py +70 -0
  65. finance_dev/models/companyexecutiveresponse.py +39 -0
  66. finance_dev/models/companypeersresponse.py +38 -0
  67. finance_dev/models/companypresentationresponse.py +96 -0
  68. finance_dev/models/companyprofile.py +255 -0
  69. finance_dev/models/conferencecallsresponse.py +169 -0
  70. finance_dev/models/congressionaltradingresponse.py +138 -0
  71. finance_dev/models/covid19uscasesresponse.py +79 -0
  72. finance_dev/models/createconfigwatchlistop.py +40 -0
  73. finance_dev/models/createwatchlistrequest.py +43 -0
  74. finance_dev/models/dailymarketsummaryresponse.py +73 -0
  75. finance_dev/models/deleteconfigwatchlistbyidop.py +53 -0
  76. finance_dev/models/dividenditem.py +125 -0
  77. finance_dev/models/dividendsresponse.py +61 -0
  78. finance_dev/models/earningrelease.py +291 -0
  79. finance_dev/models/earningscallliveresponse.py +103 -0
  80. finance_dev/models/earningsqualityscoreresponse.py +140 -0
  81. finance_dev/models/earningssurprisesresponse.py +125 -0
  82. finance_dev/models/ebitdaestimatesresponse.py +176 -0
  83. finance_dev/models/ebitestimatesresponse.py +176 -0
  84. finance_dev/models/economicscalendarevent.py +160 -0
  85. finance_dev/models/economicsindicator.py +87 -0
  86. finance_dev/models/epsestimatesresponse.py +176 -0
  87. finance_dev/models/equitydetailsdto.py +569 -0
  88. finance_dev/models/errorcode.py +48 -0
  89. finance_dev/models/etblistresponse.py +43 -0
  90. finance_dev/models/etbsearchrequest.py +21 -0
  91. finance_dev/models/etbsearchresponse.py +43 -0
  92. finance_dev/models/etfcountryallocationresponse.py +113 -0
  93. finance_dev/models/etfholdingsresponse.py +163 -0
  94. finance_dev/models/etfprofileresponse.py +234 -0
  95. finance_dev/models/etfsectorallocationresponse.py +113 -0
  96. finance_dev/models/exchangecode.py +90 -0
  97. finance_dev/models/fdaadvisorycommitteecalendarresponse.py +88 -0
  98. finance_dev/models/filingsimilarityrecord.py +115 -0
  99. finance_dev/models/filingssimilarityindexdatawrapper.py +52 -0
  100. finance_dev/models/filingssimilarityindexresponse.py +42 -0
  101. finance_dev/models/financialratiosresponse.py +252 -0
  102. finance_dev/models/financialsreporteddatawrapper.py +49 -0
  103. finance_dev/models/financialsreportedresponse.py +42 -0
  104. finance_dev/models/financialsrevenuebreakdowndatawrapper.py +49 -0
  105. finance_dev/models/financialsrevenuebreakdownresponse.py +42 -0
  106. finance_dev/models/financialsstatementsdatawrapper.py +44 -0
  107. finance_dev/models/financialsstatementsresponse.py +42 -0
  108. finance_dev/models/financialstatement.py +171 -0
  109. finance_dev/models/financialstatementtype.py +14 -0
  110. finance_dev/models/getaccountbalanceop.py +53 -0
  111. finance_dev/models/getaccountpositionsop.py +53 -0
  112. finance_dev/models/getaccountsresponse.py +22 -0
  113. finance_dev/models/getaggregatetechnicalindicatorsop.py +94 -0
  114. finance_dev/models/getanalystinsightsop.py +164 -0
  115. finance_dev/models/getbankbranchesop.py +53 -0
  116. finance_dev/models/getbaseeventop.py +87 -0
  117. finance_dev/models/getbullbearanalysisop.py +91 -0
  118. finance_dev/models/getcashflowstatementsop.py +564 -0
  119. finance_dev/models/getchartconfigop.py +40 -0
  120. finance_dev/models/getcharthistoryop.py +122 -0
  121. finance_dev/models/getcharttimeop.py +39 -0
  122. finance_dev/models/getcompanyesgop.py +53 -0
  123. finance_dev/models/getcompanyexecutivesop.py +56 -0
  124. finance_dev/models/getcompanymetricsop.py +68 -0
  125. finance_dev/models/getcompanypeersop.py +53 -0
  126. finance_dev/models/getcompanypresentationop.py +56 -0
  127. finance_dev/models/getcompanyprofileop.py +86 -0
  128. finance_dev/models/getconferencecallsop.py +111 -0
  129. finance_dev/models/getconfigwatchlistbyidop.py +53 -0
  130. finance_dev/models/getconfigwatchlistsop.py +40 -0
  131. finance_dev/models/getcongressionaltradingop.py +73 -0
  132. finance_dev/models/getcovid19uscasesop.py +43 -0
  133. finance_dev/models/getdailymarketsummaryop.py +92 -0
  134. finance_dev/models/getdividendsop.py +294 -0
  135. finance_dev/models/getearningscalendarop.py +87 -0
  136. finance_dev/models/getearningscallliveop.py +91 -0
  137. finance_dev/models/getearningsqualityscoreop.py +81 -0
  138. finance_dev/models/getearningssurprisesop.py +80 -0
  139. finance_dev/models/getebitdaestimatesop.py +91 -0
  140. finance_dev/models/getebitestimatesop.py +88 -0
  141. finance_dev/models/geteconomicscalendarop.py +92 -0
  142. finance_dev/models/geteconomicscalendarresponse.py +56 -0
  143. finance_dev/models/getepsestimatesop.py +88 -0
  144. finance_dev/models/getequitydetailsop.py +56 -0
  145. finance_dev/models/getequitydetailsresponse.py +45 -0
  146. finance_dev/models/getetblistop.py +40 -0
  147. finance_dev/models/getetfcountryallocationop.py +80 -0
  148. finance_dev/models/getetfholdingsop.py +96 -0
  149. finance_dev/models/getetfprofileop.py +77 -0
  150. finance_dev/models/getetfsectorallocationop.py +80 -0
  151. finance_dev/models/geteventcontractsop.py +87 -0
  152. finance_dev/models/getfdaadvisorycommitteecalendarop.py +47 -0
  153. finance_dev/models/getfilingssimilarityindexop.py +102 -0
  154. finance_dev/models/getfinancialratiosop.py +612 -0
  155. finance_dev/models/getfinancialstatementsop.py +117 -0
  156. finance_dev/models/getfundownershipop.py +77 -0
  157. finance_dev/models/gethistoricaldataop.py +61 -0
  158. finance_dev/models/gethistoricalesgop.py +53 -0
  159. finance_dev/models/gethistorybatchop.py +74 -0
  160. finance_dev/models/gethistoryop.py +123 -0
  161. finance_dev/models/getincomestatementsop.py +564 -0
  162. finance_dev/models/getindexbarop.py +140 -0
  163. finance_dev/models/getindexbarsop.py +149 -0
  164. finance_dev/models/getindexchartbarsop.py +178 -0
  165. finance_dev/models/getindexrealtimevaluesop.py +94 -0
  166. finance_dev/models/getinflationexpectationsop.py +157 -0
  167. finance_dev/models/getinflationop.py +154 -0
  168. finance_dev/models/getinsidertransactionsop.py +90 -0
  169. finance_dev/models/getinstitutionalownershipop.py +99 -0
  170. finance_dev/models/getinstitutionalportfolioop.py +75 -0
  171. finance_dev/models/getinvestmentthemeop.py +68 -0
  172. finance_dev/models/getipocalendarop.py +63 -0
  173. finance_dev/models/getlobbyingop.py +70 -0
  174. finance_dev/models/getmarketbreadthop.py +40 -0
  175. finance_dev/models/getmarketholidaysop.py +65 -0
  176. finance_dev/models/getmarketstatusop.py +65 -0
  177. finance_dev/models/getmergersandacquisitionsop.py +113 -0
  178. finance_dev/models/getnetinflowop.py +40 -0
  179. finance_dev/models/getnewsbyidop.py +73 -0
  180. finance_dev/models/getnewsop.py +98 -0
  181. finance_dev/models/getnewssentimentop.py +53 -0
  182. finance_dev/models/getoptionchainsnapshotop.py +244 -0
  183. finance_dev/models/getoptioncontractsnapshotop.py +69 -0
  184. finance_dev/models/getoptiondetailsop.py +56 -0
  185. finance_dev/models/getoptiondetailsresponse.py +45 -0
  186. finance_dev/models/getoptionlasttradeop.py +56 -0
  187. finance_dev/models/getoptionopencloseop.py +66 -0
  188. finance_dev/models/getoptionpreviousdayop.py +56 -0
  189. finance_dev/models/getoptionquotesop.py +177 -0
  190. finance_dev/models/getoptionsactivityop.py +111 -0
  191. finance_dev/models/getoptionsetfstopvolumeop.py +70 -0
  192. finance_dev/models/getoptionsstockstopgainersop.py +70 -0
  193. finance_dev/models/getoptionsstockstopvolumeop.py +70 -0
  194. finance_dev/models/getoptionsunusualactivityop.py +100 -0
  195. finance_dev/models/getoptiontradesop.py +177 -0
  196. finance_dev/models/getordersv2response.py +66 -0
  197. finance_dev/models/getownershipdataop.py +77 -0
  198. finance_dev/models/getpositionsresponse.py +39 -0
  199. finance_dev/models/getpredictionorderop.py +88 -0
  200. finance_dev/models/getpricetargetop.py +53 -0
  201. finance_dev/models/getquotesop.py +53 -0
  202. finance_dev/models/getratingsop.py +164 -0
  203. finance_dev/models/getratingsresponse.py +39 -0
  204. finance_dev/models/getreportedfinancialsop.py +127 -0
  205. finance_dev/models/getrevenuebreakdownop.py +85 -0
  206. finance_dev/models/getrevenueestimatesop.py +91 -0
  207. finance_dev/models/getsecfilingsop.py +113 -0
  208. finance_dev/models/getsectortickersop.py +124 -0
  209. finance_dev/models/getsectorwisechangeop.py +84 -0
  210. finance_dev/models/getshortinterestop.py +334 -0
  211. finance_dev/models/getshortvolumeop.py +333 -0
  212. finance_dev/models/getsocialsentimentop.py +90 -0
  213. finance_dev/models/getspinoffsop.py +112 -0
  214. finance_dev/models/getstockaggregatesop.py +174 -0
  215. finance_dev/models/getstocklastquoteop.py +56 -0
  216. finance_dev/models/getstocklasttradeop.py +56 -0
  217. finance_dev/models/getstockopencloseop.py +90 -0
  218. finance_dev/models/getstockpreviousdayop.py +80 -0
  219. finance_dev/models/getstockquotesop.py +177 -0
  220. finance_dev/models/getstocksnapshotsop.py +82 -0
  221. finance_dev/models/getstocksplitsop.py +243 -0
  222. finance_dev/models/getstocktradesop.py +177 -0
  223. finance_dev/models/getsupplychainop.py +53 -0
  224. finance_dev/models/getsupportresistancelevelsop.py +90 -0
  225. finance_dev/models/getsymbolinfoop.py +53 -0
  226. finance_dev/models/gettechnicalindicatorop.py +172 -0
  227. finance_dev/models/gettechnicalpatternsop.py +88 -0
  228. finance_dev/models/gettenderoffersop.py +112 -0
  229. finance_dev/models/gettickhistoryop.py +104 -0
  230. finance_dev/models/gettopgainersop.py +78 -0
  231. finance_dev/models/gettoplosersop.py +78 -0
  232. finance_dev/models/gettopmostactiveop.py +78 -0
  233. finance_dev/models/gettranscriptop.py +53 -0
  234. finance_dev/models/gettreasuryyieldsop.py +157 -0
  235. finance_dev/models/getunifiedsnapshotop.py +223 -0
  236. finance_dev/models/getupgradesdowngradesop.py +91 -0
  237. finance_dev/models/getusaspendingop.py +70 -0
  238. finance_dev/models/getuseraccountsop.py +40 -0
  239. finance_dev/models/getusptopatentsop.py +70 -0
  240. finance_dev/models/getvisaapplicationsop.py +73 -0
  241. finance_dev/models/historicalesgresponse.py +439 -0
  242. finance_dev/models/httpmetadata.py +24 -0
  243. finance_dev/models/incomestatement.py +296 -0
  244. finance_dev/models/incomestatementsresponse.py +61 -0
  245. finance_dev/models/indexbarresponse.py +194 -0
  246. finance_dev/models/indexbarsresponse.py +123 -0
  247. finance_dev/models/indexchartbarsresponse.py +213 -0
  248. finance_dev/models/indexgroupsresponse.py +78 -0
  249. finance_dev/models/indexlistresponse.py +95 -0
  250. finance_dev/models/indexsearchresponse.py +93 -0
  251. finance_dev/models/indicesbygroupresponse.py +93 -0
  252. finance_dev/models/indicesidentifiertype.py +28 -0
  253. finance_dev/models/indicesrealtimeindexinfo.py +67 -0
  254. finance_dev/models/indicesrealtimeindexvalue.py +157 -0
  255. finance_dev/models/indicesrealtimevaluesitem.py +80 -0
  256. finance_dev/models/indicesrealtimevaluesresponse.py +42 -0
  257. finance_dev/models/inflationexpectationsresponse.py +140 -0
  258. finance_dev/models/inflationresponse.py +132 -0
  259. finance_dev/models/insidertransaction.py +97 -0
  260. finance_dev/models/insidertransactionsresponse.py +39 -0
  261. finance_dev/models/institutionalholding.py +77 -0
  262. finance_dev/models/institutionalownershipresponse.py +39 -0
  263. finance_dev/models/institutionalportfolioresponse.py +39 -0
  264. finance_dev/models/investmentthemeid.py +35 -0
  265. finance_dev/models/investmentthemeresponse.py +80 -0
  266. finance_dev/models/ipocalendarresponse.py +39 -0
  267. finance_dev/models/ipoitem.py +93 -0
  268. finance_dev/models/listactiveordersop.py +87 -0
  269. finance_dev/models/listcategoriesop.py +79 -0
  270. finance_dev/models/listindexgroupsop.py +40 -0
  271. finance_dev/models/listindicesbygroupop.py +58 -0
  272. finance_dev/models/listindicesop.py +91 -0
  273. finance_dev/models/listoptioncontractsop.py +66 -0
  274. finance_dev/models/listoptionexpirydatesop.py +56 -0
  275. finance_dev/models/listorderhistoryop.py +139 -0
  276. finance_dev/models/listpredictionordersop.py +134 -0
  277. finance_dev/models/listtranscriptsop.py +53 -0
  278. finance_dev/models/lobbyingresponse.py +166 -0
  279. finance_dev/models/logosearchresponse.py +152 -0
  280. finance_dev/models/logosyncresponse.py +277 -0
  281. finance_dev/models/marketbreadth.py +97 -0
  282. finance_dev/models/marketbreadthresponse.py +44 -0
  283. finance_dev/models/marketholiday.py +56 -0
  284. finance_dev/models/marketholidayresponse.py +39 -0
  285. finance_dev/models/marketstatus.py +67 -0
  286. finance_dev/models/mergersandacquisitionsresponse.py +186 -0
  287. finance_dev/models/metricseriespoint.py +43 -0
  288. finance_dev/models/netinflow.py +81 -0
  289. finance_dev/models/netinflowresponse.py +44 -0
  290. finance_dev/models/newsitem.py +102 -0
  291. finance_dev/models/newslistresponse.py +128 -0
  292. finance_dev/models/newssentimentresponse.py +176 -0
  293. finance_dev/models/newstypeenum.py +16 -0
  294. finance_dev/models/optionchainsnapshotresponse.py +64 -0
  295. finance_dev/models/optioncontractsnapshotresponse.py +64 -0
  296. finance_dev/models/optioncontractsnapshotrow.py +164 -0
  297. finance_dev/models/optioncontractsresponse.py +131 -0
  298. finance_dev/models/optiondetailsdto.py +72 -0
  299. finance_dev/models/optionexpirydatesresponse.py +53 -0
  300. finance_dev/models/optionlasttraderesponse.py +169 -0
  301. finance_dev/models/optionopencloseresponse.py +97 -0
  302. finance_dev/models/optionpreviousdayresponse.py +89 -0
  303. finance_dev/models/optionquotesresponse.py +138 -0
  304. finance_dev/models/optionsactivityresponse.py +265 -0
  305. finance_dev/models/optionsnapshotcontractdetails.py +85 -0
  306. finance_dev/models/optionsnapshotdaybar.py +107 -0
  307. finance_dev/models/optionsnapshotgreeks.py +67 -0
  308. finance_dev/models/optionsnapshotlastquote.py +116 -0
  309. finance_dev/models/optionsnapshotlasttrade.py +102 -0
  310. finance_dev/models/optionsnapshotunderlying.py +86 -0
  311. finance_dev/models/optionsscreeneritem.py +151 -0
  312. finance_dev/models/optionsunusualactivityresponse.py +62 -0
  313. finance_dev/models/optionsunusualactivitytrade.py +103 -0
  314. finance_dev/models/optiontradesresponse.py +132 -0
  315. finance_dev/models/orderrequesttimeinforceenum.py +29 -0
  316. finance_dev/models/ordersideenum.py +20 -0
  317. finance_dev/models/ordertypeenum.py +20 -0
  318. finance_dev/models/ordleg.py +162 -0
  319. finance_dev/models/ordresponse.py +202 -0
  320. finance_dev/models/ownershipdataresponse.py +39 -0
  321. finance_dev/models/ownershiprecord.py +74 -0
  322. finance_dev/models/placeorderop.py +40 -0
  323. finance_dev/models/placeordrequest_union.py +335 -0
  324. finance_dev/models/placepredictionorderop.py +114 -0
  325. finance_dev/models/predmdbaseevent.py +62 -0
  326. finance_dev/models/predmdbaseeventhit.py +53 -0
  327. finance_dev/models/predmdbaseeventsearchresult.py +46 -0
  328. finance_dev/models/predmdbaseeventwithevents.py +32 -0
  329. finance_dev/models/predmdbatchhistoryrequest.py +16 -0
  330. finance_dev/models/predmdbatchhistoryresponse.py +16 -0
  331. finance_dev/models/predmdcategory.py +48 -0
  332. finance_dev/models/predmdcontract.py +177 -0
  333. finance_dev/models/predmdcontracthit.py +157 -0
  334. finance_dev/models/predmdcontractsearchresult.py +46 -0
  335. finance_dev/models/predmdevent.py +136 -0
  336. finance_dev/models/predmdeventhit.py +73 -0
  337. finance_dev/models/predmdeventsearchresult.py +46 -0
  338. finance_dev/models/predmdeventwithcontracts.py +22 -0
  339. finance_dev/models/predmdhistoryrequest.py +59 -0
  340. finance_dev/models/predmdhistoryresponse.py +53 -0
  341. finance_dev/models/predmdtick.py +53 -0
  342. finance_dev/models/predordersapperror.py +78 -0
  343. finance_dev/models/predordersorder.py +267 -0
  344. finance_dev/models/predordersorderdetail.py +26 -0
  345. finance_dev/models/predordersorderpage.py +45 -0
  346. finance_dev/models/predordersorderreport.py +88 -0
  347. finance_dev/models/predordersplaceorderrequest.py +159 -0
  348. finance_dev/models/previeworderop.py +40 -0
  349. finance_dev/models/previeworderresponse.py +127 -0
  350. finance_dev/models/pricetargetresponse.py +89 -0
  351. finance_dev/models/quotedata.py +49 -0
  352. finance_dev/models/quotesresponse.py +62 -0
  353. finance_dev/models/quotevalues.py +114 -0
  354. finance_dev/models/rating.py +193 -0
  355. finance_dev/models/ratingsaccuracy.py +242 -0
  356. finance_dev/models/replaceconfigwatchlistsop.py +40 -0
  357. finance_dev/models/replaceorderop.py +40 -0
  358. finance_dev/models/replaceordrequest_union.py +367 -0
  359. finance_dev/models/replaceordresponse.py +144 -0
  360. finance_dev/models/reportedbsitem.py +53 -0
  361. finance_dev/models/reportedfiling.py +110 -0
  362. finance_dev/models/reportedreport.py +39 -0
  363. finance_dev/models/reportingfrequency.py +16 -0
  364. finance_dev/models/revenuebreakdownaxis.py +52 -0
  365. finance_dev/models/revenuebreakdowndatapoint.py +58 -0
  366. finance_dev/models/revenuebreakdownentry.py +51 -0
  367. finance_dev/models/revenuebreakdowninner.py +75 -0
  368. finance_dev/models/revenueestimatesresponse.py +176 -0
  369. finance_dev/models/screenclause.py +70 -0
  370. finance_dev/models/screengroup.py +75 -0
  371. finance_dev/models/searchetbsymbolsop.py +40 -0
  372. finance_dev/models/searchindicesop.py +55 -0
  373. finance_dev/models/searchlogosop.py +158 -0
  374. finance_dev/models/searchmarketsymbolsop.py +80 -0
  375. finance_dev/models/searchop.py +232 -0
  376. finance_dev/models/searchsymbolitem.py +76 -0
  377. finance_dev/models/searchsymbolresponseitem.py +71 -0
  378. finance_dev/models/searchsymbolsop.py +77 -0
  379. finance_dev/models/secfiling.py +91 -0
  380. finance_dev/models/secfilingsresponse.py +39 -0
  381. finance_dev/models/sectoravgchange.py +50 -0
  382. finance_dev/models/security.py +59 -0
  383. finance_dev/models/securitytypeenum.py +16 -0
  384. finance_dev/models/shortinterestresponse.py +126 -0
  385. finance_dev/models/shortvolumeresponse.py +198 -0
  386. finance_dev/models/socialsentimentresponse.py +124 -0
  387. finance_dev/models/sortorderenum.py +13 -0
  388. finance_dev/models/spinoffsresponse.py +136 -0
  389. finance_dev/models/stockaggregatesresponse.py +92 -0
  390. finance_dev/models/stocklastquoteresponse.py +175 -0
  391. finance_dev/models/stocklasttraderesponse.py +169 -0
  392. finance_dev/models/stockohlcbar.py +85 -0
  393. finance_dev/models/stockopencloseresponse.py +109 -0
  394. finance_dev/models/stockpreviousdayresponse.py +86 -0
  395. finance_dev/models/stockquotesresponse.py +170 -0
  396. finance_dev/models/stockscreenerop.py +144 -0
  397. finance_dev/models/stockscreenerrequest.py +131 -0
  398. finance_dev/models/stockscreenerresponse.py +197 -0
  399. finance_dev/models/stocksnapshotsresponse.py +454 -0
  400. finance_dev/models/stocksplitsresponse.py +144 -0
  401. finance_dev/models/stocktradesresponse.py +164 -0
  402. finance_dev/models/supplychainresponse.py +158 -0
  403. finance_dev/models/supportresistancelevelsresponse.py +68 -0
  404. finance_dev/models/symboldetails.py +119 -0
  405. finance_dev/models/symbolerror.py +43 -0
  406. finance_dev/models/symbolinfo.py +183 -0
  407. finance_dev/models/synclogosop.py +146 -0
  408. finance_dev/models/technicalindicatorresponse.py +43 -0
  409. finance_dev/models/technicalindicatortype.py +21 -0
  410. finance_dev/models/technicalpatternsresponse.py +249 -0
  411. finance_dev/models/tenderofferidentifiertype.py +26 -0
  412. finance_dev/models/tenderoffersresponse.py +548 -0
  413. finance_dev/models/tickchartbars.py +104 -0
  414. finance_dev/models/tickresolution.py +20 -0
  415. finance_dev/models/timeinforceenum.py +26 -0
  416. finance_dev/models/tradeorderlegv2.py +164 -0
  417. finance_dev/models/tradeorderv2.py +434 -0
  418. finance_dev/models/transcriptresponse.py +162 -0
  419. finance_dev/models/transcriptsresponse.py +89 -0
  420. finance_dev/models/treasuryyieldsresponse.py +160 -0
  421. finance_dev/models/unifiedsnapshotresponse.py +308 -0
  422. finance_dev/models/updateconfigwatchlistbyidop.py +65 -0
  423. finance_dev/models/updatewatchlistrequest_union.py +134 -0
  424. finance_dev/models/upgradesdowngradesresponse.py +98 -0
  425. finance_dev/models/usaspendingresponse.py +222 -0
  426. finance_dev/models/usptopatentsresponse.py +134 -0
  427. finance_dev/models/visaapplicationsresponse.py +228 -0
  428. finance_dev/models/watchlist.py +68 -0
  429. finance_dev/models/watchlistrequest.py +43 -0
  430. finance_dev/models/watchlistresponse.py +44 -0
  431. finance_dev/news_sdk.py +829 -0
  432. finance_dev/options.py +3443 -0
  433. finance_dev/orders.py +1907 -0
  434. finance_dev/ownership.py +1386 -0
  435. finance_dev/predictions.py +29 -0
  436. finance_dev/predictions_orders.py +852 -0
  437. finance_dev/py.typed +1 -0
  438. finance_dev/sdk.py +347 -0
  439. finance_dev/sdkconfiguration.py +50 -0
  440. finance_dev/signals.py +338 -0
  441. finance_dev/stocks.py +3131 -0
  442. finance_dev/technicalanalysis_sdk.py +1137 -0
  443. finance_dev/types/__init__.py +25 -0
  444. finance_dev/types/base64fileinput.py +44 -0
  445. finance_dev/types/basemodel.py +78 -0
  446. finance_dev/utils/__init__.py +181 -0
  447. finance_dev/utils/annotations.py +80 -0
  448. finance_dev/utils/datetimes.py +42 -0
  449. finance_dev/utils/dynamic_imports.py +55 -0
  450. finance_dev/utils/enums.py +135 -0
  451. finance_dev/utils/eventstreaming.py +327 -0
  452. finance_dev/utils/forms.py +240 -0
  453. finance_dev/utils/headers.py +137 -0
  454. finance_dev/utils/logger.py +23 -0
  455. finance_dev/utils/metadata.py +120 -0
  456. finance_dev/utils/queryparams.py +218 -0
  457. finance_dev/utils/requestbodies.py +68 -0
  458. finance_dev/utils/retries.py +373 -0
  459. finance_dev/utils/security.py +199 -0
  460. finance_dev/utils/serializers.py +327 -0
  461. finance_dev/utils/unmarshal_json_response.py +39 -0
  462. finance_dev/utils/url.py +155 -0
  463. finance_dev/utils/values.py +143 -0
  464. finance_dev/watchlist_sdk.py +1583 -0
  465. finance_dev/websocket/__init__.py +57 -0
  466. finance_dev/websocket/account.py +5 -0
  467. finance_dev/websocket/auth.py +124 -0
  468. finance_dev/websocket/chart.py +5 -0
  469. finance_dev/websocket/codec.py +66 -0
  470. finance_dev/websocket/config.py +52 -0
  471. finance_dev/websocket/errors.py +54 -0
  472. finance_dev/websocket/market.py +5 -0
  473. finance_dev/websocket/models/__init__.py +52 -0
  474. finance_dev/websocket/models/account.py +60 -0
  475. finance_dev/websocket/models/chart.py +44 -0
  476. finance_dev/websocket/models/common.py +85 -0
  477. finance_dev/websocket/models/market.py +113 -0
  478. finance_dev/websocket/resources.py +327 -0
  479. finance_dev/websocket/sdk.py +13 -0
  480. finance_dev/websocket/transport/async_connection.py +493 -0
  481. finance_dev/websocket/transport/base.py +78 -0
  482. finance_dev/websocket/transport/sync_connection.py +470 -0
  483. finance_dev-0.9.0.dist-info/METADATA +913 -0
  484. finance_dev-0.9.0.dist-info/RECORD +486 -0
  485. finance_dev-0.9.0.dist-info/WHEEL +5 -0
  486. finance_dev-0.9.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,287 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 127fcace2615
3
+
4
+ from __future__ import annotations
5
+ from .ordersideenum import OrderSideEnum
6
+ from .securitytypeenum import SecurityTypeEnum
7
+ from datetime import date
8
+ from enum import Enum
9
+ from finance_dev import models, utils
10
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
11
+ import pydantic
12
+ from pydantic import field_serializer, model_serializer
13
+ from typing import Optional, Union
14
+ from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
15
+
16
+
17
+ class CancelOrdRequestPutCall2(str, Enum, metaclass=utils.OpenEnumMeta):
18
+ r"""Option contract type for option cancels. Use `CALL` for calls and `PUT` for puts. Omit for equity cancels."""
19
+
20
+ PUT = "PUT"
21
+ CALL = "CALL"
22
+ P = "P"
23
+ C = "C"
24
+
25
+
26
+ class CancelOrdRequest2TypedDict(TypedDict):
27
+ orig_cl_ord_id: str
28
+ r"""Client order ID of the original order you want to cancel. Use the `clOrdId` returned by Place Order or List active orders."""
29
+ side: OrderSideEnum
30
+ r"""Which direction to trade in. Pick one:
31
+ - `BUY` — buying shares or contracts (opens a long position or closes an existing short).
32
+ - `SELL` — selling shares or contracts you already hold (closes a long position).
33
+ - `SELL_SHORT` — selling shares you do not own (opens a short position). Subject to short-sale regulations.
34
+ - `BUY_TO_COVER` — buying shares to close an open short position.
35
+ """
36
+ symbol: str
37
+ r"""Symbol on the original order. Use the exact symbol from the order record."""
38
+ trading_account_id: str
39
+ r"""Trading account identifier that owns the order being canceled. It must match the account on the original order."""
40
+ account_id: NotRequired[str]
41
+ r"""Account identifier; provide accountId or tradingAccountId. Both may be supplied."""
42
+ maturity: NotRequired[date]
43
+ r"""Option expiration date in YYYY-MM-DD format. Send this for option cancels when the original order was an option order."""
44
+ put_call: NotRequired[CancelOrdRequestPutCall2]
45
+ r"""Option contract type for option cancels. Use `CALL` for calls and `PUT` for puts. Omit for equity cancels."""
46
+ security_type: NotRequired[SecurityTypeEnum]
47
+ r"""What kind of instrument the order is for. Pick one:
48
+ - `CS` — Common Stock (equity / ETF).
49
+ - `OPT` — Option contract (call or put).
50
+ """
51
+ strike_price: NotRequired[str]
52
+ r"""Option strike price as a decimal string. Send this for option cancels when the original order was an option order."""
53
+
54
+
55
+ class CancelOrdRequest2(BaseModel):
56
+ orig_cl_ord_id: Annotated[str, pydantic.Field(alias="origClOrdId")]
57
+ r"""Client order ID of the original order you want to cancel. Use the `clOrdId` returned by Place Order or List active orders."""
58
+
59
+ side: OrderSideEnum
60
+ r"""Which direction to trade in. Pick one:
61
+ - `BUY` — buying shares or contracts (opens a long position or closes an existing short).
62
+ - `SELL` — selling shares or contracts you already hold (closes a long position).
63
+ - `SELL_SHORT` — selling shares you do not own (opens a short position). Subject to short-sale regulations.
64
+ - `BUY_TO_COVER` — buying shares to close an open short position.
65
+ """
66
+
67
+ symbol: str
68
+ r"""Symbol on the original order. Use the exact symbol from the order record."""
69
+
70
+ trading_account_id: Annotated[str, pydantic.Field(alias="tradingAccountId")]
71
+ r"""Trading account identifier that owns the order being canceled. It must match the account on the original order."""
72
+
73
+ account_id: Annotated[Optional[str], pydantic.Field(alias="accountId")] = None
74
+ r"""Account identifier; provide accountId or tradingAccountId. Both may be supplied."""
75
+
76
+ maturity: Optional[date] = None
77
+ r"""Option expiration date in YYYY-MM-DD format. Send this for option cancels when the original order was an option order."""
78
+
79
+ put_call: Annotated[
80
+ Optional[CancelOrdRequestPutCall2], pydantic.Field(alias="putCall")
81
+ ] = None
82
+ r"""Option contract type for option cancels. Use `CALL` for calls and `PUT` for puts. Omit for equity cancels."""
83
+
84
+ security_type: Annotated[
85
+ Optional[SecurityTypeEnum], pydantic.Field(alias="securityType")
86
+ ] = None
87
+ r"""What kind of instrument the order is for. Pick one:
88
+ - `CS` — Common Stock (equity / ETF).
89
+ - `OPT` — Option contract (call or put).
90
+ """
91
+
92
+ strike_price: Annotated[Optional[str], pydantic.Field(alias="strikePrice")] = None
93
+ r"""Option strike price as a decimal string. Send this for option cancels when the original order was an option order."""
94
+
95
+ @field_serializer("put_call")
96
+ def serialize_put_call(self, value):
97
+ if isinstance(value, str):
98
+ try:
99
+ return models.CancelOrdRequestPutCall2(value)
100
+ except ValueError:
101
+ return value
102
+ return value
103
+
104
+ @field_serializer("security_type")
105
+ def serialize_security_type(self, value):
106
+ if isinstance(value, str):
107
+ try:
108
+ return models.SecurityTypeEnum(value)
109
+ except ValueError:
110
+ return value
111
+ return value
112
+
113
+ @field_serializer("side")
114
+ def serialize_side(self, value):
115
+ if isinstance(value, str):
116
+ try:
117
+ return models.OrderSideEnum(value)
118
+ except ValueError:
119
+ return value
120
+ return value
121
+
122
+ @model_serializer(mode="wrap")
123
+ def serialize_model(self, handler):
124
+ optional_fields = set(
125
+ ["accountId", "maturity", "putCall", "securityType", "strikePrice"]
126
+ )
127
+ serialized = handler(self)
128
+ m = {}
129
+
130
+ for n, f in type(self).model_fields.items():
131
+ k = f.alias or n
132
+ val = serialized.get(k, serialized.get(n))
133
+
134
+ if val != UNSET_SENTINEL:
135
+ if val is not None or k not in optional_fields:
136
+ m[k] = val
137
+
138
+ return m
139
+
140
+
141
+ class CancelOrdRequestPutCall1(str, Enum, metaclass=utils.OpenEnumMeta):
142
+ r"""Option contract type for option cancels. Use `CALL` for calls and `PUT` for puts. Omit for equity cancels."""
143
+
144
+ PUT = "PUT"
145
+ CALL = "CALL"
146
+ P = "P"
147
+ C = "C"
148
+
149
+
150
+ class CancelOrdRequest1TypedDict(TypedDict):
151
+ account_id: str
152
+ r"""Account identifier; provide accountId or tradingAccountId. Both may be supplied."""
153
+ orig_cl_ord_id: str
154
+ r"""Client order ID of the original order you want to cancel. Use the `clOrdId` returned by Place Order or List active orders."""
155
+ side: OrderSideEnum
156
+ r"""Which direction to trade in. Pick one:
157
+ - `BUY` — buying shares or contracts (opens a long position or closes an existing short).
158
+ - `SELL` — selling shares or contracts you already hold (closes a long position).
159
+ - `SELL_SHORT` — selling shares you do not own (opens a short position). Subject to short-sale regulations.
160
+ - `BUY_TO_COVER` — buying shares to close an open short position.
161
+ """
162
+ symbol: str
163
+ r"""Symbol on the original order. Use the exact symbol from the order record."""
164
+ maturity: NotRequired[date]
165
+ r"""Option expiration date in YYYY-MM-DD format. Send this for option cancels when the original order was an option order."""
166
+ put_call: NotRequired[CancelOrdRequestPutCall1]
167
+ r"""Option contract type for option cancels. Use `CALL` for calls and `PUT` for puts. Omit for equity cancels."""
168
+ security_type: NotRequired[SecurityTypeEnum]
169
+ r"""What kind of instrument the order is for. Pick one:
170
+ - `CS` — Common Stock (equity / ETF).
171
+ - `OPT` — Option contract (call or put).
172
+ """
173
+ strike_price: NotRequired[str]
174
+ r"""Option strike price as a decimal string. Send this for option cancels when the original order was an option order."""
175
+ trading_account_id: NotRequired[str]
176
+ r"""Trading account identifier that owns the order being canceled. It must match the account on the original order."""
177
+
178
+
179
+ class CancelOrdRequest1(BaseModel):
180
+ account_id: Annotated[str, pydantic.Field(alias="accountId")]
181
+ r"""Account identifier; provide accountId or tradingAccountId. Both may be supplied."""
182
+
183
+ orig_cl_ord_id: Annotated[str, pydantic.Field(alias="origClOrdId")]
184
+ r"""Client order ID of the original order you want to cancel. Use the `clOrdId` returned by Place Order or List active orders."""
185
+
186
+ side: OrderSideEnum
187
+ r"""Which direction to trade in. Pick one:
188
+ - `BUY` — buying shares or contracts (opens a long position or closes an existing short).
189
+ - `SELL` — selling shares or contracts you already hold (closes a long position).
190
+ - `SELL_SHORT` — selling shares you do not own (opens a short position). Subject to short-sale regulations.
191
+ - `BUY_TO_COVER` — buying shares to close an open short position.
192
+ """
193
+
194
+ symbol: str
195
+ r"""Symbol on the original order. Use the exact symbol from the order record."""
196
+
197
+ maturity: Optional[date] = None
198
+ r"""Option expiration date in YYYY-MM-DD format. Send this for option cancels when the original order was an option order."""
199
+
200
+ put_call: Annotated[
201
+ Optional[CancelOrdRequestPutCall1], pydantic.Field(alias="putCall")
202
+ ] = None
203
+ r"""Option contract type for option cancels. Use `CALL` for calls and `PUT` for puts. Omit for equity cancels."""
204
+
205
+ security_type: Annotated[
206
+ Optional[SecurityTypeEnum], pydantic.Field(alias="securityType")
207
+ ] = None
208
+ r"""What kind of instrument the order is for. Pick one:
209
+ - `CS` — Common Stock (equity / ETF).
210
+ - `OPT` — Option contract (call or put).
211
+ """
212
+
213
+ strike_price: Annotated[Optional[str], pydantic.Field(alias="strikePrice")] = None
214
+ r"""Option strike price as a decimal string. Send this for option cancels when the original order was an option order."""
215
+
216
+ trading_account_id: Annotated[
217
+ Optional[str], pydantic.Field(alias="tradingAccountId")
218
+ ] = None
219
+ r"""Trading account identifier that owns the order being canceled. It must match the account on the original order."""
220
+
221
+ @field_serializer("put_call")
222
+ def serialize_put_call(self, value):
223
+ if isinstance(value, str):
224
+ try:
225
+ return models.CancelOrdRequestPutCall1(value)
226
+ except ValueError:
227
+ return value
228
+ return value
229
+
230
+ @field_serializer("security_type")
231
+ def serialize_security_type(self, value):
232
+ if isinstance(value, str):
233
+ try:
234
+ return models.SecurityTypeEnum(value)
235
+ except ValueError:
236
+ return value
237
+ return value
238
+
239
+ @field_serializer("side")
240
+ def serialize_side(self, value):
241
+ if isinstance(value, str):
242
+ try:
243
+ return models.OrderSideEnum(value)
244
+ except ValueError:
245
+ return value
246
+ return value
247
+
248
+ @model_serializer(mode="wrap")
249
+ def serialize_model(self, handler):
250
+ optional_fields = set(
251
+ ["maturity", "putCall", "securityType", "strikePrice", "tradingAccountId"]
252
+ )
253
+ serialized = handler(self)
254
+ m = {}
255
+
256
+ for n, f in type(self).model_fields.items():
257
+ k = f.alias or n
258
+ val = serialized.get(k, serialized.get(n))
259
+
260
+ if val != UNSET_SENTINEL:
261
+ if val is not None or k not in optional_fields:
262
+ m[k] = val
263
+
264
+ return m
265
+
266
+
267
+ CancelOrdRequestUnionTypedDict = TypeAliasType(
268
+ "CancelOrdRequestUnionTypedDict",
269
+ Union[CancelOrdRequest1TypedDict, CancelOrdRequest2TypedDict],
270
+ )
271
+ r"""Request body for canceling an open order through the core trading API. Use this when the user wants to stop an order that has not fully filled."""
272
+
273
+
274
+ CancelOrdRequestUnion = TypeAliasType(
275
+ "CancelOrdRequestUnion", Union[CancelOrdRequest1, CancelOrdRequest2]
276
+ )
277
+ r"""Request body for canceling an open order through the core trading API. Use this when the user wants to stop an order that has not fully filled."""
278
+
279
+
280
+ try:
281
+ CancelOrdRequest2.model_rebuild()
282
+ except NameError:
283
+ pass
284
+ try:
285
+ CancelOrdRequest1.model_rebuild()
286
+ except NameError:
287
+ pass
@@ -0,0 +1,115 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: c467684a3239
3
+
4
+ from __future__ import annotations
5
+ from enum import Enum
6
+ from finance_dev import models, utils
7
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
8
+ import pydantic
9
+ from pydantic import field_serializer, model_serializer
10
+ from typing import Optional
11
+ from typing_extensions import Annotated, NotRequired, TypedDict
12
+
13
+
14
+ class CancelOrdResponseStatus(str, Enum, metaclass=utils.OpenEnumMeta):
15
+ r"""Order status after the cancel request. Typical values after a successful cancel:
16
+ - `PENDING_CANCEL` — cancel request accepted by the broker but not yet final. Keep monitoring; will move to `CANCELED` once confirmed.
17
+ - `CANCELED` — order is fully cancelled; no further fills will occur.
18
+ - `REJECTED` — the cancel was refused (e.g. the order had already fully filled). The original order is unchanged.
19
+
20
+ The full FIX OrdStatus enum is supported — see the Place Order response for the complete list of possible values.
21
+ """
22
+
23
+ NEW = "NEW"
24
+ PARTIALLY_FILLED = "PARTIALLY_FILLED"
25
+ FILLED = "FILLED"
26
+ DONE_FOR_DAY = "DONE_FOR_DAY"
27
+ CANCELED = "CANCELED"
28
+ REPLACED = "REPLACED"
29
+ PENDING_CANCEL = "PENDING_CANCEL"
30
+ STOPPED = "STOPPED"
31
+ REJECTED = "REJECTED"
32
+ SUSPENDED = "SUSPENDED"
33
+ PENDING_NEW = "PENDING_NEW"
34
+ CALCULATED = "CALCULATED"
35
+ EXPIRED = "EXPIRED"
36
+ ACCEPTED_FOR_BID = "ACCEPTED_FOR_BID"
37
+ PENDING_REPLACE = "PENDING_REPLACE"
38
+ SUPERSEDED = "SUPERSEDED"
39
+
40
+
41
+ class CancelOrdResponseTypedDict(TypedDict):
42
+ r"""Response returned after requesting an order cancel. Treat it as the cancel result and continue monitoring if the status is pending."""
43
+
44
+ cl_ord_id: NotRequired[str]
45
+ r"""Client order ID associated with the cancel action. Store it for audit and status matching."""
46
+ orig_cl_ord_id: NotRequired[str]
47
+ r"""Client order ID of the original order being canceled. Use it to connect this cancel result to the user's order."""
48
+ status: NotRequired[CancelOrdResponseStatus]
49
+ r"""Order status after the cancel request. Typical values after a successful cancel:
50
+ - `PENDING_CANCEL` — cancel request accepted by the broker but not yet final. Keep monitoring; will move to `CANCELED` once confirmed.
51
+ - `CANCELED` — order is fully cancelled; no further fills will occur.
52
+ - `REJECTED` — the cancel was refused (e.g. the order had already fully filled). The original order is unchanged.
53
+
54
+ The full FIX OrdStatus enum is supported — see the Place Order response for the complete list of possible values.
55
+ """
56
+ success: NotRequired[bool]
57
+ r"""Whether Aries or the broker accepted the cancel request for processing."""
58
+ text: NotRequired[str]
59
+ r"""Broker or platform message about the cancel result. Show it when the cancel is rejected or needs explanation."""
60
+
61
+
62
+ class CancelOrdResponse(BaseModel):
63
+ r"""Response returned after requesting an order cancel. Treat it as the cancel result and continue monitoring if the status is pending."""
64
+
65
+ cl_ord_id: Annotated[Optional[str], pydantic.Field(alias="clOrdId")] = None
66
+ r"""Client order ID associated with the cancel action. Store it for audit and status matching."""
67
+
68
+ orig_cl_ord_id: Annotated[Optional[str], pydantic.Field(alias="origClOrdId")] = None
69
+ r"""Client order ID of the original order being canceled. Use it to connect this cancel result to the user's order."""
70
+
71
+ status: Optional[CancelOrdResponseStatus] = None
72
+ r"""Order status after the cancel request. Typical values after a successful cancel:
73
+ - `PENDING_CANCEL` — cancel request accepted by the broker but not yet final. Keep monitoring; will move to `CANCELED` once confirmed.
74
+ - `CANCELED` — order is fully cancelled; no further fills will occur.
75
+ - `REJECTED` — the cancel was refused (e.g. the order had already fully filled). The original order is unchanged.
76
+
77
+ The full FIX OrdStatus enum is supported — see the Place Order response for the complete list of possible values.
78
+ """
79
+
80
+ success: Optional[bool] = None
81
+ r"""Whether Aries or the broker accepted the cancel request for processing."""
82
+
83
+ text: Optional[str] = None
84
+ r"""Broker or platform message about the cancel result. Show it when the cancel is rejected or needs explanation."""
85
+
86
+ @field_serializer("status")
87
+ def serialize_status(self, value):
88
+ if isinstance(value, str):
89
+ try:
90
+ return models.CancelOrdResponseStatus(value)
91
+ except ValueError:
92
+ return value
93
+ return value
94
+
95
+ @model_serializer(mode="wrap")
96
+ def serialize_model(self, handler):
97
+ optional_fields = set(["clOrdId", "origClOrdId", "status", "success", "text"])
98
+ serialized = handler(self)
99
+ m = {}
100
+
101
+ for n, f in type(self).model_fields.items():
102
+ k = f.alias or n
103
+ val = serialized.get(k, serialized.get(n))
104
+
105
+ if val != UNSET_SENTINEL:
106
+ if val is not None or k not in optional_fields:
107
+ m[k] = val
108
+
109
+ return m
110
+
111
+
112
+ try:
113
+ CancelOrdResponse.model_rebuild()
114
+ except NameError:
115
+ pass