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,44 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 42cd6345f01e
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .marketbreadth import MarketBreadth, MarketBreadthTypedDict
|
|
6
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import Optional
|
|
9
|
+
from typing_extensions import NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class MarketBreadthResponseTypedDict(TypedDict):
|
|
13
|
+
r"""Response envelope for the market breadth endpoint."""
|
|
14
|
+
|
|
15
|
+
data: NotRequired[MarketBreadthTypedDict]
|
|
16
|
+
r"""Market breadth snapshot showing how many symbols are rising, falling, or unchanged. Use it to summarize overall market participation."""
|
|
17
|
+
success: NotRequired[bool]
|
|
18
|
+
r"""Always true on a successful response."""
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class MarketBreadthResponse(BaseModel):
|
|
22
|
+
r"""Response envelope for the market breadth endpoint."""
|
|
23
|
+
|
|
24
|
+
data: Optional[MarketBreadth] = None
|
|
25
|
+
r"""Market breadth snapshot showing how many symbols are rising, falling, or unchanged. Use it to summarize overall market participation."""
|
|
26
|
+
|
|
27
|
+
success: Optional[bool] = None
|
|
28
|
+
r"""Always true on a successful response."""
|
|
29
|
+
|
|
30
|
+
@model_serializer(mode="wrap")
|
|
31
|
+
def serialize_model(self, handler):
|
|
32
|
+
optional_fields = set(["data", "success"])
|
|
33
|
+
serialized = handler(self)
|
|
34
|
+
m = {}
|
|
35
|
+
|
|
36
|
+
for n, f in type(self).model_fields.items():
|
|
37
|
+
k = f.alias or n
|
|
38
|
+
val = serialized.get(k, serialized.get(n))
|
|
39
|
+
|
|
40
|
+
if val != UNSET_SENTINEL:
|
|
41
|
+
if val is not None or k not in optional_fields:
|
|
42
|
+
m[k] = val
|
|
43
|
+
|
|
44
|
+
return m
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: fe877285fa70
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from datetime import date
|
|
6
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
7
|
+
import pydantic
|
|
8
|
+
from pydantic import model_serializer
|
|
9
|
+
from typing import Optional
|
|
10
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class MarketHolidayTypedDict(TypedDict):
|
|
14
|
+
r"""Market holiday or special trading day."""
|
|
15
|
+
|
|
16
|
+
at_date: NotRequired[date]
|
|
17
|
+
r"""Date of the holiday in YYYY-MM-DD format"""
|
|
18
|
+
event_name: NotRequired[str]
|
|
19
|
+
r"""Name of the holiday or special market event"""
|
|
20
|
+
trading_hour: NotRequired[str]
|
|
21
|
+
r"""Trading hours for the day (e.g., 09:30-13:00 for early close, empty for full closure)"""
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class MarketHoliday(BaseModel):
|
|
25
|
+
r"""Market holiday or special trading day."""
|
|
26
|
+
|
|
27
|
+
at_date: Annotated[Optional[date], pydantic.Field(alias="atDate")] = None
|
|
28
|
+
r"""Date of the holiday in YYYY-MM-DD format"""
|
|
29
|
+
|
|
30
|
+
event_name: Annotated[Optional[str], pydantic.Field(alias="eventName")] = None
|
|
31
|
+
r"""Name of the holiday or special market event"""
|
|
32
|
+
|
|
33
|
+
trading_hour: Annotated[Optional[str], pydantic.Field(alias="tradingHour")] = None
|
|
34
|
+
r"""Trading hours for the day (e.g., 09:30-13:00 for early close, empty for full closure)"""
|
|
35
|
+
|
|
36
|
+
@model_serializer(mode="wrap")
|
|
37
|
+
def serialize_model(self, handler):
|
|
38
|
+
optional_fields = set(["atDate", "eventName", "tradingHour"])
|
|
39
|
+
serialized = handler(self)
|
|
40
|
+
m = {}
|
|
41
|
+
|
|
42
|
+
for n, f in type(self).model_fields.items():
|
|
43
|
+
k = f.alias or n
|
|
44
|
+
val = serialized.get(k, serialized.get(n))
|
|
45
|
+
|
|
46
|
+
if val != UNSET_SENTINEL:
|
|
47
|
+
if val is not None or k not in optional_fields:
|
|
48
|
+
m[k] = val
|
|
49
|
+
|
|
50
|
+
return m
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
try:
|
|
54
|
+
MarketHoliday.model_rebuild()
|
|
55
|
+
except NameError:
|
|
56
|
+
pass
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: b950ab8a825d
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .marketholiday import MarketHoliday, MarketHolidayTypedDict
|
|
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 MarketHolidayResponseTypedDict(TypedDict):
|
|
13
|
+
r"""Market holidays and special trading days."""
|
|
14
|
+
|
|
15
|
+
holidays: NotRequired[List[MarketHolidayTypedDict]]
|
|
16
|
+
r"""List of market holidays and special trading days"""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class MarketHolidayResponse(BaseModel):
|
|
20
|
+
r"""Market holidays and special trading days."""
|
|
21
|
+
|
|
22
|
+
holidays: Optional[List[MarketHoliday]] = None
|
|
23
|
+
r"""List of market holidays and special trading days"""
|
|
24
|
+
|
|
25
|
+
@model_serializer(mode="wrap")
|
|
26
|
+
def serialize_model(self, handler):
|
|
27
|
+
optional_fields = set(["holidays"])
|
|
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,67 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 082a87dffa48
|
|
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 MarketStatusTypedDict(TypedDict):
|
|
13
|
+
r"""Current trading status of a market."""
|
|
14
|
+
|
|
15
|
+
exchange: NotRequired[str]
|
|
16
|
+
r"""Exchange code (e.g., US, TO, L)"""
|
|
17
|
+
is_open: NotRequired[bool]
|
|
18
|
+
r"""Whether the market is currently open for trading"""
|
|
19
|
+
session: NotRequired[str]
|
|
20
|
+
r"""Current trading session (pre-market, regular, after-hours, or empty if closed)"""
|
|
21
|
+
timestamp: NotRequired[int]
|
|
22
|
+
r"""Unix timestamp of the status data"""
|
|
23
|
+
timezone: NotRequired[str]
|
|
24
|
+
r"""Timezone of the exchange (e.g., America/New_York)"""
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class MarketStatus(BaseModel):
|
|
28
|
+
r"""Current trading status of a market."""
|
|
29
|
+
|
|
30
|
+
exchange: Optional[str] = None
|
|
31
|
+
r"""Exchange code (e.g., US, TO, L)"""
|
|
32
|
+
|
|
33
|
+
is_open: Annotated[Optional[bool], pydantic.Field(alias="isOpen")] = None
|
|
34
|
+
r"""Whether the market is currently open for trading"""
|
|
35
|
+
|
|
36
|
+
session: Optional[str] = None
|
|
37
|
+
r"""Current trading session (pre-market, regular, after-hours, or empty if closed)"""
|
|
38
|
+
|
|
39
|
+
timestamp: Optional[int] = None
|
|
40
|
+
r"""Unix timestamp of the status data"""
|
|
41
|
+
|
|
42
|
+
timezone: Optional[str] = None
|
|
43
|
+
r"""Timezone of the exchange (e.g., America/New_York)"""
|
|
44
|
+
|
|
45
|
+
@model_serializer(mode="wrap")
|
|
46
|
+
def serialize_model(self, handler):
|
|
47
|
+
optional_fields = set(
|
|
48
|
+
["exchange", "isOpen", "session", "timestamp", "timezone"]
|
|
49
|
+
)
|
|
50
|
+
serialized = handler(self)
|
|
51
|
+
m = {}
|
|
52
|
+
|
|
53
|
+
for n, f in type(self).model_fields.items():
|
|
54
|
+
k = f.alias or n
|
|
55
|
+
val = serialized.get(k, serialized.get(n))
|
|
56
|
+
|
|
57
|
+
if val != UNSET_SENTINEL:
|
|
58
|
+
if val is not None or k not in optional_fields:
|
|
59
|
+
m[k] = val
|
|
60
|
+
|
|
61
|
+
return m
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
try:
|
|
65
|
+
MarketStatus.model_rebuild()
|
|
66
|
+
except NameError:
|
|
67
|
+
pass
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 732b22b2c677
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from datetime import date
|
|
6
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
7
|
+
import pydantic
|
|
8
|
+
from pydantic import model_serializer
|
|
9
|
+
from typing import List, Optional
|
|
10
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class MergersAcquisitionTypedDict(TypedDict):
|
|
14
|
+
acquirer_exchange: NotRequired[str]
|
|
15
|
+
r"""Exchange of the acquiring company"""
|
|
16
|
+
acquirer_name: NotRequired[str]
|
|
17
|
+
r"""Name of the acquiring company"""
|
|
18
|
+
acquirer_ticker: NotRequired[str]
|
|
19
|
+
r"""Ticker of the acquiring company"""
|
|
20
|
+
currency: NotRequired[str]
|
|
21
|
+
r"""Currency of the deal"""
|
|
22
|
+
date_: NotRequired[date]
|
|
23
|
+
r"""Date of the M&A event"""
|
|
24
|
+
date_expected: NotRequired[str]
|
|
25
|
+
r"""Expected closing date or period supplied by the provider, such as 2026-H2."""
|
|
26
|
+
deal_payment_type: NotRequired[str]
|
|
27
|
+
r"""Payment method (Cash, Stock, Mixed, etc.)"""
|
|
28
|
+
deal_size: NotRequired[str]
|
|
29
|
+
r"""Size of the deal in the specified currency"""
|
|
30
|
+
deal_status: NotRequired[str]
|
|
31
|
+
r"""Current status of the deal (Completed, Pending, etc.)"""
|
|
32
|
+
deal_type: NotRequired[str]
|
|
33
|
+
r"""Type of deal (Acquisition, Merger, etc.)"""
|
|
34
|
+
id: NotRequired[str]
|
|
35
|
+
r"""Unique identifier for the M&A event"""
|
|
36
|
+
importance: NotRequired[int]
|
|
37
|
+
r"""Importance rating of the event"""
|
|
38
|
+
notes: NotRequired[str]
|
|
39
|
+
r"""Additional notes"""
|
|
40
|
+
target_exchange: NotRequired[str]
|
|
41
|
+
r"""Stock exchange where target is traded"""
|
|
42
|
+
target_name: NotRequired[str]
|
|
43
|
+
r"""Name of the target company"""
|
|
44
|
+
target_ticker: NotRequired[str]
|
|
45
|
+
r"""Stock ticker symbol of the target company. Enter the exact ticker, such as AAPL."""
|
|
46
|
+
updated: NotRequired[int]
|
|
47
|
+
r"""Unix timestamp of last update"""
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
class MergersAcquisition(BaseModel):
|
|
51
|
+
acquirer_exchange: Annotated[
|
|
52
|
+
Optional[str], pydantic.Field(alias="acquirerExchange")
|
|
53
|
+
] = None
|
|
54
|
+
r"""Exchange of the acquiring company"""
|
|
55
|
+
|
|
56
|
+
acquirer_name: Annotated[Optional[str], pydantic.Field(alias="acquirerName")] = None
|
|
57
|
+
r"""Name of the acquiring company"""
|
|
58
|
+
|
|
59
|
+
acquirer_ticker: Annotated[
|
|
60
|
+
Optional[str], pydantic.Field(alias="acquirerTicker")
|
|
61
|
+
] = None
|
|
62
|
+
r"""Ticker of the acquiring company"""
|
|
63
|
+
|
|
64
|
+
currency: Optional[str] = None
|
|
65
|
+
r"""Currency of the deal"""
|
|
66
|
+
|
|
67
|
+
date_: Annotated[Optional[date], pydantic.Field(alias="date")] = None
|
|
68
|
+
r"""Date of the M&A event"""
|
|
69
|
+
|
|
70
|
+
date_expected: Annotated[Optional[str], pydantic.Field(alias="dateExpected")] = None
|
|
71
|
+
r"""Expected closing date or period supplied by the provider, such as 2026-H2."""
|
|
72
|
+
|
|
73
|
+
deal_payment_type: Annotated[
|
|
74
|
+
Optional[str], pydantic.Field(alias="dealPaymentType")
|
|
75
|
+
] = None
|
|
76
|
+
r"""Payment method (Cash, Stock, Mixed, etc.)"""
|
|
77
|
+
|
|
78
|
+
deal_size: Annotated[Optional[str], pydantic.Field(alias="dealSize")] = None
|
|
79
|
+
r"""Size of the deal in the specified currency"""
|
|
80
|
+
|
|
81
|
+
deal_status: Annotated[Optional[str], pydantic.Field(alias="dealStatus")] = None
|
|
82
|
+
r"""Current status of the deal (Completed, Pending, etc.)"""
|
|
83
|
+
|
|
84
|
+
deal_type: Annotated[Optional[str], pydantic.Field(alias="dealType")] = None
|
|
85
|
+
r"""Type of deal (Acquisition, Merger, etc.)"""
|
|
86
|
+
|
|
87
|
+
id: Optional[str] = None
|
|
88
|
+
r"""Unique identifier for the M&A event"""
|
|
89
|
+
|
|
90
|
+
importance: Optional[int] = None
|
|
91
|
+
r"""Importance rating of the event"""
|
|
92
|
+
|
|
93
|
+
notes: Optional[str] = None
|
|
94
|
+
r"""Additional notes"""
|
|
95
|
+
|
|
96
|
+
target_exchange: Annotated[
|
|
97
|
+
Optional[str], pydantic.Field(alias="targetExchange")
|
|
98
|
+
] = None
|
|
99
|
+
r"""Stock exchange where target is traded"""
|
|
100
|
+
|
|
101
|
+
target_name: Annotated[Optional[str], pydantic.Field(alias="targetName")] = None
|
|
102
|
+
r"""Name of the target company"""
|
|
103
|
+
|
|
104
|
+
target_ticker: Annotated[Optional[str], pydantic.Field(alias="targetTicker")] = None
|
|
105
|
+
r"""Stock ticker symbol of the target company. Enter the exact ticker, such as AAPL."""
|
|
106
|
+
|
|
107
|
+
updated: Optional[int] = None
|
|
108
|
+
r"""Unix timestamp of last update"""
|
|
109
|
+
|
|
110
|
+
@model_serializer(mode="wrap")
|
|
111
|
+
def serialize_model(self, handler):
|
|
112
|
+
optional_fields = set(
|
|
113
|
+
[
|
|
114
|
+
"acquirerExchange",
|
|
115
|
+
"acquirerName",
|
|
116
|
+
"acquirerTicker",
|
|
117
|
+
"currency",
|
|
118
|
+
"date",
|
|
119
|
+
"dateExpected",
|
|
120
|
+
"dealPaymentType",
|
|
121
|
+
"dealSize",
|
|
122
|
+
"dealStatus",
|
|
123
|
+
"dealType",
|
|
124
|
+
"id",
|
|
125
|
+
"importance",
|
|
126
|
+
"notes",
|
|
127
|
+
"targetExchange",
|
|
128
|
+
"targetName",
|
|
129
|
+
"targetTicker",
|
|
130
|
+
"updated",
|
|
131
|
+
]
|
|
132
|
+
)
|
|
133
|
+
serialized = handler(self)
|
|
134
|
+
m = {}
|
|
135
|
+
|
|
136
|
+
for n, f in type(self).model_fields.items():
|
|
137
|
+
k = f.alias or n
|
|
138
|
+
val = serialized.get(k, serialized.get(n))
|
|
139
|
+
|
|
140
|
+
if val != UNSET_SENTINEL:
|
|
141
|
+
if val is not None or k not in optional_fields:
|
|
142
|
+
m[k] = val
|
|
143
|
+
|
|
144
|
+
return m
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
class MergersAndAcquisitionsResponseTypedDict(TypedDict):
|
|
148
|
+
r"""Response containing mergers and acquisitions calendar events."""
|
|
149
|
+
|
|
150
|
+
mergers_acquisitions: NotRequired[List[MergersAcquisitionTypedDict]]
|
|
151
|
+
r"""Array of merger and acquisition events"""
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
class MergersAndAcquisitionsResponse(BaseModel):
|
|
155
|
+
r"""Response containing mergers and acquisitions calendar events."""
|
|
156
|
+
|
|
157
|
+
mergers_acquisitions: Annotated[
|
|
158
|
+
Optional[List[MergersAcquisition]], pydantic.Field(alias="mergersAcquisitions")
|
|
159
|
+
] = None
|
|
160
|
+
r"""Array of merger and acquisition events"""
|
|
161
|
+
|
|
162
|
+
@model_serializer(mode="wrap")
|
|
163
|
+
def serialize_model(self, handler):
|
|
164
|
+
optional_fields = set(["mergersAcquisitions"])
|
|
165
|
+
serialized = handler(self)
|
|
166
|
+
m = {}
|
|
167
|
+
|
|
168
|
+
for n, f in type(self).model_fields.items():
|
|
169
|
+
k = f.alias or n
|
|
170
|
+
val = serialized.get(k, serialized.get(n))
|
|
171
|
+
|
|
172
|
+
if val != UNSET_SENTINEL:
|
|
173
|
+
if val is not None or k not in optional_fields:
|
|
174
|
+
m[k] = val
|
|
175
|
+
|
|
176
|
+
return m
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
try:
|
|
180
|
+
MergersAcquisition.model_rebuild()
|
|
181
|
+
except NameError:
|
|
182
|
+
pass
|
|
183
|
+
try:
|
|
184
|
+
MergersAndAcquisitionsResponse.model_rebuild()
|
|
185
|
+
except NameError:
|
|
186
|
+
pass
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: ba34893a9005
|
|
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 MetricSeriesPointTypedDict(TypedDict):
|
|
12
|
+
r"""Single data point of a company metric time series."""
|
|
13
|
+
|
|
14
|
+
period: NotRequired[str]
|
|
15
|
+
r"""Time period for the metric value (e.g., 2023-12-31)"""
|
|
16
|
+
v: NotRequired[float]
|
|
17
|
+
r"""Metric value for the period"""
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class MetricSeriesPoint(BaseModel):
|
|
21
|
+
r"""Single data point of a company metric time series."""
|
|
22
|
+
|
|
23
|
+
period: Optional[str] = None
|
|
24
|
+
r"""Time period for the metric value (e.g., 2023-12-31)"""
|
|
25
|
+
|
|
26
|
+
v: Optional[float] = None
|
|
27
|
+
r"""Metric value for the period"""
|
|
28
|
+
|
|
29
|
+
@model_serializer(mode="wrap")
|
|
30
|
+
def serialize_model(self, handler):
|
|
31
|
+
optional_fields = set(["period", "v"])
|
|
32
|
+
serialized = handler(self)
|
|
33
|
+
m = {}
|
|
34
|
+
|
|
35
|
+
for n, f in type(self).model_fields.items():
|
|
36
|
+
k = f.alias or n
|
|
37
|
+
val = serialized.get(k, serialized.get(n))
|
|
38
|
+
|
|
39
|
+
if val != UNSET_SENTINEL:
|
|
40
|
+
if val is not None or k not in optional_fields:
|
|
41
|
+
m[k] = val
|
|
42
|
+
|
|
43
|
+
return m
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 801476f8859f
|
|
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 NetInflowTypedDict(TypedDict):
|
|
13
|
+
r"""Net market inflow snapshot for Nasdaq and NYSE. Use it to show whether reported flow is net buying or net selling."""
|
|
14
|
+
|
|
15
|
+
nasdaq_net_inflow: NotRequired[float]
|
|
16
|
+
r"""Net inflow value for Nasdaq activity. Positive values indicate net buying flow; negative values indicate net selling flow."""
|
|
17
|
+
nasdaq_trade_count: NotRequired[int]
|
|
18
|
+
r"""Number of Nasdaq trades included in the inflow calculation."""
|
|
19
|
+
nyse_net_inflow: NotRequired[float]
|
|
20
|
+
r"""Net inflow value for NYSE activity. Positive values indicate net buying flow; negative values indicate net selling flow."""
|
|
21
|
+
nyse_trade_count: NotRequired[int]
|
|
22
|
+
r"""Number of NYSE trades included in the inflow calculation."""
|
|
23
|
+
timestamp: NotRequired[str]
|
|
24
|
+
r"""Data timestamp in ISO 8601 format; fractional seconds may be present (for example microseconds)."""
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class NetInflow(BaseModel):
|
|
28
|
+
r"""Net market inflow snapshot for Nasdaq and NYSE. Use it to show whether reported flow is net buying or net selling."""
|
|
29
|
+
|
|
30
|
+
nasdaq_net_inflow: Annotated[
|
|
31
|
+
Optional[float], pydantic.Field(alias="nasdaqNetInflow")
|
|
32
|
+
] = None
|
|
33
|
+
r"""Net inflow value for Nasdaq activity. Positive values indicate net buying flow; negative values indicate net selling flow."""
|
|
34
|
+
|
|
35
|
+
nasdaq_trade_count: Annotated[
|
|
36
|
+
Optional[int], pydantic.Field(alias="nasdaqTradeCount")
|
|
37
|
+
] = None
|
|
38
|
+
r"""Number of Nasdaq trades included in the inflow calculation."""
|
|
39
|
+
|
|
40
|
+
nyse_net_inflow: Annotated[
|
|
41
|
+
Optional[float], pydantic.Field(alias="nyseNetInflow")
|
|
42
|
+
] = None
|
|
43
|
+
r"""Net inflow value for NYSE activity. Positive values indicate net buying flow; negative values indicate net selling flow."""
|
|
44
|
+
|
|
45
|
+
nyse_trade_count: Annotated[
|
|
46
|
+
Optional[int], pydantic.Field(alias="nyseTradeCount")
|
|
47
|
+
] = None
|
|
48
|
+
r"""Number of NYSE trades included in the inflow calculation."""
|
|
49
|
+
|
|
50
|
+
timestamp: Optional[str] = None
|
|
51
|
+
r"""Data timestamp in ISO 8601 format; fractional seconds may be present (for example microseconds)."""
|
|
52
|
+
|
|
53
|
+
@model_serializer(mode="wrap")
|
|
54
|
+
def serialize_model(self, handler):
|
|
55
|
+
optional_fields = set(
|
|
56
|
+
[
|
|
57
|
+
"nasdaqNetInflow",
|
|
58
|
+
"nasdaqTradeCount",
|
|
59
|
+
"nyseNetInflow",
|
|
60
|
+
"nyseTradeCount",
|
|
61
|
+
"timestamp",
|
|
62
|
+
]
|
|
63
|
+
)
|
|
64
|
+
serialized = handler(self)
|
|
65
|
+
m = {}
|
|
66
|
+
|
|
67
|
+
for n, f in type(self).model_fields.items():
|
|
68
|
+
k = f.alias or n
|
|
69
|
+
val = serialized.get(k, serialized.get(n))
|
|
70
|
+
|
|
71
|
+
if val != UNSET_SENTINEL:
|
|
72
|
+
if val is not None or k not in optional_fields:
|
|
73
|
+
m[k] = val
|
|
74
|
+
|
|
75
|
+
return m
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
try:
|
|
79
|
+
NetInflow.model_rebuild()
|
|
80
|
+
except NameError:
|
|
81
|
+
pass
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: f9b91864decc
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .netinflow import NetInflow, NetInflowTypedDict
|
|
6
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import Optional
|
|
9
|
+
from typing_extensions import NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class NetInflowResponseTypedDict(TypedDict):
|
|
13
|
+
r"""Response envelope for the net inflow endpoint."""
|
|
14
|
+
|
|
15
|
+
data: NotRequired[NetInflowTypedDict]
|
|
16
|
+
r"""Net market inflow snapshot for Nasdaq and NYSE. Use it to show whether reported flow is net buying or net selling."""
|
|
17
|
+
success: NotRequired[bool]
|
|
18
|
+
r"""Always true on a successful response."""
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class NetInflowResponse(BaseModel):
|
|
22
|
+
r"""Response envelope for the net inflow endpoint."""
|
|
23
|
+
|
|
24
|
+
data: Optional[NetInflow] = None
|
|
25
|
+
r"""Net market inflow snapshot for Nasdaq and NYSE. Use it to show whether reported flow is net buying or net selling."""
|
|
26
|
+
|
|
27
|
+
success: Optional[bool] = None
|
|
28
|
+
r"""Always true on a successful response."""
|
|
29
|
+
|
|
30
|
+
@model_serializer(mode="wrap")
|
|
31
|
+
def serialize_model(self, handler):
|
|
32
|
+
optional_fields = set(["data", "success"])
|
|
33
|
+
serialized = handler(self)
|
|
34
|
+
m = {}
|
|
35
|
+
|
|
36
|
+
for n, f in type(self).model_fields.items():
|
|
37
|
+
k = f.alias or n
|
|
38
|
+
val = serialized.get(k, serialized.get(n))
|
|
39
|
+
|
|
40
|
+
if val != UNSET_SENTINEL:
|
|
41
|
+
if val is not None or k not in optional_fields:
|
|
42
|
+
m[k] = val
|
|
43
|
+
|
|
44
|
+
return m
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 47372de7118c
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .newstypeenum import NewsTypeEnum
|
|
6
|
+
from datetime import datetime
|
|
7
|
+
from finance_dev import models
|
|
8
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
9
|
+
from pydantic import field_serializer, model_serializer
|
|
10
|
+
from typing import List, Optional
|
|
11
|
+
from typing_extensions import NotRequired, TypedDict
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class NewsItemTypedDict(TypedDict):
|
|
15
|
+
r"""A single news item or press release."""
|
|
16
|
+
|
|
17
|
+
action: NotRequired[str]
|
|
18
|
+
r"""News action type (typically empty)"""
|
|
19
|
+
authors: NotRequired[List[str]]
|
|
20
|
+
r"""Authors of the news item"""
|
|
21
|
+
body: NotRequired[str]
|
|
22
|
+
r"""Full body of the news article"""
|
|
23
|
+
id: NotRequired[int]
|
|
24
|
+
r"""Unique news item ID"""
|
|
25
|
+
news_type: NotRequired[NewsTypeEnum]
|
|
26
|
+
r"""Source category of the news item. Pick one:
|
|
27
|
+
- `news` — Editorial news articles from journalists and news services.
|
|
28
|
+
- `press_release` — Official press releases issued directly by companies.
|
|
29
|
+
"""
|
|
30
|
+
symbols: NotRequired[List[str]]
|
|
31
|
+
r"""Related stock symbols"""
|
|
32
|
+
timestamp: NotRequired[datetime]
|
|
33
|
+
r"""Publication timestamp in ISO 8601 format"""
|
|
34
|
+
title: NotRequired[str]
|
|
35
|
+
r"""News headline"""
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class NewsItem(BaseModel):
|
|
39
|
+
r"""A single news item or press release."""
|
|
40
|
+
|
|
41
|
+
action: Optional[str] = None
|
|
42
|
+
r"""News action type (typically empty)"""
|
|
43
|
+
|
|
44
|
+
authors: Optional[List[str]] = None
|
|
45
|
+
r"""Authors of the news item"""
|
|
46
|
+
|
|
47
|
+
body: Optional[str] = None
|
|
48
|
+
r"""Full body of the news article"""
|
|
49
|
+
|
|
50
|
+
id: Optional[int] = None
|
|
51
|
+
r"""Unique news item ID"""
|
|
52
|
+
|
|
53
|
+
news_type: Optional[NewsTypeEnum] = None
|
|
54
|
+
r"""Source category of the news item. Pick one:
|
|
55
|
+
- `news` — Editorial news articles from journalists and news services.
|
|
56
|
+
- `press_release` — Official press releases issued directly by companies.
|
|
57
|
+
"""
|
|
58
|
+
|
|
59
|
+
symbols: Optional[List[str]] = None
|
|
60
|
+
r"""Related stock symbols"""
|
|
61
|
+
|
|
62
|
+
timestamp: Optional[datetime] = None
|
|
63
|
+
r"""Publication timestamp in ISO 8601 format"""
|
|
64
|
+
|
|
65
|
+
title: Optional[str] = None
|
|
66
|
+
r"""News headline"""
|
|
67
|
+
|
|
68
|
+
@field_serializer("news_type")
|
|
69
|
+
def serialize_news_type(self, value):
|
|
70
|
+
if isinstance(value, str):
|
|
71
|
+
try:
|
|
72
|
+
return models.NewsTypeEnum(value)
|
|
73
|
+
except ValueError:
|
|
74
|
+
return value
|
|
75
|
+
return value
|
|
76
|
+
|
|
77
|
+
@model_serializer(mode="wrap")
|
|
78
|
+
def serialize_model(self, handler):
|
|
79
|
+
optional_fields = set(
|
|
80
|
+
[
|
|
81
|
+
"action",
|
|
82
|
+
"authors",
|
|
83
|
+
"body",
|
|
84
|
+
"id",
|
|
85
|
+
"news_type",
|
|
86
|
+
"symbols",
|
|
87
|
+
"timestamp",
|
|
88
|
+
"title",
|
|
89
|
+
]
|
|
90
|
+
)
|
|
91
|
+
serialized = handler(self)
|
|
92
|
+
m = {}
|
|
93
|
+
|
|
94
|
+
for n, f in type(self).model_fields.items():
|
|
95
|
+
k = f.alias or n
|
|
96
|
+
val = serialized.get(k, serialized.get(n))
|
|
97
|
+
|
|
98
|
+
if val != UNSET_SENTINEL:
|
|
99
|
+
if val is not None or k not in optional_fields:
|
|
100
|
+
m[k] = val
|
|
101
|
+
|
|
102
|
+
return m
|