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
finance_dev/py.typed ADDED
@@ -0,0 +1 @@
1
+ # Marker file for PEP 561. The package enables type hints.
finance_dev/sdk.py ADDED
@@ -0,0 +1,347 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 5fb27a93df8c
3
+
4
+ from .basesdk import BaseSDK
5
+ from .httpclient import AsyncHttpClient, ClientOwner, HttpClient, close_clients
6
+ from .sdkconfiguration import SDKConfiguration
7
+ from .utils.logger import Logger, get_default_logger
8
+ from .utils.retries import RetryConfig
9
+ from finance_dev import models, utils
10
+ from finance_dev._hooks import SDKHooks
11
+ from finance_dev.types import OptionalNullable, UNSET
12
+ import httpx
13
+ import importlib
14
+ import sys
15
+ from typing import Callable, Dict, Optional, TYPE_CHECKING, Union, cast
16
+ import weakref
17
+
18
+ if TYPE_CHECKING:
19
+ from finance_dev.accounts import Accounts
20
+ from finance_dev.alternativedata import AlternativeData
21
+ from finance_dev.analytics import Analytics
22
+ from finance_dev.calendar import Calendar
23
+ from finance_dev.chart import Chart
24
+ from finance_dev.company import Company
25
+ from finance_dev.corporateactions import CorporateActions
26
+ from finance_dev.economy import Economy
27
+ from finance_dev.estimates import Estimates
28
+ from finance_dev.etf import Etf
29
+ from finance_dev.filings import Filings
30
+ from finance_dev.financials import Financials
31
+ from finance_dev.indices import Indices
32
+ from finance_dev.logos import Logos
33
+ from finance_dev.market import Market
34
+ from finance_dev.news_sdk import NewsSDK
35
+ from finance_dev.options import Options
36
+ from finance_dev.orders import Orders
37
+ from finance_dev.ownership import Ownership
38
+ from finance_dev.predictions import Predictions
39
+ from finance_dev.signals import Signals
40
+ from finance_dev.stocks import Stocks
41
+ from finance_dev.technicalanalysis_sdk import TechnicalAnalysisSDK
42
+ from finance_dev.watchlist_sdk import WatchlistSDK
43
+
44
+
45
+ class FinanceDev(BaseSDK):
46
+ r"""Aries API — OpenAPI Specification: OpenAPI Specification for the Aries trading platform API.
47
+
48
+ # Authentication
49
+
50
+ Learn how to authenticate with the Aries API using OAuth2 and manage access tokens in your SDK.
51
+
52
+ ## Overview
53
+
54
+ The Aries API uses **OAuth2 with Bearer tokens** (JWT format) for authentication. All API requests require a valid access token in the `Authorization` header:
55
+
56
+ ```
57
+ Authorization: Bearer <access_token>
58
+ ```
59
+
60
+ ## Providing Client ID and Client Secret (SDK)
61
+
62
+ When using the generated SDK, provide your **Client ID** and **Client Secret** when you create the API client (e.g. in the constructor or security options). The SDK will use these to obtain and refresh the access token internally; you do not need to manage tokens yourself.
63
+
64
+ Obtain your OAuth2 credentials from the Aries platform (e.g. Client Center / Manage Account at https://app.aries.com):
65
+
66
+ - **Client ID** – Your application identifier (pass to SDK client)
67
+ - **Client Secret** – Your application secret key (pass to SDK client; use PKCE for public clients where secret cannot be stored)
68
+
69
+ ## Authentication Flow
70
+
71
+ ### 1. Authorization Code Flow
72
+
73
+ For server-side or confidential clients:
74
+
75
+ 1. **Redirect the user** to the authorization URL to sign in and consent:
76
+ - **URL:** `https://app.aries.com/oauth2/authorize`
77
+ - **Query params:** `response_type=code`, `client_id`, `redirect_uri`, `scope`, `state`
78
+
79
+ 2. **Exchange the code for tokens** (after user is redirected back with `?code=.`):
80
+ - **POST** `https://api.aries.com/v1/oauth2/token`
81
+ - **Body:** `grant_type=authorization_code`, `code`, `redirect_uri`, `client_id`, `client_secret`
82
+ - Response includes `access_token` and `refresh_token`
83
+
84
+ 3. **Call the API** with the access token: `Authorization: Bearer <access_token>`
85
+
86
+ ### 2. PKCE Flow
87
+
88
+ For SPAs and mobile apps (public clients that cannot store `client_secret`):
89
+
90
+ 1. Generate a **code_verifier** (random string) and **code_challenge** = BASE64URL(SHA256(code_verifier)).
91
+ 2. **Redirect the user** to `https://app.aries.com/oauth2/authorize` with `code_challenge`, `code_challenge_method=S256`, plus `client_id`, `redirect_uri`, `scope`, `state`.
92
+ 3. **Exchange the code** at POST `https://api.aries.com/v1/oauth2/token` with `grant_type=authorization_code`, `code`, `redirect_uri`, `client_id`, `code_verifier` (no client_secret).
93
+ 4. Use the returned `access_token` as Bearer.
94
+
95
+ ### 3. MFA Verification
96
+
97
+ If the user has MFA enabled, the authorize step may return `is_mfa: true` and a `next_step_auth_id`. Call **POST** `https://api.aries.com/v1/oauth2/authorize/mfa` with `next_step_auth_id` and `verification_code` (6-digit code). Then continue with **POST** `/v1/oauth2/authorize/confirm` to get the authorization code, and exchange it at `/v1/oauth2/token`.
98
+
99
+ ## Token Management
100
+
101
+ - **Refresh when expired:** POST `https://api.aries.com/v1/oauth2/token` with `grant_type=refresh_token`, `client_id`, `client_secret`, `refresh_token`.
102
+ - **Using a Bearer token directly:** If you already have an access token, set the header `Authorization: Bearer <access_token>` on every request. The SDK can accept a pre-obtained token and use it until it expires.
103
+
104
+ ## OAuth2 Scopes
105
+
106
+ Request only the scopes your application needs. Available scopes:
107
+
108
+ | Scope | Description |
109
+ |-------|-------------|
110
+ | `user:information` | View user profile and personal details |
111
+ | `watchlist:information` | View your watchlists and their symbols |
112
+ | `watchlist:management` | Create, update, replace, and delete your watchlists |
113
+ | `account:information` | View account balances, positions, and transaction history |
114
+ | `order:execution` | Place, modify, and cancel orders |
115
+ | `order:information` | View order history and status |
116
+ | `position:information` | View current positions and holdings |
117
+ | `market:information` | Access live and historical market data |
118
+ | `calendar:information` | Access earnings, economic, and market schedule data |
119
+ | `options:information` | Access options chains and expiration data |
120
+ | `analytics:information` | View analytics, ratings, and market insights |
121
+ | `market:supplemental` | News, company profiles, financials, filings, ETF data, technical analysis |
122
+
123
+ Specify multiple scopes as a space-separated string, e.g. `account:information order:execution market:information`.
124
+
125
+ ## Security Best Practices
126
+
127
+ - **Store credentials securely** – Use environment variables or a secrets manager for `client_id` and `client_secret`. Never hardcode them.
128
+ - **Handle token expiration** – Check for 401 responses and refresh the token using the refresh_token, then retry the request.
129
+ - **Use HTTPS** – All authorization and token endpoints must be called over HTTPS.
130
+ - **Validate state** – When using the authorization code flow, validate the `state` parameter on the callback to prevent CSRF.
131
+
132
+ ## Error Handling
133
+
134
+ - **400 Bad Request** – Invalid or missing parameters, validation failures, or malformed JSON. Response bodies follow the same patterns as other errors (flat `error` string, optional `codes`, nested `error` object, or rarely no body).
135
+
136
+ - **401 Unauthorized** – Invalid or expired access token; refresh the token or re-authenticate. JSON bodies are not identical on every route: you may see a flat `error` string (sometimes with `codes`), a nested `error` object (`type`, `code`, `message`), or rarely an empty body
137
+
138
+ - **403 Forbidden** – Insufficient scope or permissions for the requested resource. Error JSON may be flat or nested, like 400/401.
139
+
140
+ - **404 Not Found** – Resource does not exist or is not visible. Error JSON may be flat or nested.
141
+
142
+ - **500 / 5xx** – Server or upstream failure; retry with backoff. Do not depend on a single error JSON shape; some responses may have no body.
143
+
144
+
145
+ ---
146
+
147
+ Endpoints in this spec: health, OAuth2 (authorize, confirm, mfa, token), users, accounts, orders, market data, watchlist, chart, analytics, calendars, company, economy, financials, indices, options, news, and supplemental data.
148
+ """
149
+
150
+ accounts: "Accounts"
151
+ analytics: "Analytics"
152
+ calendar: "Calendar"
153
+ chart: "Chart"
154
+ company: "Company"
155
+ watchlist: "WatchlistSDK"
156
+ corporate_actions: "CorporateActions"
157
+ economy: "Economy"
158
+ market: "Market"
159
+ etf: "Etf"
160
+ filings: "Filings"
161
+ financials: "Financials"
162
+ technical_analysis: "TechnicalAnalysisSDK"
163
+ indices: "Indices"
164
+ ownership: "Ownership"
165
+ logos: "Logos"
166
+ news: "NewsSDK"
167
+ options: "Options"
168
+ orders: "Orders"
169
+ predictions: "Predictions"
170
+ signals: "Signals"
171
+ alternative_data: "AlternativeData"
172
+ estimates: "Estimates"
173
+ stocks: "Stocks"
174
+ _sub_sdk_map = {
175
+ "websocket": ("finance_dev.websocket.sdk", "WebSocketSDK"),
176
+ "accounts": ("finance_dev.accounts", "Accounts"),
177
+ "analytics": ("finance_dev.analytics", "Analytics"),
178
+ "calendar": ("finance_dev.calendar", "Calendar"),
179
+ "chart": ("finance_dev.chart", "Chart"),
180
+ "company": ("finance_dev.company", "Company"),
181
+ "watchlist": ("finance_dev.watchlist_sdk", "WatchlistSDK"),
182
+ "corporate_actions": ("finance_dev.corporateactions", "CorporateActions"),
183
+ "economy": ("finance_dev.economy", "Economy"),
184
+ "market": ("finance_dev.market", "Market"),
185
+ "etf": ("finance_dev.etf", "Etf"),
186
+ "filings": ("finance_dev.filings", "Filings"),
187
+ "financials": ("finance_dev.financials", "Financials"),
188
+ "technical_analysis": (
189
+ "finance_dev.technicalanalysis_sdk",
190
+ "TechnicalAnalysisSDK",
191
+ ),
192
+ "indices": ("finance_dev.indices", "Indices"),
193
+ "ownership": ("finance_dev.ownership", "Ownership"),
194
+ "logos": ("finance_dev.logos", "Logos"),
195
+ "news": ("finance_dev.news_sdk", "NewsSDK"),
196
+ "options": ("finance_dev.options", "Options"),
197
+ "orders": ("finance_dev.orders", "Orders"),
198
+ "predictions": ("finance_dev.predictions", "Predictions"),
199
+ "signals": ("finance_dev.signals", "Signals"),
200
+ "alternative_data": ("finance_dev.alternativedata", "AlternativeData"),
201
+ "estimates": ("finance_dev.estimates", "Estimates"),
202
+ "stocks": ("finance_dev.stocks", "Stocks"),
203
+ }
204
+
205
+ def __init__(
206
+ self,
207
+ security: Optional[
208
+ Union[models.Security, Callable[[], models.Security]]
209
+ ] = None,
210
+ server_idx: Optional[int] = None,
211
+ url_params: Optional[Dict[str, str]] = None,
212
+ server_url: Optional[str] = None,
213
+ client: Optional[HttpClient] = None,
214
+ async_client: Optional[AsyncHttpClient] = None,
215
+ retry_config: OptionalNullable[RetryConfig] = UNSET,
216
+ timeout_ms: Optional[int] = None,
217
+ debug_logger: Optional[Logger] = None,
218
+ ) -> None:
219
+ r"""Instantiates the SDK configuring it with the provided parameters.
220
+
221
+ :param security: The security details required for authentication
222
+ :param server_idx: The index of the server to use for all methods
223
+ :param server_url: The server URL to use for all methods
224
+ :param url_params: Parameters to optionally template the server URL with
225
+ :param client: The HTTP client to use for all synchronous methods
226
+ :param async_client: The Async HTTP client to use for all asynchronous methods
227
+ :param retry_config: The retry configuration to use for all supported methods
228
+ :param timeout_ms: Optional request timeout applied to each operation in milliseconds
229
+ """
230
+ client_supplied = True
231
+ if client is None:
232
+ client = httpx.Client(follow_redirects=True)
233
+ client_supplied = False
234
+
235
+ assert issubclass(
236
+ type(client), HttpClient
237
+ ), "The provided client must implement the HttpClient protocol."
238
+
239
+ async_client_supplied = True
240
+ if async_client is None:
241
+ async_client = httpx.AsyncClient(follow_redirects=True)
242
+ async_client_supplied = False
243
+
244
+ if debug_logger is None:
245
+ debug_logger = get_default_logger()
246
+
247
+ assert issubclass(
248
+ type(async_client), AsyncHttpClient
249
+ ), "The provided async_client must implement the AsyncHttpClient protocol."
250
+
251
+ if server_url is not None:
252
+ if url_params is not None:
253
+ server_url = utils.template_url(server_url, url_params)
254
+
255
+ BaseSDK.__init__(
256
+ self,
257
+ SDKConfiguration(
258
+ client=client,
259
+ client_supplied=client_supplied,
260
+ async_client=async_client,
261
+ async_client_supplied=async_client_supplied,
262
+ security=security,
263
+ server_url=server_url,
264
+ server_idx=server_idx,
265
+ retry_config=retry_config,
266
+ timeout_ms=timeout_ms,
267
+ debug_logger=debug_logger,
268
+ ),
269
+ parent_ref=self,
270
+ )
271
+
272
+ hooks = SDKHooks()
273
+
274
+ # pylint: disable=protected-access
275
+ self.sdk_configuration.__dict__["_hooks"] = hooks
276
+
277
+ self.sdk_configuration = hooks.sdk_init(self.sdk_configuration)
278
+
279
+ weakref.finalize(
280
+ self,
281
+ close_clients,
282
+ cast(ClientOwner, self.sdk_configuration),
283
+ self.sdk_configuration.client,
284
+ self.sdk_configuration.client_supplied,
285
+ self.sdk_configuration.async_client,
286
+ self.sdk_configuration.async_client_supplied,
287
+ )
288
+
289
+ def dynamic_import(self, modname, retries=3):
290
+ for attempt in range(retries):
291
+ try:
292
+ return importlib.import_module(modname)
293
+ except KeyError:
294
+ # Clear any half-initialized module and retry
295
+ sys.modules.pop(modname, None)
296
+ if attempt == retries - 1:
297
+ break
298
+ raise KeyError(f"Failed to import module '{modname}' after {retries} attempts")
299
+
300
+ def __getattr__(self, name: str):
301
+ if name in self._sub_sdk_map:
302
+ module_path, class_name = self._sub_sdk_map[name]
303
+ try:
304
+ module = self.dynamic_import(module_path)
305
+ klass = getattr(module, class_name)
306
+ instance = klass(self.sdk_configuration, parent_ref=self)
307
+ setattr(self, name, instance)
308
+ return instance
309
+ except ImportError as e:
310
+ raise AttributeError(
311
+ f"Failed to import module {module_path} for attribute {name}: {e}"
312
+ ) from e
313
+ except AttributeError as e:
314
+ raise AttributeError(
315
+ f"Failed to find class {class_name} in module {module_path} for attribute {name}: {e}"
316
+ ) from e
317
+
318
+ raise AttributeError(
319
+ f"'{type(self).__name__}' object has no attribute '{name}'"
320
+ )
321
+
322
+ def __dir__(self):
323
+ default_attrs = list(super().__dir__())
324
+ lazy_attrs = list(self._sub_sdk_map.keys())
325
+ return sorted(list(set(default_attrs + lazy_attrs)))
326
+
327
+ def __enter__(self):
328
+ return self
329
+
330
+ async def __aenter__(self):
331
+ return self
332
+
333
+ def __exit__(self, exc_type, exc_val, exc_tb):
334
+ if (
335
+ self.sdk_configuration.client is not None
336
+ and not self.sdk_configuration.client_supplied
337
+ ):
338
+ self.sdk_configuration.client.close()
339
+ self.sdk_configuration.client = None
340
+
341
+ async def __aexit__(self, exc_type, exc_val, exc_tb):
342
+ if (
343
+ self.sdk_configuration.async_client is not None
344
+ and not self.sdk_configuration.async_client_supplied
345
+ ):
346
+ await self.sdk_configuration.async_client.aclose()
347
+ self.sdk_configuration.async_client = None
@@ -0,0 +1,50 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 6dab16bc4f60
3
+
4
+ from ._version import (
5
+ __gen_version__,
6
+ __openapi_doc_version__,
7
+ __user_agent__,
8
+ __version__,
9
+ )
10
+ from .httpclient import AsyncHttpClient, HttpClient
11
+ from .utils import Logger, RetryConfig, remove_suffix
12
+ from dataclasses import dataclass
13
+ from finance_dev import models
14
+ from finance_dev.types import OptionalNullable, UNSET
15
+ from pydantic import Field
16
+ from typing import Callable, Dict, Optional, Tuple, Union
17
+
18
+
19
+ SERVERS = [
20
+ "https://api.aries.com",
21
+ # Production server
22
+ ]
23
+ """Contains the list of servers available to the SDK"""
24
+
25
+
26
+ @dataclass
27
+ class SDKConfiguration:
28
+ client: Union[HttpClient, None]
29
+ client_supplied: bool
30
+ async_client: Union[AsyncHttpClient, None]
31
+ async_client_supplied: bool
32
+ debug_logger: Logger
33
+ security: Optional[Union[models.Security, Callable[[], models.Security]]] = None
34
+ server_url: Optional[str] = ""
35
+ server_idx: Optional[int] = 0
36
+ language: str = "python"
37
+ openapi_doc_version: str = __openapi_doc_version__
38
+ sdk_version: str = __version__
39
+ gen_version: str = __gen_version__
40
+ user_agent: str = __user_agent__
41
+ retry_config: OptionalNullable[RetryConfig] = Field(default_factory=lambda: UNSET)
42
+ timeout_ms: Optional[int] = None
43
+
44
+ def get_server_details(self) -> Tuple[str, Dict[str, str]]:
45
+ if self.server_url is not None and self.server_url:
46
+ return remove_suffix(self.server_url, "/"), {}
47
+ if self.server_idx is None:
48
+ self.server_idx = 0
49
+
50
+ return SERVERS[self.server_idx], {}