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,548 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 9677ecc16732
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 TenderOffersResponseSecurityTypedDict(TypedDict):
13
+ r"""Security the tender offers relate to"""
14
+
15
+ cik: NotRequired[str]
16
+ r"""SEC Central Index Key (CIK) of the issuer"""
17
+ composite_figi: NotRequired[str]
18
+ r"""Composite FIGI of the security"""
19
+ cusip: NotRequired[str]
20
+ r"""CUSIP of the security"""
21
+ figi: NotRequired[str]
22
+ r"""FIGI of the security"""
23
+ industry: NotRequired[str]
24
+ r"""Industry of the issuer"""
25
+ instrument_class: NotRequired[str]
26
+ r"""Instrument class of the security"""
27
+ isin: NotRequired[str]
28
+ r"""ISIN of the security"""
29
+ market: NotRequired[str]
30
+ r"""Market the security trades on"""
31
+ market_identification_code: NotRequired[str]
32
+ r"""Market Identification Code (MIC) of the security's market"""
33
+ name: NotRequired[str]
34
+ r"""Name of the security"""
35
+ sector: NotRequired[str]
36
+ r"""Sector of the issuer"""
37
+ sedol: NotRequired[str]
38
+ r"""SEDOL of the security"""
39
+ symbol: NotRequired[str]
40
+ r"""Ticker symbol of the security"""
41
+ valoren: NotRequired[str]
42
+ r"""Valoren number of the security"""
43
+
44
+
45
+ class TenderOffersResponseSecurity(BaseModel):
46
+ r"""Security the tender offers relate to"""
47
+
48
+ cik: Optional[str] = None
49
+ r"""SEC Central Index Key (CIK) of the issuer"""
50
+
51
+ composite_figi: Annotated[Optional[str], pydantic.Field(alias="compositeFigi")] = (
52
+ None
53
+ )
54
+ r"""Composite FIGI of the security"""
55
+
56
+ cusip: Optional[str] = None
57
+ r"""CUSIP of the security"""
58
+
59
+ figi: Optional[str] = None
60
+ r"""FIGI of the security"""
61
+
62
+ industry: Optional[str] = None
63
+ r"""Industry of the issuer"""
64
+
65
+ instrument_class: Annotated[
66
+ Optional[str], pydantic.Field(alias="instrumentClass")
67
+ ] = None
68
+ r"""Instrument class of the security"""
69
+
70
+ isin: Optional[str] = None
71
+ r"""ISIN of the security"""
72
+
73
+ market: Optional[str] = None
74
+ r"""Market the security trades on"""
75
+
76
+ market_identification_code: Annotated[
77
+ Optional[str], pydantic.Field(alias="marketIdentificationCode")
78
+ ] = None
79
+ r"""Market Identification Code (MIC) of the security's market"""
80
+
81
+ name: Optional[str] = None
82
+ r"""Name of the security"""
83
+
84
+ sector: Optional[str] = None
85
+ r"""Sector of the issuer"""
86
+
87
+ sedol: Optional[str] = None
88
+ r"""SEDOL of the security"""
89
+
90
+ symbol: Optional[str] = None
91
+ r"""Ticker symbol of the security"""
92
+
93
+ valoren: Optional[str] = None
94
+ r"""Valoren number of the security"""
95
+
96
+ @model_serializer(mode="wrap")
97
+ def serialize_model(self, handler):
98
+ optional_fields = set(
99
+ [
100
+ "cik",
101
+ "compositeFigi",
102
+ "cusip",
103
+ "figi",
104
+ "industry",
105
+ "instrumentClass",
106
+ "isin",
107
+ "market",
108
+ "marketIdentificationCode",
109
+ "name",
110
+ "sector",
111
+ "sedol",
112
+ "symbol",
113
+ "valoren",
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 PaidSecurityTypedDict(TypedDict):
131
+ r"""Security paid to holders who tender"""
132
+
133
+ cik: NotRequired[str]
134
+ r"""SEC Central Index Key (CIK) of the issuer"""
135
+ composite_figi: NotRequired[str]
136
+ r"""Composite FIGI of the security"""
137
+ cusip: NotRequired[str]
138
+ r"""CUSIP of the security"""
139
+ figi: NotRequired[str]
140
+ r"""FIGI of the security"""
141
+ industry: NotRequired[str]
142
+ r"""Industry of the issuer"""
143
+ instrument_class: NotRequired[str]
144
+ r"""Instrument class of the security"""
145
+ isin: NotRequired[str]
146
+ r"""ISIN of the security"""
147
+ market: NotRequired[str]
148
+ r"""Market the security trades on"""
149
+ market_identification_code: NotRequired[str]
150
+ r"""Market Identification Code (MIC) of the security's market"""
151
+ name: NotRequired[str]
152
+ r"""Name of the security"""
153
+ sector: NotRequired[str]
154
+ r"""Sector of the issuer"""
155
+ sedol: NotRequired[str]
156
+ r"""SEDOL of the security"""
157
+ symbol: NotRequired[str]
158
+ r"""Ticker symbol of the security"""
159
+ valoren: NotRequired[str]
160
+ r"""Valoren number of the security"""
161
+
162
+
163
+ class PaidSecurity(BaseModel):
164
+ r"""Security paid to holders who tender"""
165
+
166
+ cik: Optional[str] = None
167
+ r"""SEC Central Index Key (CIK) of the issuer"""
168
+
169
+ composite_figi: Annotated[Optional[str], pydantic.Field(alias="compositeFigi")] = (
170
+ None
171
+ )
172
+ r"""Composite FIGI of the security"""
173
+
174
+ cusip: Optional[str] = None
175
+ r"""CUSIP of the security"""
176
+
177
+ figi: Optional[str] = None
178
+ r"""FIGI of the security"""
179
+
180
+ industry: Optional[str] = None
181
+ r"""Industry of the issuer"""
182
+
183
+ instrument_class: Annotated[
184
+ Optional[str], pydantic.Field(alias="instrumentClass")
185
+ ] = None
186
+ r"""Instrument class of the security"""
187
+
188
+ isin: Optional[str] = None
189
+ r"""ISIN of the security"""
190
+
191
+ market: Optional[str] = None
192
+ r"""Market the security trades on"""
193
+
194
+ market_identification_code: Annotated[
195
+ Optional[str], pydantic.Field(alias="marketIdentificationCode")
196
+ ] = None
197
+ r"""Market Identification Code (MIC) of the security's market"""
198
+
199
+ name: Optional[str] = None
200
+ r"""Name of the security"""
201
+
202
+ sector: Optional[str] = None
203
+ r"""Sector of the issuer"""
204
+
205
+ sedol: Optional[str] = None
206
+ r"""SEDOL of the security"""
207
+
208
+ symbol: Optional[str] = None
209
+ r"""Ticker symbol of the security"""
210
+
211
+ valoren: Optional[str] = None
212
+ r"""Valoren number of the security"""
213
+
214
+ @model_serializer(mode="wrap")
215
+ def serialize_model(self, handler):
216
+ optional_fields = set(
217
+ [
218
+ "cik",
219
+ "compositeFigi",
220
+ "cusip",
221
+ "figi",
222
+ "industry",
223
+ "instrumentClass",
224
+ "isin",
225
+ "market",
226
+ "marketIdentificationCode",
227
+ "name",
228
+ "sector",
229
+ "sedol",
230
+ "symbol",
231
+ "valoren",
232
+ ]
233
+ )
234
+ serialized = handler(self)
235
+ m = {}
236
+
237
+ for n, f in type(self).model_fields.items():
238
+ k = f.alias or n
239
+ val = serialized.get(k, serialized.get(n))
240
+
241
+ if val != UNSET_SENTINEL:
242
+ if val is not None or k not in optional_fields:
243
+ m[k] = val
244
+
245
+ return m
246
+
247
+
248
+ class TenderOfferTypedDict(TypedDict):
249
+ r"""Tender offer record"""
250
+
251
+ close_date: NotRequired[str]
252
+ r"""Date the tender offer closes, as provided by the upstream data provider"""
253
+ currency: NotRequired[str]
254
+ r"""Currency of the offer amounts"""
255
+ dutch_auction: NotRequired[bool]
256
+ r"""Whether the offer is a Dutch auction"""
257
+ effective_date: NotRequired[str]
258
+ r"""Date the tender offer event takes effect, as provided by the upstream data provider"""
259
+ event_identifier: NotRequired[str]
260
+ r"""Identifier of the tender offer event"""
261
+ event_status: NotRequired[str]
262
+ r"""Status of the tender offer event"""
263
+ is_default_option: NotRequired[bool]
264
+ r"""Whether this is the default option for holders who do not elect"""
265
+ is_hostile: NotRequired[bool]
266
+ r"""Whether the offer is hostile"""
267
+ is_takeover: NotRequired[bool]
268
+ r"""Whether the offer is a takeover"""
269
+ maximum_amount: NotRequired[str]
270
+ r"""Maximum amount that can be tendered"""
271
+ minimum_amount: NotRequired[str]
272
+ r"""Minimum amount that can be tendered"""
273
+ number_of_initial_instruments: NotRequired[str]
274
+ r"""Number of initial instruments in the exchange ratio"""
275
+ number_of_new_instruments: NotRequired[str]
276
+ r"""Number of new instruments in the exchange ratio"""
277
+ offeror_company_identifier: NotRequired[str]
278
+ r"""Identifier of the offeror company"""
279
+ offeror_company_name: NotRequired[str]
280
+ r"""Name of the offeror company"""
281
+ open_date: NotRequired[str]
282
+ r"""Date the tender offer opens, as provided by the upstream data provider"""
283
+ option_election_date: NotRequired[str]
284
+ r"""Date by which holders must elect an option, as provided by the upstream data provider"""
285
+ paid_security: NotRequired[PaidSecurityTypedDict]
286
+ r"""Security paid to holders who tender"""
287
+ pay_date: NotRequired[str]
288
+ r"""Date the tender offer is paid, as provided by the upstream data provider"""
289
+ pay_type: NotRequired[str]
290
+ r"""Type of payment offered"""
291
+ pre_offer_percent: NotRequired[str]
292
+ r"""Percentage of securities the offeror held before the offer"""
293
+ pre_offer_quantity: NotRequired[str]
294
+ r"""Quantity of securities the offeror held before the offer"""
295
+ record_date: NotRequired[str]
296
+ r"""Record date for determining eligible holders, as provided by the upstream data provider"""
297
+ registration_date: NotRequired[str]
298
+ r"""Registration date of the tender offer, as provided by the upstream data provider"""
299
+ target_percent: NotRequired[str]
300
+ r"""Percentage of securities the offeror is seeking"""
301
+ target_quantity: NotRequired[str]
302
+ r"""Quantity of securities the offeror is seeking"""
303
+ unconditional_date: NotRequired[str]
304
+ r"""Date the tender offer becomes unconditional, as provided by the upstream data provider"""
305
+ withdrawal_from_date: NotRequired[str]
306
+ r"""Start of the withdrawal period, as provided by the upstream data provider"""
307
+ withdrawal_rights: NotRequired[str]
308
+ r"""Withdrawal rights granted to holders"""
309
+ withdrawal_to_date: NotRequired[str]
310
+ r"""End of the withdrawal period, as provided by the upstream data provider"""
311
+
312
+
313
+ class TenderOffer(BaseModel):
314
+ r"""Tender offer record"""
315
+
316
+ close_date: Annotated[Optional[str], pydantic.Field(alias="closeDate")] = None
317
+ r"""Date the tender offer closes, as provided by the upstream data provider"""
318
+
319
+ currency: Optional[str] = None
320
+ r"""Currency of the offer amounts"""
321
+
322
+ dutch_auction: Annotated[Optional[bool], pydantic.Field(alias="dutchAuction")] = (
323
+ None
324
+ )
325
+ r"""Whether the offer is a Dutch auction"""
326
+
327
+ effective_date: Annotated[Optional[str], pydantic.Field(alias="effectiveDate")] = (
328
+ None
329
+ )
330
+ r"""Date the tender offer event takes effect, as provided by the upstream data provider"""
331
+
332
+ event_identifier: Annotated[
333
+ Optional[str], pydantic.Field(alias="eventIdentifier")
334
+ ] = None
335
+ r"""Identifier of the tender offer event"""
336
+
337
+ event_status: Annotated[Optional[str], pydantic.Field(alias="eventStatus")] = None
338
+ r"""Status of the tender offer event"""
339
+
340
+ is_default_option: Annotated[
341
+ Optional[bool], pydantic.Field(alias="isDefaultOption")
342
+ ] = None
343
+ r"""Whether this is the default option for holders who do not elect"""
344
+
345
+ is_hostile: Annotated[Optional[bool], pydantic.Field(alias="isHostile")] = None
346
+ r"""Whether the offer is hostile"""
347
+
348
+ is_takeover: Annotated[Optional[bool], pydantic.Field(alias="isTakeover")] = None
349
+ r"""Whether the offer is a takeover"""
350
+
351
+ maximum_amount: Annotated[Optional[str], pydantic.Field(alias="maximumAmount")] = (
352
+ None
353
+ )
354
+ r"""Maximum amount that can be tendered"""
355
+
356
+ minimum_amount: Annotated[Optional[str], pydantic.Field(alias="minimumAmount")] = (
357
+ None
358
+ )
359
+ r"""Minimum amount that can be tendered"""
360
+
361
+ number_of_initial_instruments: Annotated[
362
+ Optional[str], pydantic.Field(alias="numberOfInitialInstruments")
363
+ ] = None
364
+ r"""Number of initial instruments in the exchange ratio"""
365
+
366
+ number_of_new_instruments: Annotated[
367
+ Optional[str], pydantic.Field(alias="numberOfNewInstruments")
368
+ ] = None
369
+ r"""Number of new instruments in the exchange ratio"""
370
+
371
+ offeror_company_identifier: Annotated[
372
+ Optional[str], pydantic.Field(alias="offerorCompanyIdentifier")
373
+ ] = None
374
+ r"""Identifier of the offeror company"""
375
+
376
+ offeror_company_name: Annotated[
377
+ Optional[str], pydantic.Field(alias="offerorCompanyName")
378
+ ] = None
379
+ r"""Name of the offeror company"""
380
+
381
+ open_date: Annotated[Optional[str], pydantic.Field(alias="openDate")] = None
382
+ r"""Date the tender offer opens, as provided by the upstream data provider"""
383
+
384
+ option_election_date: Annotated[
385
+ Optional[str], pydantic.Field(alias="optionElectionDate")
386
+ ] = None
387
+ r"""Date by which holders must elect an option, as provided by the upstream data provider"""
388
+
389
+ paid_security: Annotated[
390
+ Optional[PaidSecurity], pydantic.Field(alias="paidSecurity")
391
+ ] = None
392
+ r"""Security paid to holders who tender"""
393
+
394
+ pay_date: Annotated[Optional[str], pydantic.Field(alias="payDate")] = None
395
+ r"""Date the tender offer is paid, as provided by the upstream data provider"""
396
+
397
+ pay_type: Annotated[Optional[str], pydantic.Field(alias="payType")] = None
398
+ r"""Type of payment offered"""
399
+
400
+ pre_offer_percent: Annotated[
401
+ Optional[str], pydantic.Field(alias="preOfferPercent")
402
+ ] = None
403
+ r"""Percentage of securities the offeror held before the offer"""
404
+
405
+ pre_offer_quantity: Annotated[
406
+ Optional[str], pydantic.Field(alias="preOfferQuantity")
407
+ ] = None
408
+ r"""Quantity of securities the offeror held before the offer"""
409
+
410
+ record_date: Annotated[Optional[str], pydantic.Field(alias="recordDate")] = None
411
+ r"""Record date for determining eligible holders, as provided by the upstream data provider"""
412
+
413
+ registration_date: Annotated[
414
+ Optional[str], pydantic.Field(alias="registrationDate")
415
+ ] = None
416
+ r"""Registration date of the tender offer, as provided by the upstream data provider"""
417
+
418
+ target_percent: Annotated[Optional[str], pydantic.Field(alias="targetPercent")] = (
419
+ None
420
+ )
421
+ r"""Percentage of securities the offeror is seeking"""
422
+
423
+ target_quantity: Annotated[
424
+ Optional[str], pydantic.Field(alias="targetQuantity")
425
+ ] = None
426
+ r"""Quantity of securities the offeror is seeking"""
427
+
428
+ unconditional_date: Annotated[
429
+ Optional[str], pydantic.Field(alias="unconditionalDate")
430
+ ] = None
431
+ r"""Date the tender offer becomes unconditional, as provided by the upstream data provider"""
432
+
433
+ withdrawal_from_date: Annotated[
434
+ Optional[str], pydantic.Field(alias="withdrawalFromDate")
435
+ ] = None
436
+ r"""Start of the withdrawal period, as provided by the upstream data provider"""
437
+
438
+ withdrawal_rights: Annotated[
439
+ Optional[str], pydantic.Field(alias="withdrawalRights")
440
+ ] = None
441
+ r"""Withdrawal rights granted to holders"""
442
+
443
+ withdrawal_to_date: Annotated[
444
+ Optional[str], pydantic.Field(alias="withdrawalToDate")
445
+ ] = None
446
+ r"""End of the withdrawal period, as provided by the upstream data provider"""
447
+
448
+ @model_serializer(mode="wrap")
449
+ def serialize_model(self, handler):
450
+ optional_fields = set(
451
+ [
452
+ "closeDate",
453
+ "currency",
454
+ "dutchAuction",
455
+ "effectiveDate",
456
+ "eventIdentifier",
457
+ "eventStatus",
458
+ "isDefaultOption",
459
+ "isHostile",
460
+ "isTakeover",
461
+ "maximumAmount",
462
+ "minimumAmount",
463
+ "numberOfInitialInstruments",
464
+ "numberOfNewInstruments",
465
+ "offerorCompanyIdentifier",
466
+ "offerorCompanyName",
467
+ "openDate",
468
+ "optionElectionDate",
469
+ "paidSecurity",
470
+ "payDate",
471
+ "payType",
472
+ "preOfferPercent",
473
+ "preOfferQuantity",
474
+ "recordDate",
475
+ "registrationDate",
476
+ "targetPercent",
477
+ "targetQuantity",
478
+ "unconditionalDate",
479
+ "withdrawalFromDate",
480
+ "withdrawalRights",
481
+ "withdrawalToDate",
482
+ ]
483
+ )
484
+ serialized = handler(self)
485
+ m = {}
486
+
487
+ for n, f in type(self).model_fields.items():
488
+ k = f.alias or n
489
+ val = serialized.get(k, serialized.get(n))
490
+
491
+ if val != UNSET_SENTINEL:
492
+ if val is not None or k not in optional_fields:
493
+ m[k] = val
494
+
495
+ return m
496
+
497
+
498
+ class TenderOffersResponseTypedDict(TypedDict):
499
+ r"""Tender offers found for the requested security and date window."""
500
+
501
+ tender_offers: List[TenderOfferTypedDict]
502
+ r"""List of tender offer records"""
503
+ security: NotRequired[TenderOffersResponseSecurityTypedDict]
504
+ r"""Security the tender offers relate to"""
505
+
506
+
507
+ class TenderOffersResponse(BaseModel):
508
+ r"""Tender offers found for the requested security and date window."""
509
+
510
+ tender_offers: Annotated[List[TenderOffer], pydantic.Field(alias="tenderOffers")]
511
+ r"""List of tender offer records"""
512
+
513
+ security: Optional[TenderOffersResponseSecurity] = None
514
+ r"""Security the tender offers relate to"""
515
+
516
+ @model_serializer(mode="wrap")
517
+ def serialize_model(self, handler):
518
+ optional_fields = set(["security"])
519
+ serialized = handler(self)
520
+ m = {}
521
+
522
+ for n, f in type(self).model_fields.items():
523
+ k = f.alias or n
524
+ val = serialized.get(k, serialized.get(n))
525
+
526
+ if val != UNSET_SENTINEL:
527
+ if val is not None or k not in optional_fields:
528
+ m[k] = val
529
+
530
+ return m
531
+
532
+
533
+ try:
534
+ TenderOffersResponseSecurity.model_rebuild()
535
+ except NameError:
536
+ pass
537
+ try:
538
+ PaidSecurity.model_rebuild()
539
+ except NameError:
540
+ pass
541
+ try:
542
+ TenderOffer.model_rebuild()
543
+ except NameError:
544
+ pass
545
+ try:
546
+ TenderOffersResponse.model_rebuild()
547
+ except NameError:
548
+ pass
@@ -0,0 +1,104 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: d60d6e378f75
3
+
4
+ from __future__ import annotations
5
+ from enum import Enum
6
+ from finance_dev import models, utils
7
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
8
+ import pydantic
9
+ from pydantic import field_serializer, model_serializer
10
+ from typing import List, Optional
11
+ from typing_extensions import Annotated, NotRequired, TypedDict
12
+
13
+
14
+ class TickChartBarsS(str, Enum, metaclass=utils.OpenEnumMeta):
15
+ r"""Response status. `ok` means chart arrays are usable; `no_data` means no matching trade activity was found; `error` means read `errmsg`."""
16
+
17
+ OK = "ok"
18
+ NO_DATA = "no_data"
19
+ ERROR = "error"
20
+
21
+
22
+ class TickChartBarsTypedDict(TypedDict):
23
+ r"""Tick-based chart data returned as parallel arrays, plus a pagination cursor for loading older history. Values at the same index belong to the same bar, so `t[0]`, `o[0]`, `h[0]`, `l[0]`, `c[0]`, and `v[0]` describe one candle."""
24
+
25
+ s: TickChartBarsS
26
+ r"""Response status. `ok` means chart arrays are usable; `no_data` means no matching trade activity was found; `error` means read `errmsg`."""
27
+ c: NotRequired[List[float]]
28
+ r"""Close price for each bar. Use the value at the same index as `t` for chart candles and performance calculations."""
29
+ errmsg: NotRequired[str]
30
+ r"""Human-readable error message. Present only when `s` is `error`."""
31
+ h: NotRequired[List[float]]
32
+ r"""Highest traded price during each bar. Use it for candle wicks and intraperiod range."""
33
+ l: NotRequired[List[float]]
34
+ r"""Lowest traded price during each bar. Use it for candle wicks and intraperiod range."""
35
+ next_to: NotRequired[str]
36
+ r"""Opaque pagination token for loading the next OLDER page of bars. Save this value and send it back as the `cursor` query parameter when the user scrolls the chart further into the past. Not present when there is no older history left to load — stop requesting further pages when this field is absent."""
37
+ o: NotRequired[List[float]]
38
+ r"""Open price for each bar. Use the value at the same index as `t` for candle bodies."""
39
+ t: NotRequired[List[int]]
40
+ r"""Bar timestamps in Unix MILLISECONDS (not seconds, unlike `/v1/chart/history`). Each timestamp is strictly greater than the one before it, even when many trades happen within the same second. Each timestamp index lines up with open, high, low, close, and volume arrays."""
41
+ v: NotRequired[List[int]]
42
+ r"""Total traded volume for each bar. Use the value at the same index as `t` for volume charts."""
43
+
44
+
45
+ class TickChartBars(BaseModel):
46
+ r"""Tick-based chart data returned as parallel arrays, plus a pagination cursor for loading older history. Values at the same index belong to the same bar, so `t[0]`, `o[0]`, `h[0]`, `l[0]`, `c[0]`, and `v[0]` describe one candle."""
47
+
48
+ s: TickChartBarsS
49
+ r"""Response status. `ok` means chart arrays are usable; `no_data` means no matching trade activity was found; `error` means read `errmsg`."""
50
+
51
+ c: Optional[List[float]] = None
52
+ r"""Close price for each bar. Use the value at the same index as `t` for chart candles and performance calculations."""
53
+
54
+ errmsg: Optional[str] = None
55
+ r"""Human-readable error message. Present only when `s` is `error`."""
56
+
57
+ h: Optional[List[float]] = None
58
+ r"""Highest traded price during each bar. Use it for candle wicks and intraperiod range."""
59
+
60
+ l: Optional[List[float]] = None
61
+ r"""Lowest traded price during each bar. Use it for candle wicks and intraperiod range."""
62
+
63
+ next_to: Annotated[Optional[str], pydantic.Field(alias="nextTo")] = None
64
+ r"""Opaque pagination token for loading the next OLDER page of bars. Save this value and send it back as the `cursor` query parameter when the user scrolls the chart further into the past. Not present when there is no older history left to load — stop requesting further pages when this field is absent."""
65
+
66
+ o: Optional[List[float]] = None
67
+ r"""Open price for each bar. Use the value at the same index as `t` for candle bodies."""
68
+
69
+ t: Optional[List[int]] = None
70
+ r"""Bar timestamps in Unix MILLISECONDS (not seconds, unlike `/v1/chart/history`). Each timestamp is strictly greater than the one before it, even when many trades happen within the same second. Each timestamp index lines up with open, high, low, close, and volume arrays."""
71
+
72
+ v: Optional[List[int]] = None
73
+ r"""Total traded volume for each bar. Use the value at the same index as `t` for volume charts."""
74
+
75
+ @field_serializer("s")
76
+ def serialize_s(self, value):
77
+ if isinstance(value, str):
78
+ try:
79
+ return models.TickChartBarsS(value)
80
+ except ValueError:
81
+ return value
82
+ return value
83
+
84
+ @model_serializer(mode="wrap")
85
+ def serialize_model(self, handler):
86
+ optional_fields = set(["c", "errmsg", "h", "l", "nextTo", "o", "t", "v"])
87
+ serialized = handler(self)
88
+ m = {}
89
+
90
+ for n, f in type(self).model_fields.items():
91
+ k = f.alias or n
92
+ val = serialized.get(k, serialized.get(n))
93
+
94
+ if val != UNSET_SENTINEL:
95
+ if val is not None or k not in optional_fields:
96
+ m[k] = val
97
+
98
+ return m
99
+
100
+
101
+ try:
102
+ TickChartBars.model_rebuild()
103
+ except NameError:
104
+ pass
@@ -0,0 +1,20 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 6e7a448d1916
3
+
4
+ from __future__ import annotations
5
+ from enum import Enum
6
+ from finance_dev import utils
7
+
8
+
9
+ class TickResolution(str, Enum, metaclass=utils.OpenEnumMeta):
10
+ r"""Tick bar size: the number of trades that make up one bar. For example, `100T` closes a new bar every 100 trades, regardless of how much time that takes. Larger values (e.g. `1000T`) smooth out noise and are better suited to a wider chart view; smaller values (e.g. `1T`, one trade per bar) show every individual trade and suit a zoomed-in view."""
11
+
12
+ ONE_T = "1T"
13
+ FIVE_T = "5T"
14
+ TEN_T = "10T"
15
+ TWENTY_FIVE_T = "25T"
16
+ FIFTY_T = "50T"
17
+ ONE_HUNDRED_T = "100T"
18
+ TWO_HUNDRED_AND_FIFTY_T = "250T"
19
+ FIVE_HUNDRED_T = "500T"
20
+ ONE_THOUSAND_T = "1000T"