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,91 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 8a1cf91408e2
3
+
4
+ from __future__ import annotations
5
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
6
+ from .indexlistresponse import IndexListResponse, IndexListResponseTypedDict
7
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
8
+ from finance_dev.utils import FieldMetadata, QueryParamMetadata
9
+ import pydantic
10
+ from pydantic import model_serializer
11
+ from typing import Callable, Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class ListIndicesRequestTypedDict(TypedDict):
16
+ index_group: str
17
+ r"""Index group whose members you want to list (paginated). Use [GET /v1/indices/groups](/api-reference/supplemental/indices-groups) to discover the live list of groups — see `IndexGroup` for the current published set with plain-English labels."""
18
+ page_size: NotRequired[int]
19
+ r"""Number of results per page. Use this to control pagination size in list views. (default: 100, max: 1000)"""
20
+ next_page: NotRequired[str]
21
+ r"""Pagination token for the next page. Omit it on the first request, then send the returned token to continue paging."""
22
+
23
+
24
+ class ListIndicesRequest(BaseModel):
25
+ index_group: Annotated[
26
+ str,
27
+ pydantic.Field(alias="indexGroup"),
28
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
29
+ ]
30
+ r"""Index group whose members you want to list (paginated). Use [GET /v1/indices/groups](/api-reference/supplemental/indices-groups) to discover the live list of groups — see `IndexGroup` for the current published set with plain-English labels."""
31
+
32
+ page_size: Annotated[
33
+ Optional[int],
34
+ pydantic.Field(alias="pageSize"),
35
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
36
+ ] = None
37
+ r"""Number of results per page. Use this to control pagination size in list views. (default: 100, max: 1000)"""
38
+
39
+ next_page: Annotated[
40
+ Optional[str],
41
+ pydantic.Field(alias="nextPage"),
42
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
43
+ ] = None
44
+ r"""Pagination token for the next page. Omit it on the first request, then send the returned token to continue paging."""
45
+
46
+ @model_serializer(mode="wrap")
47
+ def serialize_model(self, handler):
48
+ optional_fields = set(["pageSize", "nextPage"])
49
+ serialized = handler(self)
50
+ m = {}
51
+
52
+ for n, f in type(self).model_fields.items():
53
+ k = f.alias or n
54
+ val = serialized.get(k, serialized.get(n))
55
+
56
+ if val != UNSET_SENTINEL:
57
+ if val is not None or k not in optional_fields:
58
+ m[k] = val
59
+
60
+ return m
61
+
62
+
63
+ class ListIndicesResponseTypedDict(TypedDict):
64
+ http_meta: HTTPMetadataTypedDict
65
+ index_list_response: NotRequired[IndexListResponseTypedDict]
66
+ r"""Successful response with list of indices"""
67
+
68
+
69
+ class ListIndicesResponse(BaseModel):
70
+ next: Callable[[], Optional[ListIndicesResponse]]
71
+
72
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
73
+
74
+ index_list_response: Optional[IndexListResponse] = None
75
+ r"""Successful response with list of indices"""
76
+
77
+ @model_serializer(mode="wrap")
78
+ def serialize_model(self, handler):
79
+ optional_fields = set(["IndexListResponse"])
80
+ serialized = handler(self)
81
+ m = {}
82
+
83
+ for n, f in type(self).model_fields.items():
84
+ k = f.alias or n
85
+ val = serialized.get(k, serialized.get(n))
86
+
87
+ if val != UNSET_SENTINEL:
88
+ if val is not None or k not in optional_fields:
89
+ m[k] = val
90
+
91
+ return m
@@ -0,0 +1,66 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 030f239a66ae
3
+
4
+ from __future__ import annotations
5
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
6
+ from .optioncontractsresponse import (
7
+ OptionContractsResponse,
8
+ OptionContractsResponseTypedDict,
9
+ )
10
+ from datetime import date
11
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
12
+ from finance_dev.utils import FieldMetadata, PathParamMetadata
13
+ import pydantic
14
+ from pydantic import model_serializer
15
+ from typing import Optional
16
+ from typing_extensions import Annotated, NotRequired, TypedDict
17
+
18
+
19
+ class ListOptionContractsRequestTypedDict(TypedDict):
20
+ symbol: str
21
+ r"""The underlying stock symbol (e.g., AAPL, TSLA, SPY)"""
22
+ expiry_date: date
23
+ r"""The expiration date in YYYY-MM-DD format"""
24
+
25
+
26
+ class ListOptionContractsRequest(BaseModel):
27
+ symbol: Annotated[
28
+ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
29
+ ]
30
+ r"""The underlying stock symbol (e.g., AAPL, TSLA, SPY)"""
31
+
32
+ expiry_date: Annotated[
33
+ date,
34
+ pydantic.Field(alias="expiryDate"),
35
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
36
+ ]
37
+ r"""The expiration date in YYYY-MM-DD format"""
38
+
39
+
40
+ class ListOptionContractsResponseTypedDict(TypedDict):
41
+ http_meta: HTTPMetadataTypedDict
42
+ option_contracts_response: NotRequired[OptionContractsResponseTypedDict]
43
+ r"""Successful response. Returns symbol, expiryDate, and separate calls and puts arrays; each item has symbol (OCC ticker) and strikePrice."""
44
+
45
+
46
+ class ListOptionContractsResponse(BaseModel):
47
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
48
+
49
+ option_contracts_response: Optional[OptionContractsResponse] = None
50
+ r"""Successful response. Returns symbol, expiryDate, and separate calls and puts arrays; each item has symbol (OCC ticker) and strikePrice."""
51
+
52
+ @model_serializer(mode="wrap")
53
+ def serialize_model(self, handler):
54
+ optional_fields = set(["OptionContractsResponse"])
55
+ serialized = handler(self)
56
+ m = {}
57
+
58
+ for n, f in type(self).model_fields.items():
59
+ k = f.alias or n
60
+ val = serialized.get(k, serialized.get(n))
61
+
62
+ if val != UNSET_SENTINEL:
63
+ if val is not None or k not in optional_fields:
64
+ m[k] = val
65
+
66
+ return m
@@ -0,0 +1,56 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: c0f060f31145
3
+
4
+ from __future__ import annotations
5
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
6
+ from .optionexpirydatesresponse import (
7
+ OptionExpiryDatesResponse,
8
+ OptionExpiryDatesResponseTypedDict,
9
+ )
10
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
11
+ from finance_dev.utils import FieldMetadata, PathParamMetadata
12
+ import pydantic
13
+ from pydantic import model_serializer
14
+ from typing import Optional
15
+ from typing_extensions import Annotated, NotRequired, TypedDict
16
+
17
+
18
+ class ListOptionExpiryDatesRequestTypedDict(TypedDict):
19
+ symbol: str
20
+ r"""The underlying stock symbol (e.g., AAPL, TSLA, SPY)"""
21
+
22
+
23
+ class ListOptionExpiryDatesRequest(BaseModel):
24
+ symbol: Annotated[
25
+ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
26
+ ]
27
+ r"""The underlying stock symbol (e.g., AAPL, TSLA, SPY)"""
28
+
29
+
30
+ class ListOptionExpiryDatesResponseTypedDict(TypedDict):
31
+ http_meta: HTTPMetadataTypedDict
32
+ option_expiry_dates_response: NotRequired[OptionExpiryDatesResponseTypedDict]
33
+ r"""Successful response. Returns symbol and list of expiry dates in YYYY-MM-DD format."""
34
+
35
+
36
+ class ListOptionExpiryDatesResponse(BaseModel):
37
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
38
+
39
+ option_expiry_dates_response: Optional[OptionExpiryDatesResponse] = None
40
+ r"""Successful response. Returns symbol and list of expiry dates in YYYY-MM-DD format."""
41
+
42
+ @model_serializer(mode="wrap")
43
+ def serialize_model(self, handler):
44
+ optional_fields = set(["OptionExpiryDatesResponse"])
45
+ serialized = handler(self)
46
+ m = {}
47
+
48
+ for n, f in type(self).model_fields.items():
49
+ k = f.alias or n
50
+ val = serialized.get(k, serialized.get(n))
51
+
52
+ if val != UNSET_SENTINEL:
53
+ if val is not None or k not in optional_fields:
54
+ m[k] = val
55
+
56
+ return m
@@ -0,0 +1,139 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: a97d55fa8217
3
+
4
+ from __future__ import annotations
5
+ from .getordersv2response import GetOrdersV2Response, GetOrdersV2ResponseTypedDict
6
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
7
+ from datetime import datetime
8
+ from enum import Enum
9
+ from finance_dev import models, utils
10
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
11
+ from finance_dev.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata
12
+ import pydantic
13
+ from pydantic import field_serializer, model_serializer
14
+ from typing import Callable, Optional
15
+ from typing_extensions import Annotated, NotRequired, TypedDict
16
+
17
+
18
+ class OrderBy(str, Enum, metaclass=utils.OpenEnumMeta):
19
+ r"""Sort direction by `order_created_at`. Defaults to `desc` (newest first). Use `asc` for chronological exports."""
20
+
21
+ ASC = "asc"
22
+ DESC = "desc"
23
+
24
+
25
+ class ListOrderHistoryRequestTypedDict(TypedDict):
26
+ id: str
27
+ r"""Account ID whose historical orders you want to read."""
28
+ from_: datetime
29
+ r"""Start of the history window, inclusive. Enter an RFC 3339 timestamp with timezone, for example `2026-04-01T00:00:00Z`."""
30
+ to: NotRequired[datetime]
31
+ r"""End of the history window, inclusive. Omit it to use the current time. The total range from `from` cannot exceed 90 days."""
32
+ order_by: NotRequired[OrderBy]
33
+ r"""Sort direction by `order_created_at`. Defaults to `desc` (newest first). Use `asc` for chronological exports."""
34
+ exclude_today: NotRequired[bool]
35
+ r"""Set to `true` when you want historical orders only and do not want today's activity duplicated with the active-orders endpoint."""
36
+ limit: NotRequired[int]
37
+ r"""Maximum number of historical orders to return in this page. Default is 50; maximum is 500."""
38
+ cursor: NotRequired[int]
39
+ r"""Opaque pagination cursor for the database history walk. Send `0` (or omit) for the first page; pass the previous `nextCursor` until it returns `0`."""
40
+
41
+
42
+ class ListOrderHistoryRequest(BaseModel):
43
+ id: Annotated[
44
+ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
45
+ ]
46
+ r"""Account ID whose historical orders you want to read."""
47
+
48
+ from_: Annotated[
49
+ datetime,
50
+ pydantic.Field(alias="from"),
51
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
52
+ ]
53
+ r"""Start of the history window, inclusive. Enter an RFC 3339 timestamp with timezone, for example `2026-04-01T00:00:00Z`."""
54
+
55
+ to: Annotated[
56
+ Optional[datetime],
57
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
58
+ ] = None
59
+ r"""End of the history window, inclusive. Omit it to use the current time. The total range from `from` cannot exceed 90 days."""
60
+
61
+ order_by: Annotated[
62
+ Optional[OrderBy],
63
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
64
+ ] = OrderBy.DESC
65
+ r"""Sort direction by `order_created_at`. Defaults to `desc` (newest first). Use `asc` for chronological exports."""
66
+
67
+ exclude_today: Annotated[
68
+ Optional[bool],
69
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
70
+ ] = False
71
+ r"""Set to `true` when you want historical orders only and do not want today's activity duplicated with the active-orders endpoint."""
72
+
73
+ limit: Annotated[
74
+ Optional[int],
75
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
76
+ ] = 50
77
+ r"""Maximum number of historical orders to return in this page. Default is 50; maximum is 500."""
78
+
79
+ cursor: Annotated[
80
+ Optional[int],
81
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
82
+ ] = 0
83
+ r"""Opaque pagination cursor for the database history walk. Send `0` (or omit) for the first page; pass the previous `nextCursor` until it returns `0`."""
84
+
85
+ @field_serializer("order_by")
86
+ def serialize_order_by(self, value):
87
+ if isinstance(value, str):
88
+ try:
89
+ return models.OrderBy(value)
90
+ except ValueError:
91
+ return value
92
+ return value
93
+
94
+ @model_serializer(mode="wrap")
95
+ def serialize_model(self, handler):
96
+ optional_fields = set(["to", "order_by", "exclude_today", "limit", "cursor"])
97
+ serialized = handler(self)
98
+ m = {}
99
+
100
+ for n, f in type(self).model_fields.items():
101
+ k = f.alias or n
102
+ val = serialized.get(k, serialized.get(n))
103
+
104
+ if val != UNSET_SENTINEL:
105
+ if val is not None or k not in optional_fields:
106
+ m[k] = val
107
+
108
+ return m
109
+
110
+
111
+ class ListOrderHistoryResponseTypedDict(TypedDict):
112
+ http_meta: HTTPMetadataTypedDict
113
+ get_orders_v2_response: NotRequired[GetOrdersV2ResponseTypedDict]
114
+ r"""Page of historical orders"""
115
+
116
+
117
+ class ListOrderHistoryResponse(BaseModel):
118
+ next: Callable[[], Optional[ListOrderHistoryResponse]]
119
+
120
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
121
+
122
+ get_orders_v2_response: Optional[GetOrdersV2Response] = None
123
+ r"""Page of historical orders"""
124
+
125
+ @model_serializer(mode="wrap")
126
+ def serialize_model(self, handler):
127
+ optional_fields = set(["GetOrdersV2Response"])
128
+ serialized = handler(self)
129
+ m = {}
130
+
131
+ for n, f in type(self).model_fields.items():
132
+ k = f.alias or n
133
+ val = serialized.get(k, serialized.get(n))
134
+
135
+ if val != UNSET_SENTINEL:
136
+ if val is not None or k not in optional_fields:
137
+ m[k] = val
138
+
139
+ return m
@@ -0,0 +1,134 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 13a9dfb5e973
3
+
4
+ from __future__ import annotations
5
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
6
+ from .predordersorderpage import PredOrdersOrderPage, PredOrdersOrderPageTypedDict
7
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
8
+ from finance_dev.utils import FieldMetadata, QueryParamMetadata
9
+ import pydantic
10
+ from pydantic import model_serializer
11
+ from typing import Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class ListPredictionOrdersRequestTypedDict(TypedDict):
16
+ status: NotRequired[str]
17
+ r"""Comma-separated order states, or `open` for every state an order can still rest or execute in (`pending_new`, `new`, `partially_filled`, `unknown`). An unknown state returns `400`."""
18
+ account_id: NotRequired[str]
19
+ r"""Only orders on this account."""
20
+ symbol: NotRequired[str]
21
+ r"""Only orders on this contract symbol."""
22
+ limit: NotRequired[int]
23
+ r"""Orders per page. Values above 200 are clamped to 200. `0`, a negative value, or a non-integer returns `400`."""
24
+ cursor: NotRequired[str]
25
+ r"""`nextCursor` from the previous page."""
26
+
27
+
28
+ class ListPredictionOrdersRequest(BaseModel):
29
+ status: Annotated[
30
+ Optional[str],
31
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
32
+ ] = None
33
+ r"""Comma-separated order states, or `open` for every state an order can still rest or execute in (`pending_new`, `new`, `partially_filled`, `unknown`). An unknown state returns `400`."""
34
+
35
+ account_id: Annotated[
36
+ Optional[str],
37
+ pydantic.Field(alias="accountId"),
38
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
39
+ ] = None
40
+ r"""Only orders on this account."""
41
+
42
+ symbol: Annotated[
43
+ Optional[str],
44
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
45
+ ] = None
46
+ r"""Only orders on this contract symbol."""
47
+
48
+ limit: Annotated[
49
+ Optional[int],
50
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
51
+ ] = 50
52
+ r"""Orders per page. Values above 200 are clamped to 200. `0`, a negative value, or a non-integer returns `400`."""
53
+
54
+ cursor: Annotated[
55
+ Optional[str],
56
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
57
+ ] = None
58
+ r"""`nextCursor` from the previous page."""
59
+
60
+ @model_serializer(mode="wrap")
61
+ def serialize_model(self, handler):
62
+ optional_fields = set(["status", "accountId", "symbol", "limit", "cursor"])
63
+ serialized = handler(self)
64
+ m = {}
65
+
66
+ for n, f in type(self).model_fields.items():
67
+ k = f.alias or n
68
+ val = serialized.get(k, serialized.get(n))
69
+
70
+ if val != UNSET_SENTINEL:
71
+ if val is not None or k not in optional_fields:
72
+ m[k] = val
73
+
74
+ return m
75
+
76
+
77
+ class ListPredictionOrdersResponseBodyTypedDict(TypedDict):
78
+ r"""Standard success envelope used by all success responses. `data` is endpoint-specific."""
79
+
80
+ success: bool
81
+ data: NotRequired[PredOrdersOrderPageTypedDict]
82
+
83
+
84
+ class ListPredictionOrdersResponseBody(BaseModel):
85
+ r"""Standard success envelope used by all success responses. `data` is endpoint-specific."""
86
+
87
+ success: bool
88
+
89
+ data: Optional[PredOrdersOrderPage] = None
90
+
91
+ @model_serializer(mode="wrap")
92
+ def serialize_model(self, handler):
93
+ optional_fields = set(["data"])
94
+ serialized = handler(self)
95
+ m = {}
96
+
97
+ for n, f in type(self).model_fields.items():
98
+ k = f.alias or n
99
+ val = serialized.get(k, serialized.get(n))
100
+
101
+ if val != UNSET_SENTINEL:
102
+ if val is not None or k not in optional_fields:
103
+ m[k] = val
104
+
105
+ return m
106
+
107
+
108
+ class ListPredictionOrdersResponseTypedDict(TypedDict):
109
+ http_meta: HTTPMetadataTypedDict
110
+ object: NotRequired[ListPredictionOrdersResponseBodyTypedDict]
111
+ r"""One page of orders."""
112
+
113
+
114
+ class ListPredictionOrdersResponse(BaseModel):
115
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
116
+
117
+ object: Optional[ListPredictionOrdersResponseBody] = None
118
+ r"""One page of orders."""
119
+
120
+ @model_serializer(mode="wrap")
121
+ def serialize_model(self, handler):
122
+ optional_fields = set(["object"])
123
+ serialized = handler(self)
124
+ m = {}
125
+
126
+ for n, f in type(self).model_fields.items():
127
+ k = f.alias or n
128
+ val = serialized.get(k, serialized.get(n))
129
+
130
+ if val != UNSET_SENTINEL:
131
+ if val is not None or k not in optional_fields:
132
+ m[k] = val
133
+
134
+ return m
@@ -0,0 +1,53 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 83b1e849f10f
3
+
4
+ from __future__ import annotations
5
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
6
+ from .transcriptsresponse import TranscriptsResponse, TranscriptsResponseTypedDict
7
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
8
+ from finance_dev.utils import FieldMetadata, QueryParamMetadata
9
+ import pydantic
10
+ from pydantic import model_serializer
11
+ from typing import Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class ListTranscriptsRequestTypedDict(TypedDict):
16
+ symbol: str
17
+ r"""Stock ticker to query. Send the plain uppercase symbol exactly as you'd type it on a brokerage screen, e.g. `AAPL`, `MSFT`."""
18
+
19
+
20
+ class ListTranscriptsRequest(BaseModel):
21
+ symbol: Annotated[
22
+ str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
23
+ ]
24
+ r"""Stock ticker to query. Send the plain uppercase symbol exactly as you'd type it on a brokerage screen, e.g. `AAPL`, `MSFT`."""
25
+
26
+
27
+ class ListTranscriptsResponseTypedDict(TypedDict):
28
+ http_meta: HTTPMetadataTypedDict
29
+ transcripts_response: NotRequired[TranscriptsResponseTypedDict]
30
+ r"""List of transcripts."""
31
+
32
+
33
+ class ListTranscriptsResponse(BaseModel):
34
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
35
+
36
+ transcripts_response: Optional[TranscriptsResponse] = None
37
+ r"""List of transcripts."""
38
+
39
+ @model_serializer(mode="wrap")
40
+ def serialize_model(self, handler):
41
+ optional_fields = set(["TranscriptsResponse"])
42
+ serialized = handler(self)
43
+ m = {}
44
+
45
+ for n, f in type(self).model_fields.items():
46
+ k = f.alias or n
47
+ val = serialized.get(k, serialized.get(n))
48
+
49
+ if val != UNSET_SENTINEL:
50
+ if val is not None or k not in optional_fields:
51
+ m[k] = val
52
+
53
+ return m