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,157 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: f51044bc1fbd
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
6
|
+
from .inflationexpectationsresponse import (
|
|
7
|
+
InflationExpectationsResponse,
|
|
8
|
+
InflationExpectationsResponseTypedDict,
|
|
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 Callable, Optional
|
|
16
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class GetInflationExpectationsRequestTypedDict(TypedDict):
|
|
20
|
+
date_: NotRequired[date]
|
|
21
|
+
r"""Exact date in YYYY-MM-DD format. Use this when you want one specific calendar day."""
|
|
22
|
+
dates: NotRequired[str]
|
|
23
|
+
r"""Comma-separated list of dates in YYYY-MM-DD format. Use this when you want several specific dates in one request."""
|
|
24
|
+
date_from: NotRequired[date]
|
|
25
|
+
r"""Start-date filter. Returns records on or after this date."""
|
|
26
|
+
date_to: NotRequired[date]
|
|
27
|
+
r"""End-date filter. Returns records on or before this date."""
|
|
28
|
+
date_after: NotRequired[date]
|
|
29
|
+
r"""After-date filter. Returns records after this date, excluding the date itself."""
|
|
30
|
+
date_before: NotRequired[date]
|
|
31
|
+
r"""Before-date filter. Returns records before this date, excluding the date itself."""
|
|
32
|
+
limit: NotRequired[int]
|
|
33
|
+
r"""Maximum number of results to return. Use smaller values for UI pages and larger values for exports within API limits."""
|
|
34
|
+
sort: NotRequired[str]
|
|
35
|
+
r"""A comma-separated list of sort columns. For each column, append `.asc` or `.desc` to specify direction. Defaults to `date.asc` when not specified."""
|
|
36
|
+
next: NotRequired[str]
|
|
37
|
+
r"""Pagination cursor from the previous response. Omit it on the first request, then send the returned cursor to fetch the next page."""
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class GetInflationExpectationsRequest(BaseModel):
|
|
41
|
+
date_: Annotated[
|
|
42
|
+
Optional[date],
|
|
43
|
+
pydantic.Field(alias="date"),
|
|
44
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
45
|
+
] = None
|
|
46
|
+
r"""Exact date in YYYY-MM-DD format. Use this when you want one specific calendar day."""
|
|
47
|
+
|
|
48
|
+
dates: Annotated[
|
|
49
|
+
Optional[str],
|
|
50
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
51
|
+
] = None
|
|
52
|
+
r"""Comma-separated list of dates in YYYY-MM-DD format. Use this when you want several specific dates in one request."""
|
|
53
|
+
|
|
54
|
+
date_from: Annotated[
|
|
55
|
+
Optional[date],
|
|
56
|
+
pydantic.Field(alias="dateFrom"),
|
|
57
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
58
|
+
] = None
|
|
59
|
+
r"""Start-date filter. Returns records on or after this date."""
|
|
60
|
+
|
|
61
|
+
date_to: Annotated[
|
|
62
|
+
Optional[date],
|
|
63
|
+
pydantic.Field(alias="dateTo"),
|
|
64
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
65
|
+
] = None
|
|
66
|
+
r"""End-date filter. Returns records on or before this date."""
|
|
67
|
+
|
|
68
|
+
date_after: Annotated[
|
|
69
|
+
Optional[date],
|
|
70
|
+
pydantic.Field(alias="dateAfter"),
|
|
71
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
72
|
+
] = None
|
|
73
|
+
r"""After-date filter. Returns records after this date, excluding the date itself."""
|
|
74
|
+
|
|
75
|
+
date_before: Annotated[
|
|
76
|
+
Optional[date],
|
|
77
|
+
pydantic.Field(alias="dateBefore"),
|
|
78
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
79
|
+
] = None
|
|
80
|
+
r"""Before-date filter. Returns records before this date, excluding the date itself."""
|
|
81
|
+
|
|
82
|
+
limit: Annotated[
|
|
83
|
+
Optional[int],
|
|
84
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
85
|
+
] = None
|
|
86
|
+
r"""Maximum number of results to return. Use smaller values for UI pages and larger values for exports within API limits."""
|
|
87
|
+
|
|
88
|
+
sort: Annotated[
|
|
89
|
+
Optional[str],
|
|
90
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
91
|
+
] = None
|
|
92
|
+
r"""A comma-separated list of sort columns. For each column, append `.asc` or `.desc` to specify direction. Defaults to `date.asc` when not specified."""
|
|
93
|
+
|
|
94
|
+
next: Annotated[
|
|
95
|
+
Optional[str],
|
|
96
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
97
|
+
] = None
|
|
98
|
+
r"""Pagination cursor from the previous response. Omit it on the first request, then send the returned cursor to fetch the next page."""
|
|
99
|
+
|
|
100
|
+
@model_serializer(mode="wrap")
|
|
101
|
+
def serialize_model(self, handler):
|
|
102
|
+
optional_fields = set(
|
|
103
|
+
[
|
|
104
|
+
"date",
|
|
105
|
+
"dates",
|
|
106
|
+
"dateFrom",
|
|
107
|
+
"dateTo",
|
|
108
|
+
"dateAfter",
|
|
109
|
+
"dateBefore",
|
|
110
|
+
"limit",
|
|
111
|
+
"sort",
|
|
112
|
+
"next",
|
|
113
|
+
]
|
|
114
|
+
)
|
|
115
|
+
serialized = handler(self)
|
|
116
|
+
m = {}
|
|
117
|
+
|
|
118
|
+
for n, f in type(self).model_fields.items():
|
|
119
|
+
k = f.alias or n
|
|
120
|
+
val = serialized.get(k, serialized.get(n))
|
|
121
|
+
|
|
122
|
+
if val != UNSET_SENTINEL:
|
|
123
|
+
if val is not None or k not in optional_fields:
|
|
124
|
+
m[k] = val
|
|
125
|
+
|
|
126
|
+
return m
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
class GetInflationExpectationsResponseTypedDict(TypedDict):
|
|
130
|
+
http_meta: HTTPMetadataTypedDict
|
|
131
|
+
inflation_expectations_response: NotRequired[InflationExpectationsResponseTypedDict]
|
|
132
|
+
r"""Successful response"""
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
class GetInflationExpectationsResponse(BaseModel):
|
|
136
|
+
next: Callable[[], Optional[GetInflationExpectationsResponse]]
|
|
137
|
+
|
|
138
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
139
|
+
|
|
140
|
+
inflation_expectations_response: Optional[InflationExpectationsResponse] = None
|
|
141
|
+
r"""Successful response"""
|
|
142
|
+
|
|
143
|
+
@model_serializer(mode="wrap")
|
|
144
|
+
def serialize_model(self, handler):
|
|
145
|
+
optional_fields = set(["InflationExpectationsResponse"])
|
|
146
|
+
serialized = handler(self)
|
|
147
|
+
m = {}
|
|
148
|
+
|
|
149
|
+
for n, f in type(self).model_fields.items():
|
|
150
|
+
k = f.alias or n
|
|
151
|
+
val = serialized.get(k, serialized.get(n))
|
|
152
|
+
|
|
153
|
+
if val != UNSET_SENTINEL:
|
|
154
|
+
if val is not None or k not in optional_fields:
|
|
155
|
+
m[k] = val
|
|
156
|
+
|
|
157
|
+
return m
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 67032bce2451
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
6
|
+
from .inflationresponse import InflationResponse, InflationResponseTypedDict
|
|
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 GetInflationRequestTypedDict(TypedDict):
|
|
17
|
+
date_: NotRequired[date]
|
|
18
|
+
r"""Exact date in YYYY-MM-DD format. Use this when you want one specific calendar day."""
|
|
19
|
+
dates: NotRequired[str]
|
|
20
|
+
r"""Comma-separated list of dates in YYYY-MM-DD format. Use this when you want several specific dates in one request."""
|
|
21
|
+
date_from: NotRequired[date]
|
|
22
|
+
r"""Start-date filter. Returns records on or after this date."""
|
|
23
|
+
date_to: NotRequired[date]
|
|
24
|
+
r"""End-date filter. Returns records on or before this date."""
|
|
25
|
+
date_after: NotRequired[date]
|
|
26
|
+
r"""After-date filter. Returns records after this date, excluding the date itself."""
|
|
27
|
+
date_before: NotRequired[date]
|
|
28
|
+
r"""Before-date filter. Returns records before this date, excluding the date itself."""
|
|
29
|
+
limit: NotRequired[int]
|
|
30
|
+
r"""Maximum number of results to return. Use smaller values for UI pages and larger values for exports within API limits."""
|
|
31
|
+
sort: NotRequired[str]
|
|
32
|
+
r"""A comma-separated list of sort columns. For each column, append `.asc` or `.desc` to specify direction. Defaults to `date.asc` when not specified."""
|
|
33
|
+
next: NotRequired[str]
|
|
34
|
+
r"""Pagination cursor from the previous response. Omit it on the first request, then send the returned cursor to fetch the next page."""
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class GetInflationRequest(BaseModel):
|
|
38
|
+
date_: Annotated[
|
|
39
|
+
Optional[date],
|
|
40
|
+
pydantic.Field(alias="date"),
|
|
41
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
42
|
+
] = None
|
|
43
|
+
r"""Exact date in YYYY-MM-DD format. Use this when you want one specific calendar day."""
|
|
44
|
+
|
|
45
|
+
dates: Annotated[
|
|
46
|
+
Optional[str],
|
|
47
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
48
|
+
] = None
|
|
49
|
+
r"""Comma-separated list of dates in YYYY-MM-DD format. Use this when you want several specific dates in one request."""
|
|
50
|
+
|
|
51
|
+
date_from: Annotated[
|
|
52
|
+
Optional[date],
|
|
53
|
+
pydantic.Field(alias="dateFrom"),
|
|
54
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
55
|
+
] = None
|
|
56
|
+
r"""Start-date filter. Returns records on or after this date."""
|
|
57
|
+
|
|
58
|
+
date_to: Annotated[
|
|
59
|
+
Optional[date],
|
|
60
|
+
pydantic.Field(alias="dateTo"),
|
|
61
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
62
|
+
] = None
|
|
63
|
+
r"""End-date filter. Returns records on or before this date."""
|
|
64
|
+
|
|
65
|
+
date_after: Annotated[
|
|
66
|
+
Optional[date],
|
|
67
|
+
pydantic.Field(alias="dateAfter"),
|
|
68
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
69
|
+
] = None
|
|
70
|
+
r"""After-date filter. Returns records after this date, excluding the date itself."""
|
|
71
|
+
|
|
72
|
+
date_before: Annotated[
|
|
73
|
+
Optional[date],
|
|
74
|
+
pydantic.Field(alias="dateBefore"),
|
|
75
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
76
|
+
] = None
|
|
77
|
+
r"""Before-date filter. Returns records before this date, excluding the date itself."""
|
|
78
|
+
|
|
79
|
+
limit: Annotated[
|
|
80
|
+
Optional[int],
|
|
81
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
82
|
+
] = None
|
|
83
|
+
r"""Maximum number of results to return. Use smaller values for UI pages and larger values for exports within API limits."""
|
|
84
|
+
|
|
85
|
+
sort: Annotated[
|
|
86
|
+
Optional[str],
|
|
87
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
88
|
+
] = None
|
|
89
|
+
r"""A comma-separated list of sort columns. For each column, append `.asc` or `.desc` to specify direction. Defaults to `date.asc` when not specified."""
|
|
90
|
+
|
|
91
|
+
next: Annotated[
|
|
92
|
+
Optional[str],
|
|
93
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
94
|
+
] = None
|
|
95
|
+
r"""Pagination cursor from the previous response. Omit it on the first request, then send the returned cursor to fetch the next page."""
|
|
96
|
+
|
|
97
|
+
@model_serializer(mode="wrap")
|
|
98
|
+
def serialize_model(self, handler):
|
|
99
|
+
optional_fields = set(
|
|
100
|
+
[
|
|
101
|
+
"date",
|
|
102
|
+
"dates",
|
|
103
|
+
"dateFrom",
|
|
104
|
+
"dateTo",
|
|
105
|
+
"dateAfter",
|
|
106
|
+
"dateBefore",
|
|
107
|
+
"limit",
|
|
108
|
+
"sort",
|
|
109
|
+
"next",
|
|
110
|
+
]
|
|
111
|
+
)
|
|
112
|
+
serialized = handler(self)
|
|
113
|
+
m = {}
|
|
114
|
+
|
|
115
|
+
for n, f in type(self).model_fields.items():
|
|
116
|
+
k = f.alias or n
|
|
117
|
+
val = serialized.get(k, serialized.get(n))
|
|
118
|
+
|
|
119
|
+
if val != UNSET_SENTINEL:
|
|
120
|
+
if val is not None or k not in optional_fields:
|
|
121
|
+
m[k] = val
|
|
122
|
+
|
|
123
|
+
return m
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
class GetInflationResponseTypedDict(TypedDict):
|
|
127
|
+
http_meta: HTTPMetadataTypedDict
|
|
128
|
+
inflation_response: NotRequired[InflationResponseTypedDict]
|
|
129
|
+
r"""Successful response"""
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
class GetInflationResponse(BaseModel):
|
|
133
|
+
next: Callable[[], Optional[GetInflationResponse]]
|
|
134
|
+
|
|
135
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
136
|
+
|
|
137
|
+
inflation_response: Optional[InflationResponse] = None
|
|
138
|
+
r"""Successful response"""
|
|
139
|
+
|
|
140
|
+
@model_serializer(mode="wrap")
|
|
141
|
+
def serialize_model(self, handler):
|
|
142
|
+
optional_fields = set(["InflationResponse"])
|
|
143
|
+
serialized = handler(self)
|
|
144
|
+
m = {}
|
|
145
|
+
|
|
146
|
+
for n, f in type(self).model_fields.items():
|
|
147
|
+
k = f.alias or n
|
|
148
|
+
val = serialized.get(k, serialized.get(n))
|
|
149
|
+
|
|
150
|
+
if val != UNSET_SENTINEL:
|
|
151
|
+
if val is not None or k not in optional_fields:
|
|
152
|
+
m[k] = val
|
|
153
|
+
|
|
154
|
+
return m
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 594f80221f9a
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
6
|
+
from .insidertransactionsresponse import (
|
|
7
|
+
InsiderTransactionsResponse,
|
|
8
|
+
InsiderTransactionsResponseTypedDict,
|
|
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 GetInsiderTransactionsRequestTypedDict(TypedDict):
|
|
20
|
+
symbol: str
|
|
21
|
+
r"""Stock symbol, such as AAPL. Use it to narrow results to one company."""
|
|
22
|
+
from_: NotRequired[date]
|
|
23
|
+
r"""Optional start date in YYYY-MM-DD format. Use it to begin the research window."""
|
|
24
|
+
to: NotRequired[date]
|
|
25
|
+
r"""Optional end date in YYYY-MM-DD format. Use it to end the research window."""
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class GetInsiderTransactionsRequest(BaseModel):
|
|
29
|
+
symbol: Annotated[
|
|
30
|
+
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
31
|
+
]
|
|
32
|
+
r"""Stock symbol, such as AAPL. Use it to narrow results to one company."""
|
|
33
|
+
|
|
34
|
+
from_: Annotated[
|
|
35
|
+
Optional[date],
|
|
36
|
+
pydantic.Field(alias="from"),
|
|
37
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
38
|
+
] = None
|
|
39
|
+
r"""Optional start date in YYYY-MM-DD format. Use it to begin the research window."""
|
|
40
|
+
|
|
41
|
+
to: Annotated[
|
|
42
|
+
Optional[date],
|
|
43
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
44
|
+
] = None
|
|
45
|
+
r"""Optional end date in YYYY-MM-DD format. Use it to end the research window."""
|
|
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 GetInsiderTransactionsResponseTypedDict(TypedDict):
|
|
65
|
+
http_meta: HTTPMetadataTypedDict
|
|
66
|
+
insider_transactions_response: NotRequired[InsiderTransactionsResponseTypedDict]
|
|
67
|
+
r"""Insider transactions."""
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
class GetInsiderTransactionsResponse(BaseModel):
|
|
71
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
72
|
+
|
|
73
|
+
insider_transactions_response: Optional[InsiderTransactionsResponse] = None
|
|
74
|
+
r"""Insider transactions."""
|
|
75
|
+
|
|
76
|
+
@model_serializer(mode="wrap")
|
|
77
|
+
def serialize_model(self, handler):
|
|
78
|
+
optional_fields = set(["InsiderTransactionsResponse"])
|
|
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,99 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: f0aecac29259
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
6
|
+
from .institutionalownershipresponse import (
|
|
7
|
+
InstitutionalOwnershipResponse,
|
|
8
|
+
InstitutionalOwnershipResponseTypedDict,
|
|
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 GetInstitutionalOwnershipRequestTypedDict(TypedDict):
|
|
20
|
+
cusip: str
|
|
21
|
+
r"""CUSIP security identifier for the security you want institutional ownership for."""
|
|
22
|
+
from_: date
|
|
23
|
+
r"""Start date in YYYY-MM-DD format. Enter the first date to include in the research window."""
|
|
24
|
+
to: date
|
|
25
|
+
r"""End date in YYYY-MM-DD format. Enter the last date to include in the research window."""
|
|
26
|
+
symbol: NotRequired[str]
|
|
27
|
+
r"""Optional stock ticker symbol filter, such as AAPL. Use it to narrow results to one company."""
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class GetInstitutionalOwnershipRequest(BaseModel):
|
|
31
|
+
cusip: Annotated[
|
|
32
|
+
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
33
|
+
]
|
|
34
|
+
r"""CUSIP security identifier for the security you want institutional ownership for."""
|
|
35
|
+
|
|
36
|
+
from_: Annotated[
|
|
37
|
+
date,
|
|
38
|
+
pydantic.Field(alias="from"),
|
|
39
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
40
|
+
]
|
|
41
|
+
r"""Start date in YYYY-MM-DD format. Enter the first date to include in the research window."""
|
|
42
|
+
|
|
43
|
+
to: Annotated[
|
|
44
|
+
date, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
45
|
+
]
|
|
46
|
+
r"""End date in YYYY-MM-DD format. Enter the last date to include in the research window."""
|
|
47
|
+
|
|
48
|
+
symbol: Annotated[
|
|
49
|
+
Optional[str],
|
|
50
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
51
|
+
] = None
|
|
52
|
+
r"""Optional stock ticker symbol filter, such as AAPL. Use it to narrow results to one company."""
|
|
53
|
+
|
|
54
|
+
@model_serializer(mode="wrap")
|
|
55
|
+
def serialize_model(self, handler):
|
|
56
|
+
optional_fields = set(["symbol"])
|
|
57
|
+
serialized = handler(self)
|
|
58
|
+
m = {}
|
|
59
|
+
|
|
60
|
+
for n, f in type(self).model_fields.items():
|
|
61
|
+
k = f.alias or n
|
|
62
|
+
val = serialized.get(k, serialized.get(n))
|
|
63
|
+
|
|
64
|
+
if val != UNSET_SENTINEL:
|
|
65
|
+
if val is not None or k not in optional_fields:
|
|
66
|
+
m[k] = val
|
|
67
|
+
|
|
68
|
+
return m
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
class GetInstitutionalOwnershipResponseTypedDict(TypedDict):
|
|
72
|
+
http_meta: HTTPMetadataTypedDict
|
|
73
|
+
institutional_ownership_response: NotRequired[
|
|
74
|
+
InstitutionalOwnershipResponseTypedDict
|
|
75
|
+
]
|
|
76
|
+
r"""Institutional ownership data."""
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
class GetInstitutionalOwnershipResponse(BaseModel):
|
|
80
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
81
|
+
|
|
82
|
+
institutional_ownership_response: Optional[InstitutionalOwnershipResponse] = None
|
|
83
|
+
r"""Institutional ownership data."""
|
|
84
|
+
|
|
85
|
+
@model_serializer(mode="wrap")
|
|
86
|
+
def serialize_model(self, handler):
|
|
87
|
+
optional_fields = set(["InstitutionalOwnershipResponse"])
|
|
88
|
+
serialized = handler(self)
|
|
89
|
+
m = {}
|
|
90
|
+
|
|
91
|
+
for n, f in type(self).model_fields.items():
|
|
92
|
+
k = f.alias or n
|
|
93
|
+
val = serialized.get(k, serialized.get(n))
|
|
94
|
+
|
|
95
|
+
if val != UNSET_SENTINEL:
|
|
96
|
+
if val is not None or k not in optional_fields:
|
|
97
|
+
m[k] = val
|
|
98
|
+
|
|
99
|
+
return m
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 52c9324084d8
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
6
|
+
from .institutionalportfolioresponse import (
|
|
7
|
+
InstitutionalPortfolioResponse,
|
|
8
|
+
InstitutionalPortfolioResponseTypedDict,
|
|
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 GetInstitutionalPortfolioRequestTypedDict(TypedDict):
|
|
20
|
+
cik: str
|
|
21
|
+
r"""Central Index Key (CIK) of the institution."""
|
|
22
|
+
from_: date
|
|
23
|
+
r"""Start date in YYYY-MM-DD format. Enter the first date to include in the research window."""
|
|
24
|
+
to: date
|
|
25
|
+
r"""End date in YYYY-MM-DD format. Enter the last date to include in the research window."""
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class GetInstitutionalPortfolioRequest(BaseModel):
|
|
29
|
+
cik: Annotated[
|
|
30
|
+
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
31
|
+
]
|
|
32
|
+
r"""Central Index Key (CIK) of the institution."""
|
|
33
|
+
|
|
34
|
+
from_: Annotated[
|
|
35
|
+
date,
|
|
36
|
+
pydantic.Field(alias="from"),
|
|
37
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
38
|
+
]
|
|
39
|
+
r"""Start date in YYYY-MM-DD format. Enter the first date to include in the research window."""
|
|
40
|
+
|
|
41
|
+
to: Annotated[
|
|
42
|
+
date, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
43
|
+
]
|
|
44
|
+
r"""End date in YYYY-MM-DD format. Enter the last date to include in the research window."""
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class GetInstitutionalPortfolioResponseTypedDict(TypedDict):
|
|
48
|
+
http_meta: HTTPMetadataTypedDict
|
|
49
|
+
institutional_portfolio_response: NotRequired[
|
|
50
|
+
InstitutionalPortfolioResponseTypedDict
|
|
51
|
+
]
|
|
52
|
+
r"""Institutional portfolio holdings."""
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class GetInstitutionalPortfolioResponse(BaseModel):
|
|
56
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
57
|
+
|
|
58
|
+
institutional_portfolio_response: Optional[InstitutionalPortfolioResponse] = None
|
|
59
|
+
r"""Institutional portfolio holdings."""
|
|
60
|
+
|
|
61
|
+
@model_serializer(mode="wrap")
|
|
62
|
+
def serialize_model(self, handler):
|
|
63
|
+
optional_fields = set(["InstitutionalPortfolioResponse"])
|
|
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
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 18f8f6725dc2
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
6
|
+
from .investmentthemeid import InvestmentThemeID
|
|
7
|
+
from .investmentthemeresponse import (
|
|
8
|
+
InvestmentThemeResponse,
|
|
9
|
+
InvestmentThemeResponseTypedDict,
|
|
10
|
+
)
|
|
11
|
+
from finance_dev import models
|
|
12
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
13
|
+
from finance_dev.utils import FieldMetadata, QueryParamMetadata
|
|
14
|
+
import pydantic
|
|
15
|
+
from pydantic import field_serializer, model_serializer
|
|
16
|
+
from typing import Optional
|
|
17
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class GetInvestmentThemeRequestTypedDict(TypedDict):
|
|
21
|
+
theme: InvestmentThemeID
|
|
22
|
+
r"""investment theme identifier. Use the Try it dropdown or the supported values list on the reference page."""
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class GetInvestmentThemeRequest(BaseModel):
|
|
26
|
+
theme: Annotated[
|
|
27
|
+
InvestmentThemeID,
|
|
28
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
29
|
+
]
|
|
30
|
+
r"""investment theme identifier. Use the Try it dropdown or the supported values list on the reference page."""
|
|
31
|
+
|
|
32
|
+
@field_serializer("theme")
|
|
33
|
+
def serialize_theme(self, value):
|
|
34
|
+
if isinstance(value, str):
|
|
35
|
+
try:
|
|
36
|
+
return models.InvestmentThemeID(value)
|
|
37
|
+
except ValueError:
|
|
38
|
+
return value
|
|
39
|
+
return value
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class GetInvestmentThemeResponseTypedDict(TypedDict):
|
|
43
|
+
http_meta: HTTPMetadataTypedDict
|
|
44
|
+
investment_theme_response: NotRequired[InvestmentThemeResponseTypedDict]
|
|
45
|
+
r"""Investment theme data."""
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class GetInvestmentThemeResponse(BaseModel):
|
|
49
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
50
|
+
|
|
51
|
+
investment_theme_response: Optional[InvestmentThemeResponse] = None
|
|
52
|
+
r"""Investment theme data."""
|
|
53
|
+
|
|
54
|
+
@model_serializer(mode="wrap")
|
|
55
|
+
def serialize_model(self, handler):
|
|
56
|
+
optional_fields = set(["InvestmentThemeResponse"])
|
|
57
|
+
serialized = handler(self)
|
|
58
|
+
m = {}
|
|
59
|
+
|
|
60
|
+
for n, f in type(self).model_fields.items():
|
|
61
|
+
k = f.alias or n
|
|
62
|
+
val = serialized.get(k, serialized.get(n))
|
|
63
|
+
|
|
64
|
+
if val != UNSET_SENTINEL:
|
|
65
|
+
if val is not None or k not in optional_fields:
|
|
66
|
+
m[k] = val
|
|
67
|
+
|
|
68
|
+
return m
|