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,408 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 707cb165c918
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import (
|
|
6
|
+
BaseModel,
|
|
7
|
+
Nullable,
|
|
8
|
+
OptionalNullable,
|
|
9
|
+
UNSET,
|
|
10
|
+
UNSET_SENTINEL,
|
|
11
|
+
)
|
|
12
|
+
import pydantic
|
|
13
|
+
from pydantic import model_serializer
|
|
14
|
+
from typing import Optional
|
|
15
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class CompanyEsgResponseDataTypedDict(TypedDict):
|
|
19
|
+
r"""Detailed ESG disclosures and metrics."""
|
|
20
|
+
|
|
21
|
+
adult_content: NotRequired[bool]
|
|
22
|
+
r"""Whether the company has involvement in adult content."""
|
|
23
|
+
alcoholic: NotRequired[bool]
|
|
24
|
+
r"""Whether the company has involvement in alcoholic beverages."""
|
|
25
|
+
animal_testing: NotRequired[bool]
|
|
26
|
+
r"""Whether the company is involved in animal testing."""
|
|
27
|
+
antitrust: NotRequired[str]
|
|
28
|
+
r"""Antitrust-related disclosure for the company, as free text."""
|
|
29
|
+
asian_employee_percentage: NotRequired[float]
|
|
30
|
+
r"""Percentage of the company workforce that is Asian."""
|
|
31
|
+
asian_management_percentage: NotRequired[float]
|
|
32
|
+
r"""Percentage of company management that is Asian."""
|
|
33
|
+
black_employee_percentage: NotRequired[float]
|
|
34
|
+
r"""Percentage of the company workforce that is Black."""
|
|
35
|
+
black_management_percentage: NotRequired[float]
|
|
36
|
+
r"""Percentage of company management that is Black."""
|
|
37
|
+
carbon_reduction_policy: NotRequired[str]
|
|
38
|
+
r"""Description of the company carbon reduction policy."""
|
|
39
|
+
catholic: NotRequired[bool]
|
|
40
|
+
r"""Whether the company is flagged as conflicting with Catholic values screens."""
|
|
41
|
+
co2_emission_scope1: NotRequired[int]
|
|
42
|
+
r"""Reported direct (Scope 1) CO2 emissions."""
|
|
43
|
+
co2_emission_scope2: NotRequired[int]
|
|
44
|
+
r"""Reported indirect (Scope 2) CO2 emissions from purchased energy."""
|
|
45
|
+
co2_emission_scope3: NotRequired[int]
|
|
46
|
+
r"""Reported other indirect (Scope 3) CO2 emissions."""
|
|
47
|
+
co2_emission_total: NotRequired[int]
|
|
48
|
+
r"""Reported total CO2 emissions."""
|
|
49
|
+
coal_energy: NotRequired[bool]
|
|
50
|
+
r"""Whether the company has involvement in coal energy."""
|
|
51
|
+
ecofriendly_packaging: NotRequired[bool]
|
|
52
|
+
r"""Whether the company uses eco-friendly packaging."""
|
|
53
|
+
environmental_reporting: NotRequired[bool]
|
|
54
|
+
r"""Whether the company publishes environmental reporting."""
|
|
55
|
+
firearms: NotRequired[bool]
|
|
56
|
+
r"""Whether the company has involvement in firearms."""
|
|
57
|
+
fuel_efficiency_consumption: NotRequired[bool]
|
|
58
|
+
r"""Whether the company reports fuel efficiency or consumption measures."""
|
|
59
|
+
gambling: NotRequired[bool]
|
|
60
|
+
r"""Whether the company has involvement in gambling."""
|
|
61
|
+
gmo: NotRequired[bool]
|
|
62
|
+
r"""Whether the company has involvement in genetically modified organisms."""
|
|
63
|
+
hazardous_substances: NotRequired[bool]
|
|
64
|
+
r"""Whether the company handles hazardous substances."""
|
|
65
|
+
hispanic_latino_employee_percentage: NotRequired[float]
|
|
66
|
+
r"""Percentage of the company workforce that is Hispanic or Latino."""
|
|
67
|
+
hispanic_latino_management_percentage: NotRequired[float]
|
|
68
|
+
r"""Percentage of company management that is Hispanic or Latino."""
|
|
69
|
+
human_rights_policy: NotRequired[bool]
|
|
70
|
+
r"""Whether the company has a human rights policy."""
|
|
71
|
+
military_contract: NotRequired[bool]
|
|
72
|
+
r"""Whether the company holds military contracts."""
|
|
73
|
+
nuclear: NotRequired[bool]
|
|
74
|
+
r"""Whether the company has involvement in nuclear energy."""
|
|
75
|
+
pesticides: NotRequired[Nullable[str]]
|
|
76
|
+
r"""Pesticide-related disclosure for the company, or null when not available."""
|
|
77
|
+
recall_policy_safety: NotRequired[bool]
|
|
78
|
+
r"""Whether the company has a product recall and safety policy."""
|
|
79
|
+
recycling_policy: NotRequired[bool]
|
|
80
|
+
r"""Whether the company has a recycling policy."""
|
|
81
|
+
stakeholder_engagement: NotRequired[bool]
|
|
82
|
+
r"""Whether the company reports stakeholder engagement."""
|
|
83
|
+
tobacco: NotRequired[bool]
|
|
84
|
+
r"""Whether the company has involvement in tobacco."""
|
|
85
|
+
total_women_percentage: NotRequired[int]
|
|
86
|
+
r"""Percentage of the company workforce that is women."""
|
|
87
|
+
water_efficiency_consumption: NotRequired[bool]
|
|
88
|
+
r"""Whether the company reports water efficiency or consumption measures."""
|
|
89
|
+
white_employee_percentage: NotRequired[float]
|
|
90
|
+
r"""Percentage of the company workforce that is White."""
|
|
91
|
+
white_management_percentage: NotRequired[float]
|
|
92
|
+
r"""Percentage of company management that is White."""
|
|
93
|
+
workplace_health_safety: NotRequired[bool]
|
|
94
|
+
r"""Whether the company has a workplace health and safety policy."""
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
class CompanyEsgResponseData(BaseModel):
|
|
98
|
+
r"""Detailed ESG disclosures and metrics."""
|
|
99
|
+
|
|
100
|
+
adult_content: Annotated[Optional[bool], pydantic.Field(alias="adultContent")] = (
|
|
101
|
+
None
|
|
102
|
+
)
|
|
103
|
+
r"""Whether the company has involvement in adult content."""
|
|
104
|
+
|
|
105
|
+
alcoholic: Optional[bool] = None
|
|
106
|
+
r"""Whether the company has involvement in alcoholic beverages."""
|
|
107
|
+
|
|
108
|
+
animal_testing: Annotated[Optional[bool], pydantic.Field(alias="animalTesting")] = (
|
|
109
|
+
None
|
|
110
|
+
)
|
|
111
|
+
r"""Whether the company is involved in animal testing."""
|
|
112
|
+
|
|
113
|
+
antitrust: Optional[str] = None
|
|
114
|
+
r"""Antitrust-related disclosure for the company, as free text."""
|
|
115
|
+
|
|
116
|
+
asian_employee_percentage: Annotated[
|
|
117
|
+
Optional[float], pydantic.Field(alias="asianEmployeePercentage")
|
|
118
|
+
] = None
|
|
119
|
+
r"""Percentage of the company workforce that is Asian."""
|
|
120
|
+
|
|
121
|
+
asian_management_percentage: Annotated[
|
|
122
|
+
Optional[float], pydantic.Field(alias="asianManagementPercentage")
|
|
123
|
+
] = None
|
|
124
|
+
r"""Percentage of company management that is Asian."""
|
|
125
|
+
|
|
126
|
+
black_employee_percentage: Annotated[
|
|
127
|
+
Optional[float], pydantic.Field(alias="blackEmployeePercentage")
|
|
128
|
+
] = None
|
|
129
|
+
r"""Percentage of the company workforce that is Black."""
|
|
130
|
+
|
|
131
|
+
black_management_percentage: Annotated[
|
|
132
|
+
Optional[float], pydantic.Field(alias="blackManagementPercentage")
|
|
133
|
+
] = None
|
|
134
|
+
r"""Percentage of company management that is Black."""
|
|
135
|
+
|
|
136
|
+
carbon_reduction_policy: Annotated[
|
|
137
|
+
Optional[str], pydantic.Field(alias="carbonReductionPolicy")
|
|
138
|
+
] = None
|
|
139
|
+
r"""Description of the company carbon reduction policy."""
|
|
140
|
+
|
|
141
|
+
catholic: Optional[bool] = None
|
|
142
|
+
r"""Whether the company is flagged as conflicting with Catholic values screens."""
|
|
143
|
+
|
|
144
|
+
co2_emission_scope1: Annotated[
|
|
145
|
+
Optional[int], pydantic.Field(alias="co2EmissionScope1")
|
|
146
|
+
] = None
|
|
147
|
+
r"""Reported direct (Scope 1) CO2 emissions."""
|
|
148
|
+
|
|
149
|
+
co2_emission_scope2: Annotated[
|
|
150
|
+
Optional[int], pydantic.Field(alias="co2EmissionScope2")
|
|
151
|
+
] = None
|
|
152
|
+
r"""Reported indirect (Scope 2) CO2 emissions from purchased energy."""
|
|
153
|
+
|
|
154
|
+
co2_emission_scope3: Annotated[
|
|
155
|
+
Optional[int], pydantic.Field(alias="co2EmissionScope3")
|
|
156
|
+
] = None
|
|
157
|
+
r"""Reported other indirect (Scope 3) CO2 emissions."""
|
|
158
|
+
|
|
159
|
+
co2_emission_total: Annotated[
|
|
160
|
+
Optional[int], pydantic.Field(alias="co2EmissionTotal")
|
|
161
|
+
] = None
|
|
162
|
+
r"""Reported total CO2 emissions."""
|
|
163
|
+
|
|
164
|
+
coal_energy: Annotated[Optional[bool], pydantic.Field(alias="coalEnergy")] = None
|
|
165
|
+
r"""Whether the company has involvement in coal energy."""
|
|
166
|
+
|
|
167
|
+
ecofriendly_packaging: Annotated[
|
|
168
|
+
Optional[bool], pydantic.Field(alias="ecofriendlyPackaging")
|
|
169
|
+
] = None
|
|
170
|
+
r"""Whether the company uses eco-friendly packaging."""
|
|
171
|
+
|
|
172
|
+
environmental_reporting: Annotated[
|
|
173
|
+
Optional[bool], pydantic.Field(alias="environmentalReporting")
|
|
174
|
+
] = None
|
|
175
|
+
r"""Whether the company publishes environmental reporting."""
|
|
176
|
+
|
|
177
|
+
firearms: Optional[bool] = None
|
|
178
|
+
r"""Whether the company has involvement in firearms."""
|
|
179
|
+
|
|
180
|
+
fuel_efficiency_consumption: Annotated[
|
|
181
|
+
Optional[bool], pydantic.Field(alias="fuelEfficiencyConsumption")
|
|
182
|
+
] = None
|
|
183
|
+
r"""Whether the company reports fuel efficiency or consumption measures."""
|
|
184
|
+
|
|
185
|
+
gambling: Optional[bool] = None
|
|
186
|
+
r"""Whether the company has involvement in gambling."""
|
|
187
|
+
|
|
188
|
+
gmo: Optional[bool] = None
|
|
189
|
+
r"""Whether the company has involvement in genetically modified organisms."""
|
|
190
|
+
|
|
191
|
+
hazardous_substances: Annotated[
|
|
192
|
+
Optional[bool], pydantic.Field(alias="hazardousSubstances")
|
|
193
|
+
] = None
|
|
194
|
+
r"""Whether the company handles hazardous substances."""
|
|
195
|
+
|
|
196
|
+
hispanic_latino_employee_percentage: Annotated[
|
|
197
|
+
Optional[float], pydantic.Field(alias="hispanicLatinoEmployeePercentage")
|
|
198
|
+
] = None
|
|
199
|
+
r"""Percentage of the company workforce that is Hispanic or Latino."""
|
|
200
|
+
|
|
201
|
+
hispanic_latino_management_percentage: Annotated[
|
|
202
|
+
Optional[float], pydantic.Field(alias="hispanicLatinoManagementPercentage")
|
|
203
|
+
] = None
|
|
204
|
+
r"""Percentage of company management that is Hispanic or Latino."""
|
|
205
|
+
|
|
206
|
+
human_rights_policy: Annotated[
|
|
207
|
+
Optional[bool], pydantic.Field(alias="humanRightsPolicy")
|
|
208
|
+
] = None
|
|
209
|
+
r"""Whether the company has a human rights policy."""
|
|
210
|
+
|
|
211
|
+
military_contract: Annotated[
|
|
212
|
+
Optional[bool], pydantic.Field(alias="militaryContract")
|
|
213
|
+
] = None
|
|
214
|
+
r"""Whether the company holds military contracts."""
|
|
215
|
+
|
|
216
|
+
nuclear: Optional[bool] = None
|
|
217
|
+
r"""Whether the company has involvement in nuclear energy."""
|
|
218
|
+
|
|
219
|
+
pesticides: OptionalNullable[str] = UNSET
|
|
220
|
+
r"""Pesticide-related disclosure for the company, or null when not available."""
|
|
221
|
+
|
|
222
|
+
recall_policy_safety: Annotated[
|
|
223
|
+
Optional[bool], pydantic.Field(alias="recallPolicySafety")
|
|
224
|
+
] = None
|
|
225
|
+
r"""Whether the company has a product recall and safety policy."""
|
|
226
|
+
|
|
227
|
+
recycling_policy: Annotated[
|
|
228
|
+
Optional[bool], pydantic.Field(alias="recyclingPolicy")
|
|
229
|
+
] = None
|
|
230
|
+
r"""Whether the company has a recycling policy."""
|
|
231
|
+
|
|
232
|
+
stakeholder_engagement: Annotated[
|
|
233
|
+
Optional[bool], pydantic.Field(alias="stakeholderEngagement")
|
|
234
|
+
] = None
|
|
235
|
+
r"""Whether the company reports stakeholder engagement."""
|
|
236
|
+
|
|
237
|
+
tobacco: Optional[bool] = None
|
|
238
|
+
r"""Whether the company has involvement in tobacco."""
|
|
239
|
+
|
|
240
|
+
total_women_percentage: Annotated[
|
|
241
|
+
Optional[int], pydantic.Field(alias="totalWomenPercentage")
|
|
242
|
+
] = None
|
|
243
|
+
r"""Percentage of the company workforce that is women."""
|
|
244
|
+
|
|
245
|
+
water_efficiency_consumption: Annotated[
|
|
246
|
+
Optional[bool], pydantic.Field(alias="waterEfficiencyConsumption")
|
|
247
|
+
] = None
|
|
248
|
+
r"""Whether the company reports water efficiency or consumption measures."""
|
|
249
|
+
|
|
250
|
+
white_employee_percentage: Annotated[
|
|
251
|
+
Optional[float], pydantic.Field(alias="whiteEmployeePercentage")
|
|
252
|
+
] = None
|
|
253
|
+
r"""Percentage of the company workforce that is White."""
|
|
254
|
+
|
|
255
|
+
white_management_percentage: Annotated[
|
|
256
|
+
Optional[float], pydantic.Field(alias="whiteManagementPercentage")
|
|
257
|
+
] = None
|
|
258
|
+
r"""Percentage of company management that is White."""
|
|
259
|
+
|
|
260
|
+
workplace_health_safety: Annotated[
|
|
261
|
+
Optional[bool], pydantic.Field(alias="workplaceHealthSafety")
|
|
262
|
+
] = None
|
|
263
|
+
r"""Whether the company has a workplace health and safety policy."""
|
|
264
|
+
|
|
265
|
+
@model_serializer(mode="wrap")
|
|
266
|
+
def serialize_model(self, handler):
|
|
267
|
+
optional_fields = set(
|
|
268
|
+
[
|
|
269
|
+
"adultContent",
|
|
270
|
+
"alcoholic",
|
|
271
|
+
"animalTesting",
|
|
272
|
+
"antitrust",
|
|
273
|
+
"asianEmployeePercentage",
|
|
274
|
+
"asianManagementPercentage",
|
|
275
|
+
"blackEmployeePercentage",
|
|
276
|
+
"blackManagementPercentage",
|
|
277
|
+
"carbonReductionPolicy",
|
|
278
|
+
"catholic",
|
|
279
|
+
"co2EmissionScope1",
|
|
280
|
+
"co2EmissionScope2",
|
|
281
|
+
"co2EmissionScope3",
|
|
282
|
+
"co2EmissionTotal",
|
|
283
|
+
"coalEnergy",
|
|
284
|
+
"ecofriendlyPackaging",
|
|
285
|
+
"environmentalReporting",
|
|
286
|
+
"firearms",
|
|
287
|
+
"fuelEfficiencyConsumption",
|
|
288
|
+
"gambling",
|
|
289
|
+
"gmo",
|
|
290
|
+
"hazardousSubstances",
|
|
291
|
+
"hispanicLatinoEmployeePercentage",
|
|
292
|
+
"hispanicLatinoManagementPercentage",
|
|
293
|
+
"humanRightsPolicy",
|
|
294
|
+
"militaryContract",
|
|
295
|
+
"nuclear",
|
|
296
|
+
"pesticides",
|
|
297
|
+
"recallPolicySafety",
|
|
298
|
+
"recyclingPolicy",
|
|
299
|
+
"stakeholderEngagement",
|
|
300
|
+
"tobacco",
|
|
301
|
+
"totalWomenPercentage",
|
|
302
|
+
"waterEfficiencyConsumption",
|
|
303
|
+
"whiteEmployeePercentage",
|
|
304
|
+
"whiteManagementPercentage",
|
|
305
|
+
"workplaceHealthSafety",
|
|
306
|
+
]
|
|
307
|
+
)
|
|
308
|
+
nullable_fields = set(["pesticides"])
|
|
309
|
+
serialized = handler(self)
|
|
310
|
+
m = {}
|
|
311
|
+
|
|
312
|
+
for n, f in type(self).model_fields.items():
|
|
313
|
+
k = f.alias or n
|
|
314
|
+
val = serialized.get(k, serialized.get(n))
|
|
315
|
+
is_nullable_and_explicitly_set = (
|
|
316
|
+
k in nullable_fields
|
|
317
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
318
|
+
)
|
|
319
|
+
|
|
320
|
+
if val != UNSET_SENTINEL:
|
|
321
|
+
if (
|
|
322
|
+
val is not None
|
|
323
|
+
or k not in optional_fields
|
|
324
|
+
or is_nullable_and_explicitly_set
|
|
325
|
+
):
|
|
326
|
+
m[k] = val
|
|
327
|
+
|
|
328
|
+
return m
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
class CompanyEsgResponseTypedDict(TypedDict):
|
|
332
|
+
r"""Latest ESG (environmental, social, governance) scores and disclosures for a company."""
|
|
333
|
+
|
|
334
|
+
data: NotRequired[CompanyEsgResponseDataTypedDict]
|
|
335
|
+
r"""Detailed ESG disclosures and metrics."""
|
|
336
|
+
environment_score: NotRequired[float]
|
|
337
|
+
r"""Environmental score."""
|
|
338
|
+
governance_score: NotRequired[float]
|
|
339
|
+
r"""Governance score."""
|
|
340
|
+
social_score: NotRequired[float]
|
|
341
|
+
r"""Social score."""
|
|
342
|
+
symbol: NotRequired[str]
|
|
343
|
+
r"""Ticker symbol of the company."""
|
|
344
|
+
total_esg_score: NotRequired[float]
|
|
345
|
+
r"""Total ESG score."""
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
class CompanyEsgResponse(BaseModel):
|
|
349
|
+
r"""Latest ESG (environmental, social, governance) scores and disclosures for a company."""
|
|
350
|
+
|
|
351
|
+
data: Optional[CompanyEsgResponseData] = None
|
|
352
|
+
r"""Detailed ESG disclosures and metrics."""
|
|
353
|
+
|
|
354
|
+
environment_score: Annotated[
|
|
355
|
+
Optional[float], pydantic.Field(alias="environmentScore")
|
|
356
|
+
] = None
|
|
357
|
+
r"""Environmental score."""
|
|
358
|
+
|
|
359
|
+
governance_score: Annotated[
|
|
360
|
+
Optional[float], pydantic.Field(alias="governanceScore")
|
|
361
|
+
] = None
|
|
362
|
+
r"""Governance score."""
|
|
363
|
+
|
|
364
|
+
social_score: Annotated[Optional[float], pydantic.Field(alias="socialScore")] = None
|
|
365
|
+
r"""Social score."""
|
|
366
|
+
|
|
367
|
+
symbol: Optional[str] = None
|
|
368
|
+
r"""Ticker symbol of the company."""
|
|
369
|
+
|
|
370
|
+
total_esg_score: Annotated[
|
|
371
|
+
Optional[float], pydantic.Field(alias="totalESGScore")
|
|
372
|
+
] = None
|
|
373
|
+
r"""Total ESG score."""
|
|
374
|
+
|
|
375
|
+
@model_serializer(mode="wrap")
|
|
376
|
+
def serialize_model(self, handler):
|
|
377
|
+
optional_fields = set(
|
|
378
|
+
[
|
|
379
|
+
"data",
|
|
380
|
+
"environmentScore",
|
|
381
|
+
"governanceScore",
|
|
382
|
+
"socialScore",
|
|
383
|
+
"symbol",
|
|
384
|
+
"totalESGScore",
|
|
385
|
+
]
|
|
386
|
+
)
|
|
387
|
+
serialized = handler(self)
|
|
388
|
+
m = {}
|
|
389
|
+
|
|
390
|
+
for n, f in type(self).model_fields.items():
|
|
391
|
+
k = f.alias or n
|
|
392
|
+
val = serialized.get(k, serialized.get(n))
|
|
393
|
+
|
|
394
|
+
if val != UNSET_SENTINEL:
|
|
395
|
+
if val is not None or k not in optional_fields:
|
|
396
|
+
m[k] = val
|
|
397
|
+
|
|
398
|
+
return m
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
try:
|
|
402
|
+
CompanyEsgResponseData.model_rebuild()
|
|
403
|
+
except NameError:
|
|
404
|
+
pass
|
|
405
|
+
try:
|
|
406
|
+
CompanyEsgResponse.model_rebuild()
|
|
407
|
+
except NameError:
|
|
408
|
+
pass
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: eb16c862319d
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
6
|
+
from pydantic import model_serializer
|
|
7
|
+
from typing import Optional
|
|
8
|
+
from typing_extensions import NotRequired, TypedDict
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class CompanyExecutiveTypedDict(TypedDict):
|
|
12
|
+
r"""Company executive with position and compensation details."""
|
|
13
|
+
|
|
14
|
+
age: NotRequired[int]
|
|
15
|
+
r"""Executive's current age"""
|
|
16
|
+
compensation: NotRequired[float]
|
|
17
|
+
r"""Executive compensation amount"""
|
|
18
|
+
currency: NotRequired[str]
|
|
19
|
+
r"""Currency code for compensation"""
|
|
20
|
+
name: NotRequired[str]
|
|
21
|
+
r"""Executive's full name"""
|
|
22
|
+
position: NotRequired[str]
|
|
23
|
+
r"""Executive position/title"""
|
|
24
|
+
sex: NotRequired[str]
|
|
25
|
+
r"""Executive's sex"""
|
|
26
|
+
since: NotRequired[str]
|
|
27
|
+
r"""Year when the executive joined"""
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class CompanyExecutive(BaseModel):
|
|
31
|
+
r"""Company executive with position and compensation details."""
|
|
32
|
+
|
|
33
|
+
age: Optional[int] = None
|
|
34
|
+
r"""Executive's current age"""
|
|
35
|
+
|
|
36
|
+
compensation: Optional[float] = None
|
|
37
|
+
r"""Executive compensation amount"""
|
|
38
|
+
|
|
39
|
+
currency: Optional[str] = None
|
|
40
|
+
r"""Currency code for compensation"""
|
|
41
|
+
|
|
42
|
+
name: Optional[str] = None
|
|
43
|
+
r"""Executive's full name"""
|
|
44
|
+
|
|
45
|
+
position: Optional[str] = None
|
|
46
|
+
r"""Executive position/title"""
|
|
47
|
+
|
|
48
|
+
sex: Optional[str] = None
|
|
49
|
+
r"""Executive's sex"""
|
|
50
|
+
|
|
51
|
+
since: Optional[str] = None
|
|
52
|
+
r"""Year when the executive joined"""
|
|
53
|
+
|
|
54
|
+
@model_serializer(mode="wrap")
|
|
55
|
+
def serialize_model(self, handler):
|
|
56
|
+
optional_fields = set(
|
|
57
|
+
["age", "compensation", "currency", "name", "position", "sex", "since"]
|
|
58
|
+
)
|
|
59
|
+
serialized = handler(self)
|
|
60
|
+
m = {}
|
|
61
|
+
|
|
62
|
+
for n, f in type(self).model_fields.items():
|
|
63
|
+
k = f.alias or n
|
|
64
|
+
val = serialized.get(k, serialized.get(n))
|
|
65
|
+
|
|
66
|
+
if val != UNSET_SENTINEL:
|
|
67
|
+
if val is not None or k not in optional_fields:
|
|
68
|
+
m[k] = val
|
|
69
|
+
|
|
70
|
+
return m
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 18ab025ab17a
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .companyexecutive import CompanyExecutive, CompanyExecutiveTypedDict
|
|
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 CompanyExecutiveResponseTypedDict(TypedDict):
|
|
13
|
+
r"""Response containing executive leadership data for a company."""
|
|
14
|
+
|
|
15
|
+
executives: NotRequired[List[CompanyExecutiveTypedDict]]
|
|
16
|
+
r"""List of company executives and their details"""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class CompanyExecutiveResponse(BaseModel):
|
|
20
|
+
r"""Response containing executive leadership data for a company."""
|
|
21
|
+
|
|
22
|
+
executives: Optional[List[CompanyExecutive]] = None
|
|
23
|
+
r"""List of company executives and their details"""
|
|
24
|
+
|
|
25
|
+
@model_serializer(mode="wrap")
|
|
26
|
+
def serialize_model(self, handler):
|
|
27
|
+
optional_fields = set(["executives"])
|
|
28
|
+
serialized = handler(self)
|
|
29
|
+
m = {}
|
|
30
|
+
|
|
31
|
+
for n, f in type(self).model_fields.items():
|
|
32
|
+
k = f.alias or n
|
|
33
|
+
val = serialized.get(k, serialized.get(n))
|
|
34
|
+
|
|
35
|
+
if val != UNSET_SENTINEL:
|
|
36
|
+
if val is not None or k not in optional_fields:
|
|
37
|
+
m[k] = val
|
|
38
|
+
|
|
39
|
+
return m
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 399b51e74114
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
6
|
+
from pydantic import model_serializer
|
|
7
|
+
from typing import List, Optional
|
|
8
|
+
from typing_extensions import NotRequired, TypedDict
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class CompanyPeersResponseTypedDict(TypedDict):
|
|
12
|
+
r"""Response containing peer company tickers for comparison and competitor research."""
|
|
13
|
+
|
|
14
|
+
peers: NotRequired[List[str]]
|
|
15
|
+
r"""List of ticker symbols for companies in the same industry or sector"""
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class CompanyPeersResponse(BaseModel):
|
|
19
|
+
r"""Response containing peer company tickers for comparison and competitor research."""
|
|
20
|
+
|
|
21
|
+
peers: Optional[List[str]] = None
|
|
22
|
+
r"""List of ticker symbols for companies in the same industry or sector"""
|
|
23
|
+
|
|
24
|
+
@model_serializer(mode="wrap")
|
|
25
|
+
def serialize_model(self, handler):
|
|
26
|
+
optional_fields = set(["peers"])
|
|
27
|
+
serialized = handler(self)
|
|
28
|
+
m = {}
|
|
29
|
+
|
|
30
|
+
for n, f in type(self).model_fields.items():
|
|
31
|
+
k = f.alias or n
|
|
32
|
+
val = serialized.get(k, serialized.get(n))
|
|
33
|
+
|
|
34
|
+
if val != UNSET_SENTINEL:
|
|
35
|
+
if val is not None or k not in optional_fields:
|
|
36
|
+
m[k] = val
|
|
37
|
+
|
|
38
|
+
return m
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 3f735a7b4c5f
|
|
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 ReTypedDict(TypedDict):
|
|
13
|
+
at_time: NotRequired[str]
|
|
14
|
+
r"""Timestamp of the presentation as provided by the data vendor."""
|
|
15
|
+
quarter: NotRequired[int]
|
|
16
|
+
r"""Fiscal quarter the presentation relates to."""
|
|
17
|
+
title: NotRequired[str]
|
|
18
|
+
r"""Title of the presentation."""
|
|
19
|
+
url: NotRequired[str]
|
|
20
|
+
r"""URL to access the presentation."""
|
|
21
|
+
year: NotRequired[int]
|
|
22
|
+
r"""Fiscal year the presentation relates to."""
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class Re(BaseModel):
|
|
26
|
+
at_time: Annotated[Optional[str], pydantic.Field(alias="atTime")] = None
|
|
27
|
+
r"""Timestamp of the presentation as provided by the data vendor."""
|
|
28
|
+
|
|
29
|
+
quarter: Optional[int] = None
|
|
30
|
+
r"""Fiscal quarter the presentation relates to."""
|
|
31
|
+
|
|
32
|
+
title: Optional[str] = None
|
|
33
|
+
r"""Title of the presentation."""
|
|
34
|
+
|
|
35
|
+
url: Optional[str] = None
|
|
36
|
+
r"""URL to access the presentation."""
|
|
37
|
+
|
|
38
|
+
year: Optional[int] = None
|
|
39
|
+
r"""Fiscal year the presentation relates to."""
|
|
40
|
+
|
|
41
|
+
@model_serializer(mode="wrap")
|
|
42
|
+
def serialize_model(self, handler):
|
|
43
|
+
optional_fields = set(["atTime", "quarter", "title", "url", "year"])
|
|
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
|
+
class CompanyPresentationResponseTypedDict(TypedDict):
|
|
59
|
+
r"""Company presentations and slide decks for a symbol."""
|
|
60
|
+
|
|
61
|
+
res: NotRequired[List[ReTypedDict]]
|
|
62
|
+
r"""Available company presentations."""
|
|
63
|
+
symbol: NotRequired[str]
|
|
64
|
+
r"""Ticker symbol of the company."""
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
class CompanyPresentationResponse(BaseModel):
|
|
68
|
+
r"""Company presentations and slide decks for a symbol."""
|
|
69
|
+
|
|
70
|
+
res: Optional[List[Re]] = None
|
|
71
|
+
r"""Available company presentations."""
|
|
72
|
+
|
|
73
|
+
symbol: Optional[str] = None
|
|
74
|
+
r"""Ticker symbol of the company."""
|
|
75
|
+
|
|
76
|
+
@model_serializer(mode="wrap")
|
|
77
|
+
def serialize_model(self, handler):
|
|
78
|
+
optional_fields = set(["res", "symbol"])
|
|
79
|
+
serialized = handler(self)
|
|
80
|
+
m = {}
|
|
81
|
+
|
|
82
|
+
for n, f in type(self).model_fields.items():
|
|
83
|
+
k = f.alias or n
|
|
84
|
+
val = serialized.get(k, serialized.get(n))
|
|
85
|
+
|
|
86
|
+
if val != UNSET_SENTINEL:
|
|
87
|
+
if val is not None or k not in optional_fields:
|
|
88
|
+
m[k] = val
|
|
89
|
+
|
|
90
|
+
return m
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
try:
|
|
94
|
+
Re.model_rebuild()
|
|
95
|
+
except NameError:
|
|
96
|
+
pass
|