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,255 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 3872219d566d
3
+
4
+ from __future__ import annotations
5
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
6
+ import pydantic
7
+ from pydantic import model_serializer
8
+ from typing import Optional
9
+ from typing_extensions import Annotated, NotRequired, TypedDict
10
+
11
+
12
+ class CompanyProfileTypedDict(TypedDict):
13
+ r"""Company profile data for research pages. Use it to explain what the company does, where it is listed, and how it is classified."""
14
+
15
+ address: NotRequired[str]
16
+ r"""Company headquarters street address. Use it for company profile and issuer detail pages."""
17
+ alias: NotRequired[str]
18
+ r"""Comma-separated list of alternative names or aliases for the company"""
19
+ city: NotRequired[str]
20
+ r"""City where the company is headquartered"""
21
+ country: NotRequired[str]
22
+ r"""Country where the company is headquartered"""
23
+ currency: NotRequired[str]
24
+ r"""Currency used for financial reporting (e.g., USD, EUR)"""
25
+ cusip: NotRequired[str]
26
+ r"""CUSIP security identifier used in U.S. settlement and reference-data workflows."""
27
+ description: NotRequired[str]
28
+ r"""Detailed business description"""
29
+ employee_total: NotRequired[int]
30
+ r"""Total number of employees"""
31
+ estimate_currency: NotRequired[str]
32
+ r"""Currency for earnings estimates"""
33
+ exchange: NotRequired[str]
34
+ r"""Exchange name returned by the company profile provider, such as NASDAQ NMS - GLOBAL MARKET."""
35
+ ggroup: NotRequired[str]
36
+ r"""GICS group classification"""
37
+ gind: NotRequired[str]
38
+ r"""GICS industry classification"""
39
+ gsector: NotRequired[str]
40
+ r"""GICS sector classification"""
41
+ gsubind: NotRequired[str]
42
+ r"""GICS sub-industry classification"""
43
+ ipo: NotRequired[str]
44
+ r"""Initial public offering date in YYYY-MM-DD format"""
45
+ ir_url: NotRequired[str]
46
+ r"""Investor relations website URL"""
47
+ isin: NotRequired[str]
48
+ r"""International Securities Identification Number. Use it for global security identification and reconciliation."""
49
+ lei: NotRequired[str]
50
+ r"""Legal Entity Identifier for the company. Use it for institutional reference-data and compliance workflows."""
51
+ logo: NotRequired[str]
52
+ r"""URL to the company's logo image (proxied through Aries API)"""
53
+ market_cap_currency: NotRequired[str]
54
+ r"""Currency for market capitalization"""
55
+ market_capitalization: NotRequired[float]
56
+ r"""Current market capitalization"""
57
+ naics: NotRequired[str]
58
+ r"""NAICS industry classification code. Use it for industry screening or peer grouping."""
59
+ naics_national_industry: NotRequired[str]
60
+ r"""NAICS national industry classification"""
61
+ naics_sector: NotRequired[str]
62
+ r"""NAICS sector classification"""
63
+ naics_subsector: NotRequired[str]
64
+ r"""NAICS subsector classification"""
65
+ name: NotRequired[str]
66
+ r"""Official company name. Show this beside the ticker so users can confirm the company."""
67
+ phone: NotRequired[str]
68
+ r"""Company's primary contact phone number"""
69
+ sector: NotRequired[str]
70
+ r"""Industry sector classification"""
71
+ sedol: NotRequired[str]
72
+ r"""SEDOL security identifier used in global market reference data."""
73
+ share_outstanding: NotRequired[float]
74
+ r"""Total number of outstanding shares"""
75
+ state: NotRequired[str]
76
+ r"""State where the company is headquartered"""
77
+ ticker: NotRequired[str]
78
+ r"""Primary stock ticker symbol for the company. Use it to connect profile data to quotes, filings, and financials."""
79
+ weburl: NotRequired[str]
80
+ r"""Company's official website URL"""
81
+
82
+
83
+ class CompanyProfile(BaseModel):
84
+ r"""Company profile data for research pages. Use it to explain what the company does, where it is listed, and how it is classified."""
85
+
86
+ address: Optional[str] = None
87
+ r"""Company headquarters street address. Use it for company profile and issuer detail pages."""
88
+
89
+ alias: Optional[str] = None
90
+ r"""Comma-separated list of alternative names or aliases for the company"""
91
+
92
+ city: Optional[str] = None
93
+ r"""City where the company is headquartered"""
94
+
95
+ country: Optional[str] = None
96
+ r"""Country where the company is headquartered"""
97
+
98
+ currency: Optional[str] = None
99
+ r"""Currency used for financial reporting (e.g., USD, EUR)"""
100
+
101
+ cusip: Optional[str] = None
102
+ r"""CUSIP security identifier used in U.S. settlement and reference-data workflows."""
103
+
104
+ description: Optional[str] = None
105
+ r"""Detailed business description"""
106
+
107
+ employee_total: Annotated[Optional[int], pydantic.Field(alias="employeeTotal")] = (
108
+ None
109
+ )
110
+ r"""Total number of employees"""
111
+
112
+ estimate_currency: Annotated[
113
+ Optional[str], pydantic.Field(alias="estimateCurrency")
114
+ ] = None
115
+ r"""Currency for earnings estimates"""
116
+
117
+ exchange: Optional[str] = None
118
+ r"""Exchange name returned by the company profile provider, such as NASDAQ NMS - GLOBAL MARKET."""
119
+
120
+ ggroup: Optional[str] = None
121
+ r"""GICS group classification"""
122
+
123
+ gind: Optional[str] = None
124
+ r"""GICS industry classification"""
125
+
126
+ gsector: Optional[str] = None
127
+ r"""GICS sector classification"""
128
+
129
+ gsubind: Optional[str] = None
130
+ r"""GICS sub-industry classification"""
131
+
132
+ ipo: Optional[str] = None
133
+ r"""Initial public offering date in YYYY-MM-DD format"""
134
+
135
+ ir_url: Annotated[Optional[str], pydantic.Field(alias="irUrl")] = None
136
+ r"""Investor relations website URL"""
137
+
138
+ isin: Optional[str] = None
139
+ r"""International Securities Identification Number. Use it for global security identification and reconciliation."""
140
+
141
+ lei: Optional[str] = None
142
+ r"""Legal Entity Identifier for the company. Use it for institutional reference-data and compliance workflows."""
143
+
144
+ logo: Optional[str] = None
145
+ r"""URL to the company's logo image (proxied through Aries API)"""
146
+
147
+ market_cap_currency: Annotated[
148
+ Optional[str], pydantic.Field(alias="marketCapCurrency")
149
+ ] = None
150
+ r"""Currency for market capitalization"""
151
+
152
+ market_capitalization: Annotated[
153
+ Optional[float], pydantic.Field(alias="marketCapitalization")
154
+ ] = None
155
+ r"""Current market capitalization"""
156
+
157
+ naics: Optional[str] = None
158
+ r"""NAICS industry classification code. Use it for industry screening or peer grouping."""
159
+
160
+ naics_national_industry: Annotated[
161
+ Optional[str], pydantic.Field(alias="naicsNationalIndustry")
162
+ ] = None
163
+ r"""NAICS national industry classification"""
164
+
165
+ naics_sector: Annotated[Optional[str], pydantic.Field(alias="naicsSector")] = None
166
+ r"""NAICS sector classification"""
167
+
168
+ naics_subsector: Annotated[
169
+ Optional[str], pydantic.Field(alias="naicsSubsector")
170
+ ] = None
171
+ r"""NAICS subsector classification"""
172
+
173
+ name: Optional[str] = None
174
+ r"""Official company name. Show this beside the ticker so users can confirm the company."""
175
+
176
+ phone: Optional[str] = None
177
+ r"""Company's primary contact phone number"""
178
+
179
+ sector: Optional[str] = None
180
+ r"""Industry sector classification"""
181
+
182
+ sedol: Optional[str] = None
183
+ r"""SEDOL security identifier used in global market reference data."""
184
+
185
+ share_outstanding: Annotated[
186
+ Optional[float], pydantic.Field(alias="shareOutstanding")
187
+ ] = None
188
+ r"""Total number of outstanding shares"""
189
+
190
+ state: Optional[str] = None
191
+ r"""State where the company is headquartered"""
192
+
193
+ ticker: Optional[str] = None
194
+ r"""Primary stock ticker symbol for the company. Use it to connect profile data to quotes, filings, and financials."""
195
+
196
+ weburl: Optional[str] = None
197
+ r"""Company's official website URL"""
198
+
199
+ @model_serializer(mode="wrap")
200
+ def serialize_model(self, handler):
201
+ optional_fields = set(
202
+ [
203
+ "address",
204
+ "alias",
205
+ "city",
206
+ "country",
207
+ "currency",
208
+ "cusip",
209
+ "description",
210
+ "employeeTotal",
211
+ "estimateCurrency",
212
+ "exchange",
213
+ "ggroup",
214
+ "gind",
215
+ "gsector",
216
+ "gsubind",
217
+ "ipo",
218
+ "irUrl",
219
+ "isin",
220
+ "lei",
221
+ "logo",
222
+ "marketCapCurrency",
223
+ "marketCapitalization",
224
+ "naics",
225
+ "naicsNationalIndustry",
226
+ "naicsSector",
227
+ "naicsSubsector",
228
+ "name",
229
+ "phone",
230
+ "sector",
231
+ "sedol",
232
+ "shareOutstanding",
233
+ "state",
234
+ "ticker",
235
+ "weburl",
236
+ ]
237
+ )
238
+ serialized = handler(self)
239
+ m = {}
240
+
241
+ for n, f in type(self).model_fields.items():
242
+ k = f.alias or n
243
+ val = serialized.get(k, serialized.get(n))
244
+
245
+ if val != UNSET_SENTINEL:
246
+ if val is not None or k not in optional_fields:
247
+ m[k] = val
248
+
249
+ return m
250
+
251
+
252
+ try:
253
+ CompanyProfile.model_rebuild()
254
+ except NameError:
255
+ pass
@@ -0,0 +1,169 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 96b2ed3e02c3
3
+
4
+ from __future__ import annotations
5
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
6
+ import pydantic
7
+ from pydantic import model_serializer
8
+ from typing import List, Optional
9
+ from typing_extensions import Annotated, NotRequired, TypedDict
10
+
11
+
12
+ class ConferenceCallTypedDict(TypedDict):
13
+ access_code: NotRequired[str]
14
+ r"""Access code for the conference call"""
15
+ date_: NotRequired[str]
16
+ r"""Conference call date in YYYY-MM-DD format"""
17
+ exchange: NotRequired[str]
18
+ r"""Exchange code where the data originates. Format depends on the upstream data source and may use MIC, ISO 10383, or a vendor-specific code."""
19
+ id: NotRequired[str]
20
+ r"""Unique identifier for the conference call"""
21
+ importance: NotRequired[int]
22
+ r"""Importance rating of the event (1-5, where 5 is most important)"""
23
+ international_num: NotRequired[str]
24
+ r"""International dial-in phone number"""
25
+ name: NotRequired[str]
26
+ r"""Company name"""
27
+ notes: NotRequired[str]
28
+ r"""Additional notes about the conference call"""
29
+ phone_num: NotRequired[str]
30
+ r"""Domestic dial-in phone number"""
31
+ reservation_num: NotRequired[str]
32
+ r"""Reservation number for the conference call"""
33
+ start_time: NotRequired[str]
34
+ r"""Human-readable start time with timezone"""
35
+ ticker: NotRequired[str]
36
+ r"""Stock ticker symbol, such as AAPL. Use the exact ticker for the company you want to research."""
37
+ time: NotRequired[str]
38
+ r"""Conference call time in HH:MM:SS format"""
39
+ updated: NotRequired[int]
40
+ r"""Unix timestamp when the record was last updated"""
41
+ webcast_url: NotRequired[str]
42
+ r"""URL for live webcast of the conference call"""
43
+
44
+
45
+ class ConferenceCall(BaseModel):
46
+ access_code: Annotated[Optional[str], pydantic.Field(alias="accessCode")] = None
47
+ r"""Access code for the conference call"""
48
+
49
+ date_: Annotated[Optional[str], pydantic.Field(alias="date")] = None
50
+ r"""Conference call date in YYYY-MM-DD format"""
51
+
52
+ exchange: Optional[str] = None
53
+ r"""Exchange code where the data originates. Format depends on the upstream data source and may use MIC, ISO 10383, or a vendor-specific code."""
54
+
55
+ id: Optional[str] = None
56
+ r"""Unique identifier for the conference call"""
57
+
58
+ importance: Optional[int] = None
59
+ r"""Importance rating of the event (1-5, where 5 is most important)"""
60
+
61
+ international_num: Annotated[
62
+ Optional[str], pydantic.Field(alias="internationalNum")
63
+ ] = None
64
+ r"""International dial-in phone number"""
65
+
66
+ name: Optional[str] = None
67
+ r"""Company name"""
68
+
69
+ notes: Optional[str] = None
70
+ r"""Additional notes about the conference call"""
71
+
72
+ phone_num: Annotated[Optional[str], pydantic.Field(alias="phoneNum")] = None
73
+ r"""Domestic dial-in phone number"""
74
+
75
+ reservation_num: Annotated[
76
+ Optional[str], pydantic.Field(alias="reservationNum")
77
+ ] = None
78
+ r"""Reservation number for the conference call"""
79
+
80
+ start_time: Annotated[Optional[str], pydantic.Field(alias="startTime")] = None
81
+ r"""Human-readable start time with timezone"""
82
+
83
+ ticker: Optional[str] = None
84
+ r"""Stock ticker symbol, such as AAPL. Use the exact ticker for the company you want to research."""
85
+
86
+ time: Optional[str] = None
87
+ r"""Conference call time in HH:MM:SS format"""
88
+
89
+ updated: Optional[int] = None
90
+ r"""Unix timestamp when the record was last updated"""
91
+
92
+ webcast_url: Annotated[Optional[str], pydantic.Field(alias="webcastUrl")] = None
93
+ r"""URL for live webcast of the conference call"""
94
+
95
+ @model_serializer(mode="wrap")
96
+ def serialize_model(self, handler):
97
+ optional_fields = set(
98
+ [
99
+ "accessCode",
100
+ "date",
101
+ "exchange",
102
+ "id",
103
+ "importance",
104
+ "internationalNum",
105
+ "name",
106
+ "notes",
107
+ "phoneNum",
108
+ "reservationNum",
109
+ "startTime",
110
+ "ticker",
111
+ "time",
112
+ "updated",
113
+ "webcastUrl",
114
+ ]
115
+ )
116
+ serialized = handler(self)
117
+ m = {}
118
+
119
+ for n, f in type(self).model_fields.items():
120
+ k = f.alias or n
121
+ val = serialized.get(k, serialized.get(n))
122
+
123
+ if val != UNSET_SENTINEL:
124
+ if val is not None or k not in optional_fields:
125
+ m[k] = val
126
+
127
+ return m
128
+
129
+
130
+ class ConferenceCallsResponseTypedDict(TypedDict):
131
+ r"""Response containing conference call calendar events."""
132
+
133
+ conference_calls: NotRequired[List[ConferenceCallTypedDict]]
134
+ r"""Array of conference call events"""
135
+
136
+
137
+ class ConferenceCallsResponse(BaseModel):
138
+ r"""Response containing conference call calendar events."""
139
+
140
+ conference_calls: Annotated[
141
+ Optional[List[ConferenceCall]], pydantic.Field(alias="conferenceCalls")
142
+ ] = None
143
+ r"""Array of conference call events"""
144
+
145
+ @model_serializer(mode="wrap")
146
+ def serialize_model(self, handler):
147
+ optional_fields = set(["conferenceCalls"])
148
+ serialized = handler(self)
149
+ m = {}
150
+
151
+ for n, f in type(self).model_fields.items():
152
+ k = f.alias or n
153
+ val = serialized.get(k, serialized.get(n))
154
+
155
+ if val != UNSET_SENTINEL:
156
+ if val is not None or k not in optional_fields:
157
+ m[k] = val
158
+
159
+ return m
160
+
161
+
162
+ try:
163
+ ConferenceCall.model_rebuild()
164
+ except NameError:
165
+ pass
166
+ try:
167
+ ConferenceCallsResponse.model_rebuild()
168
+ except NameError:
169
+ pass
@@ -0,0 +1,138 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 2c8b8fc5ef5b
3
+
4
+ from __future__ import annotations
5
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
6
+ import pydantic
7
+ from pydantic import model_serializer
8
+ from typing import List, Optional
9
+ from typing_extensions import Annotated, NotRequired, TypedDict
10
+
11
+
12
+ class CongressionalTradingResponseDataTypedDict(TypedDict):
13
+ amount_from: NotRequired[float]
14
+ r"""Lower bound of the reported transaction amount."""
15
+ amount_to: NotRequired[float]
16
+ r"""Upper bound of the reported transaction amount."""
17
+ asset_name: NotRequired[str]
18
+ r"""Name of the asset."""
19
+ filing_date: NotRequired[str]
20
+ r"""Date the disclosure was filed, as returned by the provider."""
21
+ name: NotRequired[str]
22
+ r"""Name of the representative."""
23
+ owner_type: NotRequired[str]
24
+ r"""Type of owner of the asset."""
25
+ position: NotRequired[str]
26
+ r"""Position of the representative."""
27
+ symbol: NotRequired[str]
28
+ r"""Company ticker symbol."""
29
+ transaction_date: NotRequired[str]
30
+ r"""Date of the transaction, as returned by the provider."""
31
+ transaction_type: NotRequired[str]
32
+ r"""Type of transaction, such as Sale or Purchase."""
33
+
34
+
35
+ class CongressionalTradingResponseData(BaseModel):
36
+ amount_from: Annotated[Optional[float], pydantic.Field(alias="amountFrom")] = None
37
+ r"""Lower bound of the reported transaction amount."""
38
+
39
+ amount_to: Annotated[Optional[float], pydantic.Field(alias="amountTo")] = None
40
+ r"""Upper bound of the reported transaction amount."""
41
+
42
+ asset_name: Annotated[Optional[str], pydantic.Field(alias="assetName")] = None
43
+ r"""Name of the asset."""
44
+
45
+ filing_date: Annotated[Optional[str], pydantic.Field(alias="filingDate")] = None
46
+ r"""Date the disclosure was filed, as returned by the provider."""
47
+
48
+ name: Optional[str] = None
49
+ r"""Name of the representative."""
50
+
51
+ owner_type: Annotated[Optional[str], pydantic.Field(alias="ownerType")] = None
52
+ r"""Type of owner of the asset."""
53
+
54
+ position: Optional[str] = None
55
+ r"""Position of the representative."""
56
+
57
+ symbol: Optional[str] = None
58
+ r"""Company ticker symbol."""
59
+
60
+ transaction_date: Annotated[
61
+ Optional[str], pydantic.Field(alias="transactionDate")
62
+ ] = None
63
+ r"""Date of the transaction, as returned by the provider."""
64
+
65
+ transaction_type: Annotated[
66
+ Optional[str], pydantic.Field(alias="transactionType")
67
+ ] = None
68
+ r"""Type of transaction, such as Sale or Purchase."""
69
+
70
+ @model_serializer(mode="wrap")
71
+ def serialize_model(self, handler):
72
+ optional_fields = set(
73
+ [
74
+ "amountFrom",
75
+ "amountTo",
76
+ "assetName",
77
+ "filingDate",
78
+ "name",
79
+ "ownerType",
80
+ "position",
81
+ "symbol",
82
+ "transactionDate",
83
+ "transactionType",
84
+ ]
85
+ )
86
+ serialized = handler(self)
87
+ m = {}
88
+
89
+ for n, f in type(self).model_fields.items():
90
+ k = f.alias or n
91
+ val = serialized.get(k, serialized.get(n))
92
+
93
+ if val != UNSET_SENTINEL:
94
+ if val is not None or k not in optional_fields:
95
+ m[k] = val
96
+
97
+ return m
98
+
99
+
100
+ class CongressionalTradingResponseTypedDict(TypedDict):
101
+ r"""Stock transactions disclosed by members of US Congress for a company, as provided by Finnhub."""
102
+
103
+ data: NotRequired[List[CongressionalTradingResponseDataTypedDict]]
104
+ r"""Congressional transaction disclosures for the symbol."""
105
+ symbol: NotRequired[str]
106
+ r"""Company ticker symbol."""
107
+
108
+
109
+ class CongressionalTradingResponse(BaseModel):
110
+ r"""Stock transactions disclosed by members of US Congress for a company, as provided by Finnhub."""
111
+
112
+ data: Optional[List[CongressionalTradingResponseData]] = None
113
+ r"""Congressional transaction disclosures for the symbol."""
114
+
115
+ symbol: Optional[str] = None
116
+ r"""Company ticker symbol."""
117
+
118
+ @model_serializer(mode="wrap")
119
+ def serialize_model(self, handler):
120
+ optional_fields = set(["data", "symbol"])
121
+ serialized = handler(self)
122
+ m = {}
123
+
124
+ for n, f in type(self).model_fields.items():
125
+ k = f.alias or n
126
+ val = serialized.get(k, serialized.get(n))
127
+
128
+ if val != UNSET_SENTINEL:
129
+ if val is not None or k not in optional_fields:
130
+ m[k] = val
131
+
132
+ return m
133
+
134
+
135
+ try:
136
+ CongressionalTradingResponseData.model_rebuild()
137
+ except NameError:
138
+ pass
@@ -0,0 +1,79 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: ef1e4a2165d7
3
+
4
+ from __future__ import annotations
5
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
6
+ from pydantic import model_serializer
7
+ from typing import List, Optional
8
+ from typing_extensions import NotRequired, TypedDict
9
+
10
+
11
+ class Covid19UsCasesResponseDataTypedDict(TypedDict):
12
+ case: NotRequired[float]
13
+ r"""Number of confirmed cases."""
14
+ death: NotRequired[float]
15
+ r"""Number of confirmed deaths."""
16
+ state: NotRequired[str]
17
+ r"""US state name."""
18
+ updated: NotRequired[str]
19
+ r"""Time the record was last updated, as returned by the provider."""
20
+
21
+
22
+ class Covid19UsCasesResponseData(BaseModel):
23
+ case: Optional[float] = None
24
+ r"""Number of confirmed cases."""
25
+
26
+ death: Optional[float] = None
27
+ r"""Number of confirmed deaths."""
28
+
29
+ state: Optional[str] = None
30
+ r"""US state name."""
31
+
32
+ updated: Optional[str] = None
33
+ r"""Time the record was last updated, as returned by the provider."""
34
+
35
+ @model_serializer(mode="wrap")
36
+ def serialize_model(self, handler):
37
+ optional_fields = set(["case", "death", "state", "updated"])
38
+ serialized = handler(self)
39
+ m = {}
40
+
41
+ for n, f in type(self).model_fields.items():
42
+ k = f.alias or n
43
+ val = serialized.get(k, serialized.get(n))
44
+
45
+ if val != UNSET_SENTINEL:
46
+ if val is not None or k not in optional_fields:
47
+ m[k] = val
48
+
49
+ return m
50
+
51
+
52
+ class Covid19UsCasesResponseTypedDict(TypedDict):
53
+ r"""COVID-19 case and death counts for US states, as provided by Finnhub."""
54
+
55
+ data: NotRequired[List[Covid19UsCasesResponseDataTypedDict]]
56
+ r"""COVID-19 statistics, one entry per US state."""
57
+
58
+
59
+ class Covid19UsCasesResponse(BaseModel):
60
+ r"""COVID-19 case and death counts for US states, as provided by Finnhub."""
61
+
62
+ data: Optional[List[Covid19UsCasesResponseData]] = None
63
+ r"""COVID-19 statistics, one entry per US state."""
64
+
65
+ @model_serializer(mode="wrap")
66
+ def serialize_model(self, handler):
67
+ optional_fields = set(["data"])
68
+ serialized = handler(self)
69
+ m = {}
70
+
71
+ for n, f in type(self).model_fields.items():
72
+ k = f.alias or n
73
+ val = serialized.get(k, serialized.get(n))
74
+
75
+ if val != UNSET_SENTINEL:
76
+ if val is not None or k not in optional_fields:
77
+ m[k] = val
78
+
79
+ return m
@@ -0,0 +1,40 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 32006dfe241a
3
+
4
+ from __future__ import annotations
5
+ from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
6
+ from .watchlist import Watchlist, WatchlistTypedDict
7
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
8
+ import pydantic
9
+ from pydantic import model_serializer
10
+ from typing import Optional
11
+ from typing_extensions import Annotated, NotRequired, TypedDict
12
+
13
+
14
+ class CreateConfigWatchlistResponseTypedDict(TypedDict):
15
+ http_meta: HTTPMetadataTypedDict
16
+ watchlist: NotRequired[WatchlistTypedDict]
17
+ r"""Watchlist created. The response contains the saved watchlist; check `invalid_symbols` for any submitted symbols that were dropped."""
18
+
19
+
20
+ class CreateConfigWatchlistResponse(BaseModel):
21
+ http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
22
+
23
+ watchlist: Optional[Watchlist] = None
24
+ r"""Watchlist created. The response contains the saved watchlist; check `invalid_symbols` for any submitted symbols that were dropped."""
25
+
26
+ @model_serializer(mode="wrap")
27
+ def serialize_model(self, handler):
28
+ optional_fields = set(["Watchlist"])
29
+ serialized = handler(self)
30
+ m = {}
31
+
32
+ for n, f in type(self).model_fields.items():
33
+ k = f.alias or n
34
+ val = serialized.get(k, serialized.get(n))
35
+
36
+ if val != UNSET_SENTINEL:
37
+ if val is not None or k not in optional_fields:
38
+ m[k] = val
39
+
40
+ return m