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,122 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 0a0c0990588d
3
+
4
+ from __future__ import annotations
5
+ from .chartbars import ChartBars, ChartBarsTypedDict
6
+ from .chartresolution import ChartResolution
7
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
8
+ from finance_dev import models
9
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
10
+ from finance_dev.utils import FieldMetadata, QueryParamMetadata
11
+ import pydantic
12
+ from pydantic import field_serializer, model_serializer
13
+ from typing import Optional
14
+ from typing_extensions import Annotated, NotRequired, TypedDict
15
+
16
+
17
+ class GetChartHistoryRequestTypedDict(TypedDict):
18
+ symbol: str
19
+ r"""Symbol to fetch bars for. Use the exact symbol returned by symbol search, such as `AAPL` for equities or the selected chart symbol for futures/options."""
20
+ resolution: ChartResolution
21
+ r"""Candle size. Use minute values such as `1`, `5`, or `60` for intraday charts, `D` or `1D` for daily charts, `W` or `1W` for weekly charts, and `M`, `1M`, `3M`, `6M`, or `12M` for monthly views."""
22
+ from_: int
23
+ r"""Start of the chart window as a Unix timestamp. Send seconds; millisecond timestamps are accepted and converted automatically. Negative timestamps are clamped to the Unix epoch."""
24
+ to: int
25
+ r"""End of the chart window as a Unix timestamp. Must be greater than `from`. Send seconds; millisecond timestamps are accepted and converted automatically. A range entirely before the Unix epoch returns no_data."""
26
+ first_data_request: NotRequired[str]
27
+ r"""TradingView compatibility flag. Omit or send a non-zero value for the first chart request; send `0` for follow-up history requests."""
28
+ include_extended: NotRequired[bool]
29
+ r"""Set to `true` when the chart should include eligible pre-market and after-hours bars. Leave `false` for regular session charts."""
30
+
31
+
32
+ class GetChartHistoryRequest(BaseModel):
33
+ symbol: Annotated[
34
+ str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
35
+ ]
36
+ r"""Symbol to fetch bars for. Use the exact symbol returned by symbol search, such as `AAPL` for equities or the selected chart symbol for futures/options."""
37
+
38
+ resolution: Annotated[
39
+ ChartResolution,
40
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
41
+ ]
42
+ r"""Candle size. Use minute values such as `1`, `5`, or `60` for intraday charts, `D` or `1D` for daily charts, `W` or `1W` for weekly charts, and `M`, `1M`, `3M`, `6M`, or `12M` for monthly views."""
43
+
44
+ from_: Annotated[
45
+ int,
46
+ pydantic.Field(alias="from"),
47
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
48
+ ]
49
+ r"""Start of the chart window as a Unix timestamp. Send seconds; millisecond timestamps are accepted and converted automatically. Negative timestamps are clamped to the Unix epoch."""
50
+
51
+ to: Annotated[
52
+ int, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
53
+ ]
54
+ r"""End of the chart window as a Unix timestamp. Must be greater than `from`. Send seconds; millisecond timestamps are accepted and converted automatically. A range entirely before the Unix epoch returns no_data."""
55
+
56
+ first_data_request: Annotated[
57
+ Optional[str],
58
+ pydantic.Field(alias="firstDataRequest"),
59
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
60
+ ] = None
61
+ r"""TradingView compatibility flag. Omit or send a non-zero value for the first chart request; send `0` for follow-up history requests."""
62
+
63
+ include_extended: Annotated[
64
+ Optional[bool],
65
+ pydantic.Field(alias="includeExtended"),
66
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
67
+ ] = False
68
+ r"""Set to `true` when the chart should include eligible pre-market and after-hours bars. Leave `false` for regular session charts."""
69
+
70
+ @field_serializer("resolution")
71
+ def serialize_resolution(self, value):
72
+ if isinstance(value, str):
73
+ try:
74
+ return models.ChartResolution(value)
75
+ except ValueError:
76
+ return value
77
+ return value
78
+
79
+ @model_serializer(mode="wrap")
80
+ def serialize_model(self, handler):
81
+ optional_fields = set(["firstDataRequest", "includeExtended"])
82
+ serialized = handler(self)
83
+ m = {}
84
+
85
+ for n, f in type(self).model_fields.items():
86
+ k = f.alias or n
87
+ val = serialized.get(k, serialized.get(n))
88
+
89
+ if val != UNSET_SENTINEL:
90
+ if val is not None or k not in optional_fields:
91
+ m[k] = val
92
+
93
+ return m
94
+
95
+
96
+ class GetChartHistoryResponseTypedDict(TypedDict):
97
+ http_meta: HTTPMetadataTypedDict
98
+ chart_bars: NotRequired[ChartBarsTypedDict]
99
+ r"""Historical bars in TradingView UDF format. Check s: ok = data in t, o, h, l, c, v; no_data = no bars; error = provider or processing error. Invalid query parameters or time ranges return HTTP 400."""
100
+
101
+
102
+ class GetChartHistoryResponse(BaseModel):
103
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
104
+
105
+ chart_bars: Optional[ChartBars] = None
106
+ r"""Historical bars in TradingView UDF format. Check s: ok = data in t, o, h, l, c, v; no_data = no bars; error = provider or processing error. Invalid query parameters or time ranges return HTTP 400."""
107
+
108
+ @model_serializer(mode="wrap")
109
+ def serialize_model(self, handler):
110
+ optional_fields = set(["ChartBars"])
111
+ serialized = handler(self)
112
+ m = {}
113
+
114
+ for n, f in type(self).model_fields.items():
115
+ k = f.alias or n
116
+ val = serialized.get(k, serialized.get(n))
117
+
118
+ if val != UNSET_SENTINEL:
119
+ if val is not None or k not in optional_fields:
120
+ m[k] = val
121
+
122
+ return m
@@ -0,0 +1,39 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 216f394f836f
3
+
4
+ from __future__ import annotations
5
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
6
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
7
+ import pydantic
8
+ from pydantic import model_serializer
9
+ from typing import Optional
10
+ from typing_extensions import Annotated, NotRequired, TypedDict
11
+
12
+
13
+ class GetChartTimeResponseTypedDict(TypedDict):
14
+ http_meta: HTTPMetadataTypedDict
15
+ res: NotRequired[str]
16
+ r"""Current server time (Unix seconds) as plain text"""
17
+
18
+
19
+ class GetChartTimeResponse(BaseModel):
20
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
21
+
22
+ res: Optional[str] = None
23
+ r"""Current server time (Unix seconds) as plain text"""
24
+
25
+ @model_serializer(mode="wrap")
26
+ def serialize_model(self, handler):
27
+ optional_fields = set(["res"])
28
+ serialized = handler(self)
29
+ m = {}
30
+
31
+ for n, f in type(self).model_fields.items():
32
+ k = f.alias or n
33
+ val = serialized.get(k, serialized.get(n))
34
+
35
+ if val != UNSET_SENTINEL:
36
+ if val is not None or k not in optional_fields:
37
+ m[k] = val
38
+
39
+ return m
@@ -0,0 +1,53 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: d470bc877825
3
+
4
+ from __future__ import annotations
5
+ from .companyesgresponse import CompanyEsgResponse, CompanyEsgResponseTypedDict
6
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
7
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
8
+ from finance_dev.utils import FieldMetadata, QueryParamMetadata
9
+ import pydantic
10
+ from pydantic import model_serializer
11
+ from typing import Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class GetCompanyEsgRequestTypedDict(TypedDict):
16
+ symbol: str
17
+ r"""Stock ticker to query. Send the plain uppercase symbol exactly as you'd type it on a brokerage screen, e.g. `AAPL`, `MSFT`."""
18
+
19
+
20
+ class GetCompanyEsgRequest(BaseModel):
21
+ symbol: Annotated[
22
+ str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
23
+ ]
24
+ r"""Stock ticker to query. Send the plain uppercase symbol exactly as you'd type it on a brokerage screen, e.g. `AAPL`, `MSFT`."""
25
+
26
+
27
+ class GetCompanyEsgResponseTypedDict(TypedDict):
28
+ http_meta: HTTPMetadataTypedDict
29
+ company_esg_response: NotRequired[CompanyEsgResponseTypedDict]
30
+ r"""Company ESG data."""
31
+
32
+
33
+ class GetCompanyEsgResponse(BaseModel):
34
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
35
+
36
+ company_esg_response: Optional[CompanyEsgResponse] = None
37
+ r"""Company ESG data."""
38
+
39
+ @model_serializer(mode="wrap")
40
+ def serialize_model(self, handler):
41
+ optional_fields = set(["CompanyEsgResponse"])
42
+ serialized = handler(self)
43
+ m = {}
44
+
45
+ for n, f in type(self).model_fields.items():
46
+ k = f.alias or n
47
+ val = serialized.get(k, serialized.get(n))
48
+
49
+ if val != UNSET_SENTINEL:
50
+ if val is not None or k not in optional_fields:
51
+ m[k] = val
52
+
53
+ return m
@@ -0,0 +1,56 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: ebf0144b037e
3
+
4
+ from __future__ import annotations
5
+ from .companyexecutiveresponse import (
6
+ CompanyExecutiveResponse,
7
+ CompanyExecutiveResponseTypedDict,
8
+ )
9
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
10
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
11
+ from finance_dev.utils import FieldMetadata, QueryParamMetadata
12
+ import pydantic
13
+ from pydantic import model_serializer
14
+ from typing import Optional
15
+ from typing_extensions import Annotated, NotRequired, TypedDict
16
+
17
+
18
+ class GetCompanyExecutivesRequestTypedDict(TypedDict):
19
+ symbol: str
20
+ r"""Stock ticker symbol to research, such as AAPL."""
21
+
22
+
23
+ class GetCompanyExecutivesRequest(BaseModel):
24
+ symbol: Annotated[
25
+ str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
26
+ ]
27
+ r"""Stock ticker symbol to research, such as AAPL."""
28
+
29
+
30
+ class GetCompanyExecutivesResponseTypedDict(TypedDict):
31
+ http_meta: HTTPMetadataTypedDict
32
+ company_executive_response: NotRequired[CompanyExecutiveResponseTypedDict]
33
+ r"""Successful response"""
34
+
35
+
36
+ class GetCompanyExecutivesResponse(BaseModel):
37
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
38
+
39
+ company_executive_response: Optional[CompanyExecutiveResponse] = None
40
+ r"""Successful response"""
41
+
42
+ @model_serializer(mode="wrap")
43
+ def serialize_model(self, handler):
44
+ optional_fields = set(["CompanyExecutiveResponse"])
45
+ serialized = handler(self)
46
+ m = {}
47
+
48
+ for n, f in type(self).model_fields.items():
49
+ k = f.alias or n
50
+ val = serialized.get(k, serialized.get(n))
51
+
52
+ if val != UNSET_SENTINEL:
53
+ if val is not None or k not in optional_fields:
54
+ m[k] = val
55
+
56
+ return m
@@ -0,0 +1,68 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: c38d9bd1b747
3
+
4
+ from __future__ import annotations
5
+ from .basicfinancials import BasicFinancials, BasicFinancialsTypedDict
6
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
7
+ from enum import Enum
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 Optional
13
+ from typing_extensions import Annotated, NotRequired, TypedDict
14
+
15
+
16
+ class GetCompanyMetricsMetric(str, Enum):
17
+ r"""Which metric group to return. Currently only `all` is supported — it returns every available metric for the symbol."""
18
+
19
+ ALL = "all"
20
+
21
+
22
+ class GetCompanyMetricsRequestTypedDict(TypedDict):
23
+ symbol: str
24
+ r"""Stock ticker symbol to research, such as AAPL."""
25
+ metric: GetCompanyMetricsMetric
26
+ r"""Which metric group to return. Currently only `all` is supported — it returns every available metric for the symbol."""
27
+
28
+
29
+ class GetCompanyMetricsRequest(BaseModel):
30
+ symbol: Annotated[
31
+ str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
32
+ ]
33
+ r"""Stock ticker symbol to research, such as AAPL."""
34
+
35
+ metric: Annotated[
36
+ GetCompanyMetricsMetric,
37
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
38
+ ]
39
+ r"""Which metric group to return. Currently only `all` is supported — it returns every available metric for the symbol."""
40
+
41
+
42
+ class GetCompanyMetricsResponseTypedDict(TypedDict):
43
+ http_meta: HTTPMetadataTypedDict
44
+ basic_financials: NotRequired[BasicFinancialsTypedDict]
45
+ r"""Successful response"""
46
+
47
+
48
+ class GetCompanyMetricsResponse(BaseModel):
49
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
50
+
51
+ basic_financials: Optional[BasicFinancials] = None
52
+ r"""Successful response"""
53
+
54
+ @model_serializer(mode="wrap")
55
+ def serialize_model(self, handler):
56
+ optional_fields = set(["BasicFinancials"])
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
@@ -0,0 +1,53 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 9fa0d001998a
3
+
4
+ from __future__ import annotations
5
+ from .companypeersresponse import CompanyPeersResponse, CompanyPeersResponseTypedDict
6
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
7
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
8
+ from finance_dev.utils import FieldMetadata, QueryParamMetadata
9
+ import pydantic
10
+ from pydantic import model_serializer
11
+ from typing import Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class GetCompanyPeersRequestTypedDict(TypedDict):
16
+ symbol: str
17
+ r"""Stock ticker symbol to research, such as AAPL."""
18
+
19
+
20
+ class GetCompanyPeersRequest(BaseModel):
21
+ symbol: Annotated[
22
+ str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
23
+ ]
24
+ r"""Stock ticker symbol to research, such as AAPL."""
25
+
26
+
27
+ class GetCompanyPeersResponseTypedDict(TypedDict):
28
+ http_meta: HTTPMetadataTypedDict
29
+ company_peers_response: NotRequired[CompanyPeersResponseTypedDict]
30
+ r"""Successful response"""
31
+
32
+
33
+ class GetCompanyPeersResponse(BaseModel):
34
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
35
+
36
+ company_peers_response: Optional[CompanyPeersResponse] = None
37
+ r"""Successful response"""
38
+
39
+ @model_serializer(mode="wrap")
40
+ def serialize_model(self, handler):
41
+ optional_fields = set(["CompanyPeersResponse"])
42
+ serialized = handler(self)
43
+ m = {}
44
+
45
+ for n, f in type(self).model_fields.items():
46
+ k = f.alias or n
47
+ val = serialized.get(k, serialized.get(n))
48
+
49
+ if val != UNSET_SENTINEL:
50
+ if val is not None or k not in optional_fields:
51
+ m[k] = val
52
+
53
+ return m
@@ -0,0 +1,56 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 538266812579
3
+
4
+ from __future__ import annotations
5
+ from .companypresentationresponse import (
6
+ CompanyPresentationResponse,
7
+ CompanyPresentationResponseTypedDict,
8
+ )
9
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
10
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
11
+ from finance_dev.utils import FieldMetadata, QueryParamMetadata
12
+ import pydantic
13
+ from pydantic import model_serializer
14
+ from typing import Optional
15
+ from typing_extensions import Annotated, NotRequired, TypedDict
16
+
17
+
18
+ class GetCompanyPresentationRequestTypedDict(TypedDict):
19
+ symbol: str
20
+ r"""Stock ticker to query. Send the plain uppercase symbol exactly as you'd type it on a brokerage screen, e.g. `AAPL`, `MSFT`."""
21
+
22
+
23
+ class GetCompanyPresentationRequest(BaseModel):
24
+ symbol: Annotated[
25
+ str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
26
+ ]
27
+ r"""Stock ticker to query. Send the plain uppercase symbol exactly as you'd type it on a brokerage screen, e.g. `AAPL`, `MSFT`."""
28
+
29
+
30
+ class GetCompanyPresentationResponseTypedDict(TypedDict):
31
+ http_meta: HTTPMetadataTypedDict
32
+ company_presentation_response: NotRequired[CompanyPresentationResponseTypedDict]
33
+ r"""Company presentation."""
34
+
35
+
36
+ class GetCompanyPresentationResponse(BaseModel):
37
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
38
+
39
+ company_presentation_response: Optional[CompanyPresentationResponse] = None
40
+ r"""Company presentation."""
41
+
42
+ @model_serializer(mode="wrap")
43
+ def serialize_model(self, handler):
44
+ optional_fields = set(["CompanyPresentationResponse"])
45
+ serialized = handler(self)
46
+ m = {}
47
+
48
+ for n, f in type(self).model_fields.items():
49
+ k = f.alias or n
50
+ val = serialized.get(k, serialized.get(n))
51
+
52
+ if val != UNSET_SENTINEL:
53
+ if val is not None or k not in optional_fields:
54
+ m[k] = val
55
+
56
+ return m
@@ -0,0 +1,86 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: fcb4dd634416
3
+
4
+ from __future__ import annotations
5
+ from .companyprofile import CompanyProfile, CompanyProfileTypedDict
6
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
7
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
8
+ from finance_dev.utils import FieldMetadata, QueryParamMetadata
9
+ import pydantic
10
+ from pydantic import model_serializer
11
+ from typing import Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class GetCompanyProfileRequestTypedDict(TypedDict):
16
+ symbol: NotRequired[str]
17
+ r"""Stock ticker symbol, such as AAPL. Optional if ISIN or CUSIP is provided. If symbol, isin, and cusip are all omitted, the API returns 400 Bad Request."""
18
+ isin: NotRequired[str]
19
+ r"""International Securities Identification Number. Optional if symbol or CUSIP is provided. If symbol, isin, and cusip are all omitted, the API returns 400 Bad Request."""
20
+ cusip: NotRequired[str]
21
+ r"""Committee on Uniform Securities Identification Procedures code. Optional if symbol or ISIN is provided. If symbol, isin, and cusip are all omitted, the API returns 400 Bad Request."""
22
+
23
+
24
+ class GetCompanyProfileRequest(BaseModel):
25
+ symbol: Annotated[
26
+ Optional[str],
27
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
28
+ ] = None
29
+ r"""Stock ticker symbol, such as AAPL. Optional if ISIN or CUSIP is provided. If symbol, isin, and cusip are all omitted, the API returns 400 Bad Request."""
30
+
31
+ isin: Annotated[
32
+ Optional[str],
33
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
34
+ ] = None
35
+ r"""International Securities Identification Number. Optional if symbol or CUSIP is provided. If symbol, isin, and cusip are all omitted, the API returns 400 Bad Request."""
36
+
37
+ cusip: Annotated[
38
+ Optional[str],
39
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
40
+ ] = None
41
+ r"""Committee on Uniform Securities Identification Procedures code. Optional if symbol or ISIN is provided. If symbol, isin, and cusip are all omitted, the API returns 400 Bad Request."""
42
+
43
+ @model_serializer(mode="wrap")
44
+ def serialize_model(self, handler):
45
+ optional_fields = set(["symbol", "isin", "cusip"])
46
+ serialized = handler(self)
47
+ m = {}
48
+
49
+ for n, f in type(self).model_fields.items():
50
+ k = f.alias or n
51
+ val = serialized.get(k, serialized.get(n))
52
+
53
+ if val != UNSET_SENTINEL:
54
+ if val is not None or k not in optional_fields:
55
+ m[k] = val
56
+
57
+ return m
58
+
59
+
60
+ class GetCompanyProfileResponseTypedDict(TypedDict):
61
+ http_meta: HTTPMetadataTypedDict
62
+ company_profile: NotRequired[CompanyProfileTypedDict]
63
+ r"""Company profile retrieved successfully"""
64
+
65
+
66
+ class GetCompanyProfileResponse(BaseModel):
67
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
68
+
69
+ company_profile: Optional[CompanyProfile] = None
70
+ r"""Company profile retrieved successfully"""
71
+
72
+ @model_serializer(mode="wrap")
73
+ def serialize_model(self, handler):
74
+ optional_fields = set(["CompanyProfile"])
75
+ serialized = handler(self)
76
+ m = {}
77
+
78
+ for n, f in type(self).model_fields.items():
79
+ k = f.alias or n
80
+ val = serialized.get(k, serialized.get(n))
81
+
82
+ if val != UNSET_SENTINEL:
83
+ if val is not None or k not in optional_fields:
84
+ m[k] = val
85
+
86
+ return m
@@ -0,0 +1,111 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: dd16cbffca1d
3
+
4
+ from __future__ import annotations
5
+ from .conferencecallsresponse import (
6
+ ConferenceCallsResponse,
7
+ ConferenceCallsResponseTypedDict,
8
+ )
9
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
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 GetConferenceCallsRequestTypedDict(TypedDict):
20
+ date_from: NotRequired[date]
21
+ r"""Start date in YYYY-MM-DD format. Enter the first date to include in the research window."""
22
+ date_to: NotRequired[date]
23
+ r"""End date in YYYY-MM-DD format. Enter the last date to include in the research window."""
24
+ tickers: NotRequired[str]
25
+ r"""Comma-separated list of ticker symbols (max 50)"""
26
+ page: NotRequired[int]
27
+ r"""Page number for pagination (0-indexed, max 100000)"""
28
+ page_size: NotRequired[int]
29
+ r"""Number of results per page. Use this to control pagination size in list views. Enter a value from 1 to 1000 depending on how much data your UI can display."""
30
+
31
+
32
+ class GetConferenceCallsRequest(BaseModel):
33
+ date_from: Annotated[
34
+ Optional[date],
35
+ pydantic.Field(alias="dateFrom"),
36
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
37
+ ] = None
38
+ r"""Start date in YYYY-MM-DD format. Enter the first date to include in the research window."""
39
+
40
+ date_to: Annotated[
41
+ Optional[date],
42
+ pydantic.Field(alias="dateTo"),
43
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
44
+ ] = None
45
+ r"""End date in YYYY-MM-DD format. Enter the last date to include in the research window."""
46
+
47
+ tickers: Annotated[
48
+ Optional[str],
49
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
50
+ ] = None
51
+ r"""Comma-separated list of ticker symbols (max 50)"""
52
+
53
+ page: Annotated[
54
+ Optional[int],
55
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
56
+ ] = None
57
+ r"""Page number for pagination (0-indexed, max 100000)"""
58
+
59
+ page_size: Annotated[
60
+ Optional[int],
61
+ pydantic.Field(alias="pageSize"),
62
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
63
+ ] = None
64
+ r"""Number of results per page. Use this to control pagination size in list views. Enter a value from 1 to 1000 depending on how much data your UI can display."""
65
+
66
+ @model_serializer(mode="wrap")
67
+ def serialize_model(self, handler):
68
+ optional_fields = set(["dateFrom", "dateTo", "tickers", "page", "pageSize"])
69
+ serialized = handler(self)
70
+ m = {}
71
+
72
+ for n, f in type(self).model_fields.items():
73
+ k = f.alias or n
74
+ val = serialized.get(k, serialized.get(n))
75
+
76
+ if val != UNSET_SENTINEL:
77
+ if val is not None or k not in optional_fields:
78
+ m[k] = val
79
+
80
+ return m
81
+
82
+
83
+ class GetConferenceCallsResponseTypedDict(TypedDict):
84
+ http_meta: HTTPMetadataTypedDict
85
+ conference_calls_response: NotRequired[ConferenceCallsResponseTypedDict]
86
+ r"""Successful response"""
87
+
88
+
89
+ class GetConferenceCallsResponse(BaseModel):
90
+ next: Callable[[], Optional[GetConferenceCallsResponse]]
91
+
92
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
93
+
94
+ conference_calls_response: Optional[ConferenceCallsResponse] = None
95
+ r"""Successful response"""
96
+
97
+ @model_serializer(mode="wrap")
98
+ def serialize_model(self, handler):
99
+ optional_fields = set(["ConferenceCallsResponse"])
100
+ serialized = handler(self)
101
+ m = {}
102
+
103
+ for n, f in type(self).model_fields.items():
104
+ k = f.alias or n
105
+ val = serialized.get(k, serialized.get(n))
106
+
107
+ if val != UNSET_SENTINEL:
108
+ if val is not None or k not in optional_fields:
109
+ m[k] = val
110
+
111
+ return m