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
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: eeeeece614bc
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
6
|
+
import pydantic
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import List, Optional
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class IncomeStatementTypedDict(TypedDict):
|
|
13
|
+
r"""Single SEC income statement row."""
|
|
14
|
+
|
|
15
|
+
basic_earnings_per_share: NotRequired[float]
|
|
16
|
+
r"""Basic earnings per share."""
|
|
17
|
+
basic_shares_outstanding: NotRequired[float]
|
|
18
|
+
r"""Weighted average basic shares outstanding."""
|
|
19
|
+
cik: NotRequired[str]
|
|
20
|
+
r"""SEC Central Index Key of the company."""
|
|
21
|
+
consolidated_net_income_loss: NotRequired[float]
|
|
22
|
+
r"""Consolidated net income or loss, including noncontrolling interests."""
|
|
23
|
+
cost_of_revenue: NotRequired[float]
|
|
24
|
+
r"""Cost of revenue."""
|
|
25
|
+
depreciation_depletion_amortization: NotRequired[float]
|
|
26
|
+
r"""Depreciation, depletion and amortization expense."""
|
|
27
|
+
diluted_earnings_per_share: NotRequired[float]
|
|
28
|
+
r"""Diluted earnings per share."""
|
|
29
|
+
diluted_shares_outstanding: NotRequired[float]
|
|
30
|
+
r"""Weighted average diluted shares outstanding."""
|
|
31
|
+
discontinued_operations: NotRequired[float]
|
|
32
|
+
r"""Income or loss from discontinued operations."""
|
|
33
|
+
ebitda: NotRequired[float]
|
|
34
|
+
r"""Earnings before interest, taxes, depreciation and amortization."""
|
|
35
|
+
equity_in_affiliates: NotRequired[float]
|
|
36
|
+
r"""Income or loss from equity-method affiliates."""
|
|
37
|
+
extraordinary_items: NotRequired[float]
|
|
38
|
+
r"""Extraordinary items of income or loss."""
|
|
39
|
+
filing_date: NotRequired[str]
|
|
40
|
+
r"""Date the filing was submitted to the SEC."""
|
|
41
|
+
fiscal_quarter: NotRequired[float]
|
|
42
|
+
r"""Fiscal quarter of the reporting period."""
|
|
43
|
+
fiscal_year: NotRequired[float]
|
|
44
|
+
r"""Fiscal year of the reporting period."""
|
|
45
|
+
gross_profit: NotRequired[float]
|
|
46
|
+
r"""Revenue minus cost of revenue."""
|
|
47
|
+
income_before_income_taxes: NotRequired[float]
|
|
48
|
+
r"""Income before income taxes."""
|
|
49
|
+
income_taxes: NotRequired[float]
|
|
50
|
+
r"""Income tax expense."""
|
|
51
|
+
interest_expense: NotRequired[float]
|
|
52
|
+
r"""Interest expense."""
|
|
53
|
+
interest_income: NotRequired[float]
|
|
54
|
+
r"""Interest income."""
|
|
55
|
+
net_income_loss_attributable_common_shareholders: NotRequired[float]
|
|
56
|
+
r"""Net income or loss attributable to common shareholders."""
|
|
57
|
+
noncontrolling_interest: NotRequired[float]
|
|
58
|
+
r"""Net income attributable to noncontrolling interest."""
|
|
59
|
+
operating_income: NotRequired[float]
|
|
60
|
+
r"""Operating income."""
|
|
61
|
+
other_income_expense: NotRequired[float]
|
|
62
|
+
r"""Other income or expense."""
|
|
63
|
+
other_operating_expenses: NotRequired[float]
|
|
64
|
+
r"""Other operating expenses."""
|
|
65
|
+
period_end: NotRequired[str]
|
|
66
|
+
r"""End date of the reporting period."""
|
|
67
|
+
preferred_stock_dividends_declared: NotRequired[float]
|
|
68
|
+
r"""Preferred stock dividends declared."""
|
|
69
|
+
research_development: NotRequired[float]
|
|
70
|
+
r"""Research and development expense."""
|
|
71
|
+
revenue: NotRequired[float]
|
|
72
|
+
r"""Total revenue."""
|
|
73
|
+
selling_general_administrative: NotRequired[float]
|
|
74
|
+
r"""Selling, general and administrative expense."""
|
|
75
|
+
tickers: NotRequired[List[str]]
|
|
76
|
+
r"""Ticker symbols associated with the company."""
|
|
77
|
+
timeframe: NotRequired[str]
|
|
78
|
+
r"""Reporting timeframe of the statement, as supplied by the provider."""
|
|
79
|
+
total_operating_expenses: NotRequired[float]
|
|
80
|
+
r"""Total operating expenses."""
|
|
81
|
+
total_other_income_expense: NotRequired[float]
|
|
82
|
+
r"""Total other income or expense."""
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
class IncomeStatement(BaseModel):
|
|
86
|
+
r"""Single SEC income statement row."""
|
|
87
|
+
|
|
88
|
+
basic_earnings_per_share: Annotated[
|
|
89
|
+
Optional[float], pydantic.Field(alias="basicEarningsPerShare")
|
|
90
|
+
] = None
|
|
91
|
+
r"""Basic earnings per share."""
|
|
92
|
+
|
|
93
|
+
basic_shares_outstanding: Annotated[
|
|
94
|
+
Optional[float], pydantic.Field(alias="basicSharesOutstanding")
|
|
95
|
+
] = None
|
|
96
|
+
r"""Weighted average basic shares outstanding."""
|
|
97
|
+
|
|
98
|
+
cik: Optional[str] = None
|
|
99
|
+
r"""SEC Central Index Key of the company."""
|
|
100
|
+
|
|
101
|
+
consolidated_net_income_loss: Annotated[
|
|
102
|
+
Optional[float], pydantic.Field(alias="consolidatedNetIncomeLoss")
|
|
103
|
+
] = None
|
|
104
|
+
r"""Consolidated net income or loss, including noncontrolling interests."""
|
|
105
|
+
|
|
106
|
+
cost_of_revenue: Annotated[
|
|
107
|
+
Optional[float], pydantic.Field(alias="costOfRevenue")
|
|
108
|
+
] = None
|
|
109
|
+
r"""Cost of revenue."""
|
|
110
|
+
|
|
111
|
+
depreciation_depletion_amortization: Annotated[
|
|
112
|
+
Optional[float], pydantic.Field(alias="depreciationDepletionAmortization")
|
|
113
|
+
] = None
|
|
114
|
+
r"""Depreciation, depletion and amortization expense."""
|
|
115
|
+
|
|
116
|
+
diluted_earnings_per_share: Annotated[
|
|
117
|
+
Optional[float], pydantic.Field(alias="dilutedEarningsPerShare")
|
|
118
|
+
] = None
|
|
119
|
+
r"""Diluted earnings per share."""
|
|
120
|
+
|
|
121
|
+
diluted_shares_outstanding: Annotated[
|
|
122
|
+
Optional[float], pydantic.Field(alias="dilutedSharesOutstanding")
|
|
123
|
+
] = None
|
|
124
|
+
r"""Weighted average diluted shares outstanding."""
|
|
125
|
+
|
|
126
|
+
discontinued_operations: Annotated[
|
|
127
|
+
Optional[float], pydantic.Field(alias="discontinuedOperations")
|
|
128
|
+
] = None
|
|
129
|
+
r"""Income or loss from discontinued operations."""
|
|
130
|
+
|
|
131
|
+
ebitda: Optional[float] = None
|
|
132
|
+
r"""Earnings before interest, taxes, depreciation and amortization."""
|
|
133
|
+
|
|
134
|
+
equity_in_affiliates: Annotated[
|
|
135
|
+
Optional[float], pydantic.Field(alias="equityInAffiliates")
|
|
136
|
+
] = None
|
|
137
|
+
r"""Income or loss from equity-method affiliates."""
|
|
138
|
+
|
|
139
|
+
extraordinary_items: Annotated[
|
|
140
|
+
Optional[float], pydantic.Field(alias="extraordinaryItems")
|
|
141
|
+
] = None
|
|
142
|
+
r"""Extraordinary items of income or loss."""
|
|
143
|
+
|
|
144
|
+
filing_date: Annotated[Optional[str], pydantic.Field(alias="filingDate")] = None
|
|
145
|
+
r"""Date the filing was submitted to the SEC."""
|
|
146
|
+
|
|
147
|
+
fiscal_quarter: Annotated[
|
|
148
|
+
Optional[float], pydantic.Field(alias="fiscalQuarter")
|
|
149
|
+
] = None
|
|
150
|
+
r"""Fiscal quarter of the reporting period."""
|
|
151
|
+
|
|
152
|
+
fiscal_year: Annotated[Optional[float], pydantic.Field(alias="fiscalYear")] = None
|
|
153
|
+
r"""Fiscal year of the reporting period."""
|
|
154
|
+
|
|
155
|
+
gross_profit: Annotated[Optional[float], pydantic.Field(alias="grossProfit")] = None
|
|
156
|
+
r"""Revenue minus cost of revenue."""
|
|
157
|
+
|
|
158
|
+
income_before_income_taxes: Annotated[
|
|
159
|
+
Optional[float], pydantic.Field(alias="incomeBeforeIncomeTaxes")
|
|
160
|
+
] = None
|
|
161
|
+
r"""Income before income taxes."""
|
|
162
|
+
|
|
163
|
+
income_taxes: Annotated[Optional[float], pydantic.Field(alias="incomeTaxes")] = None
|
|
164
|
+
r"""Income tax expense."""
|
|
165
|
+
|
|
166
|
+
interest_expense: Annotated[
|
|
167
|
+
Optional[float], pydantic.Field(alias="interestExpense")
|
|
168
|
+
] = None
|
|
169
|
+
r"""Interest expense."""
|
|
170
|
+
|
|
171
|
+
interest_income: Annotated[
|
|
172
|
+
Optional[float], pydantic.Field(alias="interestIncome")
|
|
173
|
+
] = None
|
|
174
|
+
r"""Interest income."""
|
|
175
|
+
|
|
176
|
+
net_income_loss_attributable_common_shareholders: Annotated[
|
|
177
|
+
Optional[float],
|
|
178
|
+
pydantic.Field(alias="netIncomeLossAttributableCommonShareholders"),
|
|
179
|
+
] = None
|
|
180
|
+
r"""Net income or loss attributable to common shareholders."""
|
|
181
|
+
|
|
182
|
+
noncontrolling_interest: Annotated[
|
|
183
|
+
Optional[float], pydantic.Field(alias="noncontrollingInterest")
|
|
184
|
+
] = None
|
|
185
|
+
r"""Net income attributable to noncontrolling interest."""
|
|
186
|
+
|
|
187
|
+
operating_income: Annotated[
|
|
188
|
+
Optional[float], pydantic.Field(alias="operatingIncome")
|
|
189
|
+
] = None
|
|
190
|
+
r"""Operating income."""
|
|
191
|
+
|
|
192
|
+
other_income_expense: Annotated[
|
|
193
|
+
Optional[float], pydantic.Field(alias="otherIncomeExpense")
|
|
194
|
+
] = None
|
|
195
|
+
r"""Other income or expense."""
|
|
196
|
+
|
|
197
|
+
other_operating_expenses: Annotated[
|
|
198
|
+
Optional[float], pydantic.Field(alias="otherOperatingExpenses")
|
|
199
|
+
] = None
|
|
200
|
+
r"""Other operating expenses."""
|
|
201
|
+
|
|
202
|
+
period_end: Annotated[Optional[str], pydantic.Field(alias="periodEnd")] = None
|
|
203
|
+
r"""End date of the reporting period."""
|
|
204
|
+
|
|
205
|
+
preferred_stock_dividends_declared: Annotated[
|
|
206
|
+
Optional[float], pydantic.Field(alias="preferredStockDividendsDeclared")
|
|
207
|
+
] = None
|
|
208
|
+
r"""Preferred stock dividends declared."""
|
|
209
|
+
|
|
210
|
+
research_development: Annotated[
|
|
211
|
+
Optional[float], pydantic.Field(alias="researchDevelopment")
|
|
212
|
+
] = None
|
|
213
|
+
r"""Research and development expense."""
|
|
214
|
+
|
|
215
|
+
revenue: Optional[float] = None
|
|
216
|
+
r"""Total revenue."""
|
|
217
|
+
|
|
218
|
+
selling_general_administrative: Annotated[
|
|
219
|
+
Optional[float], pydantic.Field(alias="sellingGeneralAdministrative")
|
|
220
|
+
] = None
|
|
221
|
+
r"""Selling, general and administrative expense."""
|
|
222
|
+
|
|
223
|
+
tickers: Optional[List[str]] = None
|
|
224
|
+
r"""Ticker symbols associated with the company."""
|
|
225
|
+
|
|
226
|
+
timeframe: Optional[str] = None
|
|
227
|
+
r"""Reporting timeframe of the statement, as supplied by the provider."""
|
|
228
|
+
|
|
229
|
+
total_operating_expenses: Annotated[
|
|
230
|
+
Optional[float], pydantic.Field(alias="totalOperatingExpenses")
|
|
231
|
+
] = None
|
|
232
|
+
r"""Total operating expenses."""
|
|
233
|
+
|
|
234
|
+
total_other_income_expense: Annotated[
|
|
235
|
+
Optional[float], pydantic.Field(alias="totalOtherIncomeExpense")
|
|
236
|
+
] = None
|
|
237
|
+
r"""Total other income or expense."""
|
|
238
|
+
|
|
239
|
+
@model_serializer(mode="wrap")
|
|
240
|
+
def serialize_model(self, handler):
|
|
241
|
+
optional_fields = set(
|
|
242
|
+
[
|
|
243
|
+
"basicEarningsPerShare",
|
|
244
|
+
"basicSharesOutstanding",
|
|
245
|
+
"cik",
|
|
246
|
+
"consolidatedNetIncomeLoss",
|
|
247
|
+
"costOfRevenue",
|
|
248
|
+
"depreciationDepletionAmortization",
|
|
249
|
+
"dilutedEarningsPerShare",
|
|
250
|
+
"dilutedSharesOutstanding",
|
|
251
|
+
"discontinuedOperations",
|
|
252
|
+
"ebitda",
|
|
253
|
+
"equityInAffiliates",
|
|
254
|
+
"extraordinaryItems",
|
|
255
|
+
"filingDate",
|
|
256
|
+
"fiscalQuarter",
|
|
257
|
+
"fiscalYear",
|
|
258
|
+
"grossProfit",
|
|
259
|
+
"incomeBeforeIncomeTaxes",
|
|
260
|
+
"incomeTaxes",
|
|
261
|
+
"interestExpense",
|
|
262
|
+
"interestIncome",
|
|
263
|
+
"netIncomeLossAttributableCommonShareholders",
|
|
264
|
+
"noncontrollingInterest",
|
|
265
|
+
"operatingIncome",
|
|
266
|
+
"otherIncomeExpense",
|
|
267
|
+
"otherOperatingExpenses",
|
|
268
|
+
"periodEnd",
|
|
269
|
+
"preferredStockDividendsDeclared",
|
|
270
|
+
"researchDevelopment",
|
|
271
|
+
"revenue",
|
|
272
|
+
"sellingGeneralAdministrative",
|
|
273
|
+
"tickers",
|
|
274
|
+
"timeframe",
|
|
275
|
+
"totalOperatingExpenses",
|
|
276
|
+
"totalOtherIncomeExpense",
|
|
277
|
+
]
|
|
278
|
+
)
|
|
279
|
+
serialized = handler(self)
|
|
280
|
+
m = {}
|
|
281
|
+
|
|
282
|
+
for n, f in type(self).model_fields.items():
|
|
283
|
+
k = f.alias or n
|
|
284
|
+
val = serialized.get(k, serialized.get(n))
|
|
285
|
+
|
|
286
|
+
if val != UNSET_SENTINEL:
|
|
287
|
+
if val is not None or k not in optional_fields:
|
|
288
|
+
m[k] = val
|
|
289
|
+
|
|
290
|
+
return m
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
try:
|
|
294
|
+
IncomeStatement.model_rebuild()
|
|
295
|
+
except NameError:
|
|
296
|
+
pass
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 40616c771607
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .incomestatement import IncomeStatement, IncomeStatementTypedDict
|
|
6
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
7
|
+
import pydantic
|
|
8
|
+
from pydantic import model_serializer
|
|
9
|
+
from typing import List, Optional
|
|
10
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class IncomeStatementsResponseTypedDict(TypedDict):
|
|
14
|
+
r"""Paginated SEC income statements (results, status, requestId, nextUrl)."""
|
|
15
|
+
|
|
16
|
+
next_url: NotRequired[str]
|
|
17
|
+
r"""URL for the next page when more results exist"""
|
|
18
|
+
request_id: NotRequired[str]
|
|
19
|
+
r"""Provider request identifier. Include this when reporting data issues to support."""
|
|
20
|
+
results: NotRequired[List[IncomeStatementTypedDict]]
|
|
21
|
+
r"""Income statement rows for the requested filters. Use these to analyze revenue, expenses, and profitability."""
|
|
22
|
+
status: NotRequired[str]
|
|
23
|
+
r"""Status string from the upstream data provider — typically `OK` for a successful response. Treat any other value as an error indicator alongside the HTTP status code."""
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class IncomeStatementsResponse(BaseModel):
|
|
27
|
+
r"""Paginated SEC income statements (results, status, requestId, nextUrl)."""
|
|
28
|
+
|
|
29
|
+
next_url: Annotated[Optional[str], pydantic.Field(alias="nextUrl")] = None
|
|
30
|
+
r"""URL for the next page when more results exist"""
|
|
31
|
+
|
|
32
|
+
request_id: Annotated[Optional[str], pydantic.Field(alias="requestId")] = None
|
|
33
|
+
r"""Provider request identifier. Include this when reporting data issues to support."""
|
|
34
|
+
|
|
35
|
+
results: Optional[List[IncomeStatement]] = None
|
|
36
|
+
r"""Income statement rows for the requested filters. Use these to analyze revenue, expenses, and profitability."""
|
|
37
|
+
|
|
38
|
+
status: Optional[str] = None
|
|
39
|
+
r"""Status string from the upstream data provider — typically `OK` for a successful response. Treat any other value as an error indicator alongside the HTTP status code."""
|
|
40
|
+
|
|
41
|
+
@model_serializer(mode="wrap")
|
|
42
|
+
def serialize_model(self, handler):
|
|
43
|
+
optional_fields = set(["nextUrl", "requestId", "results", "status"])
|
|
44
|
+
serialized = handler(self)
|
|
45
|
+
m = {}
|
|
46
|
+
|
|
47
|
+
for n, f in type(self).model_fields.items():
|
|
48
|
+
k = f.alias or n
|
|
49
|
+
val = serialized.get(k, serialized.get(n))
|
|
50
|
+
|
|
51
|
+
if val != UNSET_SENTINEL:
|
|
52
|
+
if val is not None or k not in optional_fields:
|
|
53
|
+
m[k] = val
|
|
54
|
+
|
|
55
|
+
return m
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
try:
|
|
59
|
+
IncomeStatementsResponse.model_rebuild()
|
|
60
|
+
except NameError:
|
|
61
|
+
pass
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: c4a6e4a72129
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
6
|
+
import pydantic
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import Optional
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class IndexBarResponseBarTypedDict(TypedDict):
|
|
13
|
+
r"""OHLC bar data for the requested time period"""
|
|
14
|
+
|
|
15
|
+
close: NotRequired[float]
|
|
16
|
+
r"""Closing index value for the bar period"""
|
|
17
|
+
end_date: NotRequired[str]
|
|
18
|
+
r"""Bar end date in MM/DD/YYYY format"""
|
|
19
|
+
end_time: NotRequired[str]
|
|
20
|
+
r"""Bar end time in HH:MM AM/PM format"""
|
|
21
|
+
high: NotRequired[float]
|
|
22
|
+
r"""Highest index value during the bar period"""
|
|
23
|
+
low: NotRequired[float]
|
|
24
|
+
r"""Lowest index value during the bar period"""
|
|
25
|
+
open: NotRequired[float]
|
|
26
|
+
r"""Opening index value for the bar period"""
|
|
27
|
+
start_date: NotRequired[str]
|
|
28
|
+
r"""Bar start date in MM/DD/YYYY format"""
|
|
29
|
+
start_time: NotRequired[str]
|
|
30
|
+
r"""Bar start time in HH:MM AM/PM format"""
|
|
31
|
+
utc_offset: NotRequired[int]
|
|
32
|
+
r"""UTC time offset in hours (e.g., -5 for EST)"""
|
|
33
|
+
volume: NotRequired[int]
|
|
34
|
+
r"""Trading volume during the bar period (may be 0 for indices)"""
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class IndexBarResponseBar(BaseModel):
|
|
38
|
+
r"""OHLC bar data for the requested time period"""
|
|
39
|
+
|
|
40
|
+
close: Optional[float] = None
|
|
41
|
+
r"""Closing index value for the bar period"""
|
|
42
|
+
|
|
43
|
+
end_date: Annotated[Optional[str], pydantic.Field(alias="endDate")] = None
|
|
44
|
+
r"""Bar end date in MM/DD/YYYY format"""
|
|
45
|
+
|
|
46
|
+
end_time: Annotated[Optional[str], pydantic.Field(alias="endTime")] = None
|
|
47
|
+
r"""Bar end time in HH:MM AM/PM format"""
|
|
48
|
+
|
|
49
|
+
high: Optional[float] = None
|
|
50
|
+
r"""Highest index value during the bar period"""
|
|
51
|
+
|
|
52
|
+
low: Optional[float] = None
|
|
53
|
+
r"""Lowest index value during the bar period"""
|
|
54
|
+
|
|
55
|
+
open: Optional[float] = None
|
|
56
|
+
r"""Opening index value for the bar period"""
|
|
57
|
+
|
|
58
|
+
start_date: Annotated[Optional[str], pydantic.Field(alias="startDate")] = None
|
|
59
|
+
r"""Bar start date in MM/DD/YYYY format"""
|
|
60
|
+
|
|
61
|
+
start_time: Annotated[Optional[str], pydantic.Field(alias="startTime")] = None
|
|
62
|
+
r"""Bar start time in HH:MM AM/PM format"""
|
|
63
|
+
|
|
64
|
+
utc_offset: Annotated[Optional[int], pydantic.Field(alias="utcOffset")] = None
|
|
65
|
+
r"""UTC time offset in hours (e.g., -5 for EST)"""
|
|
66
|
+
|
|
67
|
+
volume: Optional[int] = None
|
|
68
|
+
r"""Trading volume during the bar period (may be 0 for indices)"""
|
|
69
|
+
|
|
70
|
+
@model_serializer(mode="wrap")
|
|
71
|
+
def serialize_model(self, handler):
|
|
72
|
+
optional_fields = set(
|
|
73
|
+
[
|
|
74
|
+
"close",
|
|
75
|
+
"endDate",
|
|
76
|
+
"endTime",
|
|
77
|
+
"high",
|
|
78
|
+
"low",
|
|
79
|
+
"open",
|
|
80
|
+
"startDate",
|
|
81
|
+
"startTime",
|
|
82
|
+
"utcOffset",
|
|
83
|
+
"volume",
|
|
84
|
+
]
|
|
85
|
+
)
|
|
86
|
+
serialized = handler(self)
|
|
87
|
+
m = {}
|
|
88
|
+
|
|
89
|
+
for n, f in type(self).model_fields.items():
|
|
90
|
+
k = f.alias or n
|
|
91
|
+
val = serialized.get(k, serialized.get(n))
|
|
92
|
+
|
|
93
|
+
if val != UNSET_SENTINEL:
|
|
94
|
+
if val is not None or k not in optional_fields:
|
|
95
|
+
m[k] = val
|
|
96
|
+
|
|
97
|
+
return m
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
class IndexBarResponseIndexTypedDict(TypedDict):
|
|
101
|
+
r"""Index metadata and identification"""
|
|
102
|
+
|
|
103
|
+
currency: NotRequired[str]
|
|
104
|
+
r"""Currency in which the index is quoted (e.g., USD, EUR)"""
|
|
105
|
+
index_group: NotRequired[str]
|
|
106
|
+
r"""Index group classification identifier"""
|
|
107
|
+
index_name: NotRequired[str]
|
|
108
|
+
r"""Full name of the index (e.g., S&P 500, Dow Jones)"""
|
|
109
|
+
symbol: NotRequired[str]
|
|
110
|
+
r"""Index ticker symbol (e.g., SPX, DJI)"""
|
|
111
|
+
valoren: NotRequired[str]
|
|
112
|
+
r"""Swiss securities identification number (Valoren)"""
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
class IndexBarResponseIndex(BaseModel):
|
|
116
|
+
r"""Index metadata and identification"""
|
|
117
|
+
|
|
118
|
+
currency: Optional[str] = None
|
|
119
|
+
r"""Currency in which the index is quoted (e.g., USD, EUR)"""
|
|
120
|
+
|
|
121
|
+
index_group: Annotated[Optional[str], pydantic.Field(alias="indexGroup")] = None
|
|
122
|
+
r"""Index group classification identifier"""
|
|
123
|
+
|
|
124
|
+
index_name: Annotated[Optional[str], pydantic.Field(alias="indexName")] = None
|
|
125
|
+
r"""Full name of the index (e.g., S&P 500, Dow Jones)"""
|
|
126
|
+
|
|
127
|
+
symbol: Optional[str] = None
|
|
128
|
+
r"""Index ticker symbol (e.g., SPX, DJI)"""
|
|
129
|
+
|
|
130
|
+
valoren: Optional[str] = None
|
|
131
|
+
r"""Swiss securities identification number (Valoren)"""
|
|
132
|
+
|
|
133
|
+
@model_serializer(mode="wrap")
|
|
134
|
+
def serialize_model(self, handler):
|
|
135
|
+
optional_fields = set(
|
|
136
|
+
["currency", "indexGroup", "indexName", "symbol", "valoren"]
|
|
137
|
+
)
|
|
138
|
+
serialized = handler(self)
|
|
139
|
+
m = {}
|
|
140
|
+
|
|
141
|
+
for n, f in type(self).model_fields.items():
|
|
142
|
+
k = f.alias or n
|
|
143
|
+
val = serialized.get(k, serialized.get(n))
|
|
144
|
+
|
|
145
|
+
if val != UNSET_SENTINEL:
|
|
146
|
+
if val is not None or k not in optional_fields:
|
|
147
|
+
m[k] = val
|
|
148
|
+
|
|
149
|
+
return m
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
class IndexBarResponseTypedDict(TypedDict):
|
|
153
|
+
r"""Response containing a single OHLC bar for an index along with the index metadata."""
|
|
154
|
+
|
|
155
|
+
bar: NotRequired[IndexBarResponseBarTypedDict]
|
|
156
|
+
r"""OHLC bar data for the requested time period"""
|
|
157
|
+
index: NotRequired[IndexBarResponseIndexTypedDict]
|
|
158
|
+
r"""Index metadata and identification"""
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
class IndexBarResponse(BaseModel):
|
|
162
|
+
r"""Response containing a single OHLC bar for an index along with the index metadata."""
|
|
163
|
+
|
|
164
|
+
bar: Optional[IndexBarResponseBar] = None
|
|
165
|
+
r"""OHLC bar data for the requested time period"""
|
|
166
|
+
|
|
167
|
+
index: Optional[IndexBarResponseIndex] = None
|
|
168
|
+
r"""Index metadata and identification"""
|
|
169
|
+
|
|
170
|
+
@model_serializer(mode="wrap")
|
|
171
|
+
def serialize_model(self, handler):
|
|
172
|
+
optional_fields = set(["bar", "index"])
|
|
173
|
+
serialized = handler(self)
|
|
174
|
+
m = {}
|
|
175
|
+
|
|
176
|
+
for n, f in type(self).model_fields.items():
|
|
177
|
+
k = f.alias or n
|
|
178
|
+
val = serialized.get(k, serialized.get(n))
|
|
179
|
+
|
|
180
|
+
if val != UNSET_SENTINEL:
|
|
181
|
+
if val is not None or k not in optional_fields:
|
|
182
|
+
m[k] = val
|
|
183
|
+
|
|
184
|
+
return m
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
try:
|
|
188
|
+
IndexBarResponseBar.model_rebuild()
|
|
189
|
+
except NameError:
|
|
190
|
+
pass
|
|
191
|
+
try:
|
|
192
|
+
IndexBarResponseIndex.model_rebuild()
|
|
193
|
+
except NameError:
|
|
194
|
+
pass
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 35d9dcbf1826
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
6
|
+
import pydantic
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import List, Optional
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class IndexBarsResponseBarTypedDict(TypedDict):
|
|
13
|
+
close: NotRequired[float]
|
|
14
|
+
r"""Closing index value for the bar period"""
|
|
15
|
+
end_date: NotRequired[str]
|
|
16
|
+
r"""Bar end date in MM/DD/YYYY format"""
|
|
17
|
+
end_time: NotRequired[str]
|
|
18
|
+
r"""Bar end time in HH:MM AM/PM format"""
|
|
19
|
+
high: NotRequired[float]
|
|
20
|
+
r"""Highest index value during the bar period"""
|
|
21
|
+
low: NotRequired[float]
|
|
22
|
+
r"""Lowest index value during the bar period"""
|
|
23
|
+
open: NotRequired[float]
|
|
24
|
+
r"""Opening index value for the bar period"""
|
|
25
|
+
start_date: NotRequired[str]
|
|
26
|
+
r"""Bar start date in MM/DD/YYYY format"""
|
|
27
|
+
start_time: NotRequired[str]
|
|
28
|
+
r"""Bar start time in HH:MM AM/PM format"""
|
|
29
|
+
volume: NotRequired[int]
|
|
30
|
+
r"""Trading volume during the bar period"""
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class IndexBarsResponseBar(BaseModel):
|
|
34
|
+
close: Optional[float] = None
|
|
35
|
+
r"""Closing index value for the bar period"""
|
|
36
|
+
|
|
37
|
+
end_date: Annotated[Optional[str], pydantic.Field(alias="endDate")] = None
|
|
38
|
+
r"""Bar end date in MM/DD/YYYY format"""
|
|
39
|
+
|
|
40
|
+
end_time: Annotated[Optional[str], pydantic.Field(alias="endTime")] = None
|
|
41
|
+
r"""Bar end time in HH:MM AM/PM format"""
|
|
42
|
+
|
|
43
|
+
high: Optional[float] = None
|
|
44
|
+
r"""Highest index value during the bar period"""
|
|
45
|
+
|
|
46
|
+
low: Optional[float] = None
|
|
47
|
+
r"""Lowest index value during the bar period"""
|
|
48
|
+
|
|
49
|
+
open: Optional[float] = None
|
|
50
|
+
r"""Opening index value for the bar period"""
|
|
51
|
+
|
|
52
|
+
start_date: Annotated[Optional[str], pydantic.Field(alias="startDate")] = None
|
|
53
|
+
r"""Bar start date in MM/DD/YYYY format"""
|
|
54
|
+
|
|
55
|
+
start_time: Annotated[Optional[str], pydantic.Field(alias="startTime")] = None
|
|
56
|
+
r"""Bar start time in HH:MM AM/PM format"""
|
|
57
|
+
|
|
58
|
+
volume: Optional[int] = None
|
|
59
|
+
r"""Trading volume during the bar period"""
|
|
60
|
+
|
|
61
|
+
@model_serializer(mode="wrap")
|
|
62
|
+
def serialize_model(self, handler):
|
|
63
|
+
optional_fields = set(
|
|
64
|
+
[
|
|
65
|
+
"close",
|
|
66
|
+
"endDate",
|
|
67
|
+
"endTime",
|
|
68
|
+
"high",
|
|
69
|
+
"low",
|
|
70
|
+
"open",
|
|
71
|
+
"startDate",
|
|
72
|
+
"startTime",
|
|
73
|
+
"volume",
|
|
74
|
+
]
|
|
75
|
+
)
|
|
76
|
+
serialized = handler(self)
|
|
77
|
+
m = {}
|
|
78
|
+
|
|
79
|
+
for n, f in type(self).model_fields.items():
|
|
80
|
+
k = f.alias or n
|
|
81
|
+
val = serialized.get(k, serialized.get(n))
|
|
82
|
+
|
|
83
|
+
if val != UNSET_SENTINEL:
|
|
84
|
+
if val is not None or k not in optional_fields:
|
|
85
|
+
m[k] = val
|
|
86
|
+
|
|
87
|
+
return m
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
class IndexBarsResponseTypedDict(TypedDict):
|
|
91
|
+
r"""Response containing OHLC bars for an index."""
|
|
92
|
+
|
|
93
|
+
bars: NotRequired[List[IndexBarsResponseBarTypedDict]]
|
|
94
|
+
r"""Array of index OHLC bars"""
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
class IndexBarsResponse(BaseModel):
|
|
98
|
+
r"""Response containing OHLC bars for an index."""
|
|
99
|
+
|
|
100
|
+
bars: Optional[List[IndexBarsResponseBar]] = None
|
|
101
|
+
r"""Array of index OHLC bars"""
|
|
102
|
+
|
|
103
|
+
@model_serializer(mode="wrap")
|
|
104
|
+
def serialize_model(self, handler):
|
|
105
|
+
optional_fields = set(["bars"])
|
|
106
|
+
serialized = handler(self)
|
|
107
|
+
m = {}
|
|
108
|
+
|
|
109
|
+
for n, f in type(self).model_fields.items():
|
|
110
|
+
k = f.alias or n
|
|
111
|
+
val = serialized.get(k, serialized.get(n))
|
|
112
|
+
|
|
113
|
+
if val != UNSET_SENTINEL:
|
|
114
|
+
if val is not None or k not in optional_fields:
|
|
115
|
+
m[k] = val
|
|
116
|
+
|
|
117
|
+
return m
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
try:
|
|
121
|
+
IndexBarsResponseBar.model_rebuild()
|
|
122
|
+
except NameError:
|
|
123
|
+
pass
|