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,117 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 0d1b2429de39
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .financialsstatementsresponse import (
|
|
6
|
+
FinancialsStatementsResponse,
|
|
7
|
+
FinancialsStatementsResponseTypedDict,
|
|
8
|
+
)
|
|
9
|
+
from .financialstatementtype import FinancialStatementType
|
|
10
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
11
|
+
from .reportingfrequency import ReportingFrequency
|
|
12
|
+
from finance_dev import models
|
|
13
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
14
|
+
from finance_dev.utils import FieldMetadata, QueryParamMetadata
|
|
15
|
+
import pydantic
|
|
16
|
+
from pydantic import field_serializer, model_serializer
|
|
17
|
+
from typing import Optional
|
|
18
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class GetFinancialStatementsRequestTypedDict(TypedDict):
|
|
22
|
+
symbol: str
|
|
23
|
+
r"""Stock symbol, such as AAPL. Use it to choose the company you want to research."""
|
|
24
|
+
statement: FinancialStatementType
|
|
25
|
+
r"""Financial statement type to return. Choose the statement category your analysis needs."""
|
|
26
|
+
freq: ReportingFrequency
|
|
27
|
+
r"""Reporting frequency to return. Use annual or quarterly based on your analysis view."""
|
|
28
|
+
preliminary: NotRequired[bool]
|
|
29
|
+
r"""Include preliminary data (optional boolean)."""
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class GetFinancialStatementsRequest(BaseModel):
|
|
33
|
+
symbol: Annotated[
|
|
34
|
+
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
35
|
+
]
|
|
36
|
+
r"""Stock symbol, such as AAPL. Use it to choose the company you want to research."""
|
|
37
|
+
|
|
38
|
+
statement: Annotated[
|
|
39
|
+
FinancialStatementType,
|
|
40
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
41
|
+
]
|
|
42
|
+
r"""Financial statement type to return. Choose the statement category your analysis needs."""
|
|
43
|
+
|
|
44
|
+
freq: Annotated[
|
|
45
|
+
ReportingFrequency,
|
|
46
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
47
|
+
]
|
|
48
|
+
r"""Reporting frequency to return. Use annual or quarterly based on your analysis view."""
|
|
49
|
+
|
|
50
|
+
preliminary: Annotated[
|
|
51
|
+
Optional[bool],
|
|
52
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
53
|
+
] = None
|
|
54
|
+
r"""Include preliminary data (optional boolean)."""
|
|
55
|
+
|
|
56
|
+
@field_serializer("statement")
|
|
57
|
+
def serialize_statement(self, value):
|
|
58
|
+
if isinstance(value, str):
|
|
59
|
+
try:
|
|
60
|
+
return models.FinancialStatementType(value)
|
|
61
|
+
except ValueError:
|
|
62
|
+
return value
|
|
63
|
+
return value
|
|
64
|
+
|
|
65
|
+
@field_serializer("freq")
|
|
66
|
+
def serialize_freq(self, value):
|
|
67
|
+
if isinstance(value, str):
|
|
68
|
+
try:
|
|
69
|
+
return models.ReportingFrequency(value)
|
|
70
|
+
except ValueError:
|
|
71
|
+
return value
|
|
72
|
+
return value
|
|
73
|
+
|
|
74
|
+
@model_serializer(mode="wrap")
|
|
75
|
+
def serialize_model(self, handler):
|
|
76
|
+
optional_fields = set(["preliminary"])
|
|
77
|
+
serialized = handler(self)
|
|
78
|
+
m = {}
|
|
79
|
+
|
|
80
|
+
for n, f in type(self).model_fields.items():
|
|
81
|
+
k = f.alias or n
|
|
82
|
+
val = serialized.get(k, serialized.get(n))
|
|
83
|
+
|
|
84
|
+
if val != UNSET_SENTINEL:
|
|
85
|
+
if val is not None or k not in optional_fields:
|
|
86
|
+
m[k] = val
|
|
87
|
+
|
|
88
|
+
return m
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
class GetFinancialStatementsResponseTypedDict(TypedDict):
|
|
92
|
+
http_meta: HTTPMetadataTypedDict
|
|
93
|
+
financials_statements_response: NotRequired[FinancialsStatementsResponseTypedDict]
|
|
94
|
+
r"""Financial statements data."""
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
class GetFinancialStatementsResponse(BaseModel):
|
|
98
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
99
|
+
|
|
100
|
+
financials_statements_response: Optional[FinancialsStatementsResponse] = None
|
|
101
|
+
r"""Financial statements data."""
|
|
102
|
+
|
|
103
|
+
@model_serializer(mode="wrap")
|
|
104
|
+
def serialize_model(self, handler):
|
|
105
|
+
optional_fields = set(["FinancialsStatementsResponse"])
|
|
106
|
+
serialized = handler(self)
|
|
107
|
+
m = {}
|
|
108
|
+
|
|
109
|
+
for n, f in type(self).model_fields.items():
|
|
110
|
+
k = f.alias or n
|
|
111
|
+
val = serialized.get(k, serialized.get(n))
|
|
112
|
+
|
|
113
|
+
if val != UNSET_SENTINEL:
|
|
114
|
+
if val is not None or k not in optional_fields:
|
|
115
|
+
m[k] = val
|
|
116
|
+
|
|
117
|
+
return m
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 9e8d106d9a92
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
6
|
+
from .ownershipdataresponse import OwnershipDataResponse, OwnershipDataResponseTypedDict
|
|
7
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
8
|
+
from finance_dev.utils import FieldMetadata, QueryParamMetadata
|
|
9
|
+
import pydantic
|
|
10
|
+
from pydantic import model_serializer
|
|
11
|
+
from typing import Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class GetFundOwnershipRequestTypedDict(TypedDict):
|
|
16
|
+
symbol: str
|
|
17
|
+
r"""Stock symbol, such as AAPL. Use it to narrow results to one company."""
|
|
18
|
+
limit: NotRequired[int]
|
|
19
|
+
r"""Optional maximum number of results to return. Use it to keep ownership lists small for UI views."""
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class GetFundOwnershipRequest(BaseModel):
|
|
23
|
+
symbol: Annotated[
|
|
24
|
+
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
25
|
+
]
|
|
26
|
+
r"""Stock symbol, such as AAPL. Use it to narrow results to one company."""
|
|
27
|
+
|
|
28
|
+
limit: Annotated[
|
|
29
|
+
Optional[int],
|
|
30
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
31
|
+
] = None
|
|
32
|
+
r"""Optional maximum number of results to return. Use it to keep ownership lists small for UI views."""
|
|
33
|
+
|
|
34
|
+
@model_serializer(mode="wrap")
|
|
35
|
+
def serialize_model(self, handler):
|
|
36
|
+
optional_fields = set(["limit"])
|
|
37
|
+
serialized = handler(self)
|
|
38
|
+
m = {}
|
|
39
|
+
|
|
40
|
+
for n, f in type(self).model_fields.items():
|
|
41
|
+
k = f.alias or n
|
|
42
|
+
val = serialized.get(k, serialized.get(n))
|
|
43
|
+
|
|
44
|
+
if val != UNSET_SENTINEL:
|
|
45
|
+
if val is not None or k not in optional_fields:
|
|
46
|
+
m[k] = val
|
|
47
|
+
|
|
48
|
+
return m
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
class GetFundOwnershipResponseTypedDict(TypedDict):
|
|
52
|
+
http_meta: HTTPMetadataTypedDict
|
|
53
|
+
ownership_data_response: NotRequired[OwnershipDataResponseTypedDict]
|
|
54
|
+
r"""Fund ownership data."""
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
class GetFundOwnershipResponse(BaseModel):
|
|
58
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
59
|
+
|
|
60
|
+
ownership_data_response: Optional[OwnershipDataResponse] = None
|
|
61
|
+
r"""Fund ownership data."""
|
|
62
|
+
|
|
63
|
+
@model_serializer(mode="wrap")
|
|
64
|
+
def serialize_model(self, handler):
|
|
65
|
+
optional_fields = set(["OwnershipDataResponse"])
|
|
66
|
+
serialized = handler(self)
|
|
67
|
+
m = {}
|
|
68
|
+
|
|
69
|
+
for n, f in type(self).model_fields.items():
|
|
70
|
+
k = f.alias or n
|
|
71
|
+
val = serialized.get(k, serialized.get(n))
|
|
72
|
+
|
|
73
|
+
if val != UNSET_SENTINEL:
|
|
74
|
+
if val is not None or k not in optional_fields:
|
|
75
|
+
m[k] = val
|
|
76
|
+
|
|
77
|
+
return m
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 094a1edab51a
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .economicsindicator import EconomicsIndicator, EconomicsIndicatorTypedDict
|
|
6
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
7
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
8
|
+
from finance_dev.utils import FieldMetadata, PathParamMetadata
|
|
9
|
+
import pydantic
|
|
10
|
+
from pydantic import model_serializer
|
|
11
|
+
from typing import List, Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class GetHistoricalDataRequestTypedDict(TypedDict):
|
|
16
|
+
symbol: str
|
|
17
|
+
r"""Economic indicator code from the upstream calendar provider. These codes are not a fixed enum on our side — fetch [GET /v1/calendars/economics](/api-reference/calendars/economics) to see the codes attached to recent calendar entries, then use that code here for the historical series. Common examples:
|
|
18
|
+
- `USURTOT` — United States Unemployment Rate (total).
|
|
19
|
+
- `UNITEDSTACONJOBCLA` — U.S. Continuing Jobless Claims.
|
|
20
|
+
- `UNITEDSTACONCRE` — U.S. Consumer Credit.
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class GetHistoricalDataRequest(BaseModel):
|
|
25
|
+
symbol: Annotated[
|
|
26
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
|
27
|
+
]
|
|
28
|
+
r"""Economic indicator code from the upstream calendar provider. These codes are not a fixed enum on our side — fetch [GET /v1/calendars/economics](/api-reference/calendars/economics) to see the codes attached to recent calendar entries, then use that code here for the historical series. Common examples:
|
|
29
|
+
- `USURTOT` — United States Unemployment Rate (total).
|
|
30
|
+
- `UNITEDSTACONJOBCLA` — U.S. Continuing Jobless Claims.
|
|
31
|
+
- `UNITEDSTACONCRE` — U.S. Consumer Credit.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class GetHistoricalDataResponseTypedDict(TypedDict):
|
|
36
|
+
http_meta: HTTPMetadataTypedDict
|
|
37
|
+
get_historical_data_response: NotRequired[List[EconomicsIndicatorTypedDict]]
|
|
38
|
+
r"""Economic indicator historical data retrieved successfully"""
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class GetHistoricalDataResponse(BaseModel):
|
|
42
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
43
|
+
|
|
44
|
+
get_historical_data_response: Optional[List[EconomicsIndicator]] = None
|
|
45
|
+
r"""Economic indicator historical data retrieved successfully"""
|
|
46
|
+
|
|
47
|
+
@model_serializer(mode="wrap")
|
|
48
|
+
def serialize_model(self, handler):
|
|
49
|
+
optional_fields = set(["GetHistoricalDataResponse"])
|
|
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
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 553519d5ed6e
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .historicalesgresponse import HistoricalEsgResponse, HistoricalEsgResponseTypedDict
|
|
6
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
7
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
8
|
+
from finance_dev.utils import FieldMetadata, QueryParamMetadata
|
|
9
|
+
import pydantic
|
|
10
|
+
from pydantic import model_serializer
|
|
11
|
+
from typing import Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class GetHistoricalEsgRequestTypedDict(TypedDict):
|
|
16
|
+
symbol: str
|
|
17
|
+
r"""Stock ticker to query. Send the plain uppercase symbol exactly as you'd type it on a brokerage screen, e.g. `AAPL`, `MSFT`."""
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class GetHistoricalEsgRequest(BaseModel):
|
|
21
|
+
symbol: Annotated[
|
|
22
|
+
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
23
|
+
]
|
|
24
|
+
r"""Stock ticker to query. Send the plain uppercase symbol exactly as you'd type it on a brokerage screen, e.g. `AAPL`, `MSFT`."""
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class GetHistoricalEsgResponseTypedDict(TypedDict):
|
|
28
|
+
http_meta: HTTPMetadataTypedDict
|
|
29
|
+
historical_esg_response: NotRequired[HistoricalEsgResponseTypedDict]
|
|
30
|
+
r"""Historical ESG data."""
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class GetHistoricalEsgResponse(BaseModel):
|
|
34
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
35
|
+
|
|
36
|
+
historical_esg_response: Optional[HistoricalEsgResponse] = None
|
|
37
|
+
r"""Historical ESG data."""
|
|
38
|
+
|
|
39
|
+
@model_serializer(mode="wrap")
|
|
40
|
+
def serialize_model(self, handler):
|
|
41
|
+
optional_fields = set(["HistoricalEsgResponse"])
|
|
42
|
+
serialized = handler(self)
|
|
43
|
+
m = {}
|
|
44
|
+
|
|
45
|
+
for n, f in type(self).model_fields.items():
|
|
46
|
+
k = f.alias or n
|
|
47
|
+
val = serialized.get(k, serialized.get(n))
|
|
48
|
+
|
|
49
|
+
if val != UNSET_SENTINEL:
|
|
50
|
+
if val is not None or k not in optional_fields:
|
|
51
|
+
m[k] = val
|
|
52
|
+
|
|
53
|
+
return m
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 3202316b7eb9
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
6
|
+
from .predmdbatchhistoryresponse import (
|
|
7
|
+
PredMdBatchHistoryResponse,
|
|
8
|
+
PredMdBatchHistoryResponseTypedDict,
|
|
9
|
+
)
|
|
10
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
11
|
+
import pydantic
|
|
12
|
+
from pydantic import model_serializer
|
|
13
|
+
from typing import Optional
|
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class GetHistoryBatchResponseBodyTypedDict(TypedDict):
|
|
18
|
+
r"""Standard success envelope used by all success responses. `data` is endpoint-specific."""
|
|
19
|
+
|
|
20
|
+
success: bool
|
|
21
|
+
data: NotRequired[PredMdBatchHistoryResponseTypedDict]
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class GetHistoryBatchResponseBody(BaseModel):
|
|
25
|
+
r"""Standard success envelope used by all success responses. `data` is endpoint-specific."""
|
|
26
|
+
|
|
27
|
+
success: bool
|
|
28
|
+
|
|
29
|
+
data: Optional[PredMdBatchHistoryResponse] = None
|
|
30
|
+
|
|
31
|
+
@model_serializer(mode="wrap")
|
|
32
|
+
def serialize_model(self, handler):
|
|
33
|
+
optional_fields = set(["data"])
|
|
34
|
+
serialized = handler(self)
|
|
35
|
+
m = {}
|
|
36
|
+
|
|
37
|
+
for n, f in type(self).model_fields.items():
|
|
38
|
+
k = f.alias or n
|
|
39
|
+
val = serialized.get(k, serialized.get(n))
|
|
40
|
+
|
|
41
|
+
if val != UNSET_SENTINEL:
|
|
42
|
+
if val is not None or k not in optional_fields:
|
|
43
|
+
m[k] = val
|
|
44
|
+
|
|
45
|
+
return m
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class GetHistoryBatchResponseTypedDict(TypedDict):
|
|
49
|
+
http_meta: HTTPMetadataTypedDict
|
|
50
|
+
object: NotRequired[GetHistoryBatchResponseBodyTypedDict]
|
|
51
|
+
r"""Batch history results"""
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
class GetHistoryBatchResponse(BaseModel):
|
|
55
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
56
|
+
|
|
57
|
+
object: Optional[GetHistoryBatchResponseBody] = None
|
|
58
|
+
r"""Batch history results"""
|
|
59
|
+
|
|
60
|
+
@model_serializer(mode="wrap")
|
|
61
|
+
def serialize_model(self, handler):
|
|
62
|
+
optional_fields = set(["object"])
|
|
63
|
+
serialized = handler(self)
|
|
64
|
+
m = {}
|
|
65
|
+
|
|
66
|
+
for n, f in type(self).model_fields.items():
|
|
67
|
+
k = f.alias or n
|
|
68
|
+
val = serialized.get(k, serialized.get(n))
|
|
69
|
+
|
|
70
|
+
if val != UNSET_SENTINEL:
|
|
71
|
+
if val is not None or k not in optional_fields:
|
|
72
|
+
m[k] = val
|
|
73
|
+
|
|
74
|
+
return m
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: ecf6fc354324
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
6
|
+
from .predmdhistoryresponse import PredMdHistoryResponse, PredMdHistoryResponseTypedDict
|
|
7
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
8
|
+
from finance_dev.utils import FieldMetadata, QueryParamMetadata
|
|
9
|
+
import pydantic
|
|
10
|
+
from pydantic import model_serializer
|
|
11
|
+
from typing import Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class GetHistoryRequestTypedDict(TypedDict):
|
|
16
|
+
symbol: str
|
|
17
|
+
from_: NotRequired[str]
|
|
18
|
+
r"""RFC3339 timestamp or Unix seconds/milliseconds."""
|
|
19
|
+
to: NotRequired[str]
|
|
20
|
+
r"""RFC3339 timestamp or Unix seconds/milliseconds."""
|
|
21
|
+
limit: NotRequired[int]
|
|
22
|
+
r"""0 or omitted means 10000; values above 10000 are clamped to it."""
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class GetHistoryRequest(BaseModel):
|
|
26
|
+
symbol: Annotated[
|
|
27
|
+
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
28
|
+
]
|
|
29
|
+
|
|
30
|
+
from_: Annotated[
|
|
31
|
+
Optional[str],
|
|
32
|
+
pydantic.Field(alias="from"),
|
|
33
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
34
|
+
] = None
|
|
35
|
+
r"""RFC3339 timestamp or Unix seconds/milliseconds."""
|
|
36
|
+
|
|
37
|
+
to: Annotated[
|
|
38
|
+
Optional[str],
|
|
39
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
40
|
+
] = None
|
|
41
|
+
r"""RFC3339 timestamp or Unix seconds/milliseconds."""
|
|
42
|
+
|
|
43
|
+
limit: Annotated[
|
|
44
|
+
Optional[int],
|
|
45
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
46
|
+
] = None
|
|
47
|
+
r"""0 or omitted means 10000; values above 10000 are clamped to it."""
|
|
48
|
+
|
|
49
|
+
@model_serializer(mode="wrap")
|
|
50
|
+
def serialize_model(self, handler):
|
|
51
|
+
optional_fields = set(["from", "to", "limit"])
|
|
52
|
+
serialized = handler(self)
|
|
53
|
+
m = {}
|
|
54
|
+
|
|
55
|
+
for n, f in type(self).model_fields.items():
|
|
56
|
+
k = f.alias or n
|
|
57
|
+
val = serialized.get(k, serialized.get(n))
|
|
58
|
+
|
|
59
|
+
if val != UNSET_SENTINEL:
|
|
60
|
+
if val is not None or k not in optional_fields:
|
|
61
|
+
m[k] = val
|
|
62
|
+
|
|
63
|
+
return m
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
class GetHistoryResponseBodyTypedDict(TypedDict):
|
|
67
|
+
r"""Standard success envelope used by all success responses. `data` is endpoint-specific."""
|
|
68
|
+
|
|
69
|
+
success: bool
|
|
70
|
+
data: NotRequired[PredMdHistoryResponseTypedDict]
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
class GetHistoryResponseBody(BaseModel):
|
|
74
|
+
r"""Standard success envelope used by all success responses. `data` is endpoint-specific."""
|
|
75
|
+
|
|
76
|
+
success: bool
|
|
77
|
+
|
|
78
|
+
data: Optional[PredMdHistoryResponse] = None
|
|
79
|
+
|
|
80
|
+
@model_serializer(mode="wrap")
|
|
81
|
+
def serialize_model(self, handler):
|
|
82
|
+
optional_fields = set(["data"])
|
|
83
|
+
serialized = handler(self)
|
|
84
|
+
m = {}
|
|
85
|
+
|
|
86
|
+
for n, f in type(self).model_fields.items():
|
|
87
|
+
k = f.alias or n
|
|
88
|
+
val = serialized.get(k, serialized.get(n))
|
|
89
|
+
|
|
90
|
+
if val != UNSET_SENTINEL:
|
|
91
|
+
if val is not None or k not in optional_fields:
|
|
92
|
+
m[k] = val
|
|
93
|
+
|
|
94
|
+
return m
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
class GetHistoryResponseTypedDict(TypedDict):
|
|
98
|
+
http_meta: HTTPMetadataTypedDict
|
|
99
|
+
object: NotRequired[GetHistoryResponseBodyTypedDict]
|
|
100
|
+
r"""Historical ticks"""
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
class GetHistoryResponse(BaseModel):
|
|
104
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
105
|
+
|
|
106
|
+
object: Optional[GetHistoryResponseBody] = None
|
|
107
|
+
r"""Historical ticks"""
|
|
108
|
+
|
|
109
|
+
@model_serializer(mode="wrap")
|
|
110
|
+
def serialize_model(self, handler):
|
|
111
|
+
optional_fields = set(["object"])
|
|
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
|