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,213 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 873220b4dc51
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
6
|
+
import pydantic
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import List, Optional
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ChartBarTypedDict(TypedDict):
|
|
13
|
+
adjustment_ratio: NotRequired[int]
|
|
14
|
+
r"""Price adjustment ratio for corporate actions"""
|
|
15
|
+
close: NotRequired[float]
|
|
16
|
+
r"""Closing index value for the bar period"""
|
|
17
|
+
currency: NotRequired[str]
|
|
18
|
+
r"""Currency of the bar data"""
|
|
19
|
+
end_date: NotRequired[str]
|
|
20
|
+
r"""Bar end date in MM/DD/YYYY format"""
|
|
21
|
+
end_time: NotRequired[str]
|
|
22
|
+
r"""Bar end time in HH:MM:SS AM/PM format"""
|
|
23
|
+
high: NotRequired[float]
|
|
24
|
+
r"""Highest index value during the bar period"""
|
|
25
|
+
low: NotRequired[float]
|
|
26
|
+
r"""Lowest index value during the bar period"""
|
|
27
|
+
open: NotRequired[float]
|
|
28
|
+
r"""Opening index value for the bar period"""
|
|
29
|
+
session: NotRequired[str]
|
|
30
|
+
r"""Trading session type (Market, PreMarket, PostMarket)"""
|
|
31
|
+
start_date: NotRequired[str]
|
|
32
|
+
r"""Bar start date in MM/DD/YYYY format"""
|
|
33
|
+
start_time: NotRequired[str]
|
|
34
|
+
r"""Bar start time in HH:MM:SS AM/PM format"""
|
|
35
|
+
trades: NotRequired[int]
|
|
36
|
+
r"""Number of trades during the bar period"""
|
|
37
|
+
twap: NotRequired[float]
|
|
38
|
+
r"""Time-Weighted Average Price for the bar period"""
|
|
39
|
+
utc_offset: NotRequired[int]
|
|
40
|
+
r"""UTC time offset in hours"""
|
|
41
|
+
volume: NotRequired[int]
|
|
42
|
+
r"""Trading volume during the bar period"""
|
|
43
|
+
vwap: NotRequired[float]
|
|
44
|
+
r"""Volume-Weighted Average Price for the bar period"""
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class ChartBar(BaseModel):
|
|
48
|
+
adjustment_ratio: Annotated[
|
|
49
|
+
Optional[int], pydantic.Field(alias="adjustmentRatio")
|
|
50
|
+
] = None
|
|
51
|
+
r"""Price adjustment ratio for corporate actions"""
|
|
52
|
+
|
|
53
|
+
close: Optional[float] = None
|
|
54
|
+
r"""Closing index value for the bar period"""
|
|
55
|
+
|
|
56
|
+
currency: Optional[str] = None
|
|
57
|
+
r"""Currency of the bar data"""
|
|
58
|
+
|
|
59
|
+
end_date: Annotated[Optional[str], pydantic.Field(alias="endDate")] = None
|
|
60
|
+
r"""Bar end date in MM/DD/YYYY format"""
|
|
61
|
+
|
|
62
|
+
end_time: Annotated[Optional[str], pydantic.Field(alias="endTime")] = None
|
|
63
|
+
r"""Bar end time in HH:MM:SS AM/PM format"""
|
|
64
|
+
|
|
65
|
+
high: Optional[float] = None
|
|
66
|
+
r"""Highest index value during the bar period"""
|
|
67
|
+
|
|
68
|
+
low: Optional[float] = None
|
|
69
|
+
r"""Lowest index value during the bar period"""
|
|
70
|
+
|
|
71
|
+
open: Optional[float] = None
|
|
72
|
+
r"""Opening index value for the bar period"""
|
|
73
|
+
|
|
74
|
+
session: Optional[str] = None
|
|
75
|
+
r"""Trading session type (Market, PreMarket, PostMarket)"""
|
|
76
|
+
|
|
77
|
+
start_date: Annotated[Optional[str], pydantic.Field(alias="startDate")] = None
|
|
78
|
+
r"""Bar start date in MM/DD/YYYY format"""
|
|
79
|
+
|
|
80
|
+
start_time: Annotated[Optional[str], pydantic.Field(alias="startTime")] = None
|
|
81
|
+
r"""Bar start time in HH:MM:SS AM/PM format"""
|
|
82
|
+
|
|
83
|
+
trades: Optional[int] = None
|
|
84
|
+
r"""Number of trades during the bar period"""
|
|
85
|
+
|
|
86
|
+
twap: Optional[float] = None
|
|
87
|
+
r"""Time-Weighted Average Price for the bar period"""
|
|
88
|
+
|
|
89
|
+
utc_offset: Annotated[Optional[int], pydantic.Field(alias="utcOffset")] = None
|
|
90
|
+
r"""UTC time offset in hours"""
|
|
91
|
+
|
|
92
|
+
volume: Optional[int] = None
|
|
93
|
+
r"""Trading volume during the bar period"""
|
|
94
|
+
|
|
95
|
+
vwap: Optional[float] = None
|
|
96
|
+
r"""Volume-Weighted Average Price for the bar period"""
|
|
97
|
+
|
|
98
|
+
@model_serializer(mode="wrap")
|
|
99
|
+
def serialize_model(self, handler):
|
|
100
|
+
optional_fields = set(
|
|
101
|
+
[
|
|
102
|
+
"adjustmentRatio",
|
|
103
|
+
"close",
|
|
104
|
+
"currency",
|
|
105
|
+
"endDate",
|
|
106
|
+
"endTime",
|
|
107
|
+
"high",
|
|
108
|
+
"low",
|
|
109
|
+
"open",
|
|
110
|
+
"session",
|
|
111
|
+
"startDate",
|
|
112
|
+
"startTime",
|
|
113
|
+
"trades",
|
|
114
|
+
"twap",
|
|
115
|
+
"utcOffset",
|
|
116
|
+
"volume",
|
|
117
|
+
"vwap",
|
|
118
|
+
]
|
|
119
|
+
)
|
|
120
|
+
serialized = handler(self)
|
|
121
|
+
m = {}
|
|
122
|
+
|
|
123
|
+
for n, f in type(self).model_fields.items():
|
|
124
|
+
k = f.alias or n
|
|
125
|
+
val = serialized.get(k, serialized.get(n))
|
|
126
|
+
|
|
127
|
+
if val != UNSET_SENTINEL:
|
|
128
|
+
if val is not None or k not in optional_fields:
|
|
129
|
+
m[k] = val
|
|
130
|
+
|
|
131
|
+
return m
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
class IndexChartBarsResponseTypedDict(TypedDict):
|
|
135
|
+
r"""Response containing chart bars for an index along with the index metadata."""
|
|
136
|
+
|
|
137
|
+
chart_bars: NotRequired[List[ChartBarTypedDict]]
|
|
138
|
+
r"""Array of historical chart bars"""
|
|
139
|
+
currency: NotRequired[str]
|
|
140
|
+
r"""Currency in which the index is quoted"""
|
|
141
|
+
index_group: NotRequired[str]
|
|
142
|
+
r"""Index group classification"""
|
|
143
|
+
index_name: NotRequired[str]
|
|
144
|
+
r"""Full name of the index"""
|
|
145
|
+
symbol: NotRequired[str]
|
|
146
|
+
r"""Index ticker symbol"""
|
|
147
|
+
timing: NotRequired[str]
|
|
148
|
+
r"""Data timing type (RealTime or Delayed)"""
|
|
149
|
+
valoren: NotRequired[str]
|
|
150
|
+
r"""Swiss securities identification number (Valoren)"""
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
class IndexChartBarsResponse(BaseModel):
|
|
154
|
+
r"""Response containing chart bars for an index along with the index metadata."""
|
|
155
|
+
|
|
156
|
+
chart_bars: Annotated[
|
|
157
|
+
Optional[List[ChartBar]], pydantic.Field(alias="chartBars")
|
|
158
|
+
] = None
|
|
159
|
+
r"""Array of historical chart bars"""
|
|
160
|
+
|
|
161
|
+
currency: Optional[str] = None
|
|
162
|
+
r"""Currency in which the index is quoted"""
|
|
163
|
+
|
|
164
|
+
index_group: Annotated[Optional[str], pydantic.Field(alias="indexGroup")] = None
|
|
165
|
+
r"""Index group classification"""
|
|
166
|
+
|
|
167
|
+
index_name: Annotated[Optional[str], pydantic.Field(alias="indexName")] = None
|
|
168
|
+
r"""Full name of the index"""
|
|
169
|
+
|
|
170
|
+
symbol: Optional[str] = None
|
|
171
|
+
r"""Index ticker symbol"""
|
|
172
|
+
|
|
173
|
+
timing: Optional[str] = None
|
|
174
|
+
r"""Data timing type (RealTime or Delayed)"""
|
|
175
|
+
|
|
176
|
+
valoren: Optional[str] = None
|
|
177
|
+
r"""Swiss securities identification number (Valoren)"""
|
|
178
|
+
|
|
179
|
+
@model_serializer(mode="wrap")
|
|
180
|
+
def serialize_model(self, handler):
|
|
181
|
+
optional_fields = set(
|
|
182
|
+
[
|
|
183
|
+
"chartBars",
|
|
184
|
+
"currency",
|
|
185
|
+
"indexGroup",
|
|
186
|
+
"indexName",
|
|
187
|
+
"symbol",
|
|
188
|
+
"timing",
|
|
189
|
+
"valoren",
|
|
190
|
+
]
|
|
191
|
+
)
|
|
192
|
+
serialized = handler(self)
|
|
193
|
+
m = {}
|
|
194
|
+
|
|
195
|
+
for n, f in type(self).model_fields.items():
|
|
196
|
+
k = f.alias or n
|
|
197
|
+
val = serialized.get(k, serialized.get(n))
|
|
198
|
+
|
|
199
|
+
if val != UNSET_SENTINEL:
|
|
200
|
+
if val is not None or k not in optional_fields:
|
|
201
|
+
m[k] = val
|
|
202
|
+
|
|
203
|
+
return m
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
try:
|
|
207
|
+
ChartBar.model_rebuild()
|
|
208
|
+
except NameError:
|
|
209
|
+
pass
|
|
210
|
+
try:
|
|
211
|
+
IndexChartBarsResponse.model_rebuild()
|
|
212
|
+
except NameError:
|
|
213
|
+
pass
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 46a89814376d
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
6
|
+
import pydantic
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import List, Optional
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class IndexGroupTypedDict(TypedDict):
|
|
13
|
+
description: NotRequired[str]
|
|
14
|
+
r"""Human-readable description of the index group"""
|
|
15
|
+
name: NotRequired[str]
|
|
16
|
+
r"""Unique identifier for the index group"""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class IndexGroup(BaseModel):
|
|
20
|
+
description: Optional[str] = None
|
|
21
|
+
r"""Human-readable description of the index group"""
|
|
22
|
+
|
|
23
|
+
name: Optional[str] = None
|
|
24
|
+
r"""Unique identifier for the index group"""
|
|
25
|
+
|
|
26
|
+
@model_serializer(mode="wrap")
|
|
27
|
+
def serialize_model(self, handler):
|
|
28
|
+
optional_fields = set(["description", "name"])
|
|
29
|
+
serialized = handler(self)
|
|
30
|
+
m = {}
|
|
31
|
+
|
|
32
|
+
for n, f in type(self).model_fields.items():
|
|
33
|
+
k = f.alias or n
|
|
34
|
+
val = serialized.get(k, serialized.get(n))
|
|
35
|
+
|
|
36
|
+
if val != UNSET_SENTINEL:
|
|
37
|
+
if val is not None or k not in optional_fields:
|
|
38
|
+
m[k] = val
|
|
39
|
+
|
|
40
|
+
return m
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class IndexGroupsResponseTypedDict(TypedDict):
|
|
44
|
+
r"""Response containing the available index groups."""
|
|
45
|
+
|
|
46
|
+
index_groups: NotRequired[List[IndexGroupTypedDict]]
|
|
47
|
+
r"""Array of available index groups"""
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
class IndexGroupsResponse(BaseModel):
|
|
51
|
+
r"""Response containing the available index groups."""
|
|
52
|
+
|
|
53
|
+
index_groups: Annotated[
|
|
54
|
+
Optional[List[IndexGroup]], pydantic.Field(alias="indexGroups")
|
|
55
|
+
] = None
|
|
56
|
+
r"""Array of available index groups"""
|
|
57
|
+
|
|
58
|
+
@model_serializer(mode="wrap")
|
|
59
|
+
def serialize_model(self, handler):
|
|
60
|
+
optional_fields = set(["indexGroups"])
|
|
61
|
+
serialized = handler(self)
|
|
62
|
+
m = {}
|
|
63
|
+
|
|
64
|
+
for n, f in type(self).model_fields.items():
|
|
65
|
+
k = f.alias or n
|
|
66
|
+
val = serialized.get(k, serialized.get(n))
|
|
67
|
+
|
|
68
|
+
if val != UNSET_SENTINEL:
|
|
69
|
+
if val is not None or k not in optional_fields:
|
|
70
|
+
m[k] = val
|
|
71
|
+
|
|
72
|
+
return m
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
try:
|
|
76
|
+
IndexGroupsResponse.model_rebuild()
|
|
77
|
+
except NameError:
|
|
78
|
+
pass
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 4257ff262e13
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
6
|
+
import pydantic
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import List, Optional
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class IndexListResponseIndexTypedDict(TypedDict):
|
|
13
|
+
currency: NotRequired[str]
|
|
14
|
+
r"""Currency of the index"""
|
|
15
|
+
index_group: NotRequired[str]
|
|
16
|
+
r"""Index group identifier"""
|
|
17
|
+
index_name: NotRequired[str]
|
|
18
|
+
r"""Index name"""
|
|
19
|
+
symbol: NotRequired[str]
|
|
20
|
+
r"""Index symbol identifier"""
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class IndexListResponseIndex(BaseModel):
|
|
24
|
+
currency: Optional[str] = None
|
|
25
|
+
r"""Currency of the index"""
|
|
26
|
+
|
|
27
|
+
index_group: Annotated[Optional[str], pydantic.Field(alias="indexGroup")] = None
|
|
28
|
+
r"""Index group identifier"""
|
|
29
|
+
|
|
30
|
+
index_name: Annotated[Optional[str], pydantic.Field(alias="indexName")] = None
|
|
31
|
+
r"""Index name"""
|
|
32
|
+
|
|
33
|
+
symbol: Optional[str] = None
|
|
34
|
+
r"""Index symbol identifier"""
|
|
35
|
+
|
|
36
|
+
@model_serializer(mode="wrap")
|
|
37
|
+
def serialize_model(self, handler):
|
|
38
|
+
optional_fields = set(["currency", "indexGroup", "indexName", "symbol"])
|
|
39
|
+
serialized = handler(self)
|
|
40
|
+
m = {}
|
|
41
|
+
|
|
42
|
+
for n, f in type(self).model_fields.items():
|
|
43
|
+
k = f.alias or n
|
|
44
|
+
val = serialized.get(k, serialized.get(n))
|
|
45
|
+
|
|
46
|
+
if val != UNSET_SENTINEL:
|
|
47
|
+
if val is not None or k not in optional_fields:
|
|
48
|
+
m[k] = val
|
|
49
|
+
|
|
50
|
+
return m
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
class IndexListResponseTypedDict(TypedDict):
|
|
54
|
+
r"""Response containing the indices in an index group."""
|
|
55
|
+
|
|
56
|
+
indices: NotRequired[List[IndexListResponseIndexTypedDict]]
|
|
57
|
+
r"""Array of indices in the specified index group"""
|
|
58
|
+
next_page: NotRequired[str]
|
|
59
|
+
r"""Token for the next page. Send it as `nextPage` on the next request. Omitted on the last page."""
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class IndexListResponse(BaseModel):
|
|
63
|
+
r"""Response containing the indices in an index group."""
|
|
64
|
+
|
|
65
|
+
indices: Optional[List[IndexListResponseIndex]] = None
|
|
66
|
+
r"""Array of indices in the specified index group"""
|
|
67
|
+
|
|
68
|
+
next_page: Annotated[Optional[str], pydantic.Field(alias="nextPage")] = None
|
|
69
|
+
r"""Token for the next page. Send it as `nextPage` on the next request. Omitted on the last page."""
|
|
70
|
+
|
|
71
|
+
@model_serializer(mode="wrap")
|
|
72
|
+
def serialize_model(self, handler):
|
|
73
|
+
optional_fields = set(["indices", "nextPage"])
|
|
74
|
+
serialized = handler(self)
|
|
75
|
+
m = {}
|
|
76
|
+
|
|
77
|
+
for n, f in type(self).model_fields.items():
|
|
78
|
+
k = f.alias or n
|
|
79
|
+
val = serialized.get(k, serialized.get(n))
|
|
80
|
+
|
|
81
|
+
if val != UNSET_SENTINEL:
|
|
82
|
+
if val is not None or k not in optional_fields:
|
|
83
|
+
m[k] = val
|
|
84
|
+
|
|
85
|
+
return m
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
try:
|
|
89
|
+
IndexListResponseIndex.model_rebuild()
|
|
90
|
+
except NameError:
|
|
91
|
+
pass
|
|
92
|
+
try:
|
|
93
|
+
IndexListResponse.model_rebuild()
|
|
94
|
+
except NameError:
|
|
95
|
+
pass
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: da69c3c49c6a
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
6
|
+
import pydantic
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import List, Optional
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class IndexSearchResponseIndexTypedDict(TypedDict):
|
|
13
|
+
currency: NotRequired[str]
|
|
14
|
+
r"""Currency in which the index is quoted"""
|
|
15
|
+
index_group: NotRequired[str]
|
|
16
|
+
r"""Index group classification identifier"""
|
|
17
|
+
index_name: NotRequired[str]
|
|
18
|
+
r"""Full name of the index"""
|
|
19
|
+
symbol: NotRequired[str]
|
|
20
|
+
r"""Index ticker symbol"""
|
|
21
|
+
valoren: NotRequired[str]
|
|
22
|
+
r"""Swiss securities identification number (Valoren)"""
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class IndexSearchResponseIndex(BaseModel):
|
|
26
|
+
currency: Optional[str] = None
|
|
27
|
+
r"""Currency in which the index is quoted"""
|
|
28
|
+
|
|
29
|
+
index_group: Annotated[Optional[str], pydantic.Field(alias="indexGroup")] = None
|
|
30
|
+
r"""Index group classification identifier"""
|
|
31
|
+
|
|
32
|
+
index_name: Annotated[Optional[str], pydantic.Field(alias="indexName")] = None
|
|
33
|
+
r"""Full name of the index"""
|
|
34
|
+
|
|
35
|
+
symbol: Optional[str] = None
|
|
36
|
+
r"""Index ticker symbol"""
|
|
37
|
+
|
|
38
|
+
valoren: Optional[str] = None
|
|
39
|
+
r"""Swiss securities identification number (Valoren)"""
|
|
40
|
+
|
|
41
|
+
@model_serializer(mode="wrap")
|
|
42
|
+
def serialize_model(self, handler):
|
|
43
|
+
optional_fields = set(
|
|
44
|
+
["currency", "indexGroup", "indexName", "symbol", "valoren"]
|
|
45
|
+
)
|
|
46
|
+
serialized = handler(self)
|
|
47
|
+
m = {}
|
|
48
|
+
|
|
49
|
+
for n, f in type(self).model_fields.items():
|
|
50
|
+
k = f.alias or n
|
|
51
|
+
val = serialized.get(k, serialized.get(n))
|
|
52
|
+
|
|
53
|
+
if val != UNSET_SENTINEL:
|
|
54
|
+
if val is not None or k not in optional_fields:
|
|
55
|
+
m[k] = val
|
|
56
|
+
|
|
57
|
+
return m
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
class IndexSearchResponseTypedDict(TypedDict):
|
|
61
|
+
r"""Response containing indices that match a search query."""
|
|
62
|
+
|
|
63
|
+
indices: NotRequired[List[IndexSearchResponseIndexTypedDict]]
|
|
64
|
+
r"""Array of matching indices"""
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
class IndexSearchResponse(BaseModel):
|
|
68
|
+
r"""Response containing indices that match a search query."""
|
|
69
|
+
|
|
70
|
+
indices: Optional[List[IndexSearchResponseIndex]] = None
|
|
71
|
+
r"""Array of matching indices"""
|
|
72
|
+
|
|
73
|
+
@model_serializer(mode="wrap")
|
|
74
|
+
def serialize_model(self, handler):
|
|
75
|
+
optional_fields = set(["indices"])
|
|
76
|
+
serialized = handler(self)
|
|
77
|
+
m = {}
|
|
78
|
+
|
|
79
|
+
for n, f in type(self).model_fields.items():
|
|
80
|
+
k = f.alias or n
|
|
81
|
+
val = serialized.get(k, serialized.get(n))
|
|
82
|
+
|
|
83
|
+
if val != UNSET_SENTINEL:
|
|
84
|
+
if val is not None or k not in optional_fields:
|
|
85
|
+
m[k] = val
|
|
86
|
+
|
|
87
|
+
return m
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
try:
|
|
91
|
+
IndexSearchResponseIndex.model_rebuild()
|
|
92
|
+
except NameError:
|
|
93
|
+
pass
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 66113231b617
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
6
|
+
import pydantic
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import List, Optional
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class IndicesByGroupResponseIndexTypedDict(TypedDict):
|
|
13
|
+
currency: NotRequired[str]
|
|
14
|
+
r"""Currency code"""
|
|
15
|
+
index_group: NotRequired[str]
|
|
16
|
+
r"""Index group identifier"""
|
|
17
|
+
index_name: NotRequired[str]
|
|
18
|
+
r"""Full name of the index"""
|
|
19
|
+
symbol: NotRequired[str]
|
|
20
|
+
r"""Index symbol"""
|
|
21
|
+
valoren: NotRequired[str]
|
|
22
|
+
r"""Swiss securities identification number (Valoren)"""
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class IndicesByGroupResponseIndex(BaseModel):
|
|
26
|
+
currency: Optional[str] = None
|
|
27
|
+
r"""Currency code"""
|
|
28
|
+
|
|
29
|
+
index_group: Annotated[Optional[str], pydantic.Field(alias="indexGroup")] = None
|
|
30
|
+
r"""Index group identifier"""
|
|
31
|
+
|
|
32
|
+
index_name: Annotated[Optional[str], pydantic.Field(alias="indexName")] = None
|
|
33
|
+
r"""Full name of the index"""
|
|
34
|
+
|
|
35
|
+
symbol: Optional[str] = None
|
|
36
|
+
r"""Index symbol"""
|
|
37
|
+
|
|
38
|
+
valoren: Optional[str] = None
|
|
39
|
+
r"""Swiss securities identification number (Valoren)"""
|
|
40
|
+
|
|
41
|
+
@model_serializer(mode="wrap")
|
|
42
|
+
def serialize_model(self, handler):
|
|
43
|
+
optional_fields = set(
|
|
44
|
+
["currency", "indexGroup", "indexName", "symbol", "valoren"]
|
|
45
|
+
)
|
|
46
|
+
serialized = handler(self)
|
|
47
|
+
m = {}
|
|
48
|
+
|
|
49
|
+
for n, f in type(self).model_fields.items():
|
|
50
|
+
k = f.alias or n
|
|
51
|
+
val = serialized.get(k, serialized.get(n))
|
|
52
|
+
|
|
53
|
+
if val != UNSET_SENTINEL:
|
|
54
|
+
if val is not None or k not in optional_fields:
|
|
55
|
+
m[k] = val
|
|
56
|
+
|
|
57
|
+
return m
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
class IndicesByGroupResponseTypedDict(TypedDict):
|
|
61
|
+
r"""Response containing the indices that belong to an index group."""
|
|
62
|
+
|
|
63
|
+
indices: NotRequired[List[IndicesByGroupResponseIndexTypedDict]]
|
|
64
|
+
r"""Array of indices in the index group"""
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
class IndicesByGroupResponse(BaseModel):
|
|
68
|
+
r"""Response containing the indices that belong to an index group."""
|
|
69
|
+
|
|
70
|
+
indices: Optional[List[IndicesByGroupResponseIndex]] = None
|
|
71
|
+
r"""Array of indices in the index group"""
|
|
72
|
+
|
|
73
|
+
@model_serializer(mode="wrap")
|
|
74
|
+
def serialize_model(self, handler):
|
|
75
|
+
optional_fields = set(["indices"])
|
|
76
|
+
serialized = handler(self)
|
|
77
|
+
m = {}
|
|
78
|
+
|
|
79
|
+
for n, f in type(self).model_fields.items():
|
|
80
|
+
k = f.alias or n
|
|
81
|
+
val = serialized.get(k, serialized.get(n))
|
|
82
|
+
|
|
83
|
+
if val != UNSET_SENTINEL:
|
|
84
|
+
if val is not None or k not in optional_fields:
|
|
85
|
+
m[k] = val
|
|
86
|
+
|
|
87
|
+
return m
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
try:
|
|
91
|
+
IndicesByGroupResponseIndex.model_rebuild()
|
|
92
|
+
except NameError:
|
|
93
|
+
pass
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: fef5d94461b0
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from enum import Enum
|
|
6
|
+
from finance_dev import utils
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class IndicesIdentifierType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
10
|
+
r"""Which kind of identifier you are sending in `identifier` / `identifiers`. Provide the matching value:
|
|
11
|
+
- `Symbol` — index ticker (e.g. `SPX.IND_CBOM`). Default.
|
|
12
|
+
- `CIK` — SEC Central Index Key.
|
|
13
|
+
- `CUSIP` — 9-character U.S./Canadian security identifier.
|
|
14
|
+
- `ISIN` — 12-character international identifier.
|
|
15
|
+
- `Valoren` — Swiss security identifier.
|
|
16
|
+
- `SEDOL` — 7-character UK identifier.
|
|
17
|
+
- `FIGI` — Bloomberg Financial Instrument Global Identifier.
|
|
18
|
+
- `CompositeFIGI` — country-level composite FIGI.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
SYMBOL = "Symbol"
|
|
22
|
+
CIK = "CIK"
|
|
23
|
+
CUSIP = "CUSIP"
|
|
24
|
+
ISIN = "ISIN"
|
|
25
|
+
VALOREN = "Valoren"
|
|
26
|
+
SEDOL = "SEDOL"
|
|
27
|
+
FIGI = "FIGI"
|
|
28
|
+
COMPOSITE_FIGI = "CompositeFIGI"
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: c4173e34f6de
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
6
|
+
import pydantic
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import Optional
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class IndicesRealtimeIndexInfoTypedDict(TypedDict):
|
|
13
|
+
r"""Index metadata for a realtime quote item."""
|
|
14
|
+
|
|
15
|
+
currency: NotRequired[str]
|
|
16
|
+
r"""Quote currency"""
|
|
17
|
+
index_group: NotRequired[str]
|
|
18
|
+
r"""Index group or venue code (e.g. IND_CBOM)"""
|
|
19
|
+
index_name: NotRequired[str]
|
|
20
|
+
r"""Display name of the index"""
|
|
21
|
+
symbol: NotRequired[str]
|
|
22
|
+
r"""Index symbol (e.g. SPX)"""
|
|
23
|
+
valoren: NotRequired[str]
|
|
24
|
+
r"""Valoren / internal identifier"""
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class IndicesRealtimeIndexInfo(BaseModel):
|
|
28
|
+
r"""Index metadata for a realtime quote item."""
|
|
29
|
+
|
|
30
|
+
currency: Optional[str] = None
|
|
31
|
+
r"""Quote currency"""
|
|
32
|
+
|
|
33
|
+
index_group: Annotated[Optional[str], pydantic.Field(alias="indexGroup")] = None
|
|
34
|
+
r"""Index group or venue code (e.g. IND_CBOM)"""
|
|
35
|
+
|
|
36
|
+
index_name: Annotated[Optional[str], pydantic.Field(alias="indexName")] = None
|
|
37
|
+
r"""Display name of the index"""
|
|
38
|
+
|
|
39
|
+
symbol: Optional[str] = None
|
|
40
|
+
r"""Index symbol (e.g. SPX)"""
|
|
41
|
+
|
|
42
|
+
valoren: Optional[str] = None
|
|
43
|
+
r"""Valoren / internal identifier"""
|
|
44
|
+
|
|
45
|
+
@model_serializer(mode="wrap")
|
|
46
|
+
def serialize_model(self, handler):
|
|
47
|
+
optional_fields = set(
|
|
48
|
+
["currency", "indexGroup", "indexName", "symbol", "valoren"]
|
|
49
|
+
)
|
|
50
|
+
serialized = handler(self)
|
|
51
|
+
m = {}
|
|
52
|
+
|
|
53
|
+
for n, f in type(self).model_fields.items():
|
|
54
|
+
k = f.alias or n
|
|
55
|
+
val = serialized.get(k, serialized.get(n))
|
|
56
|
+
|
|
57
|
+
if val != UNSET_SENTINEL:
|
|
58
|
+
if val is not None or k not in optional_fields:
|
|
59
|
+
m[k] = val
|
|
60
|
+
|
|
61
|
+
return m
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
try:
|
|
65
|
+
IndicesRealtimeIndexInfo.model_rebuild()
|
|
66
|
+
except NameError:
|
|
67
|
+
pass
|