finance_dev 0.9.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (486) hide show
  1. finance_dev/__init__.py +18 -0
  2. finance_dev/_hooks/__init__.py +7 -0
  3. finance_dev/_hooks/clientcredentials.py +319 -0
  4. finance_dev/_hooks/oauth2scopes.py +50 -0
  5. finance_dev/_hooks/registration.py +13 -0
  6. finance_dev/_hooks/sdkhooks.py +82 -0
  7. finance_dev/_hooks/types.py +125 -0
  8. finance_dev/_version.py +16 -0
  9. finance_dev/accounts.py +797 -0
  10. finance_dev/alternativedata.py +4830 -0
  11. finance_dev/analytics.py +3757 -0
  12. finance_dev/basesdk.py +393 -0
  13. finance_dev/calendar.py +1523 -0
  14. finance_dev/chart.py +1881 -0
  15. finance_dev/company.py +1105 -0
  16. finance_dev/corporateactions.py +1795 -0
  17. finance_dev/economy.py +1153 -0
  18. finance_dev/errors/__init__.py +94 -0
  19. finance_dev/errors/apierror.py +41 -0
  20. finance_dev/errors/authenticationerrorenvelope.py +43 -0
  21. finance_dev/errors/badrequest.py +34 -0
  22. finance_dev/errors/errorenvelope.py +42 -0
  23. finance_dev/errors/errorresponse.py +45 -0
  24. finance_dev/errors/financedevapierror.py +31 -0
  25. finance_dev/errors/forbidden.py +34 -0
  26. finance_dev/errors/internalservererror.py +35 -0
  27. finance_dev/errors/no_response_error.py +18 -0
  28. finance_dev/errors/notfound.py +34 -0
  29. finance_dev/errors/orderhistorybadrequest.py +35 -0
  30. finance_dev/errors/predorderserrorenvelope.py +42 -0
  31. finance_dev/errors/responsevalidationerror.py +28 -0
  32. finance_dev/errors/unauthorized.py +34 -0
  33. finance_dev/estimates.py +1906 -0
  34. finance_dev/etf.py +1108 -0
  35. finance_dev/filings.py +586 -0
  36. finance_dev/financials.py +4079 -0
  37. finance_dev/history.py +477 -0
  38. finance_dev/httpclient.py +126 -0
  39. finance_dev/indices.py +2308 -0
  40. finance_dev/logos.py +692 -0
  41. finance_dev/market.py +1825 -0
  42. finance_dev/markets.py +952 -0
  43. finance_dev/models/__init__.py +4568 -0
  44. finance_dev/models/accountbalancev2.py +340 -0
  45. finance_dev/models/accountitem.py +78 -0
  46. finance_dev/models/accountposition.py +147 -0
  47. finance_dev/models/aggregatetechnicalindicatorsresponse.py +192 -0
  48. finance_dev/models/analystinsightitem.py +161 -0
  49. finance_dev/models/analystinsightsresponse.py +39 -0
  50. finance_dev/models/apperror.py +123 -0
  51. finance_dev/models/authenticationerrordetail.py +58 -0
  52. finance_dev/models/bankbranchesresponse.py +96 -0
  53. finance_dev/models/basicfinancials.py +243 -0
  54. finance_dev/models/bullbearanalysisresponse.py +150 -0
  55. finance_dev/models/cancelorderop.py +40 -0
  56. finance_dev/models/cancelordrequest_union.py +287 -0
  57. finance_dev/models/cancelordresponse.py +115 -0
  58. finance_dev/models/cashflowstatement.py +290 -0
  59. finance_dev/models/cashflowstatementsresponse.py +61 -0
  60. finance_dev/models/chartbars.py +111 -0
  61. finance_dev/models/chartconfig.py +81 -0
  62. finance_dev/models/chartresolution.py +46 -0
  63. finance_dev/models/companyesgresponse.py +408 -0
  64. finance_dev/models/companyexecutive.py +70 -0
  65. finance_dev/models/companyexecutiveresponse.py +39 -0
  66. finance_dev/models/companypeersresponse.py +38 -0
  67. finance_dev/models/companypresentationresponse.py +96 -0
  68. finance_dev/models/companyprofile.py +255 -0
  69. finance_dev/models/conferencecallsresponse.py +169 -0
  70. finance_dev/models/congressionaltradingresponse.py +138 -0
  71. finance_dev/models/covid19uscasesresponse.py +79 -0
  72. finance_dev/models/createconfigwatchlistop.py +40 -0
  73. finance_dev/models/createwatchlistrequest.py +43 -0
  74. finance_dev/models/dailymarketsummaryresponse.py +73 -0
  75. finance_dev/models/deleteconfigwatchlistbyidop.py +53 -0
  76. finance_dev/models/dividenditem.py +125 -0
  77. finance_dev/models/dividendsresponse.py +61 -0
  78. finance_dev/models/earningrelease.py +291 -0
  79. finance_dev/models/earningscallliveresponse.py +103 -0
  80. finance_dev/models/earningsqualityscoreresponse.py +140 -0
  81. finance_dev/models/earningssurprisesresponse.py +125 -0
  82. finance_dev/models/ebitdaestimatesresponse.py +176 -0
  83. finance_dev/models/ebitestimatesresponse.py +176 -0
  84. finance_dev/models/economicscalendarevent.py +160 -0
  85. finance_dev/models/economicsindicator.py +87 -0
  86. finance_dev/models/epsestimatesresponse.py +176 -0
  87. finance_dev/models/equitydetailsdto.py +569 -0
  88. finance_dev/models/errorcode.py +48 -0
  89. finance_dev/models/etblistresponse.py +43 -0
  90. finance_dev/models/etbsearchrequest.py +21 -0
  91. finance_dev/models/etbsearchresponse.py +43 -0
  92. finance_dev/models/etfcountryallocationresponse.py +113 -0
  93. finance_dev/models/etfholdingsresponse.py +163 -0
  94. finance_dev/models/etfprofileresponse.py +234 -0
  95. finance_dev/models/etfsectorallocationresponse.py +113 -0
  96. finance_dev/models/exchangecode.py +90 -0
  97. finance_dev/models/fdaadvisorycommitteecalendarresponse.py +88 -0
  98. finance_dev/models/filingsimilarityrecord.py +115 -0
  99. finance_dev/models/filingssimilarityindexdatawrapper.py +52 -0
  100. finance_dev/models/filingssimilarityindexresponse.py +42 -0
  101. finance_dev/models/financialratiosresponse.py +252 -0
  102. finance_dev/models/financialsreporteddatawrapper.py +49 -0
  103. finance_dev/models/financialsreportedresponse.py +42 -0
  104. finance_dev/models/financialsrevenuebreakdowndatawrapper.py +49 -0
  105. finance_dev/models/financialsrevenuebreakdownresponse.py +42 -0
  106. finance_dev/models/financialsstatementsdatawrapper.py +44 -0
  107. finance_dev/models/financialsstatementsresponse.py +42 -0
  108. finance_dev/models/financialstatement.py +171 -0
  109. finance_dev/models/financialstatementtype.py +14 -0
  110. finance_dev/models/getaccountbalanceop.py +53 -0
  111. finance_dev/models/getaccountpositionsop.py +53 -0
  112. finance_dev/models/getaccountsresponse.py +22 -0
  113. finance_dev/models/getaggregatetechnicalindicatorsop.py +94 -0
  114. finance_dev/models/getanalystinsightsop.py +164 -0
  115. finance_dev/models/getbankbranchesop.py +53 -0
  116. finance_dev/models/getbaseeventop.py +87 -0
  117. finance_dev/models/getbullbearanalysisop.py +91 -0
  118. finance_dev/models/getcashflowstatementsop.py +564 -0
  119. finance_dev/models/getchartconfigop.py +40 -0
  120. finance_dev/models/getcharthistoryop.py +122 -0
  121. finance_dev/models/getcharttimeop.py +39 -0
  122. finance_dev/models/getcompanyesgop.py +53 -0
  123. finance_dev/models/getcompanyexecutivesop.py +56 -0
  124. finance_dev/models/getcompanymetricsop.py +68 -0
  125. finance_dev/models/getcompanypeersop.py +53 -0
  126. finance_dev/models/getcompanypresentationop.py +56 -0
  127. finance_dev/models/getcompanyprofileop.py +86 -0
  128. finance_dev/models/getconferencecallsop.py +111 -0
  129. finance_dev/models/getconfigwatchlistbyidop.py +53 -0
  130. finance_dev/models/getconfigwatchlistsop.py +40 -0
  131. finance_dev/models/getcongressionaltradingop.py +73 -0
  132. finance_dev/models/getcovid19uscasesop.py +43 -0
  133. finance_dev/models/getdailymarketsummaryop.py +92 -0
  134. finance_dev/models/getdividendsop.py +294 -0
  135. finance_dev/models/getearningscalendarop.py +87 -0
  136. finance_dev/models/getearningscallliveop.py +91 -0
  137. finance_dev/models/getearningsqualityscoreop.py +81 -0
  138. finance_dev/models/getearningssurprisesop.py +80 -0
  139. finance_dev/models/getebitdaestimatesop.py +91 -0
  140. finance_dev/models/getebitestimatesop.py +88 -0
  141. finance_dev/models/geteconomicscalendarop.py +92 -0
  142. finance_dev/models/geteconomicscalendarresponse.py +56 -0
  143. finance_dev/models/getepsestimatesop.py +88 -0
  144. finance_dev/models/getequitydetailsop.py +56 -0
  145. finance_dev/models/getequitydetailsresponse.py +45 -0
  146. finance_dev/models/getetblistop.py +40 -0
  147. finance_dev/models/getetfcountryallocationop.py +80 -0
  148. finance_dev/models/getetfholdingsop.py +96 -0
  149. finance_dev/models/getetfprofileop.py +77 -0
  150. finance_dev/models/getetfsectorallocationop.py +80 -0
  151. finance_dev/models/geteventcontractsop.py +87 -0
  152. finance_dev/models/getfdaadvisorycommitteecalendarop.py +47 -0
  153. finance_dev/models/getfilingssimilarityindexop.py +102 -0
  154. finance_dev/models/getfinancialratiosop.py +612 -0
  155. finance_dev/models/getfinancialstatementsop.py +117 -0
  156. finance_dev/models/getfundownershipop.py +77 -0
  157. finance_dev/models/gethistoricaldataop.py +61 -0
  158. finance_dev/models/gethistoricalesgop.py +53 -0
  159. finance_dev/models/gethistorybatchop.py +74 -0
  160. finance_dev/models/gethistoryop.py +123 -0
  161. finance_dev/models/getincomestatementsop.py +564 -0
  162. finance_dev/models/getindexbarop.py +140 -0
  163. finance_dev/models/getindexbarsop.py +149 -0
  164. finance_dev/models/getindexchartbarsop.py +178 -0
  165. finance_dev/models/getindexrealtimevaluesop.py +94 -0
  166. finance_dev/models/getinflationexpectationsop.py +157 -0
  167. finance_dev/models/getinflationop.py +154 -0
  168. finance_dev/models/getinsidertransactionsop.py +90 -0
  169. finance_dev/models/getinstitutionalownershipop.py +99 -0
  170. finance_dev/models/getinstitutionalportfolioop.py +75 -0
  171. finance_dev/models/getinvestmentthemeop.py +68 -0
  172. finance_dev/models/getipocalendarop.py +63 -0
  173. finance_dev/models/getlobbyingop.py +70 -0
  174. finance_dev/models/getmarketbreadthop.py +40 -0
  175. finance_dev/models/getmarketholidaysop.py +65 -0
  176. finance_dev/models/getmarketstatusop.py +65 -0
  177. finance_dev/models/getmergersandacquisitionsop.py +113 -0
  178. finance_dev/models/getnetinflowop.py +40 -0
  179. finance_dev/models/getnewsbyidop.py +73 -0
  180. finance_dev/models/getnewsop.py +98 -0
  181. finance_dev/models/getnewssentimentop.py +53 -0
  182. finance_dev/models/getoptionchainsnapshotop.py +244 -0
  183. finance_dev/models/getoptioncontractsnapshotop.py +69 -0
  184. finance_dev/models/getoptiondetailsop.py +56 -0
  185. finance_dev/models/getoptiondetailsresponse.py +45 -0
  186. finance_dev/models/getoptionlasttradeop.py +56 -0
  187. finance_dev/models/getoptionopencloseop.py +66 -0
  188. finance_dev/models/getoptionpreviousdayop.py +56 -0
  189. finance_dev/models/getoptionquotesop.py +177 -0
  190. finance_dev/models/getoptionsactivityop.py +111 -0
  191. finance_dev/models/getoptionsetfstopvolumeop.py +70 -0
  192. finance_dev/models/getoptionsstockstopgainersop.py +70 -0
  193. finance_dev/models/getoptionsstockstopvolumeop.py +70 -0
  194. finance_dev/models/getoptionsunusualactivityop.py +100 -0
  195. finance_dev/models/getoptiontradesop.py +177 -0
  196. finance_dev/models/getordersv2response.py +66 -0
  197. finance_dev/models/getownershipdataop.py +77 -0
  198. finance_dev/models/getpositionsresponse.py +39 -0
  199. finance_dev/models/getpredictionorderop.py +88 -0
  200. finance_dev/models/getpricetargetop.py +53 -0
  201. finance_dev/models/getquotesop.py +53 -0
  202. finance_dev/models/getratingsop.py +164 -0
  203. finance_dev/models/getratingsresponse.py +39 -0
  204. finance_dev/models/getreportedfinancialsop.py +127 -0
  205. finance_dev/models/getrevenuebreakdownop.py +85 -0
  206. finance_dev/models/getrevenueestimatesop.py +91 -0
  207. finance_dev/models/getsecfilingsop.py +113 -0
  208. finance_dev/models/getsectortickersop.py +124 -0
  209. finance_dev/models/getsectorwisechangeop.py +84 -0
  210. finance_dev/models/getshortinterestop.py +334 -0
  211. finance_dev/models/getshortvolumeop.py +333 -0
  212. finance_dev/models/getsocialsentimentop.py +90 -0
  213. finance_dev/models/getspinoffsop.py +112 -0
  214. finance_dev/models/getstockaggregatesop.py +174 -0
  215. finance_dev/models/getstocklastquoteop.py +56 -0
  216. finance_dev/models/getstocklasttradeop.py +56 -0
  217. finance_dev/models/getstockopencloseop.py +90 -0
  218. finance_dev/models/getstockpreviousdayop.py +80 -0
  219. finance_dev/models/getstockquotesop.py +177 -0
  220. finance_dev/models/getstocksnapshotsop.py +82 -0
  221. finance_dev/models/getstocksplitsop.py +243 -0
  222. finance_dev/models/getstocktradesop.py +177 -0
  223. finance_dev/models/getsupplychainop.py +53 -0
  224. finance_dev/models/getsupportresistancelevelsop.py +90 -0
  225. finance_dev/models/getsymbolinfoop.py +53 -0
  226. finance_dev/models/gettechnicalindicatorop.py +172 -0
  227. finance_dev/models/gettechnicalpatternsop.py +88 -0
  228. finance_dev/models/gettenderoffersop.py +112 -0
  229. finance_dev/models/gettickhistoryop.py +104 -0
  230. finance_dev/models/gettopgainersop.py +78 -0
  231. finance_dev/models/gettoplosersop.py +78 -0
  232. finance_dev/models/gettopmostactiveop.py +78 -0
  233. finance_dev/models/gettranscriptop.py +53 -0
  234. finance_dev/models/gettreasuryyieldsop.py +157 -0
  235. finance_dev/models/getunifiedsnapshotop.py +223 -0
  236. finance_dev/models/getupgradesdowngradesop.py +91 -0
  237. finance_dev/models/getusaspendingop.py +70 -0
  238. finance_dev/models/getuseraccountsop.py +40 -0
  239. finance_dev/models/getusptopatentsop.py +70 -0
  240. finance_dev/models/getvisaapplicationsop.py +73 -0
  241. finance_dev/models/historicalesgresponse.py +439 -0
  242. finance_dev/models/httpmetadata.py +24 -0
  243. finance_dev/models/incomestatement.py +296 -0
  244. finance_dev/models/incomestatementsresponse.py +61 -0
  245. finance_dev/models/indexbarresponse.py +194 -0
  246. finance_dev/models/indexbarsresponse.py +123 -0
  247. finance_dev/models/indexchartbarsresponse.py +213 -0
  248. finance_dev/models/indexgroupsresponse.py +78 -0
  249. finance_dev/models/indexlistresponse.py +95 -0
  250. finance_dev/models/indexsearchresponse.py +93 -0
  251. finance_dev/models/indicesbygroupresponse.py +93 -0
  252. finance_dev/models/indicesidentifiertype.py +28 -0
  253. finance_dev/models/indicesrealtimeindexinfo.py +67 -0
  254. finance_dev/models/indicesrealtimeindexvalue.py +157 -0
  255. finance_dev/models/indicesrealtimevaluesitem.py +80 -0
  256. finance_dev/models/indicesrealtimevaluesresponse.py +42 -0
  257. finance_dev/models/inflationexpectationsresponse.py +140 -0
  258. finance_dev/models/inflationresponse.py +132 -0
  259. finance_dev/models/insidertransaction.py +97 -0
  260. finance_dev/models/insidertransactionsresponse.py +39 -0
  261. finance_dev/models/institutionalholding.py +77 -0
  262. finance_dev/models/institutionalownershipresponse.py +39 -0
  263. finance_dev/models/institutionalportfolioresponse.py +39 -0
  264. finance_dev/models/investmentthemeid.py +35 -0
  265. finance_dev/models/investmentthemeresponse.py +80 -0
  266. finance_dev/models/ipocalendarresponse.py +39 -0
  267. finance_dev/models/ipoitem.py +93 -0
  268. finance_dev/models/listactiveordersop.py +87 -0
  269. finance_dev/models/listcategoriesop.py +79 -0
  270. finance_dev/models/listindexgroupsop.py +40 -0
  271. finance_dev/models/listindicesbygroupop.py +58 -0
  272. finance_dev/models/listindicesop.py +91 -0
  273. finance_dev/models/listoptioncontractsop.py +66 -0
  274. finance_dev/models/listoptionexpirydatesop.py +56 -0
  275. finance_dev/models/listorderhistoryop.py +139 -0
  276. finance_dev/models/listpredictionordersop.py +134 -0
  277. finance_dev/models/listtranscriptsop.py +53 -0
  278. finance_dev/models/lobbyingresponse.py +166 -0
  279. finance_dev/models/logosearchresponse.py +152 -0
  280. finance_dev/models/logosyncresponse.py +277 -0
  281. finance_dev/models/marketbreadth.py +97 -0
  282. finance_dev/models/marketbreadthresponse.py +44 -0
  283. finance_dev/models/marketholiday.py +56 -0
  284. finance_dev/models/marketholidayresponse.py +39 -0
  285. finance_dev/models/marketstatus.py +67 -0
  286. finance_dev/models/mergersandacquisitionsresponse.py +186 -0
  287. finance_dev/models/metricseriespoint.py +43 -0
  288. finance_dev/models/netinflow.py +81 -0
  289. finance_dev/models/netinflowresponse.py +44 -0
  290. finance_dev/models/newsitem.py +102 -0
  291. finance_dev/models/newslistresponse.py +128 -0
  292. finance_dev/models/newssentimentresponse.py +176 -0
  293. finance_dev/models/newstypeenum.py +16 -0
  294. finance_dev/models/optionchainsnapshotresponse.py +64 -0
  295. finance_dev/models/optioncontractsnapshotresponse.py +64 -0
  296. finance_dev/models/optioncontractsnapshotrow.py +164 -0
  297. finance_dev/models/optioncontractsresponse.py +131 -0
  298. finance_dev/models/optiondetailsdto.py +72 -0
  299. finance_dev/models/optionexpirydatesresponse.py +53 -0
  300. finance_dev/models/optionlasttraderesponse.py +169 -0
  301. finance_dev/models/optionopencloseresponse.py +97 -0
  302. finance_dev/models/optionpreviousdayresponse.py +89 -0
  303. finance_dev/models/optionquotesresponse.py +138 -0
  304. finance_dev/models/optionsactivityresponse.py +265 -0
  305. finance_dev/models/optionsnapshotcontractdetails.py +85 -0
  306. finance_dev/models/optionsnapshotdaybar.py +107 -0
  307. finance_dev/models/optionsnapshotgreeks.py +67 -0
  308. finance_dev/models/optionsnapshotlastquote.py +116 -0
  309. finance_dev/models/optionsnapshotlasttrade.py +102 -0
  310. finance_dev/models/optionsnapshotunderlying.py +86 -0
  311. finance_dev/models/optionsscreeneritem.py +151 -0
  312. finance_dev/models/optionsunusualactivityresponse.py +62 -0
  313. finance_dev/models/optionsunusualactivitytrade.py +103 -0
  314. finance_dev/models/optiontradesresponse.py +132 -0
  315. finance_dev/models/orderrequesttimeinforceenum.py +29 -0
  316. finance_dev/models/ordersideenum.py +20 -0
  317. finance_dev/models/ordertypeenum.py +20 -0
  318. finance_dev/models/ordleg.py +162 -0
  319. finance_dev/models/ordresponse.py +202 -0
  320. finance_dev/models/ownershipdataresponse.py +39 -0
  321. finance_dev/models/ownershiprecord.py +74 -0
  322. finance_dev/models/placeorderop.py +40 -0
  323. finance_dev/models/placeordrequest_union.py +335 -0
  324. finance_dev/models/placepredictionorderop.py +114 -0
  325. finance_dev/models/predmdbaseevent.py +62 -0
  326. finance_dev/models/predmdbaseeventhit.py +53 -0
  327. finance_dev/models/predmdbaseeventsearchresult.py +46 -0
  328. finance_dev/models/predmdbaseeventwithevents.py +32 -0
  329. finance_dev/models/predmdbatchhistoryrequest.py +16 -0
  330. finance_dev/models/predmdbatchhistoryresponse.py +16 -0
  331. finance_dev/models/predmdcategory.py +48 -0
  332. finance_dev/models/predmdcontract.py +177 -0
  333. finance_dev/models/predmdcontracthit.py +157 -0
  334. finance_dev/models/predmdcontractsearchresult.py +46 -0
  335. finance_dev/models/predmdevent.py +136 -0
  336. finance_dev/models/predmdeventhit.py +73 -0
  337. finance_dev/models/predmdeventsearchresult.py +46 -0
  338. finance_dev/models/predmdeventwithcontracts.py +22 -0
  339. finance_dev/models/predmdhistoryrequest.py +59 -0
  340. finance_dev/models/predmdhistoryresponse.py +53 -0
  341. finance_dev/models/predmdtick.py +53 -0
  342. finance_dev/models/predordersapperror.py +78 -0
  343. finance_dev/models/predordersorder.py +267 -0
  344. finance_dev/models/predordersorderdetail.py +26 -0
  345. finance_dev/models/predordersorderpage.py +45 -0
  346. finance_dev/models/predordersorderreport.py +88 -0
  347. finance_dev/models/predordersplaceorderrequest.py +159 -0
  348. finance_dev/models/previeworderop.py +40 -0
  349. finance_dev/models/previeworderresponse.py +127 -0
  350. finance_dev/models/pricetargetresponse.py +89 -0
  351. finance_dev/models/quotedata.py +49 -0
  352. finance_dev/models/quotesresponse.py +62 -0
  353. finance_dev/models/quotevalues.py +114 -0
  354. finance_dev/models/rating.py +193 -0
  355. finance_dev/models/ratingsaccuracy.py +242 -0
  356. finance_dev/models/replaceconfigwatchlistsop.py +40 -0
  357. finance_dev/models/replaceorderop.py +40 -0
  358. finance_dev/models/replaceordrequest_union.py +367 -0
  359. finance_dev/models/replaceordresponse.py +144 -0
  360. finance_dev/models/reportedbsitem.py +53 -0
  361. finance_dev/models/reportedfiling.py +110 -0
  362. finance_dev/models/reportedreport.py +39 -0
  363. finance_dev/models/reportingfrequency.py +16 -0
  364. finance_dev/models/revenuebreakdownaxis.py +52 -0
  365. finance_dev/models/revenuebreakdowndatapoint.py +58 -0
  366. finance_dev/models/revenuebreakdownentry.py +51 -0
  367. finance_dev/models/revenuebreakdowninner.py +75 -0
  368. finance_dev/models/revenueestimatesresponse.py +176 -0
  369. finance_dev/models/screenclause.py +70 -0
  370. finance_dev/models/screengroup.py +75 -0
  371. finance_dev/models/searchetbsymbolsop.py +40 -0
  372. finance_dev/models/searchindicesop.py +55 -0
  373. finance_dev/models/searchlogosop.py +158 -0
  374. finance_dev/models/searchmarketsymbolsop.py +80 -0
  375. finance_dev/models/searchop.py +232 -0
  376. finance_dev/models/searchsymbolitem.py +76 -0
  377. finance_dev/models/searchsymbolresponseitem.py +71 -0
  378. finance_dev/models/searchsymbolsop.py +77 -0
  379. finance_dev/models/secfiling.py +91 -0
  380. finance_dev/models/secfilingsresponse.py +39 -0
  381. finance_dev/models/sectoravgchange.py +50 -0
  382. finance_dev/models/security.py +59 -0
  383. finance_dev/models/securitytypeenum.py +16 -0
  384. finance_dev/models/shortinterestresponse.py +126 -0
  385. finance_dev/models/shortvolumeresponse.py +198 -0
  386. finance_dev/models/socialsentimentresponse.py +124 -0
  387. finance_dev/models/sortorderenum.py +13 -0
  388. finance_dev/models/spinoffsresponse.py +136 -0
  389. finance_dev/models/stockaggregatesresponse.py +92 -0
  390. finance_dev/models/stocklastquoteresponse.py +175 -0
  391. finance_dev/models/stocklasttraderesponse.py +169 -0
  392. finance_dev/models/stockohlcbar.py +85 -0
  393. finance_dev/models/stockopencloseresponse.py +109 -0
  394. finance_dev/models/stockpreviousdayresponse.py +86 -0
  395. finance_dev/models/stockquotesresponse.py +170 -0
  396. finance_dev/models/stockscreenerop.py +144 -0
  397. finance_dev/models/stockscreenerrequest.py +131 -0
  398. finance_dev/models/stockscreenerresponse.py +197 -0
  399. finance_dev/models/stocksnapshotsresponse.py +454 -0
  400. finance_dev/models/stocksplitsresponse.py +144 -0
  401. finance_dev/models/stocktradesresponse.py +164 -0
  402. finance_dev/models/supplychainresponse.py +158 -0
  403. finance_dev/models/supportresistancelevelsresponse.py +68 -0
  404. finance_dev/models/symboldetails.py +119 -0
  405. finance_dev/models/symbolerror.py +43 -0
  406. finance_dev/models/symbolinfo.py +183 -0
  407. finance_dev/models/synclogosop.py +146 -0
  408. finance_dev/models/technicalindicatorresponse.py +43 -0
  409. finance_dev/models/technicalindicatortype.py +21 -0
  410. finance_dev/models/technicalpatternsresponse.py +249 -0
  411. finance_dev/models/tenderofferidentifiertype.py +26 -0
  412. finance_dev/models/tenderoffersresponse.py +548 -0
  413. finance_dev/models/tickchartbars.py +104 -0
  414. finance_dev/models/tickresolution.py +20 -0
  415. finance_dev/models/timeinforceenum.py +26 -0
  416. finance_dev/models/tradeorderlegv2.py +164 -0
  417. finance_dev/models/tradeorderv2.py +434 -0
  418. finance_dev/models/transcriptresponse.py +162 -0
  419. finance_dev/models/transcriptsresponse.py +89 -0
  420. finance_dev/models/treasuryyieldsresponse.py +160 -0
  421. finance_dev/models/unifiedsnapshotresponse.py +308 -0
  422. finance_dev/models/updateconfigwatchlistbyidop.py +65 -0
  423. finance_dev/models/updatewatchlistrequest_union.py +134 -0
  424. finance_dev/models/upgradesdowngradesresponse.py +98 -0
  425. finance_dev/models/usaspendingresponse.py +222 -0
  426. finance_dev/models/usptopatentsresponse.py +134 -0
  427. finance_dev/models/visaapplicationsresponse.py +228 -0
  428. finance_dev/models/watchlist.py +68 -0
  429. finance_dev/models/watchlistrequest.py +43 -0
  430. finance_dev/models/watchlistresponse.py +44 -0
  431. finance_dev/news_sdk.py +829 -0
  432. finance_dev/options.py +3443 -0
  433. finance_dev/orders.py +1907 -0
  434. finance_dev/ownership.py +1386 -0
  435. finance_dev/predictions.py +29 -0
  436. finance_dev/predictions_orders.py +852 -0
  437. finance_dev/py.typed +1 -0
  438. finance_dev/sdk.py +347 -0
  439. finance_dev/sdkconfiguration.py +50 -0
  440. finance_dev/signals.py +338 -0
  441. finance_dev/stocks.py +3131 -0
  442. finance_dev/technicalanalysis_sdk.py +1137 -0
  443. finance_dev/types/__init__.py +25 -0
  444. finance_dev/types/base64fileinput.py +44 -0
  445. finance_dev/types/basemodel.py +78 -0
  446. finance_dev/utils/__init__.py +181 -0
  447. finance_dev/utils/annotations.py +80 -0
  448. finance_dev/utils/datetimes.py +42 -0
  449. finance_dev/utils/dynamic_imports.py +55 -0
  450. finance_dev/utils/enums.py +135 -0
  451. finance_dev/utils/eventstreaming.py +327 -0
  452. finance_dev/utils/forms.py +240 -0
  453. finance_dev/utils/headers.py +137 -0
  454. finance_dev/utils/logger.py +23 -0
  455. finance_dev/utils/metadata.py +120 -0
  456. finance_dev/utils/queryparams.py +218 -0
  457. finance_dev/utils/requestbodies.py +68 -0
  458. finance_dev/utils/retries.py +373 -0
  459. finance_dev/utils/security.py +199 -0
  460. finance_dev/utils/serializers.py +327 -0
  461. finance_dev/utils/unmarshal_json_response.py +39 -0
  462. finance_dev/utils/url.py +155 -0
  463. finance_dev/utils/values.py +143 -0
  464. finance_dev/watchlist_sdk.py +1583 -0
  465. finance_dev/websocket/__init__.py +57 -0
  466. finance_dev/websocket/account.py +5 -0
  467. finance_dev/websocket/auth.py +124 -0
  468. finance_dev/websocket/chart.py +5 -0
  469. finance_dev/websocket/codec.py +66 -0
  470. finance_dev/websocket/config.py +52 -0
  471. finance_dev/websocket/errors.py +54 -0
  472. finance_dev/websocket/market.py +5 -0
  473. finance_dev/websocket/models/__init__.py +52 -0
  474. finance_dev/websocket/models/account.py +60 -0
  475. finance_dev/websocket/models/chart.py +44 -0
  476. finance_dev/websocket/models/common.py +85 -0
  477. finance_dev/websocket/models/market.py +113 -0
  478. finance_dev/websocket/resources.py +327 -0
  479. finance_dev/websocket/sdk.py +13 -0
  480. finance_dev/websocket/transport/async_connection.py +493 -0
  481. finance_dev/websocket/transport/base.py +78 -0
  482. finance_dev/websocket/transport/sync_connection.py +470 -0
  483. finance_dev-0.9.0.dist-info/METADATA +913 -0
  484. finance_dev-0.9.0.dist-info/RECORD +486 -0
  485. finance_dev-0.9.0.dist-info/WHEEL +5 -0
  486. finance_dev-0.9.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,157 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: eddc3c09f44e
3
+
4
+ from __future__ import annotations
5
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
6
+ import pydantic
7
+ from pydantic import model_serializer
8
+ from typing import Optional
9
+ from typing_extensions import Annotated, NotRequired, TypedDict
10
+
11
+
12
+ class IndicesRealtimeIndexValueTypedDict(TypedDict):
13
+ r"""Realtime OHLC and change fields for an index quote."""
14
+
15
+ change_from_open: NotRequired[float]
16
+ r"""Change in the index value from the session open."""
17
+ change_from_previous_close: NotRequired[float]
18
+ r"""Change in the index value from the previous close."""
19
+ close: NotRequired[float]
20
+ r"""Current / last close value"""
21
+ date_: NotRequired[str]
22
+ r"""Session date in source format (locale-specific)"""
23
+ high: NotRequired[float]
24
+ r"""Highest index value for the session."""
25
+ high52_weeks: NotRequired[float]
26
+ r"""52-week high"""
27
+ last: NotRequired[float]
28
+ r"""Last traded value"""
29
+ low: NotRequired[float]
30
+ r"""Lowest index value for the session."""
31
+ low52_weeks: NotRequired[float]
32
+ r"""52-week low"""
33
+ open: NotRequired[float]
34
+ r"""Opening value of the index for the session."""
35
+ percent_change_from_open: NotRequired[float]
36
+ r"""Percentage change in the index value from the session open."""
37
+ percent_change_from_previous_close: NotRequired[float]
38
+ r"""Percentage change in the index value from the previous close."""
39
+ previous_close: NotRequired[float]
40
+ r"""Closing value of the index on the previous trading day."""
41
+ previous_close_date: NotRequired[str]
42
+ r"""Prior close date in source format"""
43
+ time: NotRequired[str]
44
+ r"""Quote time in source format"""
45
+ utc_offset: NotRequired[int]
46
+ r"""UTC offset in hours"""
47
+ volume: NotRequired[int]
48
+ r"""Volume (may be 0 for some indices)"""
49
+
50
+
51
+ class IndicesRealtimeIndexValue(BaseModel):
52
+ r"""Realtime OHLC and change fields for an index quote."""
53
+
54
+ change_from_open: Annotated[
55
+ Optional[float], pydantic.Field(alias="changeFromOpen")
56
+ ] = None
57
+ r"""Change in the index value from the session open."""
58
+
59
+ change_from_previous_close: Annotated[
60
+ Optional[float], pydantic.Field(alias="changeFromPreviousClose")
61
+ ] = None
62
+ r"""Change in the index value from the previous close."""
63
+
64
+ close: Optional[float] = None
65
+ r"""Current / last close value"""
66
+
67
+ date_: Annotated[Optional[str], pydantic.Field(alias="date")] = None
68
+ r"""Session date in source format (locale-specific)"""
69
+
70
+ high: Optional[float] = None
71
+ r"""Highest index value for the session."""
72
+
73
+ high52_weeks: Annotated[Optional[float], pydantic.Field(alias="high52Weeks")] = None
74
+ r"""52-week high"""
75
+
76
+ last: Optional[float] = None
77
+ r"""Last traded value"""
78
+
79
+ low: Optional[float] = None
80
+ r"""Lowest index value for the session."""
81
+
82
+ low52_weeks: Annotated[Optional[float], pydantic.Field(alias="low52Weeks")] = None
83
+ r"""52-week low"""
84
+
85
+ open: Optional[float] = None
86
+ r"""Opening value of the index for the session."""
87
+
88
+ percent_change_from_open: Annotated[
89
+ Optional[float], pydantic.Field(alias="percentChangeFromOpen")
90
+ ] = None
91
+ r"""Percentage change in the index value from the session open."""
92
+
93
+ percent_change_from_previous_close: Annotated[
94
+ Optional[float], pydantic.Field(alias="percentChangeFromPreviousClose")
95
+ ] = None
96
+ r"""Percentage change in the index value from the previous close."""
97
+
98
+ previous_close: Annotated[
99
+ Optional[float], pydantic.Field(alias="previousClose")
100
+ ] = None
101
+ r"""Closing value of the index on the previous trading day."""
102
+
103
+ previous_close_date: Annotated[
104
+ Optional[str], pydantic.Field(alias="previousCloseDate")
105
+ ] = None
106
+ r"""Prior close date in source format"""
107
+
108
+ time: Optional[str] = None
109
+ r"""Quote time in source format"""
110
+
111
+ utc_offset: Annotated[Optional[int], pydantic.Field(alias="utcOffset")] = None
112
+ r"""UTC offset in hours"""
113
+
114
+ volume: Optional[int] = None
115
+ r"""Volume (may be 0 for some indices)"""
116
+
117
+ @model_serializer(mode="wrap")
118
+ def serialize_model(self, handler):
119
+ optional_fields = set(
120
+ [
121
+ "changeFromOpen",
122
+ "changeFromPreviousClose",
123
+ "close",
124
+ "date",
125
+ "high",
126
+ "high52Weeks",
127
+ "last",
128
+ "low",
129
+ "low52Weeks",
130
+ "open",
131
+ "percentChangeFromOpen",
132
+ "percentChangeFromPreviousClose",
133
+ "previousClose",
134
+ "previousCloseDate",
135
+ "time",
136
+ "utcOffset",
137
+ "volume",
138
+ ]
139
+ )
140
+ serialized = handler(self)
141
+ m = {}
142
+
143
+ for n, f in type(self).model_fields.items():
144
+ k = f.alias or n
145
+ val = serialized.get(k, serialized.get(n))
146
+
147
+ if val != UNSET_SENTINEL:
148
+ if val is not None or k not in optional_fields:
149
+ m[k] = val
150
+
151
+ return m
152
+
153
+
154
+ try:
155
+ IndicesRealtimeIndexValue.model_rebuild()
156
+ except NameError:
157
+ pass
@@ -0,0 +1,80 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: a5bdf4d21c69
3
+
4
+ from __future__ import annotations
5
+ from .indicesrealtimeindexinfo import (
6
+ IndicesRealtimeIndexInfo,
7
+ IndicesRealtimeIndexInfoTypedDict,
8
+ )
9
+ from .indicesrealtimeindexvalue import (
10
+ IndicesRealtimeIndexValue,
11
+ IndicesRealtimeIndexValueTypedDict,
12
+ )
13
+ from .tenderofferidentifiertype import TenderOfferIdentifierType
14
+ from finance_dev import models
15
+ from finance_dev.types import BaseModel
16
+ import pydantic
17
+ from pydantic import field_serializer
18
+ from typing_extensions import Annotated, TypedDict
19
+
20
+
21
+ class IndicesRealtimeValuesItemTypedDict(TypedDict):
22
+ r"""One index in the batch realtime values response."""
23
+
24
+ identifier: str
25
+ r"""Full index identifier (e.g. SPX.IND_CBOM)"""
26
+ identifier_type: TenderOfferIdentifierType
27
+ r"""Which kind of identifier you are filtering by. Provide the matching value in the identifier field:
28
+ - `Symbol` — exchange ticker (e.g. `AAPL`).
29
+ - `CUSIP` — 9-character U.S./Canadian security identifier.
30
+ - `ISIN` — 12-character international identifier.
31
+ - `SEDOL` — 7-character UK identifier.
32
+ - `Valoren` — Swiss identifier.
33
+ - `FIGI` — Bloomberg Financial Instrument Global Identifier.
34
+ - `CompositeFIGI` — country-level composite FIGI.
35
+ """
36
+ index: IndicesRealtimeIndexInfoTypedDict
37
+ r"""Index metadata for a realtime quote item."""
38
+ value: IndicesRealtimeIndexValueTypedDict
39
+ r"""Realtime OHLC and change fields for an index quote."""
40
+
41
+
42
+ class IndicesRealtimeValuesItem(BaseModel):
43
+ r"""One index in the batch realtime values response."""
44
+
45
+ identifier: str
46
+ r"""Full index identifier (e.g. SPX.IND_CBOM)"""
47
+
48
+ identifier_type: Annotated[
49
+ TenderOfferIdentifierType, pydantic.Field(alias="identifierType")
50
+ ]
51
+ r"""Which kind of identifier you are filtering by. Provide the matching value in the identifier field:
52
+ - `Symbol` — exchange ticker (e.g. `AAPL`).
53
+ - `CUSIP` — 9-character U.S./Canadian security identifier.
54
+ - `ISIN` — 12-character international identifier.
55
+ - `SEDOL` — 7-character UK identifier.
56
+ - `Valoren` — Swiss identifier.
57
+ - `FIGI` — Bloomberg Financial Instrument Global Identifier.
58
+ - `CompositeFIGI` — country-level composite FIGI.
59
+ """
60
+
61
+ index: IndicesRealtimeIndexInfo
62
+ r"""Index metadata for a realtime quote item."""
63
+
64
+ value: IndicesRealtimeIndexValue
65
+ r"""Realtime OHLC and change fields for an index quote."""
66
+
67
+ @field_serializer("identifier_type")
68
+ def serialize_identifier_type(self, value):
69
+ if isinstance(value, str):
70
+ try:
71
+ return models.TenderOfferIdentifierType(value)
72
+ except ValueError:
73
+ return value
74
+ return value
75
+
76
+
77
+ try:
78
+ IndicesRealtimeValuesItem.model_rebuild()
79
+ except NameError:
80
+ pass
@@ -0,0 +1,42 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 0fe715a6b05c
3
+
4
+ from __future__ import annotations
5
+ from .indicesrealtimevaluesitem import (
6
+ IndicesRealtimeValuesItem,
7
+ IndicesRealtimeValuesItemTypedDict,
8
+ )
9
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
10
+ from pydantic import model_serializer
11
+ from typing import List, Optional
12
+ from typing_extensions import NotRequired, TypedDict
13
+
14
+
15
+ class IndicesRealtimeValuesResponseTypedDict(TypedDict):
16
+ r"""Batch realtime index quotes returned by GET /v1/indices/realtime/values."""
17
+
18
+ items: NotRequired[List[IndicesRealtimeValuesItemTypedDict]]
19
+ r"""One entry per requested identifier"""
20
+
21
+
22
+ class IndicesRealtimeValuesResponse(BaseModel):
23
+ r"""Batch realtime index quotes returned by GET /v1/indices/realtime/values."""
24
+
25
+ items: Optional[List[IndicesRealtimeValuesItem]] = None
26
+ r"""One entry per requested identifier"""
27
+
28
+ @model_serializer(mode="wrap")
29
+ def serialize_model(self, handler):
30
+ optional_fields = set(["items"])
31
+ serialized = handler(self)
32
+ m = {}
33
+
34
+ for n, f in type(self).model_fields.items():
35
+ k = f.alias or n
36
+ val = serialized.get(k, serialized.get(n))
37
+
38
+ if val != UNSET_SENTINEL:
39
+ if val is not None or k not in optional_fields:
40
+ m[k] = val
41
+
42
+ return m
@@ -0,0 +1,140 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 96050407b34a
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 InflationExpectationsResponseResultTypedDict(TypedDict):
13
+ date_: NotRequired[str]
14
+ r"""Reference date (YYYY-MM-DD)"""
15
+ forward_years5_to10: NotRequired[float]
16
+ r"""Forward inflation expectation covering years 5 to 10"""
17
+ market10_year: NotRequired[float]
18
+ r"""Market-implied 10-year inflation expectation"""
19
+ market5_year: NotRequired[float]
20
+ r"""Market-implied 5-year inflation expectation"""
21
+ model10_year: NotRequired[float]
22
+ r"""Model-based 10-year inflation expectation"""
23
+ model1_year: NotRequired[float]
24
+ r"""Model-based 1-year inflation expectation"""
25
+ model30_year: NotRequired[float]
26
+ r"""Model-based 30-year inflation expectation"""
27
+ model5_year: NotRequired[float]
28
+ r"""Model-based 5-year inflation expectation"""
29
+
30
+
31
+ class InflationExpectationsResponseResult(BaseModel):
32
+ date_: Annotated[Optional[str], pydantic.Field(alias="date")] = None
33
+ r"""Reference date (YYYY-MM-DD)"""
34
+
35
+ forward_years5_to10: Annotated[
36
+ Optional[float], pydantic.Field(alias="forwardYears5To10")
37
+ ] = None
38
+ r"""Forward inflation expectation covering years 5 to 10"""
39
+
40
+ market10_year: Annotated[Optional[float], pydantic.Field(alias="market10Year")] = (
41
+ None
42
+ )
43
+ r"""Market-implied 10-year inflation expectation"""
44
+
45
+ market5_year: Annotated[Optional[float], pydantic.Field(alias="market5Year")] = None
46
+ r"""Market-implied 5-year inflation expectation"""
47
+
48
+ model10_year: Annotated[Optional[float], pydantic.Field(alias="model10Year")] = None
49
+ r"""Model-based 10-year inflation expectation"""
50
+
51
+ model1_year: Annotated[Optional[float], pydantic.Field(alias="model1Year")] = None
52
+ r"""Model-based 1-year inflation expectation"""
53
+
54
+ model30_year: Annotated[Optional[float], pydantic.Field(alias="model30Year")] = None
55
+ r"""Model-based 30-year inflation expectation"""
56
+
57
+ model5_year: Annotated[Optional[float], pydantic.Field(alias="model5Year")] = None
58
+ r"""Model-based 5-year inflation expectation"""
59
+
60
+ @model_serializer(mode="wrap")
61
+ def serialize_model(self, handler):
62
+ optional_fields = set(
63
+ [
64
+ "date",
65
+ "forwardYears5To10",
66
+ "market10Year",
67
+ "market5Year",
68
+ "model10Year",
69
+ "model1Year",
70
+ "model30Year",
71
+ "model5Year",
72
+ ]
73
+ )
74
+ serialized = handler(self)
75
+ m = {}
76
+
77
+ for n, f in type(self).model_fields.items():
78
+ k = f.alias or n
79
+ val = serialized.get(k, serialized.get(n))
80
+
81
+ if val != UNSET_SENTINEL:
82
+ if val is not None or k not in optional_fields:
83
+ m[k] = val
84
+
85
+ return m
86
+
87
+
88
+ class InflationExpectationsResponseTypedDict(TypedDict):
89
+ r"""Paginated response containing inflation expectations data from the upstream data provider."""
90
+
91
+ next_url: NotRequired[str]
92
+ r"""URL for next page of results"""
93
+ request_id: NotRequired[str]
94
+ r"""Provider request identifier for tracing and support"""
95
+ results: NotRequired[List[InflationExpectationsResponseResultTypedDict]]
96
+ r"""Array of inflation expectation data points"""
97
+ status: NotRequired[str]
98
+ r"""Status string from the upstream data provider — typically `OK` for a successful response. Treat any other value as an error indicator alongside the HTTP status code."""
99
+
100
+
101
+ class InflationExpectationsResponse(BaseModel):
102
+ r"""Paginated response containing inflation expectations data from the upstream data provider."""
103
+
104
+ next_url: Annotated[Optional[str], pydantic.Field(alias="nextUrl")] = None
105
+ r"""URL for next page of results"""
106
+
107
+ request_id: Annotated[Optional[str], pydantic.Field(alias="requestId")] = None
108
+ r"""Provider request identifier for tracing and support"""
109
+
110
+ results: Optional[List[InflationExpectationsResponseResult]] = None
111
+ r"""Array of inflation expectation data points"""
112
+
113
+ status: Optional[str] = None
114
+ r"""Status string from the upstream data provider — typically `OK` for a successful response. Treat any other value as an error indicator alongside the HTTP status code."""
115
+
116
+ @model_serializer(mode="wrap")
117
+ def serialize_model(self, handler):
118
+ optional_fields = set(["nextUrl", "requestId", "results", "status"])
119
+ serialized = handler(self)
120
+ m = {}
121
+
122
+ for n, f in type(self).model_fields.items():
123
+ k = f.alias or n
124
+ val = serialized.get(k, serialized.get(n))
125
+
126
+ if val != UNSET_SENTINEL:
127
+ if val is not None or k not in optional_fields:
128
+ m[k] = val
129
+
130
+ return m
131
+
132
+
133
+ try:
134
+ InflationExpectationsResponseResult.model_rebuild()
135
+ except NameError:
136
+ pass
137
+ try:
138
+ InflationExpectationsResponse.model_rebuild()
139
+ except NameError:
140
+ pass
@@ -0,0 +1,132 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 87f4e479ab26
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 InflationResponseResultTypedDict(TypedDict):
13
+ cpi: NotRequired[float]
14
+ r"""Consumer Price Index"""
15
+ cpi_core: NotRequired[float]
16
+ r"""Core CPI (excluding food and energy)"""
17
+ cpi_year_over_year: NotRequired[float]
18
+ r"""CPI year-over-year change"""
19
+ date_: NotRequired[str]
20
+ r"""Reference date (YYYY-MM-DD)"""
21
+ pce: NotRequired[float]
22
+ r"""Personal Consumption Expenditures"""
23
+ pce_core: NotRequired[float]
24
+ r"""Core PCE"""
25
+ pce_spending: NotRequired[float]
26
+ r"""PCE spending"""
27
+
28
+
29
+ class InflationResponseResult(BaseModel):
30
+ cpi: Optional[float] = None
31
+ r"""Consumer Price Index"""
32
+
33
+ cpi_core: Annotated[Optional[float], pydantic.Field(alias="cpiCore")] = None
34
+ r"""Core CPI (excluding food and energy)"""
35
+
36
+ cpi_year_over_year: Annotated[
37
+ Optional[float], pydantic.Field(alias="cpiYearOverYear")
38
+ ] = None
39
+ r"""CPI year-over-year change"""
40
+
41
+ date_: Annotated[Optional[str], pydantic.Field(alias="date")] = None
42
+ r"""Reference date (YYYY-MM-DD)"""
43
+
44
+ pce: Optional[float] = None
45
+ r"""Personal Consumption Expenditures"""
46
+
47
+ pce_core: Annotated[Optional[float], pydantic.Field(alias="pceCore")] = None
48
+ r"""Core PCE"""
49
+
50
+ pce_spending: Annotated[Optional[float], pydantic.Field(alias="pceSpending")] = None
51
+ r"""PCE spending"""
52
+
53
+ @model_serializer(mode="wrap")
54
+ def serialize_model(self, handler):
55
+ optional_fields = set(
56
+ [
57
+ "cpi",
58
+ "cpiCore",
59
+ "cpiYearOverYear",
60
+ "date",
61
+ "pce",
62
+ "pceCore",
63
+ "pceSpending",
64
+ ]
65
+ )
66
+ serialized = handler(self)
67
+ m = {}
68
+
69
+ for n, f in type(self).model_fields.items():
70
+ k = f.alias or n
71
+ val = serialized.get(k, serialized.get(n))
72
+
73
+ if val != UNSET_SENTINEL:
74
+ if val is not None or k not in optional_fields:
75
+ m[k] = val
76
+
77
+ return m
78
+
79
+
80
+ class InflationResponseTypedDict(TypedDict):
81
+ r"""Paginated response containing inflation data (CPI and PCE) from the upstream data provider."""
82
+
83
+ next_url: NotRequired[str]
84
+ r"""URL for next page of results"""
85
+ request_id: NotRequired[str]
86
+ r"""Provider request identifier for tracing and support"""
87
+ results: NotRequired[List[InflationResponseResultTypedDict]]
88
+ r"""Array of inflation data points"""
89
+ status: NotRequired[str]
90
+ r"""Status string from the upstream data provider — typically `OK` for a successful response. Treat any other value as an error indicator alongside the HTTP status code."""
91
+
92
+
93
+ class InflationResponse(BaseModel):
94
+ r"""Paginated response containing inflation data (CPI and PCE) from the upstream data provider."""
95
+
96
+ next_url: Annotated[Optional[str], pydantic.Field(alias="nextUrl")] = None
97
+ r"""URL for next page of results"""
98
+
99
+ request_id: Annotated[Optional[str], pydantic.Field(alias="requestId")] = None
100
+ r"""Provider request identifier for tracing and support"""
101
+
102
+ results: Optional[List[InflationResponseResult]] = None
103
+ r"""Array of inflation data points"""
104
+
105
+ status: Optional[str] = None
106
+ r"""Status string from the upstream data provider — typically `OK` for a successful response. Treat any other value as an error indicator alongside the HTTP status code."""
107
+
108
+ @model_serializer(mode="wrap")
109
+ def serialize_model(self, handler):
110
+ optional_fields = set(["nextUrl", "requestId", "results", "status"])
111
+ serialized = handler(self)
112
+ m = {}
113
+
114
+ for n, f in type(self).model_fields.items():
115
+ k = f.alias or n
116
+ val = serialized.get(k, serialized.get(n))
117
+
118
+ if val != UNSET_SENTINEL:
119
+ if val is not None or k not in optional_fields:
120
+ m[k] = val
121
+
122
+ return m
123
+
124
+
125
+ try:
126
+ InflationResponseResult.model_rebuild()
127
+ except NameError:
128
+ pass
129
+ try:
130
+ InflationResponse.model_rebuild()
131
+ except NameError:
132
+ pass
@@ -0,0 +1,97 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 75f2f6ab27c9
3
+
4
+ from __future__ import annotations
5
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
6
+ import pydantic
7
+ from pydantic import model_serializer
8
+ from typing import Optional
9
+ from typing_extensions import Annotated, NotRequired, TypedDict
10
+
11
+
12
+ class InsiderTransactionTypedDict(TypedDict):
13
+ r"""Single insider trading transaction reported on SEC Form 4."""
14
+
15
+ change: NotRequired[int]
16
+ r"""Net change in shares held after the transaction"""
17
+ filing_date: NotRequired[str]
18
+ r"""Date when the Form 4 was filed with the SEC in YYYY-MM-DD format"""
19
+ name: NotRequired[str]
20
+ r"""Name of the insider (executive, director, or beneficial owner)"""
21
+ share: NotRequired[int]
22
+ r"""Number of shares involved in the transaction"""
23
+ symbol: NotRequired[str]
24
+ r"""Stock ticker symbol"""
25
+ transaction_code: NotRequired[str]
26
+ r"""SEC transaction code (P=Purchase, S=Sale, A=Award, etc.)"""
27
+ transaction_date: NotRequired[str]
28
+ r"""Date when the transaction occurred in YYYY-MM-DD format"""
29
+ transaction_price: NotRequired[float]
30
+ r"""Price per share at which the transaction was executed"""
31
+
32
+
33
+ class InsiderTransaction(BaseModel):
34
+ r"""Single insider trading transaction reported on SEC Form 4."""
35
+
36
+ change: Optional[int] = None
37
+ r"""Net change in shares held after the transaction"""
38
+
39
+ filing_date: Annotated[Optional[str], pydantic.Field(alias="filingDate")] = None
40
+ r"""Date when the Form 4 was filed with the SEC in YYYY-MM-DD format"""
41
+
42
+ name: Optional[str] = None
43
+ r"""Name of the insider (executive, director, or beneficial owner)"""
44
+
45
+ share: Optional[int] = None
46
+ r"""Number of shares involved in the transaction"""
47
+
48
+ symbol: Optional[str] = None
49
+ r"""Stock ticker symbol"""
50
+
51
+ transaction_code: Annotated[
52
+ Optional[str], pydantic.Field(alias="transactionCode")
53
+ ] = None
54
+ r"""SEC transaction code (P=Purchase, S=Sale, A=Award, etc.)"""
55
+
56
+ transaction_date: Annotated[
57
+ Optional[str], pydantic.Field(alias="transactionDate")
58
+ ] = None
59
+ r"""Date when the transaction occurred in YYYY-MM-DD format"""
60
+
61
+ transaction_price: Annotated[
62
+ Optional[float], pydantic.Field(alias="transactionPrice")
63
+ ] = None
64
+ r"""Price per share at which the transaction was executed"""
65
+
66
+ @model_serializer(mode="wrap")
67
+ def serialize_model(self, handler):
68
+ optional_fields = set(
69
+ [
70
+ "change",
71
+ "filingDate",
72
+ "name",
73
+ "share",
74
+ "symbol",
75
+ "transactionCode",
76
+ "transactionDate",
77
+ "transactionPrice",
78
+ ]
79
+ )
80
+ serialized = handler(self)
81
+ m = {}
82
+
83
+ for n, f in type(self).model_fields.items():
84
+ k = f.alias or n
85
+ val = serialized.get(k, serialized.get(n))
86
+
87
+ if val != UNSET_SENTINEL:
88
+ if val is not None or k not in optional_fields:
89
+ m[k] = val
90
+
91
+ return m
92
+
93
+
94
+ try:
95
+ InsiderTransaction.model_rebuild()
96
+ except NameError:
97
+ pass
@@ -0,0 +1,39 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 21a3e8656361
3
+
4
+ from __future__ import annotations
5
+ from .insidertransaction import InsiderTransaction, InsiderTransactionTypedDict
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 InsiderTransactionsResponseTypedDict(TypedDict):
13
+ r"""Response containing insider trading transactions."""
14
+
15
+ transactions: NotRequired[List[InsiderTransactionTypedDict]]
16
+ r"""List of insider trading transactions"""
17
+
18
+
19
+ class InsiderTransactionsResponse(BaseModel):
20
+ r"""Response containing insider trading transactions."""
21
+
22
+ transactions: Optional[List[InsiderTransaction]] = None
23
+ r"""List of insider trading transactions"""
24
+
25
+ @model_serializer(mode="wrap")
26
+ def serialize_model(self, handler):
27
+ optional_fields = set(["transactions"])
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