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,564 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 972ceae407fc
3
+
4
+ from __future__ import annotations
5
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
6
+ from .incomestatementsresponse import (
7
+ IncomeStatementsResponse,
8
+ IncomeStatementsResponseTypedDict,
9
+ )
10
+ from datetime import date
11
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
12
+ from finance_dev.utils import FieldMetadata, QueryParamMetadata
13
+ import pydantic
14
+ from pydantic import model_serializer
15
+ from typing import Callable, Optional
16
+ from typing_extensions import Annotated, NotRequired, TypedDict
17
+
18
+
19
+ class GetIncomeStatementsRequestTypedDict(TypedDict):
20
+ cik: NotRequired[str]
21
+ r"""Exact SEC CIK company identifier. Use this when you need one specific SEC registrant."""
22
+ ciks: NotRequired[str]
23
+ r"""Comma-separated CIKs (maps to cik.any_of)"""
24
+ cik_after: NotRequired[str]
25
+ r"""CIK pagination lower bound. Returns records with CIK values greater than this value, excluding the value itself."""
26
+ cik_from: NotRequired[str]
27
+ r"""CIK greater than or equal (inclusive)"""
28
+ cik_before: NotRequired[str]
29
+ r"""CIK pagination upper bound. Returns records with CIK values less than this value, excluding the value itself."""
30
+ cik_to: NotRequired[str]
31
+ r"""CIK upper-bound filter. Returns records with CIK values less than or equal to this value."""
32
+ period_end: NotRequired[date]
33
+ r"""Exact fiscal period-end date filter. Use it to return statements for one reporting period."""
34
+ period_end_after: NotRequired[date]
35
+ r"""Fiscal period-end lower-bound filter. Returns records after this date, excluding the date itself."""
36
+ period_end_from: NotRequired[date]
37
+ r"""Fiscal period-end start filter. Returns records on or after this date."""
38
+ period_end_before: NotRequired[date]
39
+ r"""Fiscal period-end upper-bound filter. Returns records before this date, excluding the date itself."""
40
+ period_end_to: NotRequired[date]
41
+ r"""Fiscal period-end end filter. Returns records on or before this date."""
42
+ filing_date: NotRequired[date]
43
+ r"""Exact filing date filter. Use it to return filings submitted on one specific date."""
44
+ filing_date_after: NotRequired[date]
45
+ r"""Filing-date lower-bound filter. Returns records after this date, excluding the date itself."""
46
+ filing_date_from: NotRequired[date]
47
+ r"""Filing-date start filter. Returns records on or after this date."""
48
+ filing_date_before: NotRequired[date]
49
+ r"""Filing-date upper-bound filter. Returns records before this date, excluding the date itself."""
50
+ filing_date_to: NotRequired[date]
51
+ r"""Filing-date end filter. Returns records on or before this date."""
52
+ tickers: NotRequired[str]
53
+ r"""Ticker symbol filter. Enter a ticker such as AAPL to narrow results to one company."""
54
+ tickers_all_of: NotRequired[str]
55
+ r"""Ticker all-of filter. Return records that include all listed tickers."""
56
+ tickers_any_of: NotRequired[str]
57
+ r"""Ticker any-of filter. Return records that include at least one listed ticker."""
58
+ fiscal_year: NotRequired[float]
59
+ r"""Exact fiscal year filter. Use it to return statements for one reporting year."""
60
+ fiscal_year_above: NotRequired[float]
61
+ r"""Fiscal year greater than (exclusive)"""
62
+ fiscal_year_min: NotRequired[float]
63
+ r"""Fiscal year greater than or equal (inclusive)"""
64
+ fiscal_year_below: NotRequired[float]
65
+ r"""Fiscal-year upper-bound filter. Returns records before this fiscal year, excluding the year itself."""
66
+ fiscal_year_max: NotRequired[float]
67
+ r"""Fiscal year less than or equal (inclusive)"""
68
+ fiscal_quarter: NotRequired[float]
69
+ r"""Exact fiscal quarter filter. Use values such as 1, 2, 3, or 4 when supported."""
70
+ fiscal_quarter_above: NotRequired[float]
71
+ r"""Fiscal quarter greater than (exclusive)"""
72
+ fiscal_quarter_min: NotRequired[float]
73
+ r"""Fiscal quarter greater than or equal (inclusive)"""
74
+ fiscal_quarter_below: NotRequired[float]
75
+ r"""Fiscal quarter less than (exclusive)"""
76
+ fiscal_quarter_max: NotRequired[float]
77
+ r"""Fiscal quarter less than or equal (inclusive)"""
78
+ timeframe: NotRequired[str]
79
+ r"""Reporting timeframe (e.g. quarterly, annual)"""
80
+ timeframe_any_of: NotRequired[str]
81
+ r"""Timeframe any-of filter. Return records that match at least one listed timeframe."""
82
+ timeframe_after: NotRequired[str]
83
+ r"""Timeframe lower-bound filter. Returns records after this timeframe, excluding the value itself."""
84
+ timeframe_from: NotRequired[str]
85
+ r"""Timeframe greater than or equal (inclusive)"""
86
+ timeframe_before: NotRequired[str]
87
+ r"""Timeframe upper-bound filter. Returns records before this timeframe, excluding the value itself."""
88
+ timeframe_to: NotRequired[str]
89
+ r"""Timeframe less than or equal (inclusive)"""
90
+ max_ticker: NotRequired[str]
91
+ r"""Exact maximum ticker value from the statement record. Use only for provider-specific filtering."""
92
+ max_ticker_any_of: NotRequired[str]
93
+ r"""Max ticker any-of filter. Return records matching at least one listed maxTicker value."""
94
+ max_ticker_after: NotRequired[str]
95
+ r"""Max ticker greater than (exclusive)"""
96
+ max_ticker_from: NotRequired[str]
97
+ r"""Max ticker greater than or equal (inclusive)"""
98
+ max_ticker_before: NotRequired[str]
99
+ r"""Max ticker upper-bound filter. Returns records before this value, excluding the value itself."""
100
+ max_ticker_to: NotRequired[str]
101
+ r"""Max ticker less than or equal (inclusive)"""
102
+ min_ticker: NotRequired[str]
103
+ r"""Exact minimum ticker value from the statement record. Use only for provider-specific filtering."""
104
+ min_ticker_any_of: NotRequired[str]
105
+ r"""Min ticker any-of filter. Return records matching at least one listed minTicker value."""
106
+ min_ticker_after: NotRequired[str]
107
+ r"""Min ticker greater than (exclusive)"""
108
+ min_ticker_from: NotRequired[str]
109
+ r"""Min ticker greater than or equal (inclusive)"""
110
+ min_ticker_before: NotRequired[str]
111
+ r"""Min ticker upper-bound filter. Returns records before this value, excluding the value itself."""
112
+ min_ticker_to: NotRequired[str]
113
+ r"""Min ticker less than or equal (inclusive)"""
114
+ limit: NotRequired[int]
115
+ r"""Maximum number of results per page. Use smaller values for UI pages and larger values for exports within API limits."""
116
+ sort: NotRequired[str]
117
+ r"""A comma-separated list of sort columns. For each column, append `.asc` or `.desc` to specify direction. Defaults to `period_end.asc` when not specified."""
118
+ next: NotRequired[str]
119
+ r"""Pagination cursor from the previous response. Omit it on the first request, then send the returned cursor to fetch the next page."""
120
+
121
+
122
+ class GetIncomeStatementsRequest(BaseModel):
123
+ cik: Annotated[
124
+ Optional[str],
125
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
126
+ ] = None
127
+ r"""Exact SEC CIK company identifier. Use this when you need one specific SEC registrant."""
128
+
129
+ ciks: Annotated[
130
+ Optional[str],
131
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
132
+ ] = None
133
+ r"""Comma-separated CIKs (maps to cik.any_of)"""
134
+
135
+ cik_after: Annotated[
136
+ Optional[str],
137
+ pydantic.Field(alias="cikAfter"),
138
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
139
+ ] = None
140
+ r"""CIK pagination lower bound. Returns records with CIK values greater than this value, excluding the value itself."""
141
+
142
+ cik_from: Annotated[
143
+ Optional[str],
144
+ pydantic.Field(alias="cikFrom"),
145
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
146
+ ] = None
147
+ r"""CIK greater than or equal (inclusive)"""
148
+
149
+ cik_before: Annotated[
150
+ Optional[str],
151
+ pydantic.Field(alias="cikBefore"),
152
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
153
+ ] = None
154
+ r"""CIK pagination upper bound. Returns records with CIK values less than this value, excluding the value itself."""
155
+
156
+ cik_to: Annotated[
157
+ Optional[str],
158
+ pydantic.Field(alias="cikTo"),
159
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
160
+ ] = None
161
+ r"""CIK upper-bound filter. Returns records with CIK values less than or equal to this value."""
162
+
163
+ period_end: Annotated[
164
+ Optional[date],
165
+ pydantic.Field(alias="periodEnd"),
166
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
167
+ ] = None
168
+ r"""Exact fiscal period-end date filter. Use it to return statements for one reporting period."""
169
+
170
+ period_end_after: Annotated[
171
+ Optional[date],
172
+ pydantic.Field(alias="periodEndAfter"),
173
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
174
+ ] = None
175
+ r"""Fiscal period-end lower-bound filter. Returns records after this date, excluding the date itself."""
176
+
177
+ period_end_from: Annotated[
178
+ Optional[date],
179
+ pydantic.Field(alias="periodEndFrom"),
180
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
181
+ ] = None
182
+ r"""Fiscal period-end start filter. Returns records on or after this date."""
183
+
184
+ period_end_before: Annotated[
185
+ Optional[date],
186
+ pydantic.Field(alias="periodEndBefore"),
187
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
188
+ ] = None
189
+ r"""Fiscal period-end upper-bound filter. Returns records before this date, excluding the date itself."""
190
+
191
+ period_end_to: Annotated[
192
+ Optional[date],
193
+ pydantic.Field(alias="periodEndTo"),
194
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
195
+ ] = None
196
+ r"""Fiscal period-end end filter. Returns records on or before this date."""
197
+
198
+ filing_date: Annotated[
199
+ Optional[date],
200
+ pydantic.Field(alias="filingDate"),
201
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
202
+ ] = None
203
+ r"""Exact filing date filter. Use it to return filings submitted on one specific date."""
204
+
205
+ filing_date_after: Annotated[
206
+ Optional[date],
207
+ pydantic.Field(alias="filingDateAfter"),
208
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
209
+ ] = None
210
+ r"""Filing-date lower-bound filter. Returns records after this date, excluding the date itself."""
211
+
212
+ filing_date_from: Annotated[
213
+ Optional[date],
214
+ pydantic.Field(alias="filingDateFrom"),
215
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
216
+ ] = None
217
+ r"""Filing-date start filter. Returns records on or after this date."""
218
+
219
+ filing_date_before: Annotated[
220
+ Optional[date],
221
+ pydantic.Field(alias="filingDateBefore"),
222
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
223
+ ] = None
224
+ r"""Filing-date upper-bound filter. Returns records before this date, excluding the date itself."""
225
+
226
+ filing_date_to: Annotated[
227
+ Optional[date],
228
+ pydantic.Field(alias="filingDateTo"),
229
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
230
+ ] = None
231
+ r"""Filing-date end filter. Returns records on or before this date."""
232
+
233
+ tickers: Annotated[
234
+ Optional[str],
235
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
236
+ ] = None
237
+ r"""Ticker symbol filter. Enter a ticker such as AAPL to narrow results to one company."""
238
+
239
+ tickers_all_of: Annotated[
240
+ Optional[str],
241
+ pydantic.Field(alias="tickersAllOf"),
242
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
243
+ ] = None
244
+ r"""Ticker all-of filter. Return records that include all listed tickers."""
245
+
246
+ tickers_any_of: Annotated[
247
+ Optional[str],
248
+ pydantic.Field(alias="tickersAnyOf"),
249
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
250
+ ] = None
251
+ r"""Ticker any-of filter. Return records that include at least one listed ticker."""
252
+
253
+ fiscal_year: Annotated[
254
+ Optional[float],
255
+ pydantic.Field(alias="fiscalYear"),
256
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
257
+ ] = None
258
+ r"""Exact fiscal year filter. Use it to return statements for one reporting year."""
259
+
260
+ fiscal_year_above: Annotated[
261
+ Optional[float],
262
+ pydantic.Field(alias="fiscalYearAbove"),
263
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
264
+ ] = None
265
+ r"""Fiscal year greater than (exclusive)"""
266
+
267
+ fiscal_year_min: Annotated[
268
+ Optional[float],
269
+ pydantic.Field(alias="fiscalYearMin"),
270
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
271
+ ] = None
272
+ r"""Fiscal year greater than or equal (inclusive)"""
273
+
274
+ fiscal_year_below: Annotated[
275
+ Optional[float],
276
+ pydantic.Field(alias="fiscalYearBelow"),
277
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
278
+ ] = None
279
+ r"""Fiscal-year upper-bound filter. Returns records before this fiscal year, excluding the year itself."""
280
+
281
+ fiscal_year_max: Annotated[
282
+ Optional[float],
283
+ pydantic.Field(alias="fiscalYearMax"),
284
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
285
+ ] = None
286
+ r"""Fiscal year less than or equal (inclusive)"""
287
+
288
+ fiscal_quarter: Annotated[
289
+ Optional[float],
290
+ pydantic.Field(alias="fiscalQuarter"),
291
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
292
+ ] = None
293
+ r"""Exact fiscal quarter filter. Use values such as 1, 2, 3, or 4 when supported."""
294
+
295
+ fiscal_quarter_above: Annotated[
296
+ Optional[float],
297
+ pydantic.Field(alias="fiscalQuarterAbove"),
298
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
299
+ ] = None
300
+ r"""Fiscal quarter greater than (exclusive)"""
301
+
302
+ fiscal_quarter_min: Annotated[
303
+ Optional[float],
304
+ pydantic.Field(alias="fiscalQuarterMin"),
305
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
306
+ ] = None
307
+ r"""Fiscal quarter greater than or equal (inclusive)"""
308
+
309
+ fiscal_quarter_below: Annotated[
310
+ Optional[float],
311
+ pydantic.Field(alias="fiscalQuarterBelow"),
312
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
313
+ ] = None
314
+ r"""Fiscal quarter less than (exclusive)"""
315
+
316
+ fiscal_quarter_max: Annotated[
317
+ Optional[float],
318
+ pydantic.Field(alias="fiscalQuarterMax"),
319
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
320
+ ] = None
321
+ r"""Fiscal quarter less than or equal (inclusive)"""
322
+
323
+ timeframe: Annotated[
324
+ Optional[str],
325
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
326
+ ] = None
327
+ r"""Reporting timeframe (e.g. quarterly, annual)"""
328
+
329
+ timeframe_any_of: Annotated[
330
+ Optional[str],
331
+ pydantic.Field(alias="timeframeAnyOf"),
332
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
333
+ ] = None
334
+ r"""Timeframe any-of filter. Return records that match at least one listed timeframe."""
335
+
336
+ timeframe_after: Annotated[
337
+ Optional[str],
338
+ pydantic.Field(alias="timeframeAfter"),
339
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
340
+ ] = None
341
+ r"""Timeframe lower-bound filter. Returns records after this timeframe, excluding the value itself."""
342
+
343
+ timeframe_from: Annotated[
344
+ Optional[str],
345
+ pydantic.Field(alias="timeframeFrom"),
346
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
347
+ ] = None
348
+ r"""Timeframe greater than or equal (inclusive)"""
349
+
350
+ timeframe_before: Annotated[
351
+ Optional[str],
352
+ pydantic.Field(alias="timeframeBefore"),
353
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
354
+ ] = None
355
+ r"""Timeframe upper-bound filter. Returns records before this timeframe, excluding the value itself."""
356
+
357
+ timeframe_to: Annotated[
358
+ Optional[str],
359
+ pydantic.Field(alias="timeframeTo"),
360
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
361
+ ] = None
362
+ r"""Timeframe less than or equal (inclusive)"""
363
+
364
+ max_ticker: Annotated[
365
+ Optional[str],
366
+ pydantic.Field(alias="maxTicker"),
367
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
368
+ ] = None
369
+ r"""Exact maximum ticker value from the statement record. Use only for provider-specific filtering."""
370
+
371
+ max_ticker_any_of: Annotated[
372
+ Optional[str],
373
+ pydantic.Field(alias="maxTickerAnyOf"),
374
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
375
+ ] = None
376
+ r"""Max ticker any-of filter. Return records matching at least one listed maxTicker value."""
377
+
378
+ max_ticker_after: Annotated[
379
+ Optional[str],
380
+ pydantic.Field(alias="maxTickerAfter"),
381
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
382
+ ] = None
383
+ r"""Max ticker greater than (exclusive)"""
384
+
385
+ max_ticker_from: Annotated[
386
+ Optional[str],
387
+ pydantic.Field(alias="maxTickerFrom"),
388
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
389
+ ] = None
390
+ r"""Max ticker greater than or equal (inclusive)"""
391
+
392
+ max_ticker_before: Annotated[
393
+ Optional[str],
394
+ pydantic.Field(alias="maxTickerBefore"),
395
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
396
+ ] = None
397
+ r"""Max ticker upper-bound filter. Returns records before this value, excluding the value itself."""
398
+
399
+ max_ticker_to: Annotated[
400
+ Optional[str],
401
+ pydantic.Field(alias="maxTickerTo"),
402
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
403
+ ] = None
404
+ r"""Max ticker less than or equal (inclusive)"""
405
+
406
+ min_ticker: Annotated[
407
+ Optional[str],
408
+ pydantic.Field(alias="minTicker"),
409
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
410
+ ] = None
411
+ r"""Exact minimum ticker value from the statement record. Use only for provider-specific filtering."""
412
+
413
+ min_ticker_any_of: Annotated[
414
+ Optional[str],
415
+ pydantic.Field(alias="minTickerAnyOf"),
416
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
417
+ ] = None
418
+ r"""Min ticker any-of filter. Return records matching at least one listed minTicker value."""
419
+
420
+ min_ticker_after: Annotated[
421
+ Optional[str],
422
+ pydantic.Field(alias="minTickerAfter"),
423
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
424
+ ] = None
425
+ r"""Min ticker greater than (exclusive)"""
426
+
427
+ min_ticker_from: Annotated[
428
+ Optional[str],
429
+ pydantic.Field(alias="minTickerFrom"),
430
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
431
+ ] = None
432
+ r"""Min ticker greater than or equal (inclusive)"""
433
+
434
+ min_ticker_before: Annotated[
435
+ Optional[str],
436
+ pydantic.Field(alias="minTickerBefore"),
437
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
438
+ ] = None
439
+ r"""Min ticker upper-bound filter. Returns records before this value, excluding the value itself."""
440
+
441
+ min_ticker_to: Annotated[
442
+ Optional[str],
443
+ pydantic.Field(alias="minTickerTo"),
444
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
445
+ ] = None
446
+ r"""Min ticker less than or equal (inclusive)"""
447
+
448
+ limit: Annotated[
449
+ Optional[int],
450
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
451
+ ] = None
452
+ r"""Maximum number of results per page. Use smaller values for UI pages and larger values for exports within API limits."""
453
+
454
+ sort: Annotated[
455
+ Optional[str],
456
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
457
+ ] = None
458
+ r"""A comma-separated list of sort columns. For each column, append `.asc` or `.desc` to specify direction. Defaults to `period_end.asc` when not specified."""
459
+
460
+ next: Annotated[
461
+ Optional[str],
462
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
463
+ ] = None
464
+ r"""Pagination cursor from the previous response. Omit it on the first request, then send the returned cursor to fetch the next page."""
465
+
466
+ @model_serializer(mode="wrap")
467
+ def serialize_model(self, handler):
468
+ optional_fields = set(
469
+ [
470
+ "cik",
471
+ "ciks",
472
+ "cikAfter",
473
+ "cikFrom",
474
+ "cikBefore",
475
+ "cikTo",
476
+ "periodEnd",
477
+ "periodEndAfter",
478
+ "periodEndFrom",
479
+ "periodEndBefore",
480
+ "periodEndTo",
481
+ "filingDate",
482
+ "filingDateAfter",
483
+ "filingDateFrom",
484
+ "filingDateBefore",
485
+ "filingDateTo",
486
+ "tickers",
487
+ "tickersAllOf",
488
+ "tickersAnyOf",
489
+ "fiscalYear",
490
+ "fiscalYearAbove",
491
+ "fiscalYearMin",
492
+ "fiscalYearBelow",
493
+ "fiscalYearMax",
494
+ "fiscalQuarter",
495
+ "fiscalQuarterAbove",
496
+ "fiscalQuarterMin",
497
+ "fiscalQuarterBelow",
498
+ "fiscalQuarterMax",
499
+ "timeframe",
500
+ "timeframeAnyOf",
501
+ "timeframeAfter",
502
+ "timeframeFrom",
503
+ "timeframeBefore",
504
+ "timeframeTo",
505
+ "maxTicker",
506
+ "maxTickerAnyOf",
507
+ "maxTickerAfter",
508
+ "maxTickerFrom",
509
+ "maxTickerBefore",
510
+ "maxTickerTo",
511
+ "minTicker",
512
+ "minTickerAnyOf",
513
+ "minTickerAfter",
514
+ "minTickerFrom",
515
+ "minTickerBefore",
516
+ "minTickerTo",
517
+ "limit",
518
+ "sort",
519
+ "next",
520
+ ]
521
+ )
522
+ serialized = handler(self)
523
+ m = {}
524
+
525
+ for n, f in type(self).model_fields.items():
526
+ k = f.alias or n
527
+ val = serialized.get(k, serialized.get(n))
528
+
529
+ if val != UNSET_SENTINEL:
530
+ if val is not None or k not in optional_fields:
531
+ m[k] = val
532
+
533
+ return m
534
+
535
+
536
+ class GetIncomeStatementsResponseTypedDict(TypedDict):
537
+ http_meta: HTTPMetadataTypedDict
538
+ income_statements_response: NotRequired[IncomeStatementsResponseTypedDict]
539
+ r"""Successful response with one or more SEC income statement rows, status, request id, and optional nextUrl for pagination."""
540
+
541
+
542
+ class GetIncomeStatementsResponse(BaseModel):
543
+ next: Callable[[], Optional[GetIncomeStatementsResponse]]
544
+
545
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
546
+
547
+ income_statements_response: Optional[IncomeStatementsResponse] = None
548
+ r"""Successful response with one or more SEC income statement rows, status, request id, and optional nextUrl for pagination."""
549
+
550
+ @model_serializer(mode="wrap")
551
+ def serialize_model(self, handler):
552
+ optional_fields = set(["IncomeStatementsResponse"])
553
+ serialized = handler(self)
554
+ m = {}
555
+
556
+ for n, f in type(self).model_fields.items():
557
+ k = f.alias or n
558
+ val = serialized.get(k, serialized.get(n))
559
+
560
+ if val != UNSET_SENTINEL:
561
+ if val is not None or k not in optional_fields:
562
+ m[k] = val
563
+
564
+ return m