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,157 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: f51044bc1fbd
3
+
4
+ from __future__ import annotations
5
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
6
+ from .inflationexpectationsresponse import (
7
+ InflationExpectationsResponse,
8
+ InflationExpectationsResponseTypedDict,
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 GetInflationExpectationsRequestTypedDict(TypedDict):
20
+ date_: NotRequired[date]
21
+ r"""Exact date in YYYY-MM-DD format. Use this when you want one specific calendar day."""
22
+ dates: NotRequired[str]
23
+ r"""Comma-separated list of dates in YYYY-MM-DD format. Use this when you want several specific dates in one request."""
24
+ date_from: NotRequired[date]
25
+ r"""Start-date filter. Returns records on or after this date."""
26
+ date_to: NotRequired[date]
27
+ r"""End-date filter. Returns records on or before this date."""
28
+ date_after: NotRequired[date]
29
+ r"""After-date filter. Returns records after this date, excluding the date itself."""
30
+ date_before: NotRequired[date]
31
+ r"""Before-date filter. Returns records before this date, excluding the date itself."""
32
+ limit: NotRequired[int]
33
+ r"""Maximum number of results to return. Use smaller values for UI pages and larger values for exports within API limits."""
34
+ sort: NotRequired[str]
35
+ r"""A comma-separated list of sort columns. For each column, append `.asc` or `.desc` to specify direction. Defaults to `date.asc` when not specified."""
36
+ next: NotRequired[str]
37
+ r"""Pagination cursor from the previous response. Omit it on the first request, then send the returned cursor to fetch the next page."""
38
+
39
+
40
+ class GetInflationExpectationsRequest(BaseModel):
41
+ date_: Annotated[
42
+ Optional[date],
43
+ pydantic.Field(alias="date"),
44
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
45
+ ] = None
46
+ r"""Exact date in YYYY-MM-DD format. Use this when you want one specific calendar day."""
47
+
48
+ dates: Annotated[
49
+ Optional[str],
50
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
51
+ ] = None
52
+ r"""Comma-separated list of dates in YYYY-MM-DD format. Use this when you want several specific dates in one request."""
53
+
54
+ date_from: Annotated[
55
+ Optional[date],
56
+ pydantic.Field(alias="dateFrom"),
57
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
58
+ ] = None
59
+ r"""Start-date filter. Returns records on or after this date."""
60
+
61
+ date_to: Annotated[
62
+ Optional[date],
63
+ pydantic.Field(alias="dateTo"),
64
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
65
+ ] = None
66
+ r"""End-date filter. Returns records on or before this date."""
67
+
68
+ date_after: Annotated[
69
+ Optional[date],
70
+ pydantic.Field(alias="dateAfter"),
71
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
72
+ ] = None
73
+ r"""After-date filter. Returns records after this date, excluding the date itself."""
74
+
75
+ date_before: Annotated[
76
+ Optional[date],
77
+ pydantic.Field(alias="dateBefore"),
78
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
79
+ ] = None
80
+ r"""Before-date filter. Returns records before this date, excluding the date itself."""
81
+
82
+ limit: Annotated[
83
+ Optional[int],
84
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
85
+ ] = None
86
+ r"""Maximum number of results to return. Use smaller values for UI pages and larger values for exports within API limits."""
87
+
88
+ sort: Annotated[
89
+ Optional[str],
90
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
91
+ ] = None
92
+ r"""A comma-separated list of sort columns. For each column, append `.asc` or `.desc` to specify direction. Defaults to `date.asc` when not specified."""
93
+
94
+ next: Annotated[
95
+ Optional[str],
96
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
97
+ ] = None
98
+ r"""Pagination cursor from the previous response. Omit it on the first request, then send the returned cursor to fetch the next page."""
99
+
100
+ @model_serializer(mode="wrap")
101
+ def serialize_model(self, handler):
102
+ optional_fields = set(
103
+ [
104
+ "date",
105
+ "dates",
106
+ "dateFrom",
107
+ "dateTo",
108
+ "dateAfter",
109
+ "dateBefore",
110
+ "limit",
111
+ "sort",
112
+ "next",
113
+ ]
114
+ )
115
+ serialized = handler(self)
116
+ m = {}
117
+
118
+ for n, f in type(self).model_fields.items():
119
+ k = f.alias or n
120
+ val = serialized.get(k, serialized.get(n))
121
+
122
+ if val != UNSET_SENTINEL:
123
+ if val is not None or k not in optional_fields:
124
+ m[k] = val
125
+
126
+ return m
127
+
128
+
129
+ class GetInflationExpectationsResponseTypedDict(TypedDict):
130
+ http_meta: HTTPMetadataTypedDict
131
+ inflation_expectations_response: NotRequired[InflationExpectationsResponseTypedDict]
132
+ r"""Successful response"""
133
+
134
+
135
+ class GetInflationExpectationsResponse(BaseModel):
136
+ next: Callable[[], Optional[GetInflationExpectationsResponse]]
137
+
138
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
139
+
140
+ inflation_expectations_response: Optional[InflationExpectationsResponse] = None
141
+ r"""Successful response"""
142
+
143
+ @model_serializer(mode="wrap")
144
+ def serialize_model(self, handler):
145
+ optional_fields = set(["InflationExpectationsResponse"])
146
+ serialized = handler(self)
147
+ m = {}
148
+
149
+ for n, f in type(self).model_fields.items():
150
+ k = f.alias or n
151
+ val = serialized.get(k, serialized.get(n))
152
+
153
+ if val != UNSET_SENTINEL:
154
+ if val is not None or k not in optional_fields:
155
+ m[k] = val
156
+
157
+ return m
@@ -0,0 +1,154 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 67032bce2451
3
+
4
+ from __future__ import annotations
5
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
6
+ from .inflationresponse import InflationResponse, InflationResponseTypedDict
7
+ from datetime import date
8
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
9
+ from finance_dev.utils import FieldMetadata, QueryParamMetadata
10
+ import pydantic
11
+ from pydantic import model_serializer
12
+ from typing import Callable, Optional
13
+ from typing_extensions import Annotated, NotRequired, TypedDict
14
+
15
+
16
+ class GetInflationRequestTypedDict(TypedDict):
17
+ date_: NotRequired[date]
18
+ r"""Exact date in YYYY-MM-DD format. Use this when you want one specific calendar day."""
19
+ dates: NotRequired[str]
20
+ r"""Comma-separated list of dates in YYYY-MM-DD format. Use this when you want several specific dates in one request."""
21
+ date_from: NotRequired[date]
22
+ r"""Start-date filter. Returns records on or after this date."""
23
+ date_to: NotRequired[date]
24
+ r"""End-date filter. Returns records on or before this date."""
25
+ date_after: NotRequired[date]
26
+ r"""After-date filter. Returns records after this date, excluding the date itself."""
27
+ date_before: NotRequired[date]
28
+ r"""Before-date filter. Returns records before this date, excluding the date itself."""
29
+ limit: NotRequired[int]
30
+ r"""Maximum number of results to return. Use smaller values for UI pages and larger values for exports within API limits."""
31
+ sort: NotRequired[str]
32
+ r"""A comma-separated list of sort columns. For each column, append `.asc` or `.desc` to specify direction. Defaults to `date.asc` when not specified."""
33
+ next: NotRequired[str]
34
+ r"""Pagination cursor from the previous response. Omit it on the first request, then send the returned cursor to fetch the next page."""
35
+
36
+
37
+ class GetInflationRequest(BaseModel):
38
+ date_: Annotated[
39
+ Optional[date],
40
+ pydantic.Field(alias="date"),
41
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
42
+ ] = None
43
+ r"""Exact date in YYYY-MM-DD format. Use this when you want one specific calendar day."""
44
+
45
+ dates: Annotated[
46
+ Optional[str],
47
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
48
+ ] = None
49
+ r"""Comma-separated list of dates in YYYY-MM-DD format. Use this when you want several specific dates in one request."""
50
+
51
+ date_from: Annotated[
52
+ Optional[date],
53
+ pydantic.Field(alias="dateFrom"),
54
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
55
+ ] = None
56
+ r"""Start-date filter. Returns records on or after this date."""
57
+
58
+ date_to: Annotated[
59
+ Optional[date],
60
+ pydantic.Field(alias="dateTo"),
61
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
62
+ ] = None
63
+ r"""End-date filter. Returns records on or before this date."""
64
+
65
+ date_after: Annotated[
66
+ Optional[date],
67
+ pydantic.Field(alias="dateAfter"),
68
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
69
+ ] = None
70
+ r"""After-date filter. Returns records after this date, excluding the date itself."""
71
+
72
+ date_before: Annotated[
73
+ Optional[date],
74
+ pydantic.Field(alias="dateBefore"),
75
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
76
+ ] = None
77
+ r"""Before-date filter. Returns records before this date, excluding the date itself."""
78
+
79
+ limit: Annotated[
80
+ Optional[int],
81
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
82
+ ] = None
83
+ r"""Maximum number of results to return. Use smaller values for UI pages and larger values for exports within API limits."""
84
+
85
+ sort: Annotated[
86
+ Optional[str],
87
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
88
+ ] = None
89
+ r"""A comma-separated list of sort columns. For each column, append `.asc` or `.desc` to specify direction. Defaults to `date.asc` when not specified."""
90
+
91
+ next: Annotated[
92
+ Optional[str],
93
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
94
+ ] = None
95
+ r"""Pagination cursor from the previous response. Omit it on the first request, then send the returned cursor to fetch the next page."""
96
+
97
+ @model_serializer(mode="wrap")
98
+ def serialize_model(self, handler):
99
+ optional_fields = set(
100
+ [
101
+ "date",
102
+ "dates",
103
+ "dateFrom",
104
+ "dateTo",
105
+ "dateAfter",
106
+ "dateBefore",
107
+ "limit",
108
+ "sort",
109
+ "next",
110
+ ]
111
+ )
112
+ serialized = handler(self)
113
+ m = {}
114
+
115
+ for n, f in type(self).model_fields.items():
116
+ k = f.alias or n
117
+ val = serialized.get(k, serialized.get(n))
118
+
119
+ if val != UNSET_SENTINEL:
120
+ if val is not None or k not in optional_fields:
121
+ m[k] = val
122
+
123
+ return m
124
+
125
+
126
+ class GetInflationResponseTypedDict(TypedDict):
127
+ http_meta: HTTPMetadataTypedDict
128
+ inflation_response: NotRequired[InflationResponseTypedDict]
129
+ r"""Successful response"""
130
+
131
+
132
+ class GetInflationResponse(BaseModel):
133
+ next: Callable[[], Optional[GetInflationResponse]]
134
+
135
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
136
+
137
+ inflation_response: Optional[InflationResponse] = None
138
+ r"""Successful response"""
139
+
140
+ @model_serializer(mode="wrap")
141
+ def serialize_model(self, handler):
142
+ optional_fields = set(["InflationResponse"])
143
+ serialized = handler(self)
144
+ m = {}
145
+
146
+ for n, f in type(self).model_fields.items():
147
+ k = f.alias or n
148
+ val = serialized.get(k, serialized.get(n))
149
+
150
+ if val != UNSET_SENTINEL:
151
+ if val is not None or k not in optional_fields:
152
+ m[k] = val
153
+
154
+ return m
@@ -0,0 +1,90 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 594f80221f9a
3
+
4
+ from __future__ import annotations
5
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
6
+ from .insidertransactionsresponse import (
7
+ InsiderTransactionsResponse,
8
+ InsiderTransactionsResponseTypedDict,
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 Optional
16
+ from typing_extensions import Annotated, NotRequired, TypedDict
17
+
18
+
19
+ class GetInsiderTransactionsRequestTypedDict(TypedDict):
20
+ symbol: str
21
+ r"""Stock symbol, such as AAPL. Use it to narrow results to one company."""
22
+ from_: NotRequired[date]
23
+ r"""Optional start date in YYYY-MM-DD format. Use it to begin the research window."""
24
+ to: NotRequired[date]
25
+ r"""Optional end date in YYYY-MM-DD format. Use it to end the research window."""
26
+
27
+
28
+ class GetInsiderTransactionsRequest(BaseModel):
29
+ symbol: Annotated[
30
+ str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
31
+ ]
32
+ r"""Stock symbol, such as AAPL. Use it to narrow results to one company."""
33
+
34
+ from_: Annotated[
35
+ Optional[date],
36
+ pydantic.Field(alias="from"),
37
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
38
+ ] = None
39
+ r"""Optional start date in YYYY-MM-DD format. Use it to begin the research window."""
40
+
41
+ to: Annotated[
42
+ Optional[date],
43
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
44
+ ] = None
45
+ r"""Optional end date in YYYY-MM-DD format. Use it to end the research window."""
46
+
47
+ @model_serializer(mode="wrap")
48
+ def serialize_model(self, handler):
49
+ optional_fields = set(["from", "to"])
50
+ serialized = handler(self)
51
+ m = {}
52
+
53
+ for n, f in type(self).model_fields.items():
54
+ k = f.alias or n
55
+ val = serialized.get(k, serialized.get(n))
56
+
57
+ if val != UNSET_SENTINEL:
58
+ if val is not None or k not in optional_fields:
59
+ m[k] = val
60
+
61
+ return m
62
+
63
+
64
+ class GetInsiderTransactionsResponseTypedDict(TypedDict):
65
+ http_meta: HTTPMetadataTypedDict
66
+ insider_transactions_response: NotRequired[InsiderTransactionsResponseTypedDict]
67
+ r"""Insider transactions."""
68
+
69
+
70
+ class GetInsiderTransactionsResponse(BaseModel):
71
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
72
+
73
+ insider_transactions_response: Optional[InsiderTransactionsResponse] = None
74
+ r"""Insider transactions."""
75
+
76
+ @model_serializer(mode="wrap")
77
+ def serialize_model(self, handler):
78
+ optional_fields = set(["InsiderTransactionsResponse"])
79
+ serialized = handler(self)
80
+ m = {}
81
+
82
+ for n, f in type(self).model_fields.items():
83
+ k = f.alias or n
84
+ val = serialized.get(k, serialized.get(n))
85
+
86
+ if val != UNSET_SENTINEL:
87
+ if val is not None or k not in optional_fields:
88
+ m[k] = val
89
+
90
+ return m
@@ -0,0 +1,99 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: f0aecac29259
3
+
4
+ from __future__ import annotations
5
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
6
+ from .institutionalownershipresponse import (
7
+ InstitutionalOwnershipResponse,
8
+ InstitutionalOwnershipResponseTypedDict,
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 Optional
16
+ from typing_extensions import Annotated, NotRequired, TypedDict
17
+
18
+
19
+ class GetInstitutionalOwnershipRequestTypedDict(TypedDict):
20
+ cusip: str
21
+ r"""CUSIP security identifier for the security you want institutional ownership for."""
22
+ from_: date
23
+ r"""Start date in YYYY-MM-DD format. Enter the first date to include in the research window."""
24
+ to: date
25
+ r"""End date in YYYY-MM-DD format. Enter the last date to include in the research window."""
26
+ symbol: NotRequired[str]
27
+ r"""Optional stock ticker symbol filter, such as AAPL. Use it to narrow results to one company."""
28
+
29
+
30
+ class GetInstitutionalOwnershipRequest(BaseModel):
31
+ cusip: Annotated[
32
+ str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
33
+ ]
34
+ r"""CUSIP security identifier for the security you want institutional ownership for."""
35
+
36
+ from_: Annotated[
37
+ date,
38
+ pydantic.Field(alias="from"),
39
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
40
+ ]
41
+ r"""Start date in YYYY-MM-DD format. Enter the first date to include in the research window."""
42
+
43
+ to: Annotated[
44
+ date, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
45
+ ]
46
+ r"""End date in YYYY-MM-DD format. Enter the last date to include in the research window."""
47
+
48
+ symbol: Annotated[
49
+ Optional[str],
50
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
51
+ ] = None
52
+ r"""Optional stock ticker symbol filter, such as AAPL. Use it to narrow results to one company."""
53
+
54
+ @model_serializer(mode="wrap")
55
+ def serialize_model(self, handler):
56
+ optional_fields = set(["symbol"])
57
+ serialized = handler(self)
58
+ m = {}
59
+
60
+ for n, f in type(self).model_fields.items():
61
+ k = f.alias or n
62
+ val = serialized.get(k, serialized.get(n))
63
+
64
+ if val != UNSET_SENTINEL:
65
+ if val is not None or k not in optional_fields:
66
+ m[k] = val
67
+
68
+ return m
69
+
70
+
71
+ class GetInstitutionalOwnershipResponseTypedDict(TypedDict):
72
+ http_meta: HTTPMetadataTypedDict
73
+ institutional_ownership_response: NotRequired[
74
+ InstitutionalOwnershipResponseTypedDict
75
+ ]
76
+ r"""Institutional ownership data."""
77
+
78
+
79
+ class GetInstitutionalOwnershipResponse(BaseModel):
80
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
81
+
82
+ institutional_ownership_response: Optional[InstitutionalOwnershipResponse] = None
83
+ r"""Institutional ownership data."""
84
+
85
+ @model_serializer(mode="wrap")
86
+ def serialize_model(self, handler):
87
+ optional_fields = set(["InstitutionalOwnershipResponse"])
88
+ serialized = handler(self)
89
+ m = {}
90
+
91
+ for n, f in type(self).model_fields.items():
92
+ k = f.alias or n
93
+ val = serialized.get(k, serialized.get(n))
94
+
95
+ if val != UNSET_SENTINEL:
96
+ if val is not None or k not in optional_fields:
97
+ m[k] = val
98
+
99
+ return m
@@ -0,0 +1,75 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 52c9324084d8
3
+
4
+ from __future__ import annotations
5
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
6
+ from .institutionalportfolioresponse import (
7
+ InstitutionalPortfolioResponse,
8
+ InstitutionalPortfolioResponseTypedDict,
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 Optional
16
+ from typing_extensions import Annotated, NotRequired, TypedDict
17
+
18
+
19
+ class GetInstitutionalPortfolioRequestTypedDict(TypedDict):
20
+ cik: str
21
+ r"""Central Index Key (CIK) of the institution."""
22
+ from_: date
23
+ r"""Start date in YYYY-MM-DD format. Enter the first date to include in the research window."""
24
+ to: date
25
+ r"""End date in YYYY-MM-DD format. Enter the last date to include in the research window."""
26
+
27
+
28
+ class GetInstitutionalPortfolioRequest(BaseModel):
29
+ cik: Annotated[
30
+ str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
31
+ ]
32
+ r"""Central Index Key (CIK) of the institution."""
33
+
34
+ from_: Annotated[
35
+ date,
36
+ pydantic.Field(alias="from"),
37
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
38
+ ]
39
+ r"""Start date in YYYY-MM-DD format. Enter the first date to include in the research window."""
40
+
41
+ to: Annotated[
42
+ date, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
43
+ ]
44
+ r"""End date in YYYY-MM-DD format. Enter the last date to include in the research window."""
45
+
46
+
47
+ class GetInstitutionalPortfolioResponseTypedDict(TypedDict):
48
+ http_meta: HTTPMetadataTypedDict
49
+ institutional_portfolio_response: NotRequired[
50
+ InstitutionalPortfolioResponseTypedDict
51
+ ]
52
+ r"""Institutional portfolio holdings."""
53
+
54
+
55
+ class GetInstitutionalPortfolioResponse(BaseModel):
56
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
57
+
58
+ institutional_portfolio_response: Optional[InstitutionalPortfolioResponse] = None
59
+ r"""Institutional portfolio holdings."""
60
+
61
+ @model_serializer(mode="wrap")
62
+ def serialize_model(self, handler):
63
+ optional_fields = set(["InstitutionalPortfolioResponse"])
64
+ serialized = handler(self)
65
+ m = {}
66
+
67
+ for n, f in type(self).model_fields.items():
68
+ k = f.alias or n
69
+ val = serialized.get(k, serialized.get(n))
70
+
71
+ if val != UNSET_SENTINEL:
72
+ if val is not None or k not in optional_fields:
73
+ m[k] = val
74
+
75
+ return m
@@ -0,0 +1,68 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 18f8f6725dc2
3
+
4
+ from __future__ import annotations
5
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
6
+ from .investmentthemeid import InvestmentThemeID
7
+ from .investmentthemeresponse import (
8
+ InvestmentThemeResponse,
9
+ InvestmentThemeResponseTypedDict,
10
+ )
11
+ from finance_dev import models
12
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
13
+ from finance_dev.utils import FieldMetadata, QueryParamMetadata
14
+ import pydantic
15
+ from pydantic import field_serializer, model_serializer
16
+ from typing import Optional
17
+ from typing_extensions import Annotated, NotRequired, TypedDict
18
+
19
+
20
+ class GetInvestmentThemeRequestTypedDict(TypedDict):
21
+ theme: InvestmentThemeID
22
+ r"""investment theme identifier. Use the Try it dropdown or the supported values list on the reference page."""
23
+
24
+
25
+ class GetInvestmentThemeRequest(BaseModel):
26
+ theme: Annotated[
27
+ InvestmentThemeID,
28
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
29
+ ]
30
+ r"""investment theme identifier. Use the Try it dropdown or the supported values list on the reference page."""
31
+
32
+ @field_serializer("theme")
33
+ def serialize_theme(self, value):
34
+ if isinstance(value, str):
35
+ try:
36
+ return models.InvestmentThemeID(value)
37
+ except ValueError:
38
+ return value
39
+ return value
40
+
41
+
42
+ class GetInvestmentThemeResponseTypedDict(TypedDict):
43
+ http_meta: HTTPMetadataTypedDict
44
+ investment_theme_response: NotRequired[InvestmentThemeResponseTypedDict]
45
+ r"""Investment theme data."""
46
+
47
+
48
+ class GetInvestmentThemeResponse(BaseModel):
49
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
50
+
51
+ investment_theme_response: Optional[InvestmentThemeResponse] = None
52
+ r"""Investment theme data."""
53
+
54
+ @model_serializer(mode="wrap")
55
+ def serialize_model(self, handler):
56
+ optional_fields = set(["InvestmentThemeResponse"])
57
+ serialized = handler(self)
58
+ m = {}
59
+
60
+ for n, f in type(self).model_fields.items():
61
+ k = f.alias or n
62
+ val = serialized.get(k, serialized.get(n))
63
+
64
+ if val != UNSET_SENTINEL:
65
+ if val is not None or k not in optional_fields:
66
+ m[k] = val
67
+
68
+ return m