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,267 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: ff04981da167
3
+
4
+ from __future__ import annotations
5
+ from datetime import datetime
6
+ from enum import Enum
7
+ from finance_dev import models, utils
8
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
9
+ import pydantic
10
+ from pydantic import field_serializer, model_serializer
11
+ from typing import Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class Certainty(str, Enum, metaclass=utils.OpenEnumMeta):
16
+ r"""How sure order entry is of `state`. Anything other than `certain` means the order's state could not be confirmed; `certaintyReason` says why."""
17
+
18
+ CERTAIN = "certain"
19
+ UNKNOWN_UNACKED = "unknown_unacked"
20
+ UNKNOWN_GAP = "unknown_gap"
21
+ UNKNOWN_STORE_LOST = "unknown_store_lost"
22
+
23
+
24
+ class PredOrdersOrderOutcome(str, Enum, metaclass=utils.OpenEnumMeta):
25
+ YES = "YES"
26
+ NO = "NO"
27
+
28
+
29
+ class PendingAction(str, Enum, metaclass=utils.OpenEnumMeta):
30
+ NONE = "none"
31
+ REPLACE = "replace"
32
+ CANCEL = "cancel"
33
+
34
+
35
+ class State(str, Enum, metaclass=utils.OpenEnumMeta):
36
+ r"""Order lifecycle state. `unknown` means order entry lost track of the order and says so rather than guessing; see `certainty`."""
37
+
38
+ PENDING_NEW = "pending_new"
39
+ NEW = "new"
40
+ PARTIALLY_FILLED = "partially_filled"
41
+ FILLED = "filled"
42
+ CANCELED = "canceled"
43
+ REJECTED = "rejected"
44
+ EXPIRED = "expired"
45
+ DONE_FOR_DAY = "done_for_day"
46
+ UNKNOWN = "unknown"
47
+
48
+
49
+ class PredOrdersOrderTypedDict(TypedDict):
50
+ r"""An order as recorded by order entry. Submitted terms (`quantity`, `price`, …) never change; working terms (`workingQuantity`, `workingPrice`, …) are the venue's answer. Optional decimals and timestamps are omitted when absent, never zero."""
51
+
52
+ account_id: str
53
+ avg_px: str
54
+ r"""Average fill price. Exact decimal as a string."""
55
+ created_at: datetime
56
+ cum_qty: str
57
+ r"""Quantity filled so far. Exact decimal as a string."""
58
+ leaves_qty: str
59
+ r"""Quantity still working. Exact decimal as a string."""
60
+ order_id: str
61
+ order_type: str
62
+ outcome: PredOrdersOrderOutcome
63
+ quantity: str
64
+ r"""Exact decimal as a string."""
65
+ side: str
66
+ state: State
67
+ r"""Order lifecycle state. `unknown` means order entry lost track of the order and says so rather than guessing; see `certainty`."""
68
+ symbol: str
69
+ time_in_force: str
70
+ updated_at: datetime
71
+ working_quantity: str
72
+ r"""Exact decimal as a string."""
73
+ certainty: NotRequired[Certainty]
74
+ r"""How sure order entry is of `state`. Anything other than `certain` means the order's state could not be confirmed; `certaintyReason` says why."""
75
+ certainty_reason: NotRequired[str]
76
+ cl_ord_id: NotRequired[str]
77
+ r"""Client order ID sent to the venue."""
78
+ client_order_ref: NotRequired[str]
79
+ closed_at: NotRequired[datetime]
80
+ expire_time: NotRequired[datetime]
81
+ first_ack_at: NotRequired[datetime]
82
+ r"""When the venue first acknowledged the order."""
83
+ pending_action: NotRequired[PendingAction]
84
+ price: NotRequired[str]
85
+ r"""Exact decimal as a string."""
86
+ reject_reason: NotRequired[str]
87
+ reject_text: NotRequired[str]
88
+ r"""The venue's own rejection text. Most rejections carry their useful detail only here."""
89
+ sent_at: NotRequired[datetime]
90
+ stop_px: NotRequired[str]
91
+ r"""Exact decimal as a string."""
92
+ venue_order_id: NotRequired[str]
93
+ r"""Assigned by the venue on acknowledgement."""
94
+ working_order_type: NotRequired[str]
95
+ working_price: NotRequired[str]
96
+ r"""Exact decimal as a string."""
97
+
98
+
99
+ class PredOrdersOrder(BaseModel):
100
+ r"""An order as recorded by order entry. Submitted terms (`quantity`, `price`, …) never change; working terms (`workingQuantity`, `workingPrice`, …) are the venue's answer. Optional decimals and timestamps are omitted when absent, never zero."""
101
+
102
+ account_id: Annotated[str, pydantic.Field(alias="accountId")]
103
+
104
+ avg_px: Annotated[str, pydantic.Field(alias="avgPx")]
105
+ r"""Average fill price. Exact decimal as a string."""
106
+
107
+ created_at: Annotated[datetime, pydantic.Field(alias="createdAt")]
108
+
109
+ cum_qty: Annotated[str, pydantic.Field(alias="cumQty")]
110
+ r"""Quantity filled so far. Exact decimal as a string."""
111
+
112
+ leaves_qty: Annotated[str, pydantic.Field(alias="leavesQty")]
113
+ r"""Quantity still working. Exact decimal as a string."""
114
+
115
+ order_id: Annotated[str, pydantic.Field(alias="orderId")]
116
+
117
+ order_type: Annotated[str, pydantic.Field(alias="orderType")]
118
+
119
+ outcome: PredOrdersOrderOutcome
120
+
121
+ quantity: str
122
+ r"""Exact decimal as a string."""
123
+
124
+ side: str
125
+
126
+ state: State
127
+ r"""Order lifecycle state. `unknown` means order entry lost track of the order and says so rather than guessing; see `certainty`."""
128
+
129
+ symbol: str
130
+
131
+ time_in_force: Annotated[str, pydantic.Field(alias="timeInForce")]
132
+
133
+ updated_at: Annotated[datetime, pydantic.Field(alias="updatedAt")]
134
+
135
+ working_quantity: Annotated[str, pydantic.Field(alias="workingQuantity")]
136
+ r"""Exact decimal as a string."""
137
+
138
+ certainty: Optional[Certainty] = None
139
+ r"""How sure order entry is of `state`. Anything other than `certain` means the order's state could not be confirmed; `certaintyReason` says why."""
140
+
141
+ certainty_reason: Annotated[
142
+ Optional[str], pydantic.Field(alias="certaintyReason")
143
+ ] = None
144
+
145
+ cl_ord_id: Annotated[Optional[str], pydantic.Field(alias="clOrdId")] = None
146
+ r"""Client order ID sent to the venue."""
147
+
148
+ client_order_ref: Annotated[
149
+ Optional[str], pydantic.Field(alias="clientOrderRef")
150
+ ] = None
151
+
152
+ closed_at: Annotated[Optional[datetime], pydantic.Field(alias="closedAt")] = None
153
+
154
+ expire_time: Annotated[Optional[datetime], pydantic.Field(alias="expireTime")] = (
155
+ None
156
+ )
157
+
158
+ first_ack_at: Annotated[Optional[datetime], pydantic.Field(alias="firstAckAt")] = (
159
+ None
160
+ )
161
+ r"""When the venue first acknowledged the order."""
162
+
163
+ pending_action: Annotated[
164
+ Optional[PendingAction], pydantic.Field(alias="pendingAction")
165
+ ] = None
166
+
167
+ price: Optional[str] = None
168
+ r"""Exact decimal as a string."""
169
+
170
+ reject_reason: Annotated[Optional[str], pydantic.Field(alias="rejectReason")] = None
171
+
172
+ reject_text: Annotated[Optional[str], pydantic.Field(alias="rejectText")] = None
173
+ r"""The venue's own rejection text. Most rejections carry their useful detail only here."""
174
+
175
+ sent_at: Annotated[Optional[datetime], pydantic.Field(alias="sentAt")] = None
176
+
177
+ stop_px: Annotated[Optional[str], pydantic.Field(alias="stopPx")] = None
178
+ r"""Exact decimal as a string."""
179
+
180
+ venue_order_id: Annotated[Optional[str], pydantic.Field(alias="venueOrderId")] = (
181
+ None
182
+ )
183
+ r"""Assigned by the venue on acknowledgement."""
184
+
185
+ working_order_type: Annotated[
186
+ Optional[str], pydantic.Field(alias="workingOrderType")
187
+ ] = None
188
+
189
+ working_price: Annotated[Optional[str], pydantic.Field(alias="workingPrice")] = None
190
+ r"""Exact decimal as a string."""
191
+
192
+ @field_serializer("certainty")
193
+ def serialize_certainty(self, value):
194
+ if isinstance(value, str):
195
+ try:
196
+ return models.Certainty(value)
197
+ except ValueError:
198
+ return value
199
+ return value
200
+
201
+ @field_serializer("outcome")
202
+ def serialize_outcome(self, value):
203
+ if isinstance(value, str):
204
+ try:
205
+ return models.PredOrdersOrderOutcome(value)
206
+ except ValueError:
207
+ return value
208
+ return value
209
+
210
+ @field_serializer("pending_action")
211
+ def serialize_pending_action(self, value):
212
+ if isinstance(value, str):
213
+ try:
214
+ return models.PendingAction(value)
215
+ except ValueError:
216
+ return value
217
+ return value
218
+
219
+ @field_serializer("state")
220
+ def serialize_state(self, value):
221
+ if isinstance(value, str):
222
+ try:
223
+ return models.State(value)
224
+ except ValueError:
225
+ return value
226
+ return value
227
+
228
+ @model_serializer(mode="wrap")
229
+ def serialize_model(self, handler):
230
+ optional_fields = set(
231
+ [
232
+ "certainty",
233
+ "certaintyReason",
234
+ "clOrdId",
235
+ "clientOrderRef",
236
+ "closedAt",
237
+ "expireTime",
238
+ "firstAckAt",
239
+ "pendingAction",
240
+ "price",
241
+ "rejectReason",
242
+ "rejectText",
243
+ "sentAt",
244
+ "stopPx",
245
+ "venueOrderId",
246
+ "workingOrderType",
247
+ "workingPrice",
248
+ ]
249
+ )
250
+ serialized = handler(self)
251
+ m = {}
252
+
253
+ for n, f in type(self).model_fields.items():
254
+ k = f.alias or n
255
+ val = serialized.get(k, serialized.get(n))
256
+
257
+ if val != UNSET_SENTINEL:
258
+ if val is not None or k not in optional_fields:
259
+ m[k] = val
260
+
261
+ return m
262
+
263
+
264
+ try:
265
+ PredOrdersOrder.model_rebuild()
266
+ except NameError:
267
+ pass
@@ -0,0 +1,26 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: ac314e6c2d0c
3
+
4
+ from __future__ import annotations
5
+ from .predordersorder import PredOrdersOrder, PredOrdersOrderTypedDict
6
+ from .predordersorderreport import PredOrdersOrderReport, PredOrdersOrderReportTypedDict
7
+ from finance_dev.types import BaseModel
8
+ from typing import List
9
+ from typing_extensions import TypedDict
10
+
11
+
12
+ class PredOrdersOrderDetailTypedDict(TypedDict):
13
+ r"""An order and every venue report against it, read from one snapshot."""
14
+
15
+ order: PredOrdersOrderTypedDict
16
+ r"""An order as recorded by order entry. Submitted terms (`quantity`, `price`, …) never change; working terms (`workingQuantity`, `workingPrice`, …) are the venue's answer. Optional decimals and timestamps are omitted when absent, never zero."""
17
+ reports: List[PredOrdersOrderReportTypedDict]
18
+
19
+
20
+ class PredOrdersOrderDetail(BaseModel):
21
+ r"""An order and every venue report against it, read from one snapshot."""
22
+
23
+ order: PredOrdersOrder
24
+ r"""An order as recorded by order entry. Submitted terms (`quantity`, `price`, …) never change; working terms (`workingQuantity`, `workingPrice`, …) are the venue's answer. Optional decimals and timestamps are omitted when absent, never zero."""
25
+
26
+ reports: List[PredOrdersOrderReport]
@@ -0,0 +1,45 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 09dd9c68840e
3
+
4
+ from __future__ import annotations
5
+ from .predordersorder import PredOrdersOrder, PredOrdersOrderTypedDict
6
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
7
+ import pydantic
8
+ from pydantic import model_serializer
9
+ from typing import List, Optional
10
+ from typing_extensions import Annotated, NotRequired, TypedDict
11
+
12
+
13
+ class PredOrdersOrderPageTypedDict(TypedDict):
14
+ orders: List[PredOrdersOrderTypedDict]
15
+ next_cursor: NotRequired[str]
16
+ r"""Pass as `cursor` to fetch the next page. Absent on the last page."""
17
+
18
+
19
+ class PredOrdersOrderPage(BaseModel):
20
+ orders: List[PredOrdersOrder]
21
+
22
+ next_cursor: Annotated[Optional[str], pydantic.Field(alias="nextCursor")] = None
23
+ r"""Pass as `cursor` to fetch the next page. Absent on the last page."""
24
+
25
+ @model_serializer(mode="wrap")
26
+ def serialize_model(self, handler):
27
+ optional_fields = set(["nextCursor"])
28
+ serialized = handler(self)
29
+ m = {}
30
+
31
+ for n, f in type(self).model_fields.items():
32
+ k = f.alias or n
33
+ val = serialized.get(k, serialized.get(n))
34
+
35
+ if val != UNSET_SENTINEL:
36
+ if val is not None or k not in optional_fields:
37
+ m[k] = val
38
+
39
+ return m
40
+
41
+
42
+ try:
43
+ PredOrdersOrderPage.model_rebuild()
44
+ except NameError:
45
+ pass
@@ -0,0 +1,88 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 8a68437ae16f
3
+
4
+ from __future__ import annotations
5
+ from datetime import datetime
6
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
7
+ import pydantic
8
+ from pydantic import model_serializer
9
+ from typing import Optional
10
+ from typing_extensions import Annotated, NotRequired, TypedDict
11
+
12
+
13
+ class PredOrdersOrderReportTypedDict(TypedDict):
14
+ r"""One venue execution report against the order. Quantities and prices are omitted when the venue did not send them for that report type."""
15
+
16
+ exec_id: str
17
+ exec_type: str
18
+ status: str
19
+ transact_time: datetime
20
+ avg_px: NotRequired[str]
21
+ r"""Exact decimal as a string."""
22
+ busted_at: NotRequired[datetime]
23
+ r"""Set when the venue later cancelled this trade."""
24
+ cum_qty: NotRequired[str]
25
+ r"""Exact decimal as a string."""
26
+ last_px: NotRequired[str]
27
+ r"""Exact decimal as a string."""
28
+ last_qty: NotRequired[str]
29
+ r"""Exact decimal as a string."""
30
+ leaves_qty: NotRequired[str]
31
+ r"""Exact decimal as a string."""
32
+ text: NotRequired[str]
33
+
34
+
35
+ class PredOrdersOrderReport(BaseModel):
36
+ r"""One venue execution report against the order. Quantities and prices are omitted when the venue did not send them for that report type."""
37
+
38
+ exec_id: Annotated[str, pydantic.Field(alias="execId")]
39
+
40
+ exec_type: Annotated[str, pydantic.Field(alias="execType")]
41
+
42
+ status: str
43
+
44
+ transact_time: Annotated[datetime, pydantic.Field(alias="transactTime")]
45
+
46
+ avg_px: Annotated[Optional[str], pydantic.Field(alias="avgPx")] = None
47
+ r"""Exact decimal as a string."""
48
+
49
+ busted_at: Annotated[Optional[datetime], pydantic.Field(alias="bustedAt")] = None
50
+ r"""Set when the venue later cancelled this trade."""
51
+
52
+ cum_qty: Annotated[Optional[str], pydantic.Field(alias="cumQty")] = None
53
+ r"""Exact decimal as a string."""
54
+
55
+ last_px: Annotated[Optional[str], pydantic.Field(alias="lastPx")] = None
56
+ r"""Exact decimal as a string."""
57
+
58
+ last_qty: Annotated[Optional[str], pydantic.Field(alias="lastQty")] = None
59
+ r"""Exact decimal as a string."""
60
+
61
+ leaves_qty: Annotated[Optional[str], pydantic.Field(alias="leavesQty")] = None
62
+ r"""Exact decimal as a string."""
63
+
64
+ text: Optional[str] = None
65
+
66
+ @model_serializer(mode="wrap")
67
+ def serialize_model(self, handler):
68
+ optional_fields = set(
69
+ ["avgPx", "bustedAt", "cumQty", "lastPx", "lastQty", "leavesQty", "text"]
70
+ )
71
+ serialized = handler(self)
72
+ m = {}
73
+
74
+ for n, f in type(self).model_fields.items():
75
+ k = f.alias or n
76
+ val = serialized.get(k, serialized.get(n))
77
+
78
+ if val != UNSET_SENTINEL:
79
+ if val is not None or k not in optional_fields:
80
+ m[k] = val
81
+
82
+ return m
83
+
84
+
85
+ try:
86
+ PredOrdersOrderReport.model_rebuild()
87
+ except NameError:
88
+ pass
@@ -0,0 +1,159 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 5fdf0f801821
3
+
4
+ from __future__ import annotations
5
+ from datetime import datetime
6
+ from enum import Enum
7
+ from finance_dev import models, utils
8
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
9
+ import pydantic
10
+ from pydantic import field_serializer, model_serializer
11
+ from typing import Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class OrderType(str, Enum, metaclass=utils.OpenEnumMeta):
16
+ LIMIT = "limit"
17
+ STOP = "stop"
18
+ STOP_LIMIT = "stop_limit"
19
+ MARKET_TO_LIMIT = "market_to_limit"
20
+
21
+
22
+ class PredOrdersPlaceOrderRequestOutcome(str, Enum, metaclass=utils.OpenEnumMeta):
23
+ r"""The binary outcome the order trades. It is never inferred from `side`."""
24
+
25
+ YES = "YES"
26
+ NO = "NO"
27
+
28
+
29
+ class PredOrdersPlaceOrderRequestSide(str, Enum, metaclass=utils.OpenEnumMeta):
30
+ BUY = "buy"
31
+ SELL = "sell"
32
+
33
+
34
+ class TimeInForce(str, Enum, metaclass=utils.OpenEnumMeta):
35
+ DAY = "day"
36
+ GTC = "gtc"
37
+ IOC = "ioc"
38
+ FOK = "fok"
39
+ GTD = "gtd"
40
+
41
+
42
+ class PredOrdersPlaceOrderRequestTypedDict(TypedDict):
43
+ r"""Unknown fields are rejected with `400`. The user is always the authenticated caller and cannot be named in the body."""
44
+
45
+ account_id: str
46
+ r"""The account to place the order on."""
47
+ order_type: OrderType
48
+ outcome: PredOrdersPlaceOrderRequestOutcome
49
+ r"""The binary outcome the order trades. It is never inferred from `side`."""
50
+ quantity: str
51
+ r"""Number of contracts as an exact decimal string. Must be greater than zero."""
52
+ side: PredOrdersPlaceOrderRequestSide
53
+ symbol: str
54
+ r"""Prediction-market contract symbol, as returned by search or Get Event Contracts."""
55
+ time_in_force: TimeInForce
56
+ client_order_ref: NotRequired[str]
57
+ r"""Your own reference for the order, unique per account. Reusing one returns `409` `CLIENT_ORDER_REF_IN_USE`; it is not a retry key. To retry safely, use the `Idempotency-Key` header."""
58
+ expire_time: NotRequired[datetime]
59
+ r"""Required when `timeInForce` is `gtd`."""
60
+ price: NotRequired[str]
61
+ r"""Limit price as an exact decimal string. Required for `limit` and `stop_limit`."""
62
+ stop_px: NotRequired[str]
63
+ r"""Stop price as an exact decimal string. Required for `stop` and `stop_limit`."""
64
+
65
+
66
+ class PredOrdersPlaceOrderRequest(BaseModel):
67
+ r"""Unknown fields are rejected with `400`. The user is always the authenticated caller and cannot be named in the body."""
68
+
69
+ account_id: Annotated[str, pydantic.Field(alias="accountId")]
70
+ r"""The account to place the order on."""
71
+
72
+ order_type: Annotated[OrderType, pydantic.Field(alias="orderType")]
73
+
74
+ outcome: PredOrdersPlaceOrderRequestOutcome
75
+ r"""The binary outcome the order trades. It is never inferred from `side`."""
76
+
77
+ quantity: str
78
+ r"""Number of contracts as an exact decimal string. Must be greater than zero."""
79
+
80
+ side: PredOrdersPlaceOrderRequestSide
81
+
82
+ symbol: str
83
+ r"""Prediction-market contract symbol, as returned by search or Get Event Contracts."""
84
+
85
+ time_in_force: Annotated[TimeInForce, pydantic.Field(alias="timeInForce")]
86
+
87
+ client_order_ref: Annotated[
88
+ Optional[str], pydantic.Field(alias="clientOrderRef")
89
+ ] = None
90
+ r"""Your own reference for the order, unique per account. Reusing one returns `409` `CLIENT_ORDER_REF_IN_USE`; it is not a retry key. To retry safely, use the `Idempotency-Key` header."""
91
+
92
+ expire_time: Annotated[Optional[datetime], pydantic.Field(alias="expireTime")] = (
93
+ None
94
+ )
95
+ r"""Required when `timeInForce` is `gtd`."""
96
+
97
+ price: Optional[str] = None
98
+ r"""Limit price as an exact decimal string. Required for `limit` and `stop_limit`."""
99
+
100
+ stop_px: Annotated[Optional[str], pydantic.Field(alias="stopPx")] = None
101
+ r"""Stop price as an exact decimal string. Required for `stop` and `stop_limit`."""
102
+
103
+ @field_serializer("order_type")
104
+ def serialize_order_type(self, value):
105
+ if isinstance(value, str):
106
+ try:
107
+ return models.OrderType(value)
108
+ except ValueError:
109
+ return value
110
+ return value
111
+
112
+ @field_serializer("outcome")
113
+ def serialize_outcome(self, value):
114
+ if isinstance(value, str):
115
+ try:
116
+ return models.PredOrdersPlaceOrderRequestOutcome(value)
117
+ except ValueError:
118
+ return value
119
+ return value
120
+
121
+ @field_serializer("side")
122
+ def serialize_side(self, value):
123
+ if isinstance(value, str):
124
+ try:
125
+ return models.PredOrdersPlaceOrderRequestSide(value)
126
+ except ValueError:
127
+ return value
128
+ return value
129
+
130
+ @field_serializer("time_in_force")
131
+ def serialize_time_in_force(self, value):
132
+ if isinstance(value, str):
133
+ try:
134
+ return models.TimeInForce(value)
135
+ except ValueError:
136
+ return value
137
+ return value
138
+
139
+ @model_serializer(mode="wrap")
140
+ def serialize_model(self, handler):
141
+ optional_fields = set(["clientOrderRef", "expireTime", "price", "stopPx"])
142
+ serialized = handler(self)
143
+ m = {}
144
+
145
+ for n, f in type(self).model_fields.items():
146
+ k = f.alias or n
147
+ val = serialized.get(k, serialized.get(n))
148
+
149
+ if val != UNSET_SENTINEL:
150
+ if val is not None or k not in optional_fields:
151
+ m[k] = val
152
+
153
+ return m
154
+
155
+
156
+ try:
157
+ PredOrdersPlaceOrderRequest.model_rebuild()
158
+ except NameError:
159
+ pass
@@ -0,0 +1,40 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 1c67bed9b926
3
+
4
+ from __future__ import annotations
5
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
6
+ from .previeworderresponse import PreviewOrderResponse, PreviewOrderResponseTypedDict
7
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
8
+ import pydantic
9
+ from pydantic import model_serializer
10
+ from typing import Optional
11
+ from typing_extensions import Annotated, NotRequired, TypedDict
12
+
13
+
14
+ class PreviewOrderResponseResponseTypedDict(TypedDict):
15
+ http_meta: HTTPMetadataTypedDict
16
+ preview_order_response: NotRequired[PreviewOrderResponseTypedDict]
17
+ r"""Order preview calculated successfully"""
18
+
19
+
20
+ class PreviewOrderResponseResponse(BaseModel):
21
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
22
+
23
+ preview_order_response: Optional[PreviewOrderResponse] = None
24
+ r"""Order preview calculated successfully"""
25
+
26
+ @model_serializer(mode="wrap")
27
+ def serialize_model(self, handler):
28
+ optional_fields = set(["PreviewOrderResponse"])
29
+ serialized = handler(self)
30
+ m = {}
31
+
32
+ for n, f in type(self).model_fields.items():
33
+ k = f.alias or n
34
+ val = serialized.get(k, serialized.get(n))
35
+
36
+ if val != UNSET_SENTINEL:
37
+ if val is not None or k not in optional_fields:
38
+ m[k] = val
39
+
40
+ return m