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.
- finance_dev/__init__.py +18 -0
- finance_dev/_hooks/__init__.py +7 -0
- finance_dev/_hooks/clientcredentials.py +319 -0
- finance_dev/_hooks/oauth2scopes.py +50 -0
- finance_dev/_hooks/registration.py +13 -0
- finance_dev/_hooks/sdkhooks.py +82 -0
- finance_dev/_hooks/types.py +125 -0
- finance_dev/_version.py +16 -0
- finance_dev/accounts.py +797 -0
- finance_dev/alternativedata.py +4830 -0
- finance_dev/analytics.py +3757 -0
- finance_dev/basesdk.py +393 -0
- finance_dev/calendar.py +1523 -0
- finance_dev/chart.py +1881 -0
- finance_dev/company.py +1105 -0
- finance_dev/corporateactions.py +1795 -0
- finance_dev/economy.py +1153 -0
- finance_dev/errors/__init__.py +94 -0
- finance_dev/errors/apierror.py +41 -0
- finance_dev/errors/authenticationerrorenvelope.py +43 -0
- finance_dev/errors/badrequest.py +34 -0
- finance_dev/errors/errorenvelope.py +42 -0
- finance_dev/errors/errorresponse.py +45 -0
- finance_dev/errors/financedevapierror.py +31 -0
- finance_dev/errors/forbidden.py +34 -0
- finance_dev/errors/internalservererror.py +35 -0
- finance_dev/errors/no_response_error.py +18 -0
- finance_dev/errors/notfound.py +34 -0
- finance_dev/errors/orderhistorybadrequest.py +35 -0
- finance_dev/errors/predorderserrorenvelope.py +42 -0
- finance_dev/errors/responsevalidationerror.py +28 -0
- finance_dev/errors/unauthorized.py +34 -0
- finance_dev/estimates.py +1906 -0
- finance_dev/etf.py +1108 -0
- finance_dev/filings.py +586 -0
- finance_dev/financials.py +4079 -0
- finance_dev/history.py +477 -0
- finance_dev/httpclient.py +126 -0
- finance_dev/indices.py +2308 -0
- finance_dev/logos.py +692 -0
- finance_dev/market.py +1825 -0
- finance_dev/markets.py +952 -0
- finance_dev/models/__init__.py +4568 -0
- finance_dev/models/accountbalancev2.py +340 -0
- finance_dev/models/accountitem.py +78 -0
- finance_dev/models/accountposition.py +147 -0
- finance_dev/models/aggregatetechnicalindicatorsresponse.py +192 -0
- finance_dev/models/analystinsightitem.py +161 -0
- finance_dev/models/analystinsightsresponse.py +39 -0
- finance_dev/models/apperror.py +123 -0
- finance_dev/models/authenticationerrordetail.py +58 -0
- finance_dev/models/bankbranchesresponse.py +96 -0
- finance_dev/models/basicfinancials.py +243 -0
- finance_dev/models/bullbearanalysisresponse.py +150 -0
- finance_dev/models/cancelorderop.py +40 -0
- finance_dev/models/cancelordrequest_union.py +287 -0
- finance_dev/models/cancelordresponse.py +115 -0
- finance_dev/models/cashflowstatement.py +290 -0
- finance_dev/models/cashflowstatementsresponse.py +61 -0
- finance_dev/models/chartbars.py +111 -0
- finance_dev/models/chartconfig.py +81 -0
- finance_dev/models/chartresolution.py +46 -0
- finance_dev/models/companyesgresponse.py +408 -0
- finance_dev/models/companyexecutive.py +70 -0
- finance_dev/models/companyexecutiveresponse.py +39 -0
- finance_dev/models/companypeersresponse.py +38 -0
- finance_dev/models/companypresentationresponse.py +96 -0
- finance_dev/models/companyprofile.py +255 -0
- finance_dev/models/conferencecallsresponse.py +169 -0
- finance_dev/models/congressionaltradingresponse.py +138 -0
- finance_dev/models/covid19uscasesresponse.py +79 -0
- finance_dev/models/createconfigwatchlistop.py +40 -0
- finance_dev/models/createwatchlistrequest.py +43 -0
- finance_dev/models/dailymarketsummaryresponse.py +73 -0
- finance_dev/models/deleteconfigwatchlistbyidop.py +53 -0
- finance_dev/models/dividenditem.py +125 -0
- finance_dev/models/dividendsresponse.py +61 -0
- finance_dev/models/earningrelease.py +291 -0
- finance_dev/models/earningscallliveresponse.py +103 -0
- finance_dev/models/earningsqualityscoreresponse.py +140 -0
- finance_dev/models/earningssurprisesresponse.py +125 -0
- finance_dev/models/ebitdaestimatesresponse.py +176 -0
- finance_dev/models/ebitestimatesresponse.py +176 -0
- finance_dev/models/economicscalendarevent.py +160 -0
- finance_dev/models/economicsindicator.py +87 -0
- finance_dev/models/epsestimatesresponse.py +176 -0
- finance_dev/models/equitydetailsdto.py +569 -0
- finance_dev/models/errorcode.py +48 -0
- finance_dev/models/etblistresponse.py +43 -0
- finance_dev/models/etbsearchrequest.py +21 -0
- finance_dev/models/etbsearchresponse.py +43 -0
- finance_dev/models/etfcountryallocationresponse.py +113 -0
- finance_dev/models/etfholdingsresponse.py +163 -0
- finance_dev/models/etfprofileresponse.py +234 -0
- finance_dev/models/etfsectorallocationresponse.py +113 -0
- finance_dev/models/exchangecode.py +90 -0
- finance_dev/models/fdaadvisorycommitteecalendarresponse.py +88 -0
- finance_dev/models/filingsimilarityrecord.py +115 -0
- finance_dev/models/filingssimilarityindexdatawrapper.py +52 -0
- finance_dev/models/filingssimilarityindexresponse.py +42 -0
- finance_dev/models/financialratiosresponse.py +252 -0
- finance_dev/models/financialsreporteddatawrapper.py +49 -0
- finance_dev/models/financialsreportedresponse.py +42 -0
- finance_dev/models/financialsrevenuebreakdowndatawrapper.py +49 -0
- finance_dev/models/financialsrevenuebreakdownresponse.py +42 -0
- finance_dev/models/financialsstatementsdatawrapper.py +44 -0
- finance_dev/models/financialsstatementsresponse.py +42 -0
- finance_dev/models/financialstatement.py +171 -0
- finance_dev/models/financialstatementtype.py +14 -0
- finance_dev/models/getaccountbalanceop.py +53 -0
- finance_dev/models/getaccountpositionsop.py +53 -0
- finance_dev/models/getaccountsresponse.py +22 -0
- finance_dev/models/getaggregatetechnicalindicatorsop.py +94 -0
- finance_dev/models/getanalystinsightsop.py +164 -0
- finance_dev/models/getbankbranchesop.py +53 -0
- finance_dev/models/getbaseeventop.py +87 -0
- finance_dev/models/getbullbearanalysisop.py +91 -0
- finance_dev/models/getcashflowstatementsop.py +564 -0
- finance_dev/models/getchartconfigop.py +40 -0
- finance_dev/models/getcharthistoryop.py +122 -0
- finance_dev/models/getcharttimeop.py +39 -0
- finance_dev/models/getcompanyesgop.py +53 -0
- finance_dev/models/getcompanyexecutivesop.py +56 -0
- finance_dev/models/getcompanymetricsop.py +68 -0
- finance_dev/models/getcompanypeersop.py +53 -0
- finance_dev/models/getcompanypresentationop.py +56 -0
- finance_dev/models/getcompanyprofileop.py +86 -0
- finance_dev/models/getconferencecallsop.py +111 -0
- finance_dev/models/getconfigwatchlistbyidop.py +53 -0
- finance_dev/models/getconfigwatchlistsop.py +40 -0
- finance_dev/models/getcongressionaltradingop.py +73 -0
- finance_dev/models/getcovid19uscasesop.py +43 -0
- finance_dev/models/getdailymarketsummaryop.py +92 -0
- finance_dev/models/getdividendsop.py +294 -0
- finance_dev/models/getearningscalendarop.py +87 -0
- finance_dev/models/getearningscallliveop.py +91 -0
- finance_dev/models/getearningsqualityscoreop.py +81 -0
- finance_dev/models/getearningssurprisesop.py +80 -0
- finance_dev/models/getebitdaestimatesop.py +91 -0
- finance_dev/models/getebitestimatesop.py +88 -0
- finance_dev/models/geteconomicscalendarop.py +92 -0
- finance_dev/models/geteconomicscalendarresponse.py +56 -0
- finance_dev/models/getepsestimatesop.py +88 -0
- finance_dev/models/getequitydetailsop.py +56 -0
- finance_dev/models/getequitydetailsresponse.py +45 -0
- finance_dev/models/getetblistop.py +40 -0
- finance_dev/models/getetfcountryallocationop.py +80 -0
- finance_dev/models/getetfholdingsop.py +96 -0
- finance_dev/models/getetfprofileop.py +77 -0
- finance_dev/models/getetfsectorallocationop.py +80 -0
- finance_dev/models/geteventcontractsop.py +87 -0
- finance_dev/models/getfdaadvisorycommitteecalendarop.py +47 -0
- finance_dev/models/getfilingssimilarityindexop.py +102 -0
- finance_dev/models/getfinancialratiosop.py +612 -0
- finance_dev/models/getfinancialstatementsop.py +117 -0
- finance_dev/models/getfundownershipop.py +77 -0
- finance_dev/models/gethistoricaldataop.py +61 -0
- finance_dev/models/gethistoricalesgop.py +53 -0
- finance_dev/models/gethistorybatchop.py +74 -0
- finance_dev/models/gethistoryop.py +123 -0
- finance_dev/models/getincomestatementsop.py +564 -0
- finance_dev/models/getindexbarop.py +140 -0
- finance_dev/models/getindexbarsop.py +149 -0
- finance_dev/models/getindexchartbarsop.py +178 -0
- finance_dev/models/getindexrealtimevaluesop.py +94 -0
- finance_dev/models/getinflationexpectationsop.py +157 -0
- finance_dev/models/getinflationop.py +154 -0
- finance_dev/models/getinsidertransactionsop.py +90 -0
- finance_dev/models/getinstitutionalownershipop.py +99 -0
- finance_dev/models/getinstitutionalportfolioop.py +75 -0
- finance_dev/models/getinvestmentthemeop.py +68 -0
- finance_dev/models/getipocalendarop.py +63 -0
- finance_dev/models/getlobbyingop.py +70 -0
- finance_dev/models/getmarketbreadthop.py +40 -0
- finance_dev/models/getmarketholidaysop.py +65 -0
- finance_dev/models/getmarketstatusop.py +65 -0
- finance_dev/models/getmergersandacquisitionsop.py +113 -0
- finance_dev/models/getnetinflowop.py +40 -0
- finance_dev/models/getnewsbyidop.py +73 -0
- finance_dev/models/getnewsop.py +98 -0
- finance_dev/models/getnewssentimentop.py +53 -0
- finance_dev/models/getoptionchainsnapshotop.py +244 -0
- finance_dev/models/getoptioncontractsnapshotop.py +69 -0
- finance_dev/models/getoptiondetailsop.py +56 -0
- finance_dev/models/getoptiondetailsresponse.py +45 -0
- finance_dev/models/getoptionlasttradeop.py +56 -0
- finance_dev/models/getoptionopencloseop.py +66 -0
- finance_dev/models/getoptionpreviousdayop.py +56 -0
- finance_dev/models/getoptionquotesop.py +177 -0
- finance_dev/models/getoptionsactivityop.py +111 -0
- finance_dev/models/getoptionsetfstopvolumeop.py +70 -0
- finance_dev/models/getoptionsstockstopgainersop.py +70 -0
- finance_dev/models/getoptionsstockstopvolumeop.py +70 -0
- finance_dev/models/getoptionsunusualactivityop.py +100 -0
- finance_dev/models/getoptiontradesop.py +177 -0
- finance_dev/models/getordersv2response.py +66 -0
- finance_dev/models/getownershipdataop.py +77 -0
- finance_dev/models/getpositionsresponse.py +39 -0
- finance_dev/models/getpredictionorderop.py +88 -0
- finance_dev/models/getpricetargetop.py +53 -0
- finance_dev/models/getquotesop.py +53 -0
- finance_dev/models/getratingsop.py +164 -0
- finance_dev/models/getratingsresponse.py +39 -0
- finance_dev/models/getreportedfinancialsop.py +127 -0
- finance_dev/models/getrevenuebreakdownop.py +85 -0
- finance_dev/models/getrevenueestimatesop.py +91 -0
- finance_dev/models/getsecfilingsop.py +113 -0
- finance_dev/models/getsectortickersop.py +124 -0
- finance_dev/models/getsectorwisechangeop.py +84 -0
- finance_dev/models/getshortinterestop.py +334 -0
- finance_dev/models/getshortvolumeop.py +333 -0
- finance_dev/models/getsocialsentimentop.py +90 -0
- finance_dev/models/getspinoffsop.py +112 -0
- finance_dev/models/getstockaggregatesop.py +174 -0
- finance_dev/models/getstocklastquoteop.py +56 -0
- finance_dev/models/getstocklasttradeop.py +56 -0
- finance_dev/models/getstockopencloseop.py +90 -0
- finance_dev/models/getstockpreviousdayop.py +80 -0
- finance_dev/models/getstockquotesop.py +177 -0
- finance_dev/models/getstocksnapshotsop.py +82 -0
- finance_dev/models/getstocksplitsop.py +243 -0
- finance_dev/models/getstocktradesop.py +177 -0
- finance_dev/models/getsupplychainop.py +53 -0
- finance_dev/models/getsupportresistancelevelsop.py +90 -0
- finance_dev/models/getsymbolinfoop.py +53 -0
- finance_dev/models/gettechnicalindicatorop.py +172 -0
- finance_dev/models/gettechnicalpatternsop.py +88 -0
- finance_dev/models/gettenderoffersop.py +112 -0
- finance_dev/models/gettickhistoryop.py +104 -0
- finance_dev/models/gettopgainersop.py +78 -0
- finance_dev/models/gettoplosersop.py +78 -0
- finance_dev/models/gettopmostactiveop.py +78 -0
- finance_dev/models/gettranscriptop.py +53 -0
- finance_dev/models/gettreasuryyieldsop.py +157 -0
- finance_dev/models/getunifiedsnapshotop.py +223 -0
- finance_dev/models/getupgradesdowngradesop.py +91 -0
- finance_dev/models/getusaspendingop.py +70 -0
- finance_dev/models/getuseraccountsop.py +40 -0
- finance_dev/models/getusptopatentsop.py +70 -0
- finance_dev/models/getvisaapplicationsop.py +73 -0
- finance_dev/models/historicalesgresponse.py +439 -0
- finance_dev/models/httpmetadata.py +24 -0
- finance_dev/models/incomestatement.py +296 -0
- finance_dev/models/incomestatementsresponse.py +61 -0
- finance_dev/models/indexbarresponse.py +194 -0
- finance_dev/models/indexbarsresponse.py +123 -0
- finance_dev/models/indexchartbarsresponse.py +213 -0
- finance_dev/models/indexgroupsresponse.py +78 -0
- finance_dev/models/indexlistresponse.py +95 -0
- finance_dev/models/indexsearchresponse.py +93 -0
- finance_dev/models/indicesbygroupresponse.py +93 -0
- finance_dev/models/indicesidentifiertype.py +28 -0
- finance_dev/models/indicesrealtimeindexinfo.py +67 -0
- finance_dev/models/indicesrealtimeindexvalue.py +157 -0
- finance_dev/models/indicesrealtimevaluesitem.py +80 -0
- finance_dev/models/indicesrealtimevaluesresponse.py +42 -0
- finance_dev/models/inflationexpectationsresponse.py +140 -0
- finance_dev/models/inflationresponse.py +132 -0
- finance_dev/models/insidertransaction.py +97 -0
- finance_dev/models/insidertransactionsresponse.py +39 -0
- finance_dev/models/institutionalholding.py +77 -0
- finance_dev/models/institutionalownershipresponse.py +39 -0
- finance_dev/models/institutionalportfolioresponse.py +39 -0
- finance_dev/models/investmentthemeid.py +35 -0
- finance_dev/models/investmentthemeresponse.py +80 -0
- finance_dev/models/ipocalendarresponse.py +39 -0
- finance_dev/models/ipoitem.py +93 -0
- finance_dev/models/listactiveordersop.py +87 -0
- finance_dev/models/listcategoriesop.py +79 -0
- finance_dev/models/listindexgroupsop.py +40 -0
- finance_dev/models/listindicesbygroupop.py +58 -0
- finance_dev/models/listindicesop.py +91 -0
- finance_dev/models/listoptioncontractsop.py +66 -0
- finance_dev/models/listoptionexpirydatesop.py +56 -0
- finance_dev/models/listorderhistoryop.py +139 -0
- finance_dev/models/listpredictionordersop.py +134 -0
- finance_dev/models/listtranscriptsop.py +53 -0
- finance_dev/models/lobbyingresponse.py +166 -0
- finance_dev/models/logosearchresponse.py +152 -0
- finance_dev/models/logosyncresponse.py +277 -0
- finance_dev/models/marketbreadth.py +97 -0
- finance_dev/models/marketbreadthresponse.py +44 -0
- finance_dev/models/marketholiday.py +56 -0
- finance_dev/models/marketholidayresponse.py +39 -0
- finance_dev/models/marketstatus.py +67 -0
- finance_dev/models/mergersandacquisitionsresponse.py +186 -0
- finance_dev/models/metricseriespoint.py +43 -0
- finance_dev/models/netinflow.py +81 -0
- finance_dev/models/netinflowresponse.py +44 -0
- finance_dev/models/newsitem.py +102 -0
- finance_dev/models/newslistresponse.py +128 -0
- finance_dev/models/newssentimentresponse.py +176 -0
- finance_dev/models/newstypeenum.py +16 -0
- finance_dev/models/optionchainsnapshotresponse.py +64 -0
- finance_dev/models/optioncontractsnapshotresponse.py +64 -0
- finance_dev/models/optioncontractsnapshotrow.py +164 -0
- finance_dev/models/optioncontractsresponse.py +131 -0
- finance_dev/models/optiondetailsdto.py +72 -0
- finance_dev/models/optionexpirydatesresponse.py +53 -0
- finance_dev/models/optionlasttraderesponse.py +169 -0
- finance_dev/models/optionopencloseresponse.py +97 -0
- finance_dev/models/optionpreviousdayresponse.py +89 -0
- finance_dev/models/optionquotesresponse.py +138 -0
- finance_dev/models/optionsactivityresponse.py +265 -0
- finance_dev/models/optionsnapshotcontractdetails.py +85 -0
- finance_dev/models/optionsnapshotdaybar.py +107 -0
- finance_dev/models/optionsnapshotgreeks.py +67 -0
- finance_dev/models/optionsnapshotlastquote.py +116 -0
- finance_dev/models/optionsnapshotlasttrade.py +102 -0
- finance_dev/models/optionsnapshotunderlying.py +86 -0
- finance_dev/models/optionsscreeneritem.py +151 -0
- finance_dev/models/optionsunusualactivityresponse.py +62 -0
- finance_dev/models/optionsunusualactivitytrade.py +103 -0
- finance_dev/models/optiontradesresponse.py +132 -0
- finance_dev/models/orderrequesttimeinforceenum.py +29 -0
- finance_dev/models/ordersideenum.py +20 -0
- finance_dev/models/ordertypeenum.py +20 -0
- finance_dev/models/ordleg.py +162 -0
- finance_dev/models/ordresponse.py +202 -0
- finance_dev/models/ownershipdataresponse.py +39 -0
- finance_dev/models/ownershiprecord.py +74 -0
- finance_dev/models/placeorderop.py +40 -0
- finance_dev/models/placeordrequest_union.py +335 -0
- finance_dev/models/placepredictionorderop.py +114 -0
- finance_dev/models/predmdbaseevent.py +62 -0
- finance_dev/models/predmdbaseeventhit.py +53 -0
- finance_dev/models/predmdbaseeventsearchresult.py +46 -0
- finance_dev/models/predmdbaseeventwithevents.py +32 -0
- finance_dev/models/predmdbatchhistoryrequest.py +16 -0
- finance_dev/models/predmdbatchhistoryresponse.py +16 -0
- finance_dev/models/predmdcategory.py +48 -0
- finance_dev/models/predmdcontract.py +177 -0
- finance_dev/models/predmdcontracthit.py +157 -0
- finance_dev/models/predmdcontractsearchresult.py +46 -0
- finance_dev/models/predmdevent.py +136 -0
- finance_dev/models/predmdeventhit.py +73 -0
- finance_dev/models/predmdeventsearchresult.py +46 -0
- finance_dev/models/predmdeventwithcontracts.py +22 -0
- finance_dev/models/predmdhistoryrequest.py +59 -0
- finance_dev/models/predmdhistoryresponse.py +53 -0
- finance_dev/models/predmdtick.py +53 -0
- finance_dev/models/predordersapperror.py +78 -0
- finance_dev/models/predordersorder.py +267 -0
- finance_dev/models/predordersorderdetail.py +26 -0
- finance_dev/models/predordersorderpage.py +45 -0
- finance_dev/models/predordersorderreport.py +88 -0
- finance_dev/models/predordersplaceorderrequest.py +159 -0
- finance_dev/models/previeworderop.py +40 -0
- finance_dev/models/previeworderresponse.py +127 -0
- finance_dev/models/pricetargetresponse.py +89 -0
- finance_dev/models/quotedata.py +49 -0
- finance_dev/models/quotesresponse.py +62 -0
- finance_dev/models/quotevalues.py +114 -0
- finance_dev/models/rating.py +193 -0
- finance_dev/models/ratingsaccuracy.py +242 -0
- finance_dev/models/replaceconfigwatchlistsop.py +40 -0
- finance_dev/models/replaceorderop.py +40 -0
- finance_dev/models/replaceordrequest_union.py +367 -0
- finance_dev/models/replaceordresponse.py +144 -0
- finance_dev/models/reportedbsitem.py +53 -0
- finance_dev/models/reportedfiling.py +110 -0
- finance_dev/models/reportedreport.py +39 -0
- finance_dev/models/reportingfrequency.py +16 -0
- finance_dev/models/revenuebreakdownaxis.py +52 -0
- finance_dev/models/revenuebreakdowndatapoint.py +58 -0
- finance_dev/models/revenuebreakdownentry.py +51 -0
- finance_dev/models/revenuebreakdowninner.py +75 -0
- finance_dev/models/revenueestimatesresponse.py +176 -0
- finance_dev/models/screenclause.py +70 -0
- finance_dev/models/screengroup.py +75 -0
- finance_dev/models/searchetbsymbolsop.py +40 -0
- finance_dev/models/searchindicesop.py +55 -0
- finance_dev/models/searchlogosop.py +158 -0
- finance_dev/models/searchmarketsymbolsop.py +80 -0
- finance_dev/models/searchop.py +232 -0
- finance_dev/models/searchsymbolitem.py +76 -0
- finance_dev/models/searchsymbolresponseitem.py +71 -0
- finance_dev/models/searchsymbolsop.py +77 -0
- finance_dev/models/secfiling.py +91 -0
- finance_dev/models/secfilingsresponse.py +39 -0
- finance_dev/models/sectoravgchange.py +50 -0
- finance_dev/models/security.py +59 -0
- finance_dev/models/securitytypeenum.py +16 -0
- finance_dev/models/shortinterestresponse.py +126 -0
- finance_dev/models/shortvolumeresponse.py +198 -0
- finance_dev/models/socialsentimentresponse.py +124 -0
- finance_dev/models/sortorderenum.py +13 -0
- finance_dev/models/spinoffsresponse.py +136 -0
- finance_dev/models/stockaggregatesresponse.py +92 -0
- finance_dev/models/stocklastquoteresponse.py +175 -0
- finance_dev/models/stocklasttraderesponse.py +169 -0
- finance_dev/models/stockohlcbar.py +85 -0
- finance_dev/models/stockopencloseresponse.py +109 -0
- finance_dev/models/stockpreviousdayresponse.py +86 -0
- finance_dev/models/stockquotesresponse.py +170 -0
- finance_dev/models/stockscreenerop.py +144 -0
- finance_dev/models/stockscreenerrequest.py +131 -0
- finance_dev/models/stockscreenerresponse.py +197 -0
- finance_dev/models/stocksnapshotsresponse.py +454 -0
- finance_dev/models/stocksplitsresponse.py +144 -0
- finance_dev/models/stocktradesresponse.py +164 -0
- finance_dev/models/supplychainresponse.py +158 -0
- finance_dev/models/supportresistancelevelsresponse.py +68 -0
- finance_dev/models/symboldetails.py +119 -0
- finance_dev/models/symbolerror.py +43 -0
- finance_dev/models/symbolinfo.py +183 -0
- finance_dev/models/synclogosop.py +146 -0
- finance_dev/models/technicalindicatorresponse.py +43 -0
- finance_dev/models/technicalindicatortype.py +21 -0
- finance_dev/models/technicalpatternsresponse.py +249 -0
- finance_dev/models/tenderofferidentifiertype.py +26 -0
- finance_dev/models/tenderoffersresponse.py +548 -0
- finance_dev/models/tickchartbars.py +104 -0
- finance_dev/models/tickresolution.py +20 -0
- finance_dev/models/timeinforceenum.py +26 -0
- finance_dev/models/tradeorderlegv2.py +164 -0
- finance_dev/models/tradeorderv2.py +434 -0
- finance_dev/models/transcriptresponse.py +162 -0
- finance_dev/models/transcriptsresponse.py +89 -0
- finance_dev/models/treasuryyieldsresponse.py +160 -0
- finance_dev/models/unifiedsnapshotresponse.py +308 -0
- finance_dev/models/updateconfigwatchlistbyidop.py +65 -0
- finance_dev/models/updatewatchlistrequest_union.py +134 -0
- finance_dev/models/upgradesdowngradesresponse.py +98 -0
- finance_dev/models/usaspendingresponse.py +222 -0
- finance_dev/models/usptopatentsresponse.py +134 -0
- finance_dev/models/visaapplicationsresponse.py +228 -0
- finance_dev/models/watchlist.py +68 -0
- finance_dev/models/watchlistrequest.py +43 -0
- finance_dev/models/watchlistresponse.py +44 -0
- finance_dev/news_sdk.py +829 -0
- finance_dev/options.py +3443 -0
- finance_dev/orders.py +1907 -0
- finance_dev/ownership.py +1386 -0
- finance_dev/predictions.py +29 -0
- finance_dev/predictions_orders.py +852 -0
- finance_dev/py.typed +1 -0
- finance_dev/sdk.py +347 -0
- finance_dev/sdkconfiguration.py +50 -0
- finance_dev/signals.py +338 -0
- finance_dev/stocks.py +3131 -0
- finance_dev/technicalanalysis_sdk.py +1137 -0
- finance_dev/types/__init__.py +25 -0
- finance_dev/types/base64fileinput.py +44 -0
- finance_dev/types/basemodel.py +78 -0
- finance_dev/utils/__init__.py +181 -0
- finance_dev/utils/annotations.py +80 -0
- finance_dev/utils/datetimes.py +42 -0
- finance_dev/utils/dynamic_imports.py +55 -0
- finance_dev/utils/enums.py +135 -0
- finance_dev/utils/eventstreaming.py +327 -0
- finance_dev/utils/forms.py +240 -0
- finance_dev/utils/headers.py +137 -0
- finance_dev/utils/logger.py +23 -0
- finance_dev/utils/metadata.py +120 -0
- finance_dev/utils/queryparams.py +218 -0
- finance_dev/utils/requestbodies.py +68 -0
- finance_dev/utils/retries.py +373 -0
- finance_dev/utils/security.py +199 -0
- finance_dev/utils/serializers.py +327 -0
- finance_dev/utils/unmarshal_json_response.py +39 -0
- finance_dev/utils/url.py +155 -0
- finance_dev/utils/values.py +143 -0
- finance_dev/watchlist_sdk.py +1583 -0
- finance_dev/websocket/__init__.py +57 -0
- finance_dev/websocket/account.py +5 -0
- finance_dev/websocket/auth.py +124 -0
- finance_dev/websocket/chart.py +5 -0
- finance_dev/websocket/codec.py +66 -0
- finance_dev/websocket/config.py +52 -0
- finance_dev/websocket/errors.py +54 -0
- finance_dev/websocket/market.py +5 -0
- finance_dev/websocket/models/__init__.py +52 -0
- finance_dev/websocket/models/account.py +60 -0
- finance_dev/websocket/models/chart.py +44 -0
- finance_dev/websocket/models/common.py +85 -0
- finance_dev/websocket/models/market.py +113 -0
- finance_dev/websocket/resources.py +327 -0
- finance_dev/websocket/sdk.py +13 -0
- finance_dev/websocket/transport/async_connection.py +493 -0
- finance_dev/websocket/transport/base.py +78 -0
- finance_dev/websocket/transport/sync_connection.py +470 -0
- finance_dev-0.9.0.dist-info/METADATA +913 -0
- finance_dev-0.9.0.dist-info/RECORD +486 -0
- finance_dev-0.9.0.dist-info/WHEEL +5 -0
- finance_dev-0.9.0.dist-info/top_level.txt +1 -0
finance_dev/economy.py
ADDED
|
@@ -0,0 +1,1153 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 5d81d29afc45
|
|
3
|
+
|
|
4
|
+
from .basesdk import BaseSDK
|
|
5
|
+
from datetime import date
|
|
6
|
+
from finance_dev import errors, models, utils
|
|
7
|
+
from finance_dev._hooks import HookContext
|
|
8
|
+
from finance_dev.types import OptionalNullable, UNSET
|
|
9
|
+
from finance_dev.utils.unmarshal_json_response import unmarshal_json_response
|
|
10
|
+
from jsonpath import JSONPath
|
|
11
|
+
from typing import Any, Dict, List, Mapping, Optional, Union
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class Economy(BaseSDK):
|
|
15
|
+
def get_inflation(
|
|
16
|
+
self,
|
|
17
|
+
*,
|
|
18
|
+
date_: Optional[date] = None,
|
|
19
|
+
dates: Optional[str] = None,
|
|
20
|
+
date_from: Optional[date] = None,
|
|
21
|
+
date_to: Optional[date] = None,
|
|
22
|
+
date_after: Optional[date] = None,
|
|
23
|
+
date_before: Optional[date] = None,
|
|
24
|
+
limit: Optional[int] = None,
|
|
25
|
+
sort: Optional[str] = None,
|
|
26
|
+
next: Optional[str] = None,
|
|
27
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
28
|
+
server_url: Optional[str] = None,
|
|
29
|
+
url_override: Optional[str] = None,
|
|
30
|
+
timeout_ms: Optional[int] = None,
|
|
31
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
32
|
+
) -> Optional[models.GetInflationResponse]:
|
|
33
|
+
r"""Get Latest Inflation Data
|
|
34
|
+
|
|
35
|
+
Retrieve historical Consumer Price Index (CPI) and Personal Consumption Expenditures (PCE) inflation metrics including core inflation rates and spending data with flexible date filtering.
|
|
36
|
+
|
|
37
|
+
If set, this operation will use `client_id` from the global security.
|
|
38
|
+
|
|
39
|
+
:param date_: Exact date in YYYY-MM-DD format. Use this when you want one specific calendar day.
|
|
40
|
+
:param dates: Comma-separated list of dates in YYYY-MM-DD format. Use this when you want several specific dates in one request.
|
|
41
|
+
:param date_from: Start-date filter. Returns records on or after this date.
|
|
42
|
+
:param date_to: End-date filter. Returns records on or before this date.
|
|
43
|
+
:param date_after: After-date filter. Returns records after this date, excluding the date itself.
|
|
44
|
+
:param date_before: Before-date filter. Returns records before this date, excluding the date itself.
|
|
45
|
+
:param limit: Maximum number of results to return. Use smaller values for UI pages and larger values for exports within API limits.
|
|
46
|
+
:param sort: A comma-separated list of sort columns. For each column, append `.asc` or `.desc` to specify direction. Defaults to `date.asc` when not specified.
|
|
47
|
+
:param next: Pagination cursor from the previous response. Omit it on the first request, then send the returned cursor to fetch the next page.
|
|
48
|
+
:param retries: Override the default retry configuration for this method
|
|
49
|
+
:param server_url: Override the default server URL for this method
|
|
50
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
51
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
52
|
+
"""
|
|
53
|
+
base_url = None
|
|
54
|
+
url_variables = None
|
|
55
|
+
if timeout_ms is None:
|
|
56
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
57
|
+
|
|
58
|
+
if timeout_ms is None:
|
|
59
|
+
timeout_ms = 30000
|
|
60
|
+
|
|
61
|
+
if server_url is not None:
|
|
62
|
+
base_url = server_url
|
|
63
|
+
else:
|
|
64
|
+
base_url = self._get_url(base_url, url_variables)
|
|
65
|
+
|
|
66
|
+
request = models.GetInflationRequest(
|
|
67
|
+
date_=date_,
|
|
68
|
+
dates=dates,
|
|
69
|
+
date_from=date_from,
|
|
70
|
+
date_to=date_to,
|
|
71
|
+
date_after=date_after,
|
|
72
|
+
date_before=date_before,
|
|
73
|
+
limit=limit,
|
|
74
|
+
sort=sort,
|
|
75
|
+
next=next,
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
req = self._build_request(
|
|
79
|
+
method="GET",
|
|
80
|
+
path="/v1/economy/inflation",
|
|
81
|
+
base_url=base_url,
|
|
82
|
+
url_variables=url_variables,
|
|
83
|
+
url_override=url_override,
|
|
84
|
+
request=request,
|
|
85
|
+
request_body_required=False,
|
|
86
|
+
request_has_path_params=False,
|
|
87
|
+
request_has_query_params=True,
|
|
88
|
+
user_agent_header="user-agent",
|
|
89
|
+
accept_header_value="application/json",
|
|
90
|
+
http_headers=http_headers,
|
|
91
|
+
security=self.sdk_configuration.security,
|
|
92
|
+
allow_empty_value=None,
|
|
93
|
+
allowed_fields=["client_id"],
|
|
94
|
+
timeout_ms=timeout_ms,
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
if retries == UNSET:
|
|
98
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
99
|
+
retries = self.sdk_configuration.retry_config
|
|
100
|
+
else:
|
|
101
|
+
retries = utils.RetryConfig(
|
|
102
|
+
"backoff", utils.BackoffStrategy(500, 8000, 1.5, 60000), True
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
retry_config = None
|
|
106
|
+
if isinstance(retries, utils.RetryConfig):
|
|
107
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
108
|
+
|
|
109
|
+
http_res = self.do_request(
|
|
110
|
+
hook_ctx=HookContext(
|
|
111
|
+
config=self.sdk_configuration,
|
|
112
|
+
base_url=base_url or "",
|
|
113
|
+
operation_id="getInflation",
|
|
114
|
+
oauth2_scopes=["market:supplemental"],
|
|
115
|
+
security_source=self.sdk_configuration.security,
|
|
116
|
+
tags=["Economy"],
|
|
117
|
+
extensions=None,
|
|
118
|
+
),
|
|
119
|
+
request=req,
|
|
120
|
+
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
121
|
+
retry_config=retry_config,
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
def next_func() -> Optional[models.GetInflationResponse]:
|
|
125
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
126
|
+
next_url_match = JSONPath("$.nextUrl").parse(body)
|
|
127
|
+
if len(next_url_match) == 0:
|
|
128
|
+
return None
|
|
129
|
+
|
|
130
|
+
next_url = next_url_match[0]
|
|
131
|
+
if not next_url:
|
|
132
|
+
return None
|
|
133
|
+
|
|
134
|
+
if next_url[0] == "/":
|
|
135
|
+
url = self._get_url(base_url, url_variables)
|
|
136
|
+
next_url = url + next_url
|
|
137
|
+
|
|
138
|
+
return self.get_inflation(
|
|
139
|
+
date_=date_,
|
|
140
|
+
dates=dates,
|
|
141
|
+
date_from=date_from,
|
|
142
|
+
date_to=date_to,
|
|
143
|
+
date_after=date_after,
|
|
144
|
+
date_before=date_before,
|
|
145
|
+
limit=limit,
|
|
146
|
+
sort=sort,
|
|
147
|
+
next=next,
|
|
148
|
+
retries=retries,
|
|
149
|
+
server_url=server_url,
|
|
150
|
+
timeout_ms=timeout_ms,
|
|
151
|
+
http_headers=http_headers,
|
|
152
|
+
url_override=next_url,
|
|
153
|
+
)
|
|
154
|
+
|
|
155
|
+
response_data: Any = None
|
|
156
|
+
if utils.match_response(http_res, "200", "application/json"):
|
|
157
|
+
return models.GetInflationResponse(
|
|
158
|
+
inflation_response=unmarshal_json_response(
|
|
159
|
+
Optional[models.InflationResponse], http_res
|
|
160
|
+
),
|
|
161
|
+
http_meta=models.HTTPMetadata(request=req, response=http_res),
|
|
162
|
+
next=next_func,
|
|
163
|
+
)
|
|
164
|
+
if utils.match_response(http_res, "400", "application/json"):
|
|
165
|
+
response_data = unmarshal_json_response(errors.BadRequestUnion, http_res)
|
|
166
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
167
|
+
request=req, response=http_res
|
|
168
|
+
)
|
|
169
|
+
raise errors.BadRequest(response_data, http_res)
|
|
170
|
+
if utils.match_response(http_res, "401", "application/json"):
|
|
171
|
+
response_data = unmarshal_json_response(errors.UnauthorizedUnion, http_res)
|
|
172
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
173
|
+
request=req, response=http_res
|
|
174
|
+
)
|
|
175
|
+
raise errors.Unauthorized(response_data, http_res)
|
|
176
|
+
if utils.match_response(http_res, "403", "application/json"):
|
|
177
|
+
response_data = unmarshal_json_response(errors.ForbiddenUnion, http_res)
|
|
178
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
179
|
+
request=req, response=http_res
|
|
180
|
+
)
|
|
181
|
+
raise errors.Forbidden(response_data, http_res)
|
|
182
|
+
if utils.match_response(http_res, "404", "application/json"):
|
|
183
|
+
response_data = unmarshal_json_response(errors.NotFoundUnion, http_res)
|
|
184
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
185
|
+
request=req, response=http_res
|
|
186
|
+
)
|
|
187
|
+
raise errors.NotFound(response_data, http_res)
|
|
188
|
+
if utils.match_response(http_res, "500", "application/json"):
|
|
189
|
+
response_data = unmarshal_json_response(
|
|
190
|
+
errors.InternalServerErrorUnion, http_res
|
|
191
|
+
)
|
|
192
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
193
|
+
request=req, response=http_res
|
|
194
|
+
)
|
|
195
|
+
raise errors.InternalServerError(response_data, http_res)
|
|
196
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
197
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
198
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
199
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
200
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
201
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
202
|
+
|
|
203
|
+
raise errors.APIError("Unexpected response received", http_res)
|
|
204
|
+
|
|
205
|
+
async def get_inflation_async(
|
|
206
|
+
self,
|
|
207
|
+
*,
|
|
208
|
+
date_: Optional[date] = None,
|
|
209
|
+
dates: Optional[str] = None,
|
|
210
|
+
date_from: Optional[date] = None,
|
|
211
|
+
date_to: Optional[date] = None,
|
|
212
|
+
date_after: Optional[date] = None,
|
|
213
|
+
date_before: Optional[date] = None,
|
|
214
|
+
limit: Optional[int] = None,
|
|
215
|
+
sort: Optional[str] = None,
|
|
216
|
+
next: Optional[str] = None,
|
|
217
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
218
|
+
server_url: Optional[str] = None,
|
|
219
|
+
url_override: Optional[str] = None,
|
|
220
|
+
timeout_ms: Optional[int] = None,
|
|
221
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
222
|
+
) -> Optional[models.GetInflationResponse]:
|
|
223
|
+
r"""Get Latest Inflation Data
|
|
224
|
+
|
|
225
|
+
Retrieve historical Consumer Price Index (CPI) and Personal Consumption Expenditures (PCE) inflation metrics including core inflation rates and spending data with flexible date filtering.
|
|
226
|
+
|
|
227
|
+
If set, this operation will use `client_id` from the global security.
|
|
228
|
+
|
|
229
|
+
:param date_: Exact date in YYYY-MM-DD format. Use this when you want one specific calendar day.
|
|
230
|
+
:param dates: Comma-separated list of dates in YYYY-MM-DD format. Use this when you want several specific dates in one request.
|
|
231
|
+
:param date_from: Start-date filter. Returns records on or after this date.
|
|
232
|
+
:param date_to: End-date filter. Returns records on or before this date.
|
|
233
|
+
:param date_after: After-date filter. Returns records after this date, excluding the date itself.
|
|
234
|
+
:param date_before: Before-date filter. Returns records before this date, excluding the date itself.
|
|
235
|
+
:param limit: Maximum number of results to return. Use smaller values for UI pages and larger values for exports within API limits.
|
|
236
|
+
:param sort: A comma-separated list of sort columns. For each column, append `.asc` or `.desc` to specify direction. Defaults to `date.asc` when not specified.
|
|
237
|
+
:param next: Pagination cursor from the previous response. Omit it on the first request, then send the returned cursor to fetch the next page.
|
|
238
|
+
:param retries: Override the default retry configuration for this method
|
|
239
|
+
:param server_url: Override the default server URL for this method
|
|
240
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
241
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
242
|
+
"""
|
|
243
|
+
base_url = None
|
|
244
|
+
url_variables = None
|
|
245
|
+
if timeout_ms is None:
|
|
246
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
247
|
+
|
|
248
|
+
if timeout_ms is None:
|
|
249
|
+
timeout_ms = 30000
|
|
250
|
+
|
|
251
|
+
if server_url is not None:
|
|
252
|
+
base_url = server_url
|
|
253
|
+
else:
|
|
254
|
+
base_url = self._get_url(base_url, url_variables)
|
|
255
|
+
|
|
256
|
+
request = models.GetInflationRequest(
|
|
257
|
+
date_=date_,
|
|
258
|
+
dates=dates,
|
|
259
|
+
date_from=date_from,
|
|
260
|
+
date_to=date_to,
|
|
261
|
+
date_after=date_after,
|
|
262
|
+
date_before=date_before,
|
|
263
|
+
limit=limit,
|
|
264
|
+
sort=sort,
|
|
265
|
+
next=next,
|
|
266
|
+
)
|
|
267
|
+
|
|
268
|
+
req = self._build_request_async(
|
|
269
|
+
method="GET",
|
|
270
|
+
path="/v1/economy/inflation",
|
|
271
|
+
base_url=base_url,
|
|
272
|
+
url_variables=url_variables,
|
|
273
|
+
url_override=url_override,
|
|
274
|
+
request=request,
|
|
275
|
+
request_body_required=False,
|
|
276
|
+
request_has_path_params=False,
|
|
277
|
+
request_has_query_params=True,
|
|
278
|
+
user_agent_header="user-agent",
|
|
279
|
+
accept_header_value="application/json",
|
|
280
|
+
http_headers=http_headers,
|
|
281
|
+
security=self.sdk_configuration.security,
|
|
282
|
+
allow_empty_value=None,
|
|
283
|
+
allowed_fields=["client_id"],
|
|
284
|
+
timeout_ms=timeout_ms,
|
|
285
|
+
)
|
|
286
|
+
|
|
287
|
+
if retries == UNSET:
|
|
288
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
289
|
+
retries = self.sdk_configuration.retry_config
|
|
290
|
+
else:
|
|
291
|
+
retries = utils.RetryConfig(
|
|
292
|
+
"backoff", utils.BackoffStrategy(500, 8000, 1.5, 60000), True
|
|
293
|
+
)
|
|
294
|
+
|
|
295
|
+
retry_config = None
|
|
296
|
+
if isinstance(retries, utils.RetryConfig):
|
|
297
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
298
|
+
|
|
299
|
+
http_res = await self.do_request_async(
|
|
300
|
+
hook_ctx=HookContext(
|
|
301
|
+
config=self.sdk_configuration,
|
|
302
|
+
base_url=base_url or "",
|
|
303
|
+
operation_id="getInflation",
|
|
304
|
+
oauth2_scopes=["market:supplemental"],
|
|
305
|
+
security_source=self.sdk_configuration.security,
|
|
306
|
+
tags=["Economy"],
|
|
307
|
+
extensions=None,
|
|
308
|
+
),
|
|
309
|
+
request=req,
|
|
310
|
+
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
311
|
+
retry_config=retry_config,
|
|
312
|
+
)
|
|
313
|
+
|
|
314
|
+
def next_func() -> Optional[models.GetInflationResponse]:
|
|
315
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
316
|
+
next_url_match = JSONPath("$.nextUrl").parse(body)
|
|
317
|
+
if len(next_url_match) == 0:
|
|
318
|
+
return None
|
|
319
|
+
|
|
320
|
+
next_url = next_url_match[0]
|
|
321
|
+
if not next_url:
|
|
322
|
+
return None
|
|
323
|
+
|
|
324
|
+
if next_url[0] == "/":
|
|
325
|
+
url = self._get_url(base_url, url_variables)
|
|
326
|
+
next_url = url + next_url
|
|
327
|
+
|
|
328
|
+
return self.get_inflation(
|
|
329
|
+
date_=date_,
|
|
330
|
+
dates=dates,
|
|
331
|
+
date_from=date_from,
|
|
332
|
+
date_to=date_to,
|
|
333
|
+
date_after=date_after,
|
|
334
|
+
date_before=date_before,
|
|
335
|
+
limit=limit,
|
|
336
|
+
sort=sort,
|
|
337
|
+
next=next,
|
|
338
|
+
retries=retries,
|
|
339
|
+
server_url=server_url,
|
|
340
|
+
timeout_ms=timeout_ms,
|
|
341
|
+
http_headers=http_headers,
|
|
342
|
+
url_override=next_url,
|
|
343
|
+
)
|
|
344
|
+
|
|
345
|
+
response_data: Any = None
|
|
346
|
+
if utils.match_response(http_res, "200", "application/json"):
|
|
347
|
+
return models.GetInflationResponse(
|
|
348
|
+
inflation_response=unmarshal_json_response(
|
|
349
|
+
Optional[models.InflationResponse], http_res
|
|
350
|
+
),
|
|
351
|
+
http_meta=models.HTTPMetadata(request=req, response=http_res),
|
|
352
|
+
next=next_func,
|
|
353
|
+
)
|
|
354
|
+
if utils.match_response(http_res, "400", "application/json"):
|
|
355
|
+
response_data = unmarshal_json_response(errors.BadRequestUnion, http_res)
|
|
356
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
357
|
+
request=req, response=http_res
|
|
358
|
+
)
|
|
359
|
+
raise errors.BadRequest(response_data, http_res)
|
|
360
|
+
if utils.match_response(http_res, "401", "application/json"):
|
|
361
|
+
response_data = unmarshal_json_response(errors.UnauthorizedUnion, http_res)
|
|
362
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
363
|
+
request=req, response=http_res
|
|
364
|
+
)
|
|
365
|
+
raise errors.Unauthorized(response_data, http_res)
|
|
366
|
+
if utils.match_response(http_res, "403", "application/json"):
|
|
367
|
+
response_data = unmarshal_json_response(errors.ForbiddenUnion, http_res)
|
|
368
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
369
|
+
request=req, response=http_res
|
|
370
|
+
)
|
|
371
|
+
raise errors.Forbidden(response_data, http_res)
|
|
372
|
+
if utils.match_response(http_res, "404", "application/json"):
|
|
373
|
+
response_data = unmarshal_json_response(errors.NotFoundUnion, http_res)
|
|
374
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
375
|
+
request=req, response=http_res
|
|
376
|
+
)
|
|
377
|
+
raise errors.NotFound(response_data, http_res)
|
|
378
|
+
if utils.match_response(http_res, "500", "application/json"):
|
|
379
|
+
response_data = unmarshal_json_response(
|
|
380
|
+
errors.InternalServerErrorUnion, http_res
|
|
381
|
+
)
|
|
382
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
383
|
+
request=req, response=http_res
|
|
384
|
+
)
|
|
385
|
+
raise errors.InternalServerError(response_data, http_res)
|
|
386
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
387
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
388
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
389
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
390
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
391
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
392
|
+
|
|
393
|
+
raise errors.APIError("Unexpected response received", http_res)
|
|
394
|
+
|
|
395
|
+
def get_inflation_expectations(
|
|
396
|
+
self,
|
|
397
|
+
*,
|
|
398
|
+
date_: Optional[date] = None,
|
|
399
|
+
dates: Optional[str] = None,
|
|
400
|
+
date_from: Optional[date] = None,
|
|
401
|
+
date_to: Optional[date] = None,
|
|
402
|
+
date_after: Optional[date] = None,
|
|
403
|
+
date_before: Optional[date] = None,
|
|
404
|
+
limit: Optional[int] = None,
|
|
405
|
+
sort: Optional[str] = None,
|
|
406
|
+
next: Optional[str] = None,
|
|
407
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
408
|
+
server_url: Optional[str] = None,
|
|
409
|
+
url_override: Optional[str] = None,
|
|
410
|
+
timeout_ms: Optional[int] = None,
|
|
411
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
412
|
+
) -> Optional[models.GetInflationExpectationsResponse]:
|
|
413
|
+
r"""Get Latest Inflation Expectations
|
|
414
|
+
|
|
415
|
+
Retrieve historical inflation expectations data from financial markets and surveys to gauge future inflation trends with flexible date filtering.
|
|
416
|
+
|
|
417
|
+
If set, this operation will use `client_id` from the global security.
|
|
418
|
+
|
|
419
|
+
:param date_: Exact date in YYYY-MM-DD format. Use this when you want one specific calendar day.
|
|
420
|
+
:param dates: Comma-separated list of dates in YYYY-MM-DD format. Use this when you want several specific dates in one request.
|
|
421
|
+
:param date_from: Start-date filter. Returns records on or after this date.
|
|
422
|
+
:param date_to: End-date filter. Returns records on or before this date.
|
|
423
|
+
:param date_after: After-date filter. Returns records after this date, excluding the date itself.
|
|
424
|
+
:param date_before: Before-date filter. Returns records before this date, excluding the date itself.
|
|
425
|
+
:param limit: Maximum number of results to return. Use smaller values for UI pages and larger values for exports within API limits.
|
|
426
|
+
:param sort: A comma-separated list of sort columns. For each column, append `.asc` or `.desc` to specify direction. Defaults to `date.asc` when not specified.
|
|
427
|
+
:param next: Pagination cursor from the previous response. Omit it on the first request, then send the returned cursor to fetch the next page.
|
|
428
|
+
:param retries: Override the default retry configuration for this method
|
|
429
|
+
:param server_url: Override the default server URL for this method
|
|
430
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
431
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
432
|
+
"""
|
|
433
|
+
base_url = None
|
|
434
|
+
url_variables = None
|
|
435
|
+
if timeout_ms is None:
|
|
436
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
437
|
+
|
|
438
|
+
if timeout_ms is None:
|
|
439
|
+
timeout_ms = 30000
|
|
440
|
+
|
|
441
|
+
if server_url is not None:
|
|
442
|
+
base_url = server_url
|
|
443
|
+
else:
|
|
444
|
+
base_url = self._get_url(base_url, url_variables)
|
|
445
|
+
|
|
446
|
+
request = models.GetInflationExpectationsRequest(
|
|
447
|
+
date_=date_,
|
|
448
|
+
dates=dates,
|
|
449
|
+
date_from=date_from,
|
|
450
|
+
date_to=date_to,
|
|
451
|
+
date_after=date_after,
|
|
452
|
+
date_before=date_before,
|
|
453
|
+
limit=limit,
|
|
454
|
+
sort=sort,
|
|
455
|
+
next=next,
|
|
456
|
+
)
|
|
457
|
+
|
|
458
|
+
req = self._build_request(
|
|
459
|
+
method="GET",
|
|
460
|
+
path="/v1/economy/inflation-expectations",
|
|
461
|
+
base_url=base_url,
|
|
462
|
+
url_variables=url_variables,
|
|
463
|
+
url_override=url_override,
|
|
464
|
+
request=request,
|
|
465
|
+
request_body_required=False,
|
|
466
|
+
request_has_path_params=False,
|
|
467
|
+
request_has_query_params=True,
|
|
468
|
+
user_agent_header="user-agent",
|
|
469
|
+
accept_header_value="application/json",
|
|
470
|
+
http_headers=http_headers,
|
|
471
|
+
security=self.sdk_configuration.security,
|
|
472
|
+
allow_empty_value=None,
|
|
473
|
+
allowed_fields=["client_id"],
|
|
474
|
+
timeout_ms=timeout_ms,
|
|
475
|
+
)
|
|
476
|
+
|
|
477
|
+
if retries == UNSET:
|
|
478
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
479
|
+
retries = self.sdk_configuration.retry_config
|
|
480
|
+
else:
|
|
481
|
+
retries = utils.RetryConfig(
|
|
482
|
+
"backoff", utils.BackoffStrategy(500, 8000, 1.5, 60000), True
|
|
483
|
+
)
|
|
484
|
+
|
|
485
|
+
retry_config = None
|
|
486
|
+
if isinstance(retries, utils.RetryConfig):
|
|
487
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
488
|
+
|
|
489
|
+
http_res = self.do_request(
|
|
490
|
+
hook_ctx=HookContext(
|
|
491
|
+
config=self.sdk_configuration,
|
|
492
|
+
base_url=base_url or "",
|
|
493
|
+
operation_id="getInflationExpectations",
|
|
494
|
+
oauth2_scopes=["market:supplemental"],
|
|
495
|
+
security_source=self.sdk_configuration.security,
|
|
496
|
+
tags=["Economy"],
|
|
497
|
+
extensions=None,
|
|
498
|
+
),
|
|
499
|
+
request=req,
|
|
500
|
+
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
501
|
+
retry_config=retry_config,
|
|
502
|
+
)
|
|
503
|
+
|
|
504
|
+
def next_func() -> Optional[models.GetInflationExpectationsResponse]:
|
|
505
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
506
|
+
next_url_match = JSONPath("$.nextUrl").parse(body)
|
|
507
|
+
if len(next_url_match) == 0:
|
|
508
|
+
return None
|
|
509
|
+
|
|
510
|
+
next_url = next_url_match[0]
|
|
511
|
+
if not next_url:
|
|
512
|
+
return None
|
|
513
|
+
|
|
514
|
+
if next_url[0] == "/":
|
|
515
|
+
url = self._get_url(base_url, url_variables)
|
|
516
|
+
next_url = url + next_url
|
|
517
|
+
|
|
518
|
+
return self.get_inflation_expectations(
|
|
519
|
+
date_=date_,
|
|
520
|
+
dates=dates,
|
|
521
|
+
date_from=date_from,
|
|
522
|
+
date_to=date_to,
|
|
523
|
+
date_after=date_after,
|
|
524
|
+
date_before=date_before,
|
|
525
|
+
limit=limit,
|
|
526
|
+
sort=sort,
|
|
527
|
+
next=next,
|
|
528
|
+
retries=retries,
|
|
529
|
+
server_url=server_url,
|
|
530
|
+
timeout_ms=timeout_ms,
|
|
531
|
+
http_headers=http_headers,
|
|
532
|
+
url_override=next_url,
|
|
533
|
+
)
|
|
534
|
+
|
|
535
|
+
response_data: Any = None
|
|
536
|
+
if utils.match_response(http_res, "200", "application/json"):
|
|
537
|
+
return models.GetInflationExpectationsResponse(
|
|
538
|
+
inflation_expectations_response=unmarshal_json_response(
|
|
539
|
+
Optional[models.InflationExpectationsResponse], http_res
|
|
540
|
+
),
|
|
541
|
+
http_meta=models.HTTPMetadata(request=req, response=http_res),
|
|
542
|
+
next=next_func,
|
|
543
|
+
)
|
|
544
|
+
if utils.match_response(http_res, "400", "application/json"):
|
|
545
|
+
response_data = unmarshal_json_response(errors.BadRequestUnion, http_res)
|
|
546
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
547
|
+
request=req, response=http_res
|
|
548
|
+
)
|
|
549
|
+
raise errors.BadRequest(response_data, http_res)
|
|
550
|
+
if utils.match_response(http_res, "401", "application/json"):
|
|
551
|
+
response_data = unmarshal_json_response(errors.UnauthorizedUnion, http_res)
|
|
552
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
553
|
+
request=req, response=http_res
|
|
554
|
+
)
|
|
555
|
+
raise errors.Unauthorized(response_data, http_res)
|
|
556
|
+
if utils.match_response(http_res, "403", "application/json"):
|
|
557
|
+
response_data = unmarshal_json_response(errors.ForbiddenUnion, http_res)
|
|
558
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
559
|
+
request=req, response=http_res
|
|
560
|
+
)
|
|
561
|
+
raise errors.Forbidden(response_data, http_res)
|
|
562
|
+
if utils.match_response(http_res, "404", "application/json"):
|
|
563
|
+
response_data = unmarshal_json_response(errors.NotFoundUnion, http_res)
|
|
564
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
565
|
+
request=req, response=http_res
|
|
566
|
+
)
|
|
567
|
+
raise errors.NotFound(response_data, http_res)
|
|
568
|
+
if utils.match_response(http_res, "500", "application/json"):
|
|
569
|
+
response_data = unmarshal_json_response(
|
|
570
|
+
errors.InternalServerErrorUnion, http_res
|
|
571
|
+
)
|
|
572
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
573
|
+
request=req, response=http_res
|
|
574
|
+
)
|
|
575
|
+
raise errors.InternalServerError(response_data, http_res)
|
|
576
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
577
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
578
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
579
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
580
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
581
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
582
|
+
|
|
583
|
+
raise errors.APIError("Unexpected response received", http_res)
|
|
584
|
+
|
|
585
|
+
async def get_inflation_expectations_async(
|
|
586
|
+
self,
|
|
587
|
+
*,
|
|
588
|
+
date_: Optional[date] = None,
|
|
589
|
+
dates: Optional[str] = None,
|
|
590
|
+
date_from: Optional[date] = None,
|
|
591
|
+
date_to: Optional[date] = None,
|
|
592
|
+
date_after: Optional[date] = None,
|
|
593
|
+
date_before: Optional[date] = None,
|
|
594
|
+
limit: Optional[int] = None,
|
|
595
|
+
sort: Optional[str] = None,
|
|
596
|
+
next: Optional[str] = None,
|
|
597
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
598
|
+
server_url: Optional[str] = None,
|
|
599
|
+
url_override: Optional[str] = None,
|
|
600
|
+
timeout_ms: Optional[int] = None,
|
|
601
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
602
|
+
) -> Optional[models.GetInflationExpectationsResponse]:
|
|
603
|
+
r"""Get Latest Inflation Expectations
|
|
604
|
+
|
|
605
|
+
Retrieve historical inflation expectations data from financial markets and surveys to gauge future inflation trends with flexible date filtering.
|
|
606
|
+
|
|
607
|
+
If set, this operation will use `client_id` from the global security.
|
|
608
|
+
|
|
609
|
+
:param date_: Exact date in YYYY-MM-DD format. Use this when you want one specific calendar day.
|
|
610
|
+
:param dates: Comma-separated list of dates in YYYY-MM-DD format. Use this when you want several specific dates in one request.
|
|
611
|
+
:param date_from: Start-date filter. Returns records on or after this date.
|
|
612
|
+
:param date_to: End-date filter. Returns records on or before this date.
|
|
613
|
+
:param date_after: After-date filter. Returns records after this date, excluding the date itself.
|
|
614
|
+
:param date_before: Before-date filter. Returns records before this date, excluding the date itself.
|
|
615
|
+
:param limit: Maximum number of results to return. Use smaller values for UI pages and larger values for exports within API limits.
|
|
616
|
+
:param sort: A comma-separated list of sort columns. For each column, append `.asc` or `.desc` to specify direction. Defaults to `date.asc` when not specified.
|
|
617
|
+
:param next: Pagination cursor from the previous response. Omit it on the first request, then send the returned cursor to fetch the next page.
|
|
618
|
+
:param retries: Override the default retry configuration for this method
|
|
619
|
+
:param server_url: Override the default server URL for this method
|
|
620
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
621
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
622
|
+
"""
|
|
623
|
+
base_url = None
|
|
624
|
+
url_variables = None
|
|
625
|
+
if timeout_ms is None:
|
|
626
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
627
|
+
|
|
628
|
+
if timeout_ms is None:
|
|
629
|
+
timeout_ms = 30000
|
|
630
|
+
|
|
631
|
+
if server_url is not None:
|
|
632
|
+
base_url = server_url
|
|
633
|
+
else:
|
|
634
|
+
base_url = self._get_url(base_url, url_variables)
|
|
635
|
+
|
|
636
|
+
request = models.GetInflationExpectationsRequest(
|
|
637
|
+
date_=date_,
|
|
638
|
+
dates=dates,
|
|
639
|
+
date_from=date_from,
|
|
640
|
+
date_to=date_to,
|
|
641
|
+
date_after=date_after,
|
|
642
|
+
date_before=date_before,
|
|
643
|
+
limit=limit,
|
|
644
|
+
sort=sort,
|
|
645
|
+
next=next,
|
|
646
|
+
)
|
|
647
|
+
|
|
648
|
+
req = self._build_request_async(
|
|
649
|
+
method="GET",
|
|
650
|
+
path="/v1/economy/inflation-expectations",
|
|
651
|
+
base_url=base_url,
|
|
652
|
+
url_variables=url_variables,
|
|
653
|
+
url_override=url_override,
|
|
654
|
+
request=request,
|
|
655
|
+
request_body_required=False,
|
|
656
|
+
request_has_path_params=False,
|
|
657
|
+
request_has_query_params=True,
|
|
658
|
+
user_agent_header="user-agent",
|
|
659
|
+
accept_header_value="application/json",
|
|
660
|
+
http_headers=http_headers,
|
|
661
|
+
security=self.sdk_configuration.security,
|
|
662
|
+
allow_empty_value=None,
|
|
663
|
+
allowed_fields=["client_id"],
|
|
664
|
+
timeout_ms=timeout_ms,
|
|
665
|
+
)
|
|
666
|
+
|
|
667
|
+
if retries == UNSET:
|
|
668
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
669
|
+
retries = self.sdk_configuration.retry_config
|
|
670
|
+
else:
|
|
671
|
+
retries = utils.RetryConfig(
|
|
672
|
+
"backoff", utils.BackoffStrategy(500, 8000, 1.5, 60000), True
|
|
673
|
+
)
|
|
674
|
+
|
|
675
|
+
retry_config = None
|
|
676
|
+
if isinstance(retries, utils.RetryConfig):
|
|
677
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
678
|
+
|
|
679
|
+
http_res = await self.do_request_async(
|
|
680
|
+
hook_ctx=HookContext(
|
|
681
|
+
config=self.sdk_configuration,
|
|
682
|
+
base_url=base_url or "",
|
|
683
|
+
operation_id="getInflationExpectations",
|
|
684
|
+
oauth2_scopes=["market:supplemental"],
|
|
685
|
+
security_source=self.sdk_configuration.security,
|
|
686
|
+
tags=["Economy"],
|
|
687
|
+
extensions=None,
|
|
688
|
+
),
|
|
689
|
+
request=req,
|
|
690
|
+
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
691
|
+
retry_config=retry_config,
|
|
692
|
+
)
|
|
693
|
+
|
|
694
|
+
def next_func() -> Optional[models.GetInflationExpectationsResponse]:
|
|
695
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
696
|
+
next_url_match = JSONPath("$.nextUrl").parse(body)
|
|
697
|
+
if len(next_url_match) == 0:
|
|
698
|
+
return None
|
|
699
|
+
|
|
700
|
+
next_url = next_url_match[0]
|
|
701
|
+
if not next_url:
|
|
702
|
+
return None
|
|
703
|
+
|
|
704
|
+
if next_url[0] == "/":
|
|
705
|
+
url = self._get_url(base_url, url_variables)
|
|
706
|
+
next_url = url + next_url
|
|
707
|
+
|
|
708
|
+
return self.get_inflation_expectations(
|
|
709
|
+
date_=date_,
|
|
710
|
+
dates=dates,
|
|
711
|
+
date_from=date_from,
|
|
712
|
+
date_to=date_to,
|
|
713
|
+
date_after=date_after,
|
|
714
|
+
date_before=date_before,
|
|
715
|
+
limit=limit,
|
|
716
|
+
sort=sort,
|
|
717
|
+
next=next,
|
|
718
|
+
retries=retries,
|
|
719
|
+
server_url=server_url,
|
|
720
|
+
timeout_ms=timeout_ms,
|
|
721
|
+
http_headers=http_headers,
|
|
722
|
+
url_override=next_url,
|
|
723
|
+
)
|
|
724
|
+
|
|
725
|
+
response_data: Any = None
|
|
726
|
+
if utils.match_response(http_res, "200", "application/json"):
|
|
727
|
+
return models.GetInflationExpectationsResponse(
|
|
728
|
+
inflation_expectations_response=unmarshal_json_response(
|
|
729
|
+
Optional[models.InflationExpectationsResponse], http_res
|
|
730
|
+
),
|
|
731
|
+
http_meta=models.HTTPMetadata(request=req, response=http_res),
|
|
732
|
+
next=next_func,
|
|
733
|
+
)
|
|
734
|
+
if utils.match_response(http_res, "400", "application/json"):
|
|
735
|
+
response_data = unmarshal_json_response(errors.BadRequestUnion, http_res)
|
|
736
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
737
|
+
request=req, response=http_res
|
|
738
|
+
)
|
|
739
|
+
raise errors.BadRequest(response_data, http_res)
|
|
740
|
+
if utils.match_response(http_res, "401", "application/json"):
|
|
741
|
+
response_data = unmarshal_json_response(errors.UnauthorizedUnion, http_res)
|
|
742
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
743
|
+
request=req, response=http_res
|
|
744
|
+
)
|
|
745
|
+
raise errors.Unauthorized(response_data, http_res)
|
|
746
|
+
if utils.match_response(http_res, "403", "application/json"):
|
|
747
|
+
response_data = unmarshal_json_response(errors.ForbiddenUnion, http_res)
|
|
748
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
749
|
+
request=req, response=http_res
|
|
750
|
+
)
|
|
751
|
+
raise errors.Forbidden(response_data, http_res)
|
|
752
|
+
if utils.match_response(http_res, "404", "application/json"):
|
|
753
|
+
response_data = unmarshal_json_response(errors.NotFoundUnion, http_res)
|
|
754
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
755
|
+
request=req, response=http_res
|
|
756
|
+
)
|
|
757
|
+
raise errors.NotFound(response_data, http_res)
|
|
758
|
+
if utils.match_response(http_res, "500", "application/json"):
|
|
759
|
+
response_data = unmarshal_json_response(
|
|
760
|
+
errors.InternalServerErrorUnion, http_res
|
|
761
|
+
)
|
|
762
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
763
|
+
request=req, response=http_res
|
|
764
|
+
)
|
|
765
|
+
raise errors.InternalServerError(response_data, http_res)
|
|
766
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
767
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
768
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
769
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
770
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
771
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
772
|
+
|
|
773
|
+
raise errors.APIError("Unexpected response received", http_res)
|
|
774
|
+
|
|
775
|
+
def get_treasury_yields(
|
|
776
|
+
self,
|
|
777
|
+
*,
|
|
778
|
+
date_: Optional[date] = None,
|
|
779
|
+
dates: Optional[str] = None,
|
|
780
|
+
date_from: Optional[date] = None,
|
|
781
|
+
date_to: Optional[date] = None,
|
|
782
|
+
date_after: Optional[date] = None,
|
|
783
|
+
date_before: Optional[date] = None,
|
|
784
|
+
limit: Optional[int] = None,
|
|
785
|
+
sort: Optional[str] = None,
|
|
786
|
+
next: Optional[str] = None,
|
|
787
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
788
|
+
server_url: Optional[str] = None,
|
|
789
|
+
url_override: Optional[str] = None,
|
|
790
|
+
timeout_ms: Optional[int] = None,
|
|
791
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
792
|
+
) -> Optional[models.GetTreasuryYieldsResponse]:
|
|
793
|
+
r"""Get Latest Treasury Yields
|
|
794
|
+
|
|
795
|
+
Retrieve historical U.S. Treasury yields across different maturities including short-term bills and long-term bonds with flexible date filtering.
|
|
796
|
+
|
|
797
|
+
If set, this operation will use `client_id` from the global security.
|
|
798
|
+
|
|
799
|
+
:param date_: Exact date in YYYY-MM-DD format. Use this when you want one specific calendar day.
|
|
800
|
+
:param dates: Comma-separated list of dates in YYYY-MM-DD format. Use this when you want several specific dates in one request.
|
|
801
|
+
:param date_from: Start-date filter. Returns records on or after this date.
|
|
802
|
+
:param date_to: End-date filter. Returns records on or before this date.
|
|
803
|
+
:param date_after: After-date filter. Returns records after this date, excluding the date itself.
|
|
804
|
+
:param date_before: Before-date filter. Returns records before this date, excluding the date itself.
|
|
805
|
+
:param limit: Maximum number of results to return. Use smaller values for UI pages and larger values for exports within API limits.
|
|
806
|
+
:param sort: A comma-separated list of sort columns. For each column, append `.asc` or `.desc` to specify direction. Massive documents this family with date-based sorting; use provider-supported column names in the text box.
|
|
807
|
+
:param next: Pagination cursor from the previous response. Omit it on the first request, then send the returned cursor to fetch the next page.
|
|
808
|
+
:param retries: Override the default retry configuration for this method
|
|
809
|
+
:param server_url: Override the default server URL for this method
|
|
810
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
811
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
812
|
+
"""
|
|
813
|
+
base_url = None
|
|
814
|
+
url_variables = None
|
|
815
|
+
if timeout_ms is None:
|
|
816
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
817
|
+
|
|
818
|
+
if timeout_ms is None:
|
|
819
|
+
timeout_ms = 30000
|
|
820
|
+
|
|
821
|
+
if server_url is not None:
|
|
822
|
+
base_url = server_url
|
|
823
|
+
else:
|
|
824
|
+
base_url = self._get_url(base_url, url_variables)
|
|
825
|
+
|
|
826
|
+
request = models.GetTreasuryYieldsRequest(
|
|
827
|
+
date_=date_,
|
|
828
|
+
dates=dates,
|
|
829
|
+
date_from=date_from,
|
|
830
|
+
date_to=date_to,
|
|
831
|
+
date_after=date_after,
|
|
832
|
+
date_before=date_before,
|
|
833
|
+
limit=limit,
|
|
834
|
+
sort=sort,
|
|
835
|
+
next=next,
|
|
836
|
+
)
|
|
837
|
+
|
|
838
|
+
req = self._build_request(
|
|
839
|
+
method="GET",
|
|
840
|
+
path="/v1/economy/treasury-yields",
|
|
841
|
+
base_url=base_url,
|
|
842
|
+
url_variables=url_variables,
|
|
843
|
+
url_override=url_override,
|
|
844
|
+
request=request,
|
|
845
|
+
request_body_required=False,
|
|
846
|
+
request_has_path_params=False,
|
|
847
|
+
request_has_query_params=True,
|
|
848
|
+
user_agent_header="user-agent",
|
|
849
|
+
accept_header_value="application/json",
|
|
850
|
+
http_headers=http_headers,
|
|
851
|
+
security=self.sdk_configuration.security,
|
|
852
|
+
allow_empty_value=None,
|
|
853
|
+
allowed_fields=["client_id"],
|
|
854
|
+
timeout_ms=timeout_ms,
|
|
855
|
+
)
|
|
856
|
+
|
|
857
|
+
if retries == UNSET:
|
|
858
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
859
|
+
retries = self.sdk_configuration.retry_config
|
|
860
|
+
else:
|
|
861
|
+
retries = utils.RetryConfig(
|
|
862
|
+
"backoff", utils.BackoffStrategy(500, 8000, 1.5, 60000), True
|
|
863
|
+
)
|
|
864
|
+
|
|
865
|
+
retry_config = None
|
|
866
|
+
if isinstance(retries, utils.RetryConfig):
|
|
867
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
868
|
+
|
|
869
|
+
http_res = self.do_request(
|
|
870
|
+
hook_ctx=HookContext(
|
|
871
|
+
config=self.sdk_configuration,
|
|
872
|
+
base_url=base_url or "",
|
|
873
|
+
operation_id="getTreasuryYields",
|
|
874
|
+
oauth2_scopes=["market:supplemental"],
|
|
875
|
+
security_source=self.sdk_configuration.security,
|
|
876
|
+
tags=["Economy"],
|
|
877
|
+
extensions=None,
|
|
878
|
+
),
|
|
879
|
+
request=req,
|
|
880
|
+
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
881
|
+
retry_config=retry_config,
|
|
882
|
+
)
|
|
883
|
+
|
|
884
|
+
def next_func() -> Optional[models.GetTreasuryYieldsResponse]:
|
|
885
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
886
|
+
next_url_match = JSONPath("$.nextUrl").parse(body)
|
|
887
|
+
if len(next_url_match) == 0:
|
|
888
|
+
return None
|
|
889
|
+
|
|
890
|
+
next_url = next_url_match[0]
|
|
891
|
+
if not next_url:
|
|
892
|
+
return None
|
|
893
|
+
|
|
894
|
+
if next_url[0] == "/":
|
|
895
|
+
url = self._get_url(base_url, url_variables)
|
|
896
|
+
next_url = url + next_url
|
|
897
|
+
|
|
898
|
+
return self.get_treasury_yields(
|
|
899
|
+
date_=date_,
|
|
900
|
+
dates=dates,
|
|
901
|
+
date_from=date_from,
|
|
902
|
+
date_to=date_to,
|
|
903
|
+
date_after=date_after,
|
|
904
|
+
date_before=date_before,
|
|
905
|
+
limit=limit,
|
|
906
|
+
sort=sort,
|
|
907
|
+
next=next,
|
|
908
|
+
retries=retries,
|
|
909
|
+
server_url=server_url,
|
|
910
|
+
timeout_ms=timeout_ms,
|
|
911
|
+
http_headers=http_headers,
|
|
912
|
+
url_override=next_url,
|
|
913
|
+
)
|
|
914
|
+
|
|
915
|
+
response_data: Any = None
|
|
916
|
+
if utils.match_response(http_res, "200", "application/json"):
|
|
917
|
+
return models.GetTreasuryYieldsResponse(
|
|
918
|
+
treasury_yields_response=unmarshal_json_response(
|
|
919
|
+
Optional[models.TreasuryYieldsResponse], http_res
|
|
920
|
+
),
|
|
921
|
+
http_meta=models.HTTPMetadata(request=req, response=http_res),
|
|
922
|
+
next=next_func,
|
|
923
|
+
)
|
|
924
|
+
if utils.match_response(http_res, "400", "application/json"):
|
|
925
|
+
response_data = unmarshal_json_response(errors.BadRequestUnion, http_res)
|
|
926
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
927
|
+
request=req, response=http_res
|
|
928
|
+
)
|
|
929
|
+
raise errors.BadRequest(response_data, http_res)
|
|
930
|
+
if utils.match_response(http_res, "401", "application/json"):
|
|
931
|
+
response_data = unmarshal_json_response(errors.UnauthorizedUnion, http_res)
|
|
932
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
933
|
+
request=req, response=http_res
|
|
934
|
+
)
|
|
935
|
+
raise errors.Unauthorized(response_data, http_res)
|
|
936
|
+
if utils.match_response(http_res, "403", "application/json"):
|
|
937
|
+
response_data = unmarshal_json_response(errors.ForbiddenUnion, http_res)
|
|
938
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
939
|
+
request=req, response=http_res
|
|
940
|
+
)
|
|
941
|
+
raise errors.Forbidden(response_data, http_res)
|
|
942
|
+
if utils.match_response(http_res, "404", "application/json"):
|
|
943
|
+
response_data = unmarshal_json_response(errors.NotFoundUnion, http_res)
|
|
944
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
945
|
+
request=req, response=http_res
|
|
946
|
+
)
|
|
947
|
+
raise errors.NotFound(response_data, http_res)
|
|
948
|
+
if utils.match_response(http_res, "500", "application/json"):
|
|
949
|
+
response_data = unmarshal_json_response(
|
|
950
|
+
errors.InternalServerErrorUnion, http_res
|
|
951
|
+
)
|
|
952
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
953
|
+
request=req, response=http_res
|
|
954
|
+
)
|
|
955
|
+
raise errors.InternalServerError(response_data, http_res)
|
|
956
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
957
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
958
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
959
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
960
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
961
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
962
|
+
|
|
963
|
+
raise errors.APIError("Unexpected response received", http_res)
|
|
964
|
+
|
|
965
|
+
async def get_treasury_yields_async(
|
|
966
|
+
self,
|
|
967
|
+
*,
|
|
968
|
+
date_: Optional[date] = None,
|
|
969
|
+
dates: Optional[str] = None,
|
|
970
|
+
date_from: Optional[date] = None,
|
|
971
|
+
date_to: Optional[date] = None,
|
|
972
|
+
date_after: Optional[date] = None,
|
|
973
|
+
date_before: Optional[date] = None,
|
|
974
|
+
limit: Optional[int] = None,
|
|
975
|
+
sort: Optional[str] = None,
|
|
976
|
+
next: Optional[str] = None,
|
|
977
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
978
|
+
server_url: Optional[str] = None,
|
|
979
|
+
url_override: Optional[str] = None,
|
|
980
|
+
timeout_ms: Optional[int] = None,
|
|
981
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
982
|
+
) -> Optional[models.GetTreasuryYieldsResponse]:
|
|
983
|
+
r"""Get Latest Treasury Yields
|
|
984
|
+
|
|
985
|
+
Retrieve historical U.S. Treasury yields across different maturities including short-term bills and long-term bonds with flexible date filtering.
|
|
986
|
+
|
|
987
|
+
If set, this operation will use `client_id` from the global security.
|
|
988
|
+
|
|
989
|
+
:param date_: Exact date in YYYY-MM-DD format. Use this when you want one specific calendar day.
|
|
990
|
+
:param dates: Comma-separated list of dates in YYYY-MM-DD format. Use this when you want several specific dates in one request.
|
|
991
|
+
:param date_from: Start-date filter. Returns records on or after this date.
|
|
992
|
+
:param date_to: End-date filter. Returns records on or before this date.
|
|
993
|
+
:param date_after: After-date filter. Returns records after this date, excluding the date itself.
|
|
994
|
+
:param date_before: Before-date filter. Returns records before this date, excluding the date itself.
|
|
995
|
+
:param limit: Maximum number of results to return. Use smaller values for UI pages and larger values for exports within API limits.
|
|
996
|
+
:param sort: A comma-separated list of sort columns. For each column, append `.asc` or `.desc` to specify direction. Massive documents this family with date-based sorting; use provider-supported column names in the text box.
|
|
997
|
+
:param next: Pagination cursor from the previous response. Omit it on the first request, then send the returned cursor to fetch the next page.
|
|
998
|
+
:param retries: Override the default retry configuration for this method
|
|
999
|
+
:param server_url: Override the default server URL for this method
|
|
1000
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
1001
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
1002
|
+
"""
|
|
1003
|
+
base_url = None
|
|
1004
|
+
url_variables = None
|
|
1005
|
+
if timeout_ms is None:
|
|
1006
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
1007
|
+
|
|
1008
|
+
if timeout_ms is None:
|
|
1009
|
+
timeout_ms = 30000
|
|
1010
|
+
|
|
1011
|
+
if server_url is not None:
|
|
1012
|
+
base_url = server_url
|
|
1013
|
+
else:
|
|
1014
|
+
base_url = self._get_url(base_url, url_variables)
|
|
1015
|
+
|
|
1016
|
+
request = models.GetTreasuryYieldsRequest(
|
|
1017
|
+
date_=date_,
|
|
1018
|
+
dates=dates,
|
|
1019
|
+
date_from=date_from,
|
|
1020
|
+
date_to=date_to,
|
|
1021
|
+
date_after=date_after,
|
|
1022
|
+
date_before=date_before,
|
|
1023
|
+
limit=limit,
|
|
1024
|
+
sort=sort,
|
|
1025
|
+
next=next,
|
|
1026
|
+
)
|
|
1027
|
+
|
|
1028
|
+
req = self._build_request_async(
|
|
1029
|
+
method="GET",
|
|
1030
|
+
path="/v1/economy/treasury-yields",
|
|
1031
|
+
base_url=base_url,
|
|
1032
|
+
url_variables=url_variables,
|
|
1033
|
+
url_override=url_override,
|
|
1034
|
+
request=request,
|
|
1035
|
+
request_body_required=False,
|
|
1036
|
+
request_has_path_params=False,
|
|
1037
|
+
request_has_query_params=True,
|
|
1038
|
+
user_agent_header="user-agent",
|
|
1039
|
+
accept_header_value="application/json",
|
|
1040
|
+
http_headers=http_headers,
|
|
1041
|
+
security=self.sdk_configuration.security,
|
|
1042
|
+
allow_empty_value=None,
|
|
1043
|
+
allowed_fields=["client_id"],
|
|
1044
|
+
timeout_ms=timeout_ms,
|
|
1045
|
+
)
|
|
1046
|
+
|
|
1047
|
+
if retries == UNSET:
|
|
1048
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
1049
|
+
retries = self.sdk_configuration.retry_config
|
|
1050
|
+
else:
|
|
1051
|
+
retries = utils.RetryConfig(
|
|
1052
|
+
"backoff", utils.BackoffStrategy(500, 8000, 1.5, 60000), True
|
|
1053
|
+
)
|
|
1054
|
+
|
|
1055
|
+
retry_config = None
|
|
1056
|
+
if isinstance(retries, utils.RetryConfig):
|
|
1057
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
1058
|
+
|
|
1059
|
+
http_res = await self.do_request_async(
|
|
1060
|
+
hook_ctx=HookContext(
|
|
1061
|
+
config=self.sdk_configuration,
|
|
1062
|
+
base_url=base_url or "",
|
|
1063
|
+
operation_id="getTreasuryYields",
|
|
1064
|
+
oauth2_scopes=["market:supplemental"],
|
|
1065
|
+
security_source=self.sdk_configuration.security,
|
|
1066
|
+
tags=["Economy"],
|
|
1067
|
+
extensions=None,
|
|
1068
|
+
),
|
|
1069
|
+
request=req,
|
|
1070
|
+
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
1071
|
+
retry_config=retry_config,
|
|
1072
|
+
)
|
|
1073
|
+
|
|
1074
|
+
def next_func() -> Optional[models.GetTreasuryYieldsResponse]:
|
|
1075
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
1076
|
+
next_url_match = JSONPath("$.nextUrl").parse(body)
|
|
1077
|
+
if len(next_url_match) == 0:
|
|
1078
|
+
return None
|
|
1079
|
+
|
|
1080
|
+
next_url = next_url_match[0]
|
|
1081
|
+
if not next_url:
|
|
1082
|
+
return None
|
|
1083
|
+
|
|
1084
|
+
if next_url[0] == "/":
|
|
1085
|
+
url = self._get_url(base_url, url_variables)
|
|
1086
|
+
next_url = url + next_url
|
|
1087
|
+
|
|
1088
|
+
return self.get_treasury_yields(
|
|
1089
|
+
date_=date_,
|
|
1090
|
+
dates=dates,
|
|
1091
|
+
date_from=date_from,
|
|
1092
|
+
date_to=date_to,
|
|
1093
|
+
date_after=date_after,
|
|
1094
|
+
date_before=date_before,
|
|
1095
|
+
limit=limit,
|
|
1096
|
+
sort=sort,
|
|
1097
|
+
next=next,
|
|
1098
|
+
retries=retries,
|
|
1099
|
+
server_url=server_url,
|
|
1100
|
+
timeout_ms=timeout_ms,
|
|
1101
|
+
http_headers=http_headers,
|
|
1102
|
+
url_override=next_url,
|
|
1103
|
+
)
|
|
1104
|
+
|
|
1105
|
+
response_data: Any = None
|
|
1106
|
+
if utils.match_response(http_res, "200", "application/json"):
|
|
1107
|
+
return models.GetTreasuryYieldsResponse(
|
|
1108
|
+
treasury_yields_response=unmarshal_json_response(
|
|
1109
|
+
Optional[models.TreasuryYieldsResponse], http_res
|
|
1110
|
+
),
|
|
1111
|
+
http_meta=models.HTTPMetadata(request=req, response=http_res),
|
|
1112
|
+
next=next_func,
|
|
1113
|
+
)
|
|
1114
|
+
if utils.match_response(http_res, "400", "application/json"):
|
|
1115
|
+
response_data = unmarshal_json_response(errors.BadRequestUnion, http_res)
|
|
1116
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
1117
|
+
request=req, response=http_res
|
|
1118
|
+
)
|
|
1119
|
+
raise errors.BadRequest(response_data, http_res)
|
|
1120
|
+
if utils.match_response(http_res, "401", "application/json"):
|
|
1121
|
+
response_data = unmarshal_json_response(errors.UnauthorizedUnion, http_res)
|
|
1122
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
1123
|
+
request=req, response=http_res
|
|
1124
|
+
)
|
|
1125
|
+
raise errors.Unauthorized(response_data, http_res)
|
|
1126
|
+
if utils.match_response(http_res, "403", "application/json"):
|
|
1127
|
+
response_data = unmarshal_json_response(errors.ForbiddenUnion, http_res)
|
|
1128
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
1129
|
+
request=req, response=http_res
|
|
1130
|
+
)
|
|
1131
|
+
raise errors.Forbidden(response_data, http_res)
|
|
1132
|
+
if utils.match_response(http_res, "404", "application/json"):
|
|
1133
|
+
response_data = unmarshal_json_response(errors.NotFoundUnion, http_res)
|
|
1134
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
1135
|
+
request=req, response=http_res
|
|
1136
|
+
)
|
|
1137
|
+
raise errors.NotFound(response_data, http_res)
|
|
1138
|
+
if utils.match_response(http_res, "500", "application/json"):
|
|
1139
|
+
response_data = unmarshal_json_response(
|
|
1140
|
+
errors.InternalServerErrorUnion, http_res
|
|
1141
|
+
)
|
|
1142
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
1143
|
+
request=req, response=http_res
|
|
1144
|
+
)
|
|
1145
|
+
raise errors.InternalServerError(response_data, http_res)
|
|
1146
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
1147
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
1148
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
1149
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
1150
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
1151
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
1152
|
+
|
|
1153
|
+
raise errors.APIError("Unexpected response received", http_res)
|