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,333 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: ac15990e23d0
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
6
|
+
from .shortvolumeresponse import ShortVolumeResponse, ShortVolumeResponseTypedDict
|
|
7
|
+
from datetime import date
|
|
8
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
9
|
+
from finance_dev.utils import FieldMetadata, QueryParamMetadata
|
|
10
|
+
import pydantic
|
|
11
|
+
from pydantic import model_serializer
|
|
12
|
+
from typing import Callable, Optional
|
|
13
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class GetShortVolumeRequestTypedDict(TypedDict):
|
|
17
|
+
ticker: NotRequired[str]
|
|
18
|
+
r"""Single ticker symbol filter. Enter one ticker such as AAPL to narrow results to one company."""
|
|
19
|
+
tickers_any_of: NotRequired[str]
|
|
20
|
+
r"""Comma-separated list of ticker symbols."""
|
|
21
|
+
ticker_after: NotRequired[str]
|
|
22
|
+
r"""Ticker pagination lower bound. Returns symbols alphabetically after this ticker, excluding the ticker itself."""
|
|
23
|
+
ticker_from: NotRequired[str]
|
|
24
|
+
r"""Ticker greater than or equal (inclusive)"""
|
|
25
|
+
ticker_before: NotRequired[str]
|
|
26
|
+
r"""Ticker pagination upper bound. Returns symbols alphabetically before this ticker, excluding the ticker itself."""
|
|
27
|
+
ticker_to: NotRequired[str]
|
|
28
|
+
r"""Ticker less than or equal (inclusive)"""
|
|
29
|
+
date_: NotRequired[date]
|
|
30
|
+
r"""Exact date in YYYY-MM-DD format. Use this when you want one specific calendar day."""
|
|
31
|
+
dates: NotRequired[str]
|
|
32
|
+
r"""Comma-separated list of dates in YYYY-MM-DD format. Use this when you want several specific dates in one request."""
|
|
33
|
+
date_after: NotRequired[date]
|
|
34
|
+
r"""After-date filter. Returns records after this date, excluding the date itself."""
|
|
35
|
+
date_from: NotRequired[date]
|
|
36
|
+
r"""Start-date filter. Returns records on or after this date."""
|
|
37
|
+
date_before: NotRequired[date]
|
|
38
|
+
r"""Before-date filter. Returns records before this date, excluding the date itself."""
|
|
39
|
+
date_to: NotRequired[date]
|
|
40
|
+
r"""End-date filter. Returns records on or before this date."""
|
|
41
|
+
short_volume_ratio: NotRequired[float]
|
|
42
|
+
r"""Exact short-volume ratio filter. Use it when you need records matching one specific ratio value."""
|
|
43
|
+
short_volume_ratio_list: NotRequired[str]
|
|
44
|
+
r"""Comma-separated list of short volume ratios"""
|
|
45
|
+
short_volume_ratio_above: NotRequired[float]
|
|
46
|
+
r"""Short volume ratio greater than (exclusive)"""
|
|
47
|
+
short_volume_ratio_min: NotRequired[float]
|
|
48
|
+
r"""Short volume ratio greater than or equal (inclusive)"""
|
|
49
|
+
short_volume_ratio_below: NotRequired[float]
|
|
50
|
+
r"""Short volume ratio less than (exclusive)"""
|
|
51
|
+
short_volume_ratio_max: NotRequired[float]
|
|
52
|
+
r"""Short volume ratio less than or equal (inclusive)"""
|
|
53
|
+
total_volume: NotRequired[int]
|
|
54
|
+
r"""Exact total-volume filter. Use it when you need records matching one specific volume value."""
|
|
55
|
+
total_volume_list: NotRequired[str]
|
|
56
|
+
r"""Comma-separated list of total volumes"""
|
|
57
|
+
total_volume_above: NotRequired[int]
|
|
58
|
+
r"""Total volume greater than (exclusive)"""
|
|
59
|
+
total_volume_min: NotRequired[int]
|
|
60
|
+
r"""Total volume greater than or equal (inclusive)"""
|
|
61
|
+
total_volume_below: NotRequired[int]
|
|
62
|
+
r"""Total-volume upper-bound filter. Returns records below this value, excluding the value itself."""
|
|
63
|
+
total_volume_max: NotRequired[int]
|
|
64
|
+
r"""Total volume less than or equal (inclusive)"""
|
|
65
|
+
limit: NotRequired[int]
|
|
66
|
+
r"""Maximum number of results to return. Use smaller values for UI pages and larger values for exports within API limits."""
|
|
67
|
+
sort: NotRequired[str]
|
|
68
|
+
r"""A comma-separated list of sort columns. For each column, append `.asc` or `.desc` to specify direction. Defaults to `ticker.asc` when not specified."""
|
|
69
|
+
next: NotRequired[str]
|
|
70
|
+
r"""Pagination cursor from the previous response. Omit it on the first request, then send the returned cursor to fetch the next page."""
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
class GetShortVolumeRequest(BaseModel):
|
|
74
|
+
ticker: Annotated[
|
|
75
|
+
Optional[str],
|
|
76
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
77
|
+
] = None
|
|
78
|
+
r"""Single ticker symbol filter. Enter one ticker such as AAPL to narrow results to one company."""
|
|
79
|
+
|
|
80
|
+
tickers_any_of: Annotated[
|
|
81
|
+
Optional[str],
|
|
82
|
+
pydantic.Field(alias="tickersAnyOf"),
|
|
83
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
84
|
+
] = None
|
|
85
|
+
r"""Comma-separated list of ticker symbols."""
|
|
86
|
+
|
|
87
|
+
ticker_after: Annotated[
|
|
88
|
+
Optional[str],
|
|
89
|
+
pydantic.Field(alias="tickerAfter"),
|
|
90
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
91
|
+
] = None
|
|
92
|
+
r"""Ticker pagination lower bound. Returns symbols alphabetically after this ticker, excluding the ticker itself."""
|
|
93
|
+
|
|
94
|
+
ticker_from: Annotated[
|
|
95
|
+
Optional[str],
|
|
96
|
+
pydantic.Field(alias="tickerFrom"),
|
|
97
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
98
|
+
] = None
|
|
99
|
+
r"""Ticker greater than or equal (inclusive)"""
|
|
100
|
+
|
|
101
|
+
ticker_before: Annotated[
|
|
102
|
+
Optional[str],
|
|
103
|
+
pydantic.Field(alias="tickerBefore"),
|
|
104
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
105
|
+
] = None
|
|
106
|
+
r"""Ticker pagination upper bound. Returns symbols alphabetically before this ticker, excluding the ticker itself."""
|
|
107
|
+
|
|
108
|
+
ticker_to: Annotated[
|
|
109
|
+
Optional[str],
|
|
110
|
+
pydantic.Field(alias="tickerTo"),
|
|
111
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
112
|
+
] = None
|
|
113
|
+
r"""Ticker less than or equal (inclusive)"""
|
|
114
|
+
|
|
115
|
+
date_: Annotated[
|
|
116
|
+
Optional[date],
|
|
117
|
+
pydantic.Field(alias="date"),
|
|
118
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
119
|
+
] = None
|
|
120
|
+
r"""Exact date in YYYY-MM-DD format. Use this when you want one specific calendar day."""
|
|
121
|
+
|
|
122
|
+
dates: Annotated[
|
|
123
|
+
Optional[str],
|
|
124
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
125
|
+
] = None
|
|
126
|
+
r"""Comma-separated list of dates in YYYY-MM-DD format. Use this when you want several specific dates in one request."""
|
|
127
|
+
|
|
128
|
+
date_after: Annotated[
|
|
129
|
+
Optional[date],
|
|
130
|
+
pydantic.Field(alias="dateAfter"),
|
|
131
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
132
|
+
] = None
|
|
133
|
+
r"""After-date filter. Returns records after this date, excluding the date itself."""
|
|
134
|
+
|
|
135
|
+
date_from: Annotated[
|
|
136
|
+
Optional[date],
|
|
137
|
+
pydantic.Field(alias="dateFrom"),
|
|
138
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
139
|
+
] = None
|
|
140
|
+
r"""Start-date filter. Returns records on or after this date."""
|
|
141
|
+
|
|
142
|
+
date_before: Annotated[
|
|
143
|
+
Optional[date],
|
|
144
|
+
pydantic.Field(alias="dateBefore"),
|
|
145
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
146
|
+
] = None
|
|
147
|
+
r"""Before-date filter. Returns records before this date, excluding the date itself."""
|
|
148
|
+
|
|
149
|
+
date_to: Annotated[
|
|
150
|
+
Optional[date],
|
|
151
|
+
pydantic.Field(alias="dateTo"),
|
|
152
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
153
|
+
] = None
|
|
154
|
+
r"""End-date filter. Returns records on or before this date."""
|
|
155
|
+
|
|
156
|
+
short_volume_ratio: Annotated[
|
|
157
|
+
Optional[float],
|
|
158
|
+
pydantic.Field(alias="shortVolumeRatio"),
|
|
159
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
160
|
+
] = None
|
|
161
|
+
r"""Exact short-volume ratio filter. Use it when you need records matching one specific ratio value."""
|
|
162
|
+
|
|
163
|
+
short_volume_ratio_list: Annotated[
|
|
164
|
+
Optional[str],
|
|
165
|
+
pydantic.Field(alias="shortVolumeRatioList"),
|
|
166
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
167
|
+
] = None
|
|
168
|
+
r"""Comma-separated list of short volume ratios"""
|
|
169
|
+
|
|
170
|
+
short_volume_ratio_above: Annotated[
|
|
171
|
+
Optional[float],
|
|
172
|
+
pydantic.Field(alias="shortVolumeRatioAbove"),
|
|
173
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
174
|
+
] = None
|
|
175
|
+
r"""Short volume ratio greater than (exclusive)"""
|
|
176
|
+
|
|
177
|
+
short_volume_ratio_min: Annotated[
|
|
178
|
+
Optional[float],
|
|
179
|
+
pydantic.Field(alias="shortVolumeRatioMin"),
|
|
180
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
181
|
+
] = None
|
|
182
|
+
r"""Short volume ratio greater than or equal (inclusive)"""
|
|
183
|
+
|
|
184
|
+
short_volume_ratio_below: Annotated[
|
|
185
|
+
Optional[float],
|
|
186
|
+
pydantic.Field(alias="shortVolumeRatioBelow"),
|
|
187
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
188
|
+
] = None
|
|
189
|
+
r"""Short volume ratio less than (exclusive)"""
|
|
190
|
+
|
|
191
|
+
short_volume_ratio_max: Annotated[
|
|
192
|
+
Optional[float],
|
|
193
|
+
pydantic.Field(alias="shortVolumeRatioMax"),
|
|
194
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
195
|
+
] = None
|
|
196
|
+
r"""Short volume ratio less than or equal (inclusive)"""
|
|
197
|
+
|
|
198
|
+
total_volume: Annotated[
|
|
199
|
+
Optional[int],
|
|
200
|
+
pydantic.Field(alias="totalVolume"),
|
|
201
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
202
|
+
] = None
|
|
203
|
+
r"""Exact total-volume filter. Use it when you need records matching one specific volume value."""
|
|
204
|
+
|
|
205
|
+
total_volume_list: Annotated[
|
|
206
|
+
Optional[str],
|
|
207
|
+
pydantic.Field(alias="totalVolumeList"),
|
|
208
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
209
|
+
] = None
|
|
210
|
+
r"""Comma-separated list of total volumes"""
|
|
211
|
+
|
|
212
|
+
total_volume_above: Annotated[
|
|
213
|
+
Optional[int],
|
|
214
|
+
pydantic.Field(alias="totalVolumeAbove"),
|
|
215
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
216
|
+
] = None
|
|
217
|
+
r"""Total volume greater than (exclusive)"""
|
|
218
|
+
|
|
219
|
+
total_volume_min: Annotated[
|
|
220
|
+
Optional[int],
|
|
221
|
+
pydantic.Field(alias="totalVolumeMin"),
|
|
222
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
223
|
+
] = None
|
|
224
|
+
r"""Total volume greater than or equal (inclusive)"""
|
|
225
|
+
|
|
226
|
+
total_volume_below: Annotated[
|
|
227
|
+
Optional[int],
|
|
228
|
+
pydantic.Field(alias="totalVolumeBelow"),
|
|
229
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
230
|
+
] = None
|
|
231
|
+
r"""Total-volume upper-bound filter. Returns records below this value, excluding the value itself."""
|
|
232
|
+
|
|
233
|
+
total_volume_max: Annotated[
|
|
234
|
+
Optional[int],
|
|
235
|
+
pydantic.Field(alias="totalVolumeMax"),
|
|
236
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
237
|
+
] = None
|
|
238
|
+
r"""Total volume less than or equal (inclusive)"""
|
|
239
|
+
|
|
240
|
+
limit: Annotated[
|
|
241
|
+
Optional[int],
|
|
242
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
243
|
+
] = None
|
|
244
|
+
r"""Maximum number of results to return. Use smaller values for UI pages and larger values for exports within API limits."""
|
|
245
|
+
|
|
246
|
+
sort: Annotated[
|
|
247
|
+
Optional[str],
|
|
248
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
249
|
+
] = None
|
|
250
|
+
r"""A comma-separated list of sort columns. For each column, append `.asc` or `.desc` to specify direction. Defaults to `ticker.asc` when not specified."""
|
|
251
|
+
|
|
252
|
+
next: Annotated[
|
|
253
|
+
Optional[str],
|
|
254
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
255
|
+
] = None
|
|
256
|
+
r"""Pagination cursor from the previous response. Omit it on the first request, then send the returned cursor to fetch the next page."""
|
|
257
|
+
|
|
258
|
+
@model_serializer(mode="wrap")
|
|
259
|
+
def serialize_model(self, handler):
|
|
260
|
+
optional_fields = set(
|
|
261
|
+
[
|
|
262
|
+
"ticker",
|
|
263
|
+
"tickersAnyOf",
|
|
264
|
+
"tickerAfter",
|
|
265
|
+
"tickerFrom",
|
|
266
|
+
"tickerBefore",
|
|
267
|
+
"tickerTo",
|
|
268
|
+
"date",
|
|
269
|
+
"dates",
|
|
270
|
+
"dateAfter",
|
|
271
|
+
"dateFrom",
|
|
272
|
+
"dateBefore",
|
|
273
|
+
"dateTo",
|
|
274
|
+
"shortVolumeRatio",
|
|
275
|
+
"shortVolumeRatioList",
|
|
276
|
+
"shortVolumeRatioAbove",
|
|
277
|
+
"shortVolumeRatioMin",
|
|
278
|
+
"shortVolumeRatioBelow",
|
|
279
|
+
"shortVolumeRatioMax",
|
|
280
|
+
"totalVolume",
|
|
281
|
+
"totalVolumeList",
|
|
282
|
+
"totalVolumeAbove",
|
|
283
|
+
"totalVolumeMin",
|
|
284
|
+
"totalVolumeBelow",
|
|
285
|
+
"totalVolumeMax",
|
|
286
|
+
"limit",
|
|
287
|
+
"sort",
|
|
288
|
+
"next",
|
|
289
|
+
]
|
|
290
|
+
)
|
|
291
|
+
serialized = handler(self)
|
|
292
|
+
m = {}
|
|
293
|
+
|
|
294
|
+
for n, f in type(self).model_fields.items():
|
|
295
|
+
k = f.alias or n
|
|
296
|
+
val = serialized.get(k, serialized.get(n))
|
|
297
|
+
|
|
298
|
+
if val != UNSET_SENTINEL:
|
|
299
|
+
if val is not None or k not in optional_fields:
|
|
300
|
+
m[k] = val
|
|
301
|
+
|
|
302
|
+
return m
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
class GetShortVolumeResponseTypedDict(TypedDict):
|
|
306
|
+
http_meta: HTTPMetadataTypedDict
|
|
307
|
+
short_volume_response: NotRequired[ShortVolumeResponseTypedDict]
|
|
308
|
+
r"""Successful response"""
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
class GetShortVolumeResponse(BaseModel):
|
|
312
|
+
next: Callable[[], Optional[GetShortVolumeResponse]]
|
|
313
|
+
|
|
314
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
315
|
+
|
|
316
|
+
short_volume_response: Optional[ShortVolumeResponse] = None
|
|
317
|
+
r"""Successful response"""
|
|
318
|
+
|
|
319
|
+
@model_serializer(mode="wrap")
|
|
320
|
+
def serialize_model(self, handler):
|
|
321
|
+
optional_fields = set(["ShortVolumeResponse"])
|
|
322
|
+
serialized = handler(self)
|
|
323
|
+
m = {}
|
|
324
|
+
|
|
325
|
+
for n, f in type(self).model_fields.items():
|
|
326
|
+
k = f.alias or n
|
|
327
|
+
val = serialized.get(k, serialized.get(n))
|
|
328
|
+
|
|
329
|
+
if val != UNSET_SENTINEL:
|
|
330
|
+
if val is not None or k not in optional_fields:
|
|
331
|
+
m[k] = val
|
|
332
|
+
|
|
333
|
+
return m
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: bc1c52b3a1a3
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
6
|
+
from .socialsentimentresponse import (
|
|
7
|
+
SocialSentimentResponse,
|
|
8
|
+
SocialSentimentResponseTypedDict,
|
|
9
|
+
)
|
|
10
|
+
from datetime import date
|
|
11
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
12
|
+
from finance_dev.utils import FieldMetadata, QueryParamMetadata
|
|
13
|
+
import pydantic
|
|
14
|
+
from pydantic import model_serializer
|
|
15
|
+
from typing import Optional
|
|
16
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class GetSocialSentimentRequestTypedDict(TypedDict):
|
|
20
|
+
symbol: str
|
|
21
|
+
r"""Stock ticker to query. Send the plain uppercase symbol exactly as you'd type it on a brokerage screen, e.g. `AAPL`, `MSFT`."""
|
|
22
|
+
from_: NotRequired[date]
|
|
23
|
+
r"""Start of the date window, inclusive. Format: `YYYY-MM-DD` (e.g. `2024-01-01`)."""
|
|
24
|
+
to: NotRequired[date]
|
|
25
|
+
r"""End of the date window, inclusive. Format: `YYYY-MM-DD` (e.g. `2024-12-31`)."""
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class GetSocialSentimentRequest(BaseModel):
|
|
29
|
+
symbol: Annotated[
|
|
30
|
+
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
31
|
+
]
|
|
32
|
+
r"""Stock ticker to query. Send the plain uppercase symbol exactly as you'd type it on a brokerage screen, e.g. `AAPL`, `MSFT`."""
|
|
33
|
+
|
|
34
|
+
from_: Annotated[
|
|
35
|
+
Optional[date],
|
|
36
|
+
pydantic.Field(alias="from"),
|
|
37
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
38
|
+
] = None
|
|
39
|
+
r"""Start of the date window, inclusive. Format: `YYYY-MM-DD` (e.g. `2024-01-01`)."""
|
|
40
|
+
|
|
41
|
+
to: Annotated[
|
|
42
|
+
Optional[date],
|
|
43
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
44
|
+
] = None
|
|
45
|
+
r"""End of the date window, inclusive. Format: `YYYY-MM-DD` (e.g. `2024-12-31`)."""
|
|
46
|
+
|
|
47
|
+
@model_serializer(mode="wrap")
|
|
48
|
+
def serialize_model(self, handler):
|
|
49
|
+
optional_fields = set(["from", "to"])
|
|
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
|
+
class GetSocialSentimentResponseTypedDict(TypedDict):
|
|
65
|
+
http_meta: HTTPMetadataTypedDict
|
|
66
|
+
social_sentiment_response: NotRequired[SocialSentimentResponseTypedDict]
|
|
67
|
+
r"""Social sentiment data."""
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
class GetSocialSentimentResponse(BaseModel):
|
|
71
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
72
|
+
|
|
73
|
+
social_sentiment_response: Optional[SocialSentimentResponse] = None
|
|
74
|
+
r"""Social sentiment data."""
|
|
75
|
+
|
|
76
|
+
@model_serializer(mode="wrap")
|
|
77
|
+
def serialize_model(self, handler):
|
|
78
|
+
optional_fields = set(["SocialSentimentResponse"])
|
|
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
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 0e84dd9e77a9
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
6
|
+
from .spinoffsresponse import SpinoffsResponse, SpinoffsResponseTypedDict
|
|
7
|
+
from .tenderofferidentifiertype import TenderOfferIdentifierType
|
|
8
|
+
from datetime import date
|
|
9
|
+
from finance_dev import models
|
|
10
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
11
|
+
from finance_dev.utils import FieldMetadata, QueryParamMetadata
|
|
12
|
+
import pydantic
|
|
13
|
+
from pydantic import field_serializer, model_serializer
|
|
14
|
+
from typing import Optional
|
|
15
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class GetSpinoffsRequestTypedDict(TypedDict):
|
|
19
|
+
identifier: str
|
|
20
|
+
r"""Identifier value for the company you're querying. The format depends on `identifierType`:
|
|
21
|
+
- `Symbol` — exchange ticker (e.g. `AAPL`).
|
|
22
|
+
- `CUSIP` — 9-character U.S./Canadian identifier (e.g. `037833100`).
|
|
23
|
+
- `ISIN` — 12-character international identifier (e.g. `US0378331005`).
|
|
24
|
+
- `SEDOL` — 7-character UK identifier.
|
|
25
|
+
- `Valoren` — Swiss security identifier.
|
|
26
|
+
- `FIGI` — Bloomberg Financial Instrument Global Identifier.
|
|
27
|
+
- `CompositeFIGI` — country-level composite FIGI.
|
|
28
|
+
|
|
29
|
+
Must match the kind selected in `identifierType`.
|
|
30
|
+
"""
|
|
31
|
+
identifier_type: TenderOfferIdentifierType
|
|
32
|
+
r"""Tells the API how to interpret `identifier`. See `TenderOfferIdentifierType` for the full set of supported values and what each one means."""
|
|
33
|
+
start_date: date
|
|
34
|
+
r"""Start of the spin-off announcement window, inclusive. Format: `YYYY-MM-DD` (e.g. `2020-01-01`)."""
|
|
35
|
+
end_date: date
|
|
36
|
+
r"""End of the spin-off announcement window, inclusive. Format: `YYYY-MM-DD` (e.g. `2020-12-31`)."""
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class GetSpinoffsRequest(BaseModel):
|
|
40
|
+
identifier: Annotated[
|
|
41
|
+
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
42
|
+
]
|
|
43
|
+
r"""Identifier value for the company you're querying. The format depends on `identifierType`:
|
|
44
|
+
- `Symbol` — exchange ticker (e.g. `AAPL`).
|
|
45
|
+
- `CUSIP` — 9-character U.S./Canadian identifier (e.g. `037833100`).
|
|
46
|
+
- `ISIN` — 12-character international identifier (e.g. `US0378331005`).
|
|
47
|
+
- `SEDOL` — 7-character UK identifier.
|
|
48
|
+
- `Valoren` — Swiss security identifier.
|
|
49
|
+
- `FIGI` — Bloomberg Financial Instrument Global Identifier.
|
|
50
|
+
- `CompositeFIGI` — country-level composite FIGI.
|
|
51
|
+
|
|
52
|
+
Must match the kind selected in `identifierType`.
|
|
53
|
+
"""
|
|
54
|
+
|
|
55
|
+
identifier_type: Annotated[
|
|
56
|
+
TenderOfferIdentifierType,
|
|
57
|
+
pydantic.Field(alias="identifierType"),
|
|
58
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
59
|
+
]
|
|
60
|
+
r"""Tells the API how to interpret `identifier`. See `TenderOfferIdentifierType` for the full set of supported values and what each one means."""
|
|
61
|
+
|
|
62
|
+
start_date: Annotated[
|
|
63
|
+
date,
|
|
64
|
+
pydantic.Field(alias="startDate"),
|
|
65
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
66
|
+
]
|
|
67
|
+
r"""Start of the spin-off announcement window, inclusive. Format: `YYYY-MM-DD` (e.g. `2020-01-01`)."""
|
|
68
|
+
|
|
69
|
+
end_date: Annotated[
|
|
70
|
+
date,
|
|
71
|
+
pydantic.Field(alias="endDate"),
|
|
72
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
73
|
+
]
|
|
74
|
+
r"""End of the spin-off announcement window, inclusive. Format: `YYYY-MM-DD` (e.g. `2020-12-31`)."""
|
|
75
|
+
|
|
76
|
+
@field_serializer("identifier_type")
|
|
77
|
+
def serialize_identifier_type(self, value):
|
|
78
|
+
if isinstance(value, str):
|
|
79
|
+
try:
|
|
80
|
+
return models.TenderOfferIdentifierType(value)
|
|
81
|
+
except ValueError:
|
|
82
|
+
return value
|
|
83
|
+
return value
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
class GetSpinoffsResponseTypedDict(TypedDict):
|
|
87
|
+
http_meta: HTTPMetadataTypedDict
|
|
88
|
+
spinoffs_response: NotRequired[SpinoffsResponseTypedDict]
|
|
89
|
+
r"""Successful response with spinoffs data"""
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
class GetSpinoffsResponse(BaseModel):
|
|
93
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
94
|
+
|
|
95
|
+
spinoffs_response: Optional[SpinoffsResponse] = None
|
|
96
|
+
r"""Successful response with spinoffs data"""
|
|
97
|
+
|
|
98
|
+
@model_serializer(mode="wrap")
|
|
99
|
+
def serialize_model(self, handler):
|
|
100
|
+
optional_fields = set(["SpinoffsResponse"])
|
|
101
|
+
serialized = handler(self)
|
|
102
|
+
m = {}
|
|
103
|
+
|
|
104
|
+
for n, f in type(self).model_fields.items():
|
|
105
|
+
k = f.alias or n
|
|
106
|
+
val = serialized.get(k, serialized.get(n))
|
|
107
|
+
|
|
108
|
+
if val != UNSET_SENTINEL:
|
|
109
|
+
if val is not None or k not in optional_fields:
|
|
110
|
+
m[k] = val
|
|
111
|
+
|
|
112
|
+
return m
|