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,408 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 707cb165c918
3
+
4
+ from __future__ import annotations
5
+ from finance_dev.types import (
6
+ BaseModel,
7
+ Nullable,
8
+ OptionalNullable,
9
+ UNSET,
10
+ UNSET_SENTINEL,
11
+ )
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 CompanyEsgResponseDataTypedDict(TypedDict):
19
+ r"""Detailed ESG disclosures and metrics."""
20
+
21
+ adult_content: NotRequired[bool]
22
+ r"""Whether the company has involvement in adult content."""
23
+ alcoholic: NotRequired[bool]
24
+ r"""Whether the company has involvement in alcoholic beverages."""
25
+ animal_testing: NotRequired[bool]
26
+ r"""Whether the company is involved in animal testing."""
27
+ antitrust: NotRequired[str]
28
+ r"""Antitrust-related disclosure for the company, as free text."""
29
+ asian_employee_percentage: NotRequired[float]
30
+ r"""Percentage of the company workforce that is Asian."""
31
+ asian_management_percentage: NotRequired[float]
32
+ r"""Percentage of company management that is Asian."""
33
+ black_employee_percentage: NotRequired[float]
34
+ r"""Percentage of the company workforce that is Black."""
35
+ black_management_percentage: NotRequired[float]
36
+ r"""Percentage of company management that is Black."""
37
+ carbon_reduction_policy: NotRequired[str]
38
+ r"""Description of the company carbon reduction policy."""
39
+ catholic: NotRequired[bool]
40
+ r"""Whether the company is flagged as conflicting with Catholic values screens."""
41
+ co2_emission_scope1: NotRequired[int]
42
+ r"""Reported direct (Scope 1) CO2 emissions."""
43
+ co2_emission_scope2: NotRequired[int]
44
+ r"""Reported indirect (Scope 2) CO2 emissions from purchased energy."""
45
+ co2_emission_scope3: NotRequired[int]
46
+ r"""Reported other indirect (Scope 3) CO2 emissions."""
47
+ co2_emission_total: NotRequired[int]
48
+ r"""Reported total CO2 emissions."""
49
+ coal_energy: NotRequired[bool]
50
+ r"""Whether the company has involvement in coal energy."""
51
+ ecofriendly_packaging: NotRequired[bool]
52
+ r"""Whether the company uses eco-friendly packaging."""
53
+ environmental_reporting: NotRequired[bool]
54
+ r"""Whether the company publishes environmental reporting."""
55
+ firearms: NotRequired[bool]
56
+ r"""Whether the company has involvement in firearms."""
57
+ fuel_efficiency_consumption: NotRequired[bool]
58
+ r"""Whether the company reports fuel efficiency or consumption measures."""
59
+ gambling: NotRequired[bool]
60
+ r"""Whether the company has involvement in gambling."""
61
+ gmo: NotRequired[bool]
62
+ r"""Whether the company has involvement in genetically modified organisms."""
63
+ hazardous_substances: NotRequired[bool]
64
+ r"""Whether the company handles hazardous substances."""
65
+ hispanic_latino_employee_percentage: NotRequired[float]
66
+ r"""Percentage of the company workforce that is Hispanic or Latino."""
67
+ hispanic_latino_management_percentage: NotRequired[float]
68
+ r"""Percentage of company management that is Hispanic or Latino."""
69
+ human_rights_policy: NotRequired[bool]
70
+ r"""Whether the company has a human rights policy."""
71
+ military_contract: NotRequired[bool]
72
+ r"""Whether the company holds military contracts."""
73
+ nuclear: NotRequired[bool]
74
+ r"""Whether the company has involvement in nuclear energy."""
75
+ pesticides: NotRequired[Nullable[str]]
76
+ r"""Pesticide-related disclosure for the company, or null when not available."""
77
+ recall_policy_safety: NotRequired[bool]
78
+ r"""Whether the company has a product recall and safety policy."""
79
+ recycling_policy: NotRequired[bool]
80
+ r"""Whether the company has a recycling policy."""
81
+ stakeholder_engagement: NotRequired[bool]
82
+ r"""Whether the company reports stakeholder engagement."""
83
+ tobacco: NotRequired[bool]
84
+ r"""Whether the company has involvement in tobacco."""
85
+ total_women_percentage: NotRequired[int]
86
+ r"""Percentage of the company workforce that is women."""
87
+ water_efficiency_consumption: NotRequired[bool]
88
+ r"""Whether the company reports water efficiency or consumption measures."""
89
+ white_employee_percentage: NotRequired[float]
90
+ r"""Percentage of the company workforce that is White."""
91
+ white_management_percentage: NotRequired[float]
92
+ r"""Percentage of company management that is White."""
93
+ workplace_health_safety: NotRequired[bool]
94
+ r"""Whether the company has a workplace health and safety policy."""
95
+
96
+
97
+ class CompanyEsgResponseData(BaseModel):
98
+ r"""Detailed ESG disclosures and metrics."""
99
+
100
+ adult_content: Annotated[Optional[bool], pydantic.Field(alias="adultContent")] = (
101
+ None
102
+ )
103
+ r"""Whether the company has involvement in adult content."""
104
+
105
+ alcoholic: Optional[bool] = None
106
+ r"""Whether the company has involvement in alcoholic beverages."""
107
+
108
+ animal_testing: Annotated[Optional[bool], pydantic.Field(alias="animalTesting")] = (
109
+ None
110
+ )
111
+ r"""Whether the company is involved in animal testing."""
112
+
113
+ antitrust: Optional[str] = None
114
+ r"""Antitrust-related disclosure for the company, as free text."""
115
+
116
+ asian_employee_percentage: Annotated[
117
+ Optional[float], pydantic.Field(alias="asianEmployeePercentage")
118
+ ] = None
119
+ r"""Percentage of the company workforce that is Asian."""
120
+
121
+ asian_management_percentage: Annotated[
122
+ Optional[float], pydantic.Field(alias="asianManagementPercentage")
123
+ ] = None
124
+ r"""Percentage of company management that is Asian."""
125
+
126
+ black_employee_percentage: Annotated[
127
+ Optional[float], pydantic.Field(alias="blackEmployeePercentage")
128
+ ] = None
129
+ r"""Percentage of the company workforce that is Black."""
130
+
131
+ black_management_percentage: Annotated[
132
+ Optional[float], pydantic.Field(alias="blackManagementPercentage")
133
+ ] = None
134
+ r"""Percentage of company management that is Black."""
135
+
136
+ carbon_reduction_policy: Annotated[
137
+ Optional[str], pydantic.Field(alias="carbonReductionPolicy")
138
+ ] = None
139
+ r"""Description of the company carbon reduction policy."""
140
+
141
+ catholic: Optional[bool] = None
142
+ r"""Whether the company is flagged as conflicting with Catholic values screens."""
143
+
144
+ co2_emission_scope1: Annotated[
145
+ Optional[int], pydantic.Field(alias="co2EmissionScope1")
146
+ ] = None
147
+ r"""Reported direct (Scope 1) CO2 emissions."""
148
+
149
+ co2_emission_scope2: Annotated[
150
+ Optional[int], pydantic.Field(alias="co2EmissionScope2")
151
+ ] = None
152
+ r"""Reported indirect (Scope 2) CO2 emissions from purchased energy."""
153
+
154
+ co2_emission_scope3: Annotated[
155
+ Optional[int], pydantic.Field(alias="co2EmissionScope3")
156
+ ] = None
157
+ r"""Reported other indirect (Scope 3) CO2 emissions."""
158
+
159
+ co2_emission_total: Annotated[
160
+ Optional[int], pydantic.Field(alias="co2EmissionTotal")
161
+ ] = None
162
+ r"""Reported total CO2 emissions."""
163
+
164
+ coal_energy: Annotated[Optional[bool], pydantic.Field(alias="coalEnergy")] = None
165
+ r"""Whether the company has involvement in coal energy."""
166
+
167
+ ecofriendly_packaging: Annotated[
168
+ Optional[bool], pydantic.Field(alias="ecofriendlyPackaging")
169
+ ] = None
170
+ r"""Whether the company uses eco-friendly packaging."""
171
+
172
+ environmental_reporting: Annotated[
173
+ Optional[bool], pydantic.Field(alias="environmentalReporting")
174
+ ] = None
175
+ r"""Whether the company publishes environmental reporting."""
176
+
177
+ firearms: Optional[bool] = None
178
+ r"""Whether the company has involvement in firearms."""
179
+
180
+ fuel_efficiency_consumption: Annotated[
181
+ Optional[bool], pydantic.Field(alias="fuelEfficiencyConsumption")
182
+ ] = None
183
+ r"""Whether the company reports fuel efficiency or consumption measures."""
184
+
185
+ gambling: Optional[bool] = None
186
+ r"""Whether the company has involvement in gambling."""
187
+
188
+ gmo: Optional[bool] = None
189
+ r"""Whether the company has involvement in genetically modified organisms."""
190
+
191
+ hazardous_substances: Annotated[
192
+ Optional[bool], pydantic.Field(alias="hazardousSubstances")
193
+ ] = None
194
+ r"""Whether the company handles hazardous substances."""
195
+
196
+ hispanic_latino_employee_percentage: Annotated[
197
+ Optional[float], pydantic.Field(alias="hispanicLatinoEmployeePercentage")
198
+ ] = None
199
+ r"""Percentage of the company workforce that is Hispanic or Latino."""
200
+
201
+ hispanic_latino_management_percentage: Annotated[
202
+ Optional[float], pydantic.Field(alias="hispanicLatinoManagementPercentage")
203
+ ] = None
204
+ r"""Percentage of company management that is Hispanic or Latino."""
205
+
206
+ human_rights_policy: Annotated[
207
+ Optional[bool], pydantic.Field(alias="humanRightsPolicy")
208
+ ] = None
209
+ r"""Whether the company has a human rights policy."""
210
+
211
+ military_contract: Annotated[
212
+ Optional[bool], pydantic.Field(alias="militaryContract")
213
+ ] = None
214
+ r"""Whether the company holds military contracts."""
215
+
216
+ nuclear: Optional[bool] = None
217
+ r"""Whether the company has involvement in nuclear energy."""
218
+
219
+ pesticides: OptionalNullable[str] = UNSET
220
+ r"""Pesticide-related disclosure for the company, or null when not available."""
221
+
222
+ recall_policy_safety: Annotated[
223
+ Optional[bool], pydantic.Field(alias="recallPolicySafety")
224
+ ] = None
225
+ r"""Whether the company has a product recall and safety policy."""
226
+
227
+ recycling_policy: Annotated[
228
+ Optional[bool], pydantic.Field(alias="recyclingPolicy")
229
+ ] = None
230
+ r"""Whether the company has a recycling policy."""
231
+
232
+ stakeholder_engagement: Annotated[
233
+ Optional[bool], pydantic.Field(alias="stakeholderEngagement")
234
+ ] = None
235
+ r"""Whether the company reports stakeholder engagement."""
236
+
237
+ tobacco: Optional[bool] = None
238
+ r"""Whether the company has involvement in tobacco."""
239
+
240
+ total_women_percentage: Annotated[
241
+ Optional[int], pydantic.Field(alias="totalWomenPercentage")
242
+ ] = None
243
+ r"""Percentage of the company workforce that is women."""
244
+
245
+ water_efficiency_consumption: Annotated[
246
+ Optional[bool], pydantic.Field(alias="waterEfficiencyConsumption")
247
+ ] = None
248
+ r"""Whether the company reports water efficiency or consumption measures."""
249
+
250
+ white_employee_percentage: Annotated[
251
+ Optional[float], pydantic.Field(alias="whiteEmployeePercentage")
252
+ ] = None
253
+ r"""Percentage of the company workforce that is White."""
254
+
255
+ white_management_percentage: Annotated[
256
+ Optional[float], pydantic.Field(alias="whiteManagementPercentage")
257
+ ] = None
258
+ r"""Percentage of company management that is White."""
259
+
260
+ workplace_health_safety: Annotated[
261
+ Optional[bool], pydantic.Field(alias="workplaceHealthSafety")
262
+ ] = None
263
+ r"""Whether the company has a workplace health and safety policy."""
264
+
265
+ @model_serializer(mode="wrap")
266
+ def serialize_model(self, handler):
267
+ optional_fields = set(
268
+ [
269
+ "adultContent",
270
+ "alcoholic",
271
+ "animalTesting",
272
+ "antitrust",
273
+ "asianEmployeePercentage",
274
+ "asianManagementPercentage",
275
+ "blackEmployeePercentage",
276
+ "blackManagementPercentage",
277
+ "carbonReductionPolicy",
278
+ "catholic",
279
+ "co2EmissionScope1",
280
+ "co2EmissionScope2",
281
+ "co2EmissionScope3",
282
+ "co2EmissionTotal",
283
+ "coalEnergy",
284
+ "ecofriendlyPackaging",
285
+ "environmentalReporting",
286
+ "firearms",
287
+ "fuelEfficiencyConsumption",
288
+ "gambling",
289
+ "gmo",
290
+ "hazardousSubstances",
291
+ "hispanicLatinoEmployeePercentage",
292
+ "hispanicLatinoManagementPercentage",
293
+ "humanRightsPolicy",
294
+ "militaryContract",
295
+ "nuclear",
296
+ "pesticides",
297
+ "recallPolicySafety",
298
+ "recyclingPolicy",
299
+ "stakeholderEngagement",
300
+ "tobacco",
301
+ "totalWomenPercentage",
302
+ "waterEfficiencyConsumption",
303
+ "whiteEmployeePercentage",
304
+ "whiteManagementPercentage",
305
+ "workplaceHealthSafety",
306
+ ]
307
+ )
308
+ nullable_fields = set(["pesticides"])
309
+ serialized = handler(self)
310
+ m = {}
311
+
312
+ for n, f in type(self).model_fields.items():
313
+ k = f.alias or n
314
+ val = serialized.get(k, serialized.get(n))
315
+ is_nullable_and_explicitly_set = (
316
+ k in nullable_fields
317
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
318
+ )
319
+
320
+ if val != UNSET_SENTINEL:
321
+ if (
322
+ val is not None
323
+ or k not in optional_fields
324
+ or is_nullable_and_explicitly_set
325
+ ):
326
+ m[k] = val
327
+
328
+ return m
329
+
330
+
331
+ class CompanyEsgResponseTypedDict(TypedDict):
332
+ r"""Latest ESG (environmental, social, governance) scores and disclosures for a company."""
333
+
334
+ data: NotRequired[CompanyEsgResponseDataTypedDict]
335
+ r"""Detailed ESG disclosures and metrics."""
336
+ environment_score: NotRequired[float]
337
+ r"""Environmental score."""
338
+ governance_score: NotRequired[float]
339
+ r"""Governance score."""
340
+ social_score: NotRequired[float]
341
+ r"""Social score."""
342
+ symbol: NotRequired[str]
343
+ r"""Ticker symbol of the company."""
344
+ total_esg_score: NotRequired[float]
345
+ r"""Total ESG score."""
346
+
347
+
348
+ class CompanyEsgResponse(BaseModel):
349
+ r"""Latest ESG (environmental, social, governance) scores and disclosures for a company."""
350
+
351
+ data: Optional[CompanyEsgResponseData] = None
352
+ r"""Detailed ESG disclosures and metrics."""
353
+
354
+ environment_score: Annotated[
355
+ Optional[float], pydantic.Field(alias="environmentScore")
356
+ ] = None
357
+ r"""Environmental score."""
358
+
359
+ governance_score: Annotated[
360
+ Optional[float], pydantic.Field(alias="governanceScore")
361
+ ] = None
362
+ r"""Governance score."""
363
+
364
+ social_score: Annotated[Optional[float], pydantic.Field(alias="socialScore")] = None
365
+ r"""Social score."""
366
+
367
+ symbol: Optional[str] = None
368
+ r"""Ticker symbol of the company."""
369
+
370
+ total_esg_score: Annotated[
371
+ Optional[float], pydantic.Field(alias="totalESGScore")
372
+ ] = None
373
+ r"""Total ESG score."""
374
+
375
+ @model_serializer(mode="wrap")
376
+ def serialize_model(self, handler):
377
+ optional_fields = set(
378
+ [
379
+ "data",
380
+ "environmentScore",
381
+ "governanceScore",
382
+ "socialScore",
383
+ "symbol",
384
+ "totalESGScore",
385
+ ]
386
+ )
387
+ serialized = handler(self)
388
+ m = {}
389
+
390
+ for n, f in type(self).model_fields.items():
391
+ k = f.alias or n
392
+ val = serialized.get(k, serialized.get(n))
393
+
394
+ if val != UNSET_SENTINEL:
395
+ if val is not None or k not in optional_fields:
396
+ m[k] = val
397
+
398
+ return m
399
+
400
+
401
+ try:
402
+ CompanyEsgResponseData.model_rebuild()
403
+ except NameError:
404
+ pass
405
+ try:
406
+ CompanyEsgResponse.model_rebuild()
407
+ except NameError:
408
+ pass
@@ -0,0 +1,70 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: eb16c862319d
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 Optional
8
+ from typing_extensions import NotRequired, TypedDict
9
+
10
+
11
+ class CompanyExecutiveTypedDict(TypedDict):
12
+ r"""Company executive with position and compensation details."""
13
+
14
+ age: NotRequired[int]
15
+ r"""Executive's current age"""
16
+ compensation: NotRequired[float]
17
+ r"""Executive compensation amount"""
18
+ currency: NotRequired[str]
19
+ r"""Currency code for compensation"""
20
+ name: NotRequired[str]
21
+ r"""Executive's full name"""
22
+ position: NotRequired[str]
23
+ r"""Executive position/title"""
24
+ sex: NotRequired[str]
25
+ r"""Executive's sex"""
26
+ since: NotRequired[str]
27
+ r"""Year when the executive joined"""
28
+
29
+
30
+ class CompanyExecutive(BaseModel):
31
+ r"""Company executive with position and compensation details."""
32
+
33
+ age: Optional[int] = None
34
+ r"""Executive's current age"""
35
+
36
+ compensation: Optional[float] = None
37
+ r"""Executive compensation amount"""
38
+
39
+ currency: Optional[str] = None
40
+ r"""Currency code for compensation"""
41
+
42
+ name: Optional[str] = None
43
+ r"""Executive's full name"""
44
+
45
+ position: Optional[str] = None
46
+ r"""Executive position/title"""
47
+
48
+ sex: Optional[str] = None
49
+ r"""Executive's sex"""
50
+
51
+ since: Optional[str] = None
52
+ r"""Year when the executive joined"""
53
+
54
+ @model_serializer(mode="wrap")
55
+ def serialize_model(self, handler):
56
+ optional_fields = set(
57
+ ["age", "compensation", "currency", "name", "position", "sex", "since"]
58
+ )
59
+ serialized = handler(self)
60
+ m = {}
61
+
62
+ for n, f in type(self).model_fields.items():
63
+ k = f.alias or n
64
+ val = serialized.get(k, serialized.get(n))
65
+
66
+ if val != UNSET_SENTINEL:
67
+ if val is not None or k not in optional_fields:
68
+ m[k] = val
69
+
70
+ return m
@@ -0,0 +1,39 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 18ab025ab17a
3
+
4
+ from __future__ import annotations
5
+ from .companyexecutive import CompanyExecutive, CompanyExecutiveTypedDict
6
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
7
+ from pydantic import model_serializer
8
+ from typing import List, Optional
9
+ from typing_extensions import NotRequired, TypedDict
10
+
11
+
12
+ class CompanyExecutiveResponseTypedDict(TypedDict):
13
+ r"""Response containing executive leadership data for a company."""
14
+
15
+ executives: NotRequired[List[CompanyExecutiveTypedDict]]
16
+ r"""List of company executives and their details"""
17
+
18
+
19
+ class CompanyExecutiveResponse(BaseModel):
20
+ r"""Response containing executive leadership data for a company."""
21
+
22
+ executives: Optional[List[CompanyExecutive]] = None
23
+ r"""List of company executives and their details"""
24
+
25
+ @model_serializer(mode="wrap")
26
+ def serialize_model(self, handler):
27
+ optional_fields = set(["executives"])
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,38 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 399b51e74114
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 CompanyPeersResponseTypedDict(TypedDict):
12
+ r"""Response containing peer company tickers for comparison and competitor research."""
13
+
14
+ peers: NotRequired[List[str]]
15
+ r"""List of ticker symbols for companies in the same industry or sector"""
16
+
17
+
18
+ class CompanyPeersResponse(BaseModel):
19
+ r"""Response containing peer company tickers for comparison and competitor research."""
20
+
21
+ peers: Optional[List[str]] = None
22
+ r"""List of ticker symbols for companies in the same industry or sector"""
23
+
24
+ @model_serializer(mode="wrap")
25
+ def serialize_model(self, handler):
26
+ optional_fields = set(["peers"])
27
+ serialized = handler(self)
28
+ m = {}
29
+
30
+ for n, f in type(self).model_fields.items():
31
+ k = f.alias or n
32
+ val = serialized.get(k, serialized.get(n))
33
+
34
+ if val != UNSET_SENTINEL:
35
+ if val is not None or k not in optional_fields:
36
+ m[k] = val
37
+
38
+ return m
@@ -0,0 +1,96 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 3f735a7b4c5f
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 ReTypedDict(TypedDict):
13
+ at_time: NotRequired[str]
14
+ r"""Timestamp of the presentation as provided by the data vendor."""
15
+ quarter: NotRequired[int]
16
+ r"""Fiscal quarter the presentation relates to."""
17
+ title: NotRequired[str]
18
+ r"""Title of the presentation."""
19
+ url: NotRequired[str]
20
+ r"""URL to access the presentation."""
21
+ year: NotRequired[int]
22
+ r"""Fiscal year the presentation relates to."""
23
+
24
+
25
+ class Re(BaseModel):
26
+ at_time: Annotated[Optional[str], pydantic.Field(alias="atTime")] = None
27
+ r"""Timestamp of the presentation as provided by the data vendor."""
28
+
29
+ quarter: Optional[int] = None
30
+ r"""Fiscal quarter the presentation relates to."""
31
+
32
+ title: Optional[str] = None
33
+ r"""Title of the presentation."""
34
+
35
+ url: Optional[str] = None
36
+ r"""URL to access the presentation."""
37
+
38
+ year: Optional[int] = None
39
+ r"""Fiscal year the presentation relates to."""
40
+
41
+ @model_serializer(mode="wrap")
42
+ def serialize_model(self, handler):
43
+ optional_fields = set(["atTime", "quarter", "title", "url", "year"])
44
+ serialized = handler(self)
45
+ m = {}
46
+
47
+ for n, f in type(self).model_fields.items():
48
+ k = f.alias or n
49
+ val = serialized.get(k, serialized.get(n))
50
+
51
+ if val != UNSET_SENTINEL:
52
+ if val is not None or k not in optional_fields:
53
+ m[k] = val
54
+
55
+ return m
56
+
57
+
58
+ class CompanyPresentationResponseTypedDict(TypedDict):
59
+ r"""Company presentations and slide decks for a symbol."""
60
+
61
+ res: NotRequired[List[ReTypedDict]]
62
+ r"""Available company presentations."""
63
+ symbol: NotRequired[str]
64
+ r"""Ticker symbol of the company."""
65
+
66
+
67
+ class CompanyPresentationResponse(BaseModel):
68
+ r"""Company presentations and slide decks for a symbol."""
69
+
70
+ res: Optional[List[Re]] = None
71
+ r"""Available company presentations."""
72
+
73
+ symbol: Optional[str] = None
74
+ r"""Ticker symbol of the company."""
75
+
76
+ @model_serializer(mode="wrap")
77
+ def serialize_model(self, handler):
78
+ optional_fields = set(["res", "symbol"])
79
+ serialized = handler(self)
80
+ m = {}
81
+
82
+ for n, f in type(self).model_fields.items():
83
+ k = f.alias or n
84
+ val = serialized.get(k, serialized.get(n))
85
+
86
+ if val != UNSET_SENTINEL:
87
+ if val is not None or k not in optional_fields:
88
+ m[k] = val
89
+
90
+ return m
91
+
92
+
93
+ try:
94
+ Re.model_rebuild()
95
+ except NameError:
96
+ pass