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,90 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: b0dea2dc0cf6
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from enum import Enum
|
|
6
|
+
from finance_dev import utils
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class ExchangeCode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
10
|
+
r"""Two-to-three-letter exchange code identifying a global stock exchange (e.g. `US` = U.S. exchanges, `L` = London, `HK` = Hong Kong, `T` = Tokyo, `PA` = Paris). Used as the `exchange` query parameter for market-status and market-holiday endpoints. Other endpoints may return a different exchange-code format depending on the upstream data source."""
|
|
11
|
+
|
|
12
|
+
AD = "AD"
|
|
13
|
+
AS = "AS"
|
|
14
|
+
AT = "AT"
|
|
15
|
+
AX = "AX"
|
|
16
|
+
BA = "BA"
|
|
17
|
+
BC = "BC"
|
|
18
|
+
BD = "BD"
|
|
19
|
+
BE = "BE"
|
|
20
|
+
BH = "BH"
|
|
21
|
+
BK = "BK"
|
|
22
|
+
BO = "BO"
|
|
23
|
+
BR = "BR"
|
|
24
|
+
CA = "CA"
|
|
25
|
+
CN = "CN"
|
|
26
|
+
CO = "CO"
|
|
27
|
+
CR = "CR"
|
|
28
|
+
CS = "CS"
|
|
29
|
+
DB = "DB"
|
|
30
|
+
DE = "DE"
|
|
31
|
+
DU = "DU"
|
|
32
|
+
F = "F"
|
|
33
|
+
HA = "HA"
|
|
34
|
+
HE = "HE"
|
|
35
|
+
HK = "HK"
|
|
36
|
+
HM = "HM"
|
|
37
|
+
IC = "IC"
|
|
38
|
+
IR = "IR"
|
|
39
|
+
IS = "IS"
|
|
40
|
+
JK = "JK"
|
|
41
|
+
JO = "JO"
|
|
42
|
+
KL = "KL"
|
|
43
|
+
KQ = "KQ"
|
|
44
|
+
KS = "KS"
|
|
45
|
+
KW = "KW"
|
|
46
|
+
L = "L"
|
|
47
|
+
LS = "LS"
|
|
48
|
+
MC = "MC"
|
|
49
|
+
ME = "ME"
|
|
50
|
+
MI = "MI"
|
|
51
|
+
MT = "MT"
|
|
52
|
+
MU = "MU"
|
|
53
|
+
MX = "MX"
|
|
54
|
+
NE = "NE"
|
|
55
|
+
NL = "NL"
|
|
56
|
+
NS = "NS"
|
|
57
|
+
NZ = "NZ"
|
|
58
|
+
OL = "OL"
|
|
59
|
+
OM = "OM"
|
|
60
|
+
PA = "PA"
|
|
61
|
+
PK = "PK"
|
|
62
|
+
PM = "PM"
|
|
63
|
+
PR = "PR"
|
|
64
|
+
QA = "QA"
|
|
65
|
+
RG = "RG"
|
|
66
|
+
RO = "RO"
|
|
67
|
+
SA = "SA"
|
|
68
|
+
SC = "SC"
|
|
69
|
+
SG = "SG"
|
|
70
|
+
SI = "SI"
|
|
71
|
+
SN = "SN"
|
|
72
|
+
SR = "SR"
|
|
73
|
+
SS = "SS"
|
|
74
|
+
ST = "ST"
|
|
75
|
+
SW = "SW"
|
|
76
|
+
SX = "SX"
|
|
77
|
+
SZ = "SZ"
|
|
78
|
+
T = "T"
|
|
79
|
+
TA = "TA"
|
|
80
|
+
TG = "TG"
|
|
81
|
+
TL = "TL"
|
|
82
|
+
TO = "TO"
|
|
83
|
+
TW = "TW"
|
|
84
|
+
TWO = "TWO"
|
|
85
|
+
US = "US"
|
|
86
|
+
V = "V"
|
|
87
|
+
VI = "VI"
|
|
88
|
+
VN = "VN"
|
|
89
|
+
VS = "VS"
|
|
90
|
+
WA = "WA"
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: eb838066ae7d
|
|
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 FdaAdvisoryCommitteeCalendarResponseDataTypedDict(TypedDict):
|
|
13
|
+
event_description: NotRequired[str]
|
|
14
|
+
r"""Description of the meeting."""
|
|
15
|
+
from_date: NotRequired[str]
|
|
16
|
+
r"""Start time of the event in EST, as returned by the provider."""
|
|
17
|
+
to_date: NotRequired[str]
|
|
18
|
+
r"""End time of the event in EST, as returned by the provider."""
|
|
19
|
+
url: NotRequired[str]
|
|
20
|
+
r"""URL with more details about the meeting."""
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class FdaAdvisoryCommitteeCalendarResponseData(BaseModel):
|
|
24
|
+
event_description: Annotated[
|
|
25
|
+
Optional[str], pydantic.Field(alias="eventDescription")
|
|
26
|
+
] = None
|
|
27
|
+
r"""Description of the meeting."""
|
|
28
|
+
|
|
29
|
+
from_date: Annotated[Optional[str], pydantic.Field(alias="fromDate")] = None
|
|
30
|
+
r"""Start time of the event in EST, as returned by the provider."""
|
|
31
|
+
|
|
32
|
+
to_date: Annotated[Optional[str], pydantic.Field(alias="toDate")] = None
|
|
33
|
+
r"""End time of the event in EST, as returned by the provider."""
|
|
34
|
+
|
|
35
|
+
url: Optional[str] = None
|
|
36
|
+
r"""URL with more details about the meeting."""
|
|
37
|
+
|
|
38
|
+
@model_serializer(mode="wrap")
|
|
39
|
+
def serialize_model(self, handler):
|
|
40
|
+
optional_fields = set(["eventDescription", "fromDate", "toDate", "url"])
|
|
41
|
+
serialized = handler(self)
|
|
42
|
+
m = {}
|
|
43
|
+
|
|
44
|
+
for n, f in type(self).model_fields.items():
|
|
45
|
+
k = f.alias or n
|
|
46
|
+
val = serialized.get(k, serialized.get(n))
|
|
47
|
+
|
|
48
|
+
if val != UNSET_SENTINEL:
|
|
49
|
+
if val is not None or k not in optional_fields:
|
|
50
|
+
m[k] = val
|
|
51
|
+
|
|
52
|
+
return m
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class FdaAdvisoryCommitteeCalendarResponseTypedDict(TypedDict):
|
|
56
|
+
r"""Upcoming FDA advisory committee meetings, as provided by Finnhub."""
|
|
57
|
+
|
|
58
|
+
data: NotRequired[List[FdaAdvisoryCommitteeCalendarResponseDataTypedDict]]
|
|
59
|
+
r"""FDA advisory committee meeting events."""
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class FdaAdvisoryCommitteeCalendarResponse(BaseModel):
|
|
63
|
+
r"""Upcoming FDA advisory committee meetings, as provided by Finnhub."""
|
|
64
|
+
|
|
65
|
+
data: Optional[List[FdaAdvisoryCommitteeCalendarResponseData]] = None
|
|
66
|
+
r"""FDA advisory committee meeting events."""
|
|
67
|
+
|
|
68
|
+
@model_serializer(mode="wrap")
|
|
69
|
+
def serialize_model(self, handler):
|
|
70
|
+
optional_fields = set(["data"])
|
|
71
|
+
serialized = handler(self)
|
|
72
|
+
m = {}
|
|
73
|
+
|
|
74
|
+
for n, f in type(self).model_fields.items():
|
|
75
|
+
k = f.alias or n
|
|
76
|
+
val = serialized.get(k, serialized.get(n))
|
|
77
|
+
|
|
78
|
+
if val != UNSET_SENTINEL:
|
|
79
|
+
if val is not None or k not in optional_fields:
|
|
80
|
+
m[k] = val
|
|
81
|
+
|
|
82
|
+
return m
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
try:
|
|
86
|
+
FdaAdvisoryCommitteeCalendarResponseData.model_rebuild()
|
|
87
|
+
except NameError:
|
|
88
|
+
pass
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 2f831b52a128
|
|
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 FilingSimilarityRecordTypedDict(TypedDict):
|
|
13
|
+
r"""Cosine similarity scores between a filing and the prior comparable filing, by 10-K section."""
|
|
14
|
+
|
|
15
|
+
accepted_date: NotRequired[str]
|
|
16
|
+
r"""Date when the SEC accepted the filing"""
|
|
17
|
+
access_number: NotRequired[str]
|
|
18
|
+
r"""SEC accession number"""
|
|
19
|
+
cik: NotRequired[str]
|
|
20
|
+
r"""Central Index Key"""
|
|
21
|
+
filed_date: NotRequired[str]
|
|
22
|
+
r"""Date when filed with SEC"""
|
|
23
|
+
filing_url: NotRequired[str]
|
|
24
|
+
r"""URL to the complete filing"""
|
|
25
|
+
form: NotRequired[str]
|
|
26
|
+
r"""Type of SEC form"""
|
|
27
|
+
item1: NotRequired[float]
|
|
28
|
+
r"""Cosine similarity score for Item 1 (Business) section"""
|
|
29
|
+
item1a: NotRequired[float]
|
|
30
|
+
r"""Cosine similarity score for Item 1A (Risk Factors) section"""
|
|
31
|
+
item2: NotRequired[float]
|
|
32
|
+
r"""Cosine similarity score for Item 2 (Properties) section"""
|
|
33
|
+
item7: NotRequired[float]
|
|
34
|
+
r"""Cosine similarity score for Item 7 (MD&A) section"""
|
|
35
|
+
item7a: NotRequired[float]
|
|
36
|
+
r"""Cosine similarity score for Item 7A (Market Risk) section"""
|
|
37
|
+
report_url: NotRequired[str]
|
|
38
|
+
r"""URL to the formatted report"""
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class FilingSimilarityRecord(BaseModel):
|
|
42
|
+
r"""Cosine similarity scores between a filing and the prior comparable filing, by 10-K section."""
|
|
43
|
+
|
|
44
|
+
accepted_date: Annotated[Optional[str], pydantic.Field(alias="acceptedDate")] = None
|
|
45
|
+
r"""Date when the SEC accepted the filing"""
|
|
46
|
+
|
|
47
|
+
access_number: Annotated[Optional[str], pydantic.Field(alias="accessNumber")] = None
|
|
48
|
+
r"""SEC accession number"""
|
|
49
|
+
|
|
50
|
+
cik: Optional[str] = None
|
|
51
|
+
r"""Central Index Key"""
|
|
52
|
+
|
|
53
|
+
filed_date: Annotated[Optional[str], pydantic.Field(alias="filedDate")] = None
|
|
54
|
+
r"""Date when filed with SEC"""
|
|
55
|
+
|
|
56
|
+
filing_url: Annotated[Optional[str], pydantic.Field(alias="filingUrl")] = None
|
|
57
|
+
r"""URL to the complete filing"""
|
|
58
|
+
|
|
59
|
+
form: Optional[str] = None
|
|
60
|
+
r"""Type of SEC form"""
|
|
61
|
+
|
|
62
|
+
item1: Optional[float] = None
|
|
63
|
+
r"""Cosine similarity score for Item 1 (Business) section"""
|
|
64
|
+
|
|
65
|
+
item1a: Optional[float] = None
|
|
66
|
+
r"""Cosine similarity score for Item 1A (Risk Factors) section"""
|
|
67
|
+
|
|
68
|
+
item2: Optional[float] = None
|
|
69
|
+
r"""Cosine similarity score for Item 2 (Properties) section"""
|
|
70
|
+
|
|
71
|
+
item7: Optional[float] = None
|
|
72
|
+
r"""Cosine similarity score for Item 7 (MD&A) section"""
|
|
73
|
+
|
|
74
|
+
item7a: Optional[float] = None
|
|
75
|
+
r"""Cosine similarity score for Item 7A (Market Risk) section"""
|
|
76
|
+
|
|
77
|
+
report_url: Annotated[Optional[str], pydantic.Field(alias="reportUrl")] = None
|
|
78
|
+
r"""URL to the formatted report"""
|
|
79
|
+
|
|
80
|
+
@model_serializer(mode="wrap")
|
|
81
|
+
def serialize_model(self, handler):
|
|
82
|
+
optional_fields = set(
|
|
83
|
+
[
|
|
84
|
+
"acceptedDate",
|
|
85
|
+
"accessNumber",
|
|
86
|
+
"cik",
|
|
87
|
+
"filedDate",
|
|
88
|
+
"filingUrl",
|
|
89
|
+
"form",
|
|
90
|
+
"item1",
|
|
91
|
+
"item1a",
|
|
92
|
+
"item2",
|
|
93
|
+
"item7",
|
|
94
|
+
"item7a",
|
|
95
|
+
"reportUrl",
|
|
96
|
+
]
|
|
97
|
+
)
|
|
98
|
+
serialized = handler(self)
|
|
99
|
+
m = {}
|
|
100
|
+
|
|
101
|
+
for n, f in type(self).model_fields.items():
|
|
102
|
+
k = f.alias or n
|
|
103
|
+
val = serialized.get(k, serialized.get(n))
|
|
104
|
+
|
|
105
|
+
if val != UNSET_SENTINEL:
|
|
106
|
+
if val is not None or k not in optional_fields:
|
|
107
|
+
m[k] = val
|
|
108
|
+
|
|
109
|
+
return m
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
try:
|
|
113
|
+
FilingSimilarityRecord.model_rebuild()
|
|
114
|
+
except NameError:
|
|
115
|
+
pass
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 98dd9eec252c
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .filingsimilarityrecord import (
|
|
6
|
+
FilingSimilarityRecord,
|
|
7
|
+
FilingSimilarityRecordTypedDict,
|
|
8
|
+
)
|
|
9
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
10
|
+
from pydantic import model_serializer
|
|
11
|
+
from typing import List, Optional
|
|
12
|
+
from typing_extensions import NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class FilingsSimilarityIndexDataWrapperTypedDict(TypedDict):
|
|
16
|
+
r"""Similarity index data for a company, identified by CIK and symbol."""
|
|
17
|
+
|
|
18
|
+
cik: NotRequired[str]
|
|
19
|
+
r"""Central Index Key"""
|
|
20
|
+
similarity: NotRequired[List[FilingSimilarityRecordTypedDict]]
|
|
21
|
+
r"""Array of filing similarity records with cosine similarity scores"""
|
|
22
|
+
symbol: NotRequired[str]
|
|
23
|
+
r"""Stock ticker symbol"""
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class FilingsSimilarityIndexDataWrapper(BaseModel):
|
|
27
|
+
r"""Similarity index data for a company, identified by CIK and symbol."""
|
|
28
|
+
|
|
29
|
+
cik: Optional[str] = None
|
|
30
|
+
r"""Central Index Key"""
|
|
31
|
+
|
|
32
|
+
similarity: Optional[List[FilingSimilarityRecord]] = None
|
|
33
|
+
r"""Array of filing similarity records with cosine similarity scores"""
|
|
34
|
+
|
|
35
|
+
symbol: Optional[str] = None
|
|
36
|
+
r"""Stock ticker symbol"""
|
|
37
|
+
|
|
38
|
+
@model_serializer(mode="wrap")
|
|
39
|
+
def serialize_model(self, handler):
|
|
40
|
+
optional_fields = set(["cik", "similarity", "symbol"])
|
|
41
|
+
serialized = handler(self)
|
|
42
|
+
m = {}
|
|
43
|
+
|
|
44
|
+
for n, f in type(self).model_fields.items():
|
|
45
|
+
k = f.alias or n
|
|
46
|
+
val = serialized.get(k, serialized.get(n))
|
|
47
|
+
|
|
48
|
+
if val != UNSET_SENTINEL:
|
|
49
|
+
if val is not None or k not in optional_fields:
|
|
50
|
+
m[k] = val
|
|
51
|
+
|
|
52
|
+
return m
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 02b3775f9913
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .filingssimilarityindexdatawrapper import (
|
|
6
|
+
FilingsSimilarityIndexDataWrapper,
|
|
7
|
+
FilingsSimilarityIndexDataWrapperTypedDict,
|
|
8
|
+
)
|
|
9
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
10
|
+
from pydantic import model_serializer
|
|
11
|
+
from typing import Optional
|
|
12
|
+
from typing_extensions import NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class FilingsSimilarityIndexResponseTypedDict(TypedDict):
|
|
16
|
+
r"""Response containing the SEC filings similarity index for a company."""
|
|
17
|
+
|
|
18
|
+
data: NotRequired[FilingsSimilarityIndexDataWrapperTypedDict]
|
|
19
|
+
r"""Similarity index data for a company, identified by CIK and symbol."""
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class FilingsSimilarityIndexResponse(BaseModel):
|
|
23
|
+
r"""Response containing the SEC filings similarity index for a company."""
|
|
24
|
+
|
|
25
|
+
data: Optional[FilingsSimilarityIndexDataWrapper] = None
|
|
26
|
+
r"""Similarity index data for a company, identified by CIK and symbol."""
|
|
27
|
+
|
|
28
|
+
@model_serializer(mode="wrap")
|
|
29
|
+
def serialize_model(self, handler):
|
|
30
|
+
optional_fields = set(["data"])
|
|
31
|
+
serialized = handler(self)
|
|
32
|
+
m = {}
|
|
33
|
+
|
|
34
|
+
for n, f in type(self).model_fields.items():
|
|
35
|
+
k = f.alias or n
|
|
36
|
+
val = serialized.get(k, serialized.get(n))
|
|
37
|
+
|
|
38
|
+
if val != UNSET_SENTINEL:
|
|
39
|
+
if val is not None or k not in optional_fields:
|
|
40
|
+
m[k] = val
|
|
41
|
+
|
|
42
|
+
return m
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 392acf5d65dd
|
|
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 FinancialRatiosResponseResultTypedDict(TypedDict):
|
|
13
|
+
average_volume: NotRequired[int]
|
|
14
|
+
r"""Average trading volume in shares"""
|
|
15
|
+
cash: NotRequired[float]
|
|
16
|
+
r"""Cash ratio"""
|
|
17
|
+
cik: NotRequired[str]
|
|
18
|
+
r"""SEC Central Index Key of the company"""
|
|
19
|
+
current: NotRequired[float]
|
|
20
|
+
r"""Current ratio (current assets to current liabilities)"""
|
|
21
|
+
date_: NotRequired[str]
|
|
22
|
+
r"""Date the ratios were calculated for (YYYY-MM-DD)"""
|
|
23
|
+
debt_to_equity: NotRequired[float]
|
|
24
|
+
r"""Debt-to-equity ratio"""
|
|
25
|
+
dividend_yield: NotRequired[float]
|
|
26
|
+
r"""Dividend yield"""
|
|
27
|
+
earnings_per_share: NotRequired[float]
|
|
28
|
+
r"""Earnings per share"""
|
|
29
|
+
enterprise_value: NotRequired[int]
|
|
30
|
+
r"""Enterprise value"""
|
|
31
|
+
ev_to_ebitda: NotRequired[float]
|
|
32
|
+
r"""Enterprise value to EBITDA ratio"""
|
|
33
|
+
ev_to_sales: NotRequired[float]
|
|
34
|
+
r"""Enterprise value to sales ratio"""
|
|
35
|
+
free_cash_flow: NotRequired[int]
|
|
36
|
+
r"""Free cash flow"""
|
|
37
|
+
market_cap: NotRequired[int]
|
|
38
|
+
r"""Market capitalization"""
|
|
39
|
+
price: NotRequired[float]
|
|
40
|
+
r"""Stock price used to compute the ratios"""
|
|
41
|
+
price_to_book: NotRequired[float]
|
|
42
|
+
r"""Price-to-book (P/B) ratio"""
|
|
43
|
+
price_to_cash_flow: NotRequired[float]
|
|
44
|
+
r"""Price-to-cash-flow ratio"""
|
|
45
|
+
price_to_earnings: NotRequired[float]
|
|
46
|
+
r"""Price-to-earnings (P/E) ratio"""
|
|
47
|
+
price_to_free_cash_flow: NotRequired[float]
|
|
48
|
+
r"""Price-to-free-cash-flow ratio"""
|
|
49
|
+
price_to_sales: NotRequired[float]
|
|
50
|
+
r"""Price-to-sales (P/S) ratio"""
|
|
51
|
+
quick: NotRequired[float]
|
|
52
|
+
r"""Quick ratio (liquid assets to current liabilities)"""
|
|
53
|
+
return_on_assets: NotRequired[float]
|
|
54
|
+
r"""Return on assets"""
|
|
55
|
+
return_on_equity: NotRequired[float]
|
|
56
|
+
r"""Return on equity"""
|
|
57
|
+
ticker: NotRequired[str]
|
|
58
|
+
r"""Stock ticker symbol"""
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class FinancialRatiosResponseResult(BaseModel):
|
|
62
|
+
average_volume: Annotated[Optional[int], pydantic.Field(alias="averageVolume")] = (
|
|
63
|
+
None
|
|
64
|
+
)
|
|
65
|
+
r"""Average trading volume in shares"""
|
|
66
|
+
|
|
67
|
+
cash: Optional[float] = None
|
|
68
|
+
r"""Cash ratio"""
|
|
69
|
+
|
|
70
|
+
cik: Optional[str] = None
|
|
71
|
+
r"""SEC Central Index Key of the company"""
|
|
72
|
+
|
|
73
|
+
current: Optional[float] = None
|
|
74
|
+
r"""Current ratio (current assets to current liabilities)"""
|
|
75
|
+
|
|
76
|
+
date_: Annotated[Optional[str], pydantic.Field(alias="date")] = None
|
|
77
|
+
r"""Date the ratios were calculated for (YYYY-MM-DD)"""
|
|
78
|
+
|
|
79
|
+
debt_to_equity: Annotated[Optional[float], pydantic.Field(alias="debtToEquity")] = (
|
|
80
|
+
None
|
|
81
|
+
)
|
|
82
|
+
r"""Debt-to-equity ratio"""
|
|
83
|
+
|
|
84
|
+
dividend_yield: Annotated[
|
|
85
|
+
Optional[float], pydantic.Field(alias="dividendYield")
|
|
86
|
+
] = None
|
|
87
|
+
r"""Dividend yield"""
|
|
88
|
+
|
|
89
|
+
earnings_per_share: Annotated[
|
|
90
|
+
Optional[float], pydantic.Field(alias="earningsPerShare")
|
|
91
|
+
] = None
|
|
92
|
+
r"""Earnings per share"""
|
|
93
|
+
|
|
94
|
+
enterprise_value: Annotated[
|
|
95
|
+
Optional[int], pydantic.Field(alias="enterpriseValue")
|
|
96
|
+
] = None
|
|
97
|
+
r"""Enterprise value"""
|
|
98
|
+
|
|
99
|
+
ev_to_ebitda: Annotated[Optional[float], pydantic.Field(alias="evToEbitda")] = None
|
|
100
|
+
r"""Enterprise value to EBITDA ratio"""
|
|
101
|
+
|
|
102
|
+
ev_to_sales: Annotated[Optional[float], pydantic.Field(alias="evToSales")] = None
|
|
103
|
+
r"""Enterprise value to sales ratio"""
|
|
104
|
+
|
|
105
|
+
free_cash_flow: Annotated[Optional[int], pydantic.Field(alias="freeCashFlow")] = (
|
|
106
|
+
None
|
|
107
|
+
)
|
|
108
|
+
r"""Free cash flow"""
|
|
109
|
+
|
|
110
|
+
market_cap: Annotated[Optional[int], pydantic.Field(alias="marketCap")] = None
|
|
111
|
+
r"""Market capitalization"""
|
|
112
|
+
|
|
113
|
+
price: Optional[float] = None
|
|
114
|
+
r"""Stock price used to compute the ratios"""
|
|
115
|
+
|
|
116
|
+
price_to_book: Annotated[Optional[float], pydantic.Field(alias="priceToBook")] = (
|
|
117
|
+
None
|
|
118
|
+
)
|
|
119
|
+
r"""Price-to-book (P/B) ratio"""
|
|
120
|
+
|
|
121
|
+
price_to_cash_flow: Annotated[
|
|
122
|
+
Optional[float], pydantic.Field(alias="priceToCashFlow")
|
|
123
|
+
] = None
|
|
124
|
+
r"""Price-to-cash-flow ratio"""
|
|
125
|
+
|
|
126
|
+
price_to_earnings: Annotated[
|
|
127
|
+
Optional[float], pydantic.Field(alias="priceToEarnings")
|
|
128
|
+
] = None
|
|
129
|
+
r"""Price-to-earnings (P/E) ratio"""
|
|
130
|
+
|
|
131
|
+
price_to_free_cash_flow: Annotated[
|
|
132
|
+
Optional[float], pydantic.Field(alias="priceToFreeCashFlow")
|
|
133
|
+
] = None
|
|
134
|
+
r"""Price-to-free-cash-flow ratio"""
|
|
135
|
+
|
|
136
|
+
price_to_sales: Annotated[Optional[float], pydantic.Field(alias="priceToSales")] = (
|
|
137
|
+
None
|
|
138
|
+
)
|
|
139
|
+
r"""Price-to-sales (P/S) ratio"""
|
|
140
|
+
|
|
141
|
+
quick: Optional[float] = None
|
|
142
|
+
r"""Quick ratio (liquid assets to current liabilities)"""
|
|
143
|
+
|
|
144
|
+
return_on_assets: Annotated[
|
|
145
|
+
Optional[float], pydantic.Field(alias="returnOnAssets")
|
|
146
|
+
] = None
|
|
147
|
+
r"""Return on assets"""
|
|
148
|
+
|
|
149
|
+
return_on_equity: Annotated[
|
|
150
|
+
Optional[float], pydantic.Field(alias="returnOnEquity")
|
|
151
|
+
] = None
|
|
152
|
+
r"""Return on equity"""
|
|
153
|
+
|
|
154
|
+
ticker: Optional[str] = None
|
|
155
|
+
r"""Stock ticker symbol"""
|
|
156
|
+
|
|
157
|
+
@model_serializer(mode="wrap")
|
|
158
|
+
def serialize_model(self, handler):
|
|
159
|
+
optional_fields = set(
|
|
160
|
+
[
|
|
161
|
+
"averageVolume",
|
|
162
|
+
"cash",
|
|
163
|
+
"cik",
|
|
164
|
+
"current",
|
|
165
|
+
"date",
|
|
166
|
+
"debtToEquity",
|
|
167
|
+
"dividendYield",
|
|
168
|
+
"earningsPerShare",
|
|
169
|
+
"enterpriseValue",
|
|
170
|
+
"evToEbitda",
|
|
171
|
+
"evToSales",
|
|
172
|
+
"freeCashFlow",
|
|
173
|
+
"marketCap",
|
|
174
|
+
"price",
|
|
175
|
+
"priceToBook",
|
|
176
|
+
"priceToCashFlow",
|
|
177
|
+
"priceToEarnings",
|
|
178
|
+
"priceToFreeCashFlow",
|
|
179
|
+
"priceToSales",
|
|
180
|
+
"quick",
|
|
181
|
+
"returnOnAssets",
|
|
182
|
+
"returnOnEquity",
|
|
183
|
+
"ticker",
|
|
184
|
+
]
|
|
185
|
+
)
|
|
186
|
+
serialized = handler(self)
|
|
187
|
+
m = {}
|
|
188
|
+
|
|
189
|
+
for n, f in type(self).model_fields.items():
|
|
190
|
+
k = f.alias or n
|
|
191
|
+
val = serialized.get(k, serialized.get(n))
|
|
192
|
+
|
|
193
|
+
if val != UNSET_SENTINEL:
|
|
194
|
+
if val is not None or k not in optional_fields:
|
|
195
|
+
m[k] = val
|
|
196
|
+
|
|
197
|
+
return m
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
class FinancialRatiosResponseTypedDict(TypedDict):
|
|
201
|
+
r"""Valuation, profitability, liquidity and leverage ratios for a company, sourced from Polygon."""
|
|
202
|
+
|
|
203
|
+
next_url: NotRequired[str]
|
|
204
|
+
r"""URL for the next page of results, omitted when there are no more pages"""
|
|
205
|
+
request_id: NotRequired[str]
|
|
206
|
+
r"""Request identifier returned by the upstream data provider"""
|
|
207
|
+
results: NotRequired[List[FinancialRatiosResponseResultTypedDict]]
|
|
208
|
+
r"""Financial ratio records, one per ticker and date"""
|
|
209
|
+
status: NotRequired[str]
|
|
210
|
+
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."""
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
class FinancialRatiosResponse(BaseModel):
|
|
214
|
+
r"""Valuation, profitability, liquidity and leverage ratios for a company, sourced from Polygon."""
|
|
215
|
+
|
|
216
|
+
next_url: Annotated[Optional[str], pydantic.Field(alias="nextUrl")] = None
|
|
217
|
+
r"""URL for the next page of results, omitted when there are no more pages"""
|
|
218
|
+
|
|
219
|
+
request_id: Annotated[Optional[str], pydantic.Field(alias="requestId")] = None
|
|
220
|
+
r"""Request identifier returned by the upstream data provider"""
|
|
221
|
+
|
|
222
|
+
results: Optional[List[FinancialRatiosResponseResult]] = None
|
|
223
|
+
r"""Financial ratio records, one per ticker and date"""
|
|
224
|
+
|
|
225
|
+
status: Optional[str] = None
|
|
226
|
+
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."""
|
|
227
|
+
|
|
228
|
+
@model_serializer(mode="wrap")
|
|
229
|
+
def serialize_model(self, handler):
|
|
230
|
+
optional_fields = set(["nextUrl", "requestId", "results", "status"])
|
|
231
|
+
serialized = handler(self)
|
|
232
|
+
m = {}
|
|
233
|
+
|
|
234
|
+
for n, f in type(self).model_fields.items():
|
|
235
|
+
k = f.alias or n
|
|
236
|
+
val = serialized.get(k, serialized.get(n))
|
|
237
|
+
|
|
238
|
+
if val != UNSET_SENTINEL:
|
|
239
|
+
if val is not None or k not in optional_fields:
|
|
240
|
+
m[k] = val
|
|
241
|
+
|
|
242
|
+
return m
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
try:
|
|
246
|
+
FinancialRatiosResponseResult.model_rebuild()
|
|
247
|
+
except NameError:
|
|
248
|
+
pass
|
|
249
|
+
try:
|
|
250
|
+
FinancialRatiosResponse.model_rebuild()
|
|
251
|
+
except NameError:
|
|
252
|
+
pass
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 70c4ddf2f400
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .reportedfiling import ReportedFiling, ReportedFilingTypedDict
|
|
6
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import List, Optional
|
|
9
|
+
from typing_extensions import NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class FinancialsReportedDataWrapperTypedDict(TypedDict):
|
|
13
|
+
r"""Company identifiers and the list of reported SEC filings."""
|
|
14
|
+
|
|
15
|
+
cik: NotRequired[str]
|
|
16
|
+
r"""Central Index Key assigned by the SEC"""
|
|
17
|
+
data: NotRequired[List[ReportedFilingTypedDict]]
|
|
18
|
+
r"""Array of reported filings with financial data"""
|
|
19
|
+
symbol: NotRequired[str]
|
|
20
|
+
r"""Stock ticker symbol"""
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class FinancialsReportedDataWrapper(BaseModel):
|
|
24
|
+
r"""Company identifiers and the list of reported SEC filings."""
|
|
25
|
+
|
|
26
|
+
cik: Optional[str] = None
|
|
27
|
+
r"""Central Index Key assigned by the SEC"""
|
|
28
|
+
|
|
29
|
+
data: Optional[List[ReportedFiling]] = None
|
|
30
|
+
r"""Array of reported filings with financial data"""
|
|
31
|
+
|
|
32
|
+
symbol: Optional[str] = None
|
|
33
|
+
r"""Stock ticker symbol"""
|
|
34
|
+
|
|
35
|
+
@model_serializer(mode="wrap")
|
|
36
|
+
def serialize_model(self, handler):
|
|
37
|
+
optional_fields = set(["cik", "data", "symbol"])
|
|
38
|
+
serialized = handler(self)
|
|
39
|
+
m = {}
|
|
40
|
+
|
|
41
|
+
for n, f in type(self).model_fields.items():
|
|
42
|
+
k = f.alias or n
|
|
43
|
+
val = serialized.get(k, serialized.get(n))
|
|
44
|
+
|
|
45
|
+
if val != UNSET_SENTINEL:
|
|
46
|
+
if val is not None or k not in optional_fields:
|
|
47
|
+
m[k] = val
|
|
48
|
+
|
|
49
|
+
return m
|