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,77 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 25e303a3d171
|
|
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 InstitutionalHoldingTypedDict(TypedDict):
|
|
13
|
+
r"""Single holding in an institutional investor's portfolio or in a security's institutional ownership."""
|
|
14
|
+
|
|
15
|
+
change: NotRequired[int]
|
|
16
|
+
r"""Change in share count from previous quarter"""
|
|
17
|
+
cusip: NotRequired[str]
|
|
18
|
+
r"""CUSIP identifier for the security"""
|
|
19
|
+
name: NotRequired[str]
|
|
20
|
+
r"""Name of the security or company"""
|
|
21
|
+
put_call: NotRequired[str]
|
|
22
|
+
r"""Type of option position (PUT, CALL, or empty for stock positions)"""
|
|
23
|
+
share: NotRequired[int]
|
|
24
|
+
r"""Number of shares held"""
|
|
25
|
+
symbol: NotRequired[str]
|
|
26
|
+
r"""Stock ticker symbol"""
|
|
27
|
+
value: NotRequired[float]
|
|
28
|
+
r"""Market value of the holding in USD"""
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class InstitutionalHolding(BaseModel):
|
|
32
|
+
r"""Single holding in an institutional investor's portfolio or in a security's institutional ownership."""
|
|
33
|
+
|
|
34
|
+
change: Optional[int] = None
|
|
35
|
+
r"""Change in share count from previous quarter"""
|
|
36
|
+
|
|
37
|
+
cusip: Optional[str] = None
|
|
38
|
+
r"""CUSIP identifier for the security"""
|
|
39
|
+
|
|
40
|
+
name: Optional[str] = None
|
|
41
|
+
r"""Name of the security or company"""
|
|
42
|
+
|
|
43
|
+
put_call: Annotated[Optional[str], pydantic.Field(alias="putCall")] = None
|
|
44
|
+
r"""Type of option position (PUT, CALL, or empty for stock positions)"""
|
|
45
|
+
|
|
46
|
+
share: Optional[int] = None
|
|
47
|
+
r"""Number of shares held"""
|
|
48
|
+
|
|
49
|
+
symbol: Optional[str] = None
|
|
50
|
+
r"""Stock ticker symbol"""
|
|
51
|
+
|
|
52
|
+
value: Optional[float] = None
|
|
53
|
+
r"""Market value of the holding in USD"""
|
|
54
|
+
|
|
55
|
+
@model_serializer(mode="wrap")
|
|
56
|
+
def serialize_model(self, handler):
|
|
57
|
+
optional_fields = set(
|
|
58
|
+
["change", "cusip", "name", "putCall", "share", "symbol", "value"]
|
|
59
|
+
)
|
|
60
|
+
serialized = handler(self)
|
|
61
|
+
m = {}
|
|
62
|
+
|
|
63
|
+
for n, f in type(self).model_fields.items():
|
|
64
|
+
k = f.alias or n
|
|
65
|
+
val = serialized.get(k, serialized.get(n))
|
|
66
|
+
|
|
67
|
+
if val != UNSET_SENTINEL:
|
|
68
|
+
if val is not None or k not in optional_fields:
|
|
69
|
+
m[k] = val
|
|
70
|
+
|
|
71
|
+
return m
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
try:
|
|
75
|
+
InstitutionalHolding.model_rebuild()
|
|
76
|
+
except NameError:
|
|
77
|
+
pass
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 2f4ae1eebdf5
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .institutionalholding import InstitutionalHolding, InstitutionalHoldingTypedDict
|
|
6
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import List, Optional
|
|
9
|
+
from typing_extensions import NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class InstitutionalOwnershipResponseTypedDict(TypedDict):
|
|
13
|
+
r"""Response containing institutional ownership records for a security."""
|
|
14
|
+
|
|
15
|
+
data: NotRequired[List[InstitutionalHoldingTypedDict]]
|
|
16
|
+
r"""List of institutional ownership records for a security"""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class InstitutionalOwnershipResponse(BaseModel):
|
|
20
|
+
r"""Response containing institutional ownership records for a security."""
|
|
21
|
+
|
|
22
|
+
data: Optional[List[InstitutionalHolding]] = None
|
|
23
|
+
r"""List of institutional ownership records for a security"""
|
|
24
|
+
|
|
25
|
+
@model_serializer(mode="wrap")
|
|
26
|
+
def serialize_model(self, handler):
|
|
27
|
+
optional_fields = set(["data"])
|
|
28
|
+
serialized = handler(self)
|
|
29
|
+
m = {}
|
|
30
|
+
|
|
31
|
+
for n, f in type(self).model_fields.items():
|
|
32
|
+
k = f.alias or n
|
|
33
|
+
val = serialized.get(k, serialized.get(n))
|
|
34
|
+
|
|
35
|
+
if val != UNSET_SENTINEL:
|
|
36
|
+
if val is not None or k not in optional_fields:
|
|
37
|
+
m[k] = val
|
|
38
|
+
|
|
39
|
+
return m
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 1040dc569a18
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .institutionalholding import InstitutionalHolding, InstitutionalHoldingTypedDict
|
|
6
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import List, Optional
|
|
9
|
+
from typing_extensions import NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class InstitutionalPortfolioResponseTypedDict(TypedDict):
|
|
13
|
+
r"""Response containing an institutional investor's portfolio holdings."""
|
|
14
|
+
|
|
15
|
+
holdings: NotRequired[List[InstitutionalHoldingTypedDict]]
|
|
16
|
+
r"""List of holdings in an institutional investor's portfolio"""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class InstitutionalPortfolioResponse(BaseModel):
|
|
20
|
+
r"""Response containing an institutional investor's portfolio holdings."""
|
|
21
|
+
|
|
22
|
+
holdings: Optional[List[InstitutionalHolding]] = None
|
|
23
|
+
r"""List of holdings in an institutional investor's portfolio"""
|
|
24
|
+
|
|
25
|
+
@model_serializer(mode="wrap")
|
|
26
|
+
def serialize_model(self, handler):
|
|
27
|
+
optional_fields = set(["holdings"])
|
|
28
|
+
serialized = handler(self)
|
|
29
|
+
m = {}
|
|
30
|
+
|
|
31
|
+
for n, f in type(self).model_fields.items():
|
|
32
|
+
k = f.alias or n
|
|
33
|
+
val = serialized.get(k, serialized.get(n))
|
|
34
|
+
|
|
35
|
+
if val != UNSET_SENTINEL:
|
|
36
|
+
if val is not None or k not in optional_fields:
|
|
37
|
+
m[k] = val
|
|
38
|
+
|
|
39
|
+
return m
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 5f8703efd581
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from enum import Enum
|
|
6
|
+
from finance_dev import utils
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class InvestmentThemeID(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
10
|
+
r"""Investment theme identifier. Pick a theme to filter or look up stocks tied to that thesis (e.g. AI, fintech, clean energy)."""
|
|
11
|
+
|
|
12
|
+
FINANCIAL_EXCHANGES_DATA = "financialExchangesData"
|
|
13
|
+
FUTURE_FOOD = "futureFood"
|
|
14
|
+
THREED_PRINTING = "3dPrinting"
|
|
15
|
+
AGEING_POPULATION = "ageingPopulation"
|
|
16
|
+
AI = "ai"
|
|
17
|
+
BIG_DATA = "bigData"
|
|
18
|
+
CLOUD = "cloud"
|
|
19
|
+
CYBER_SECURITY = "cyberSecurity"
|
|
20
|
+
DIGITALISATION = "digitalisation"
|
|
21
|
+
DRONES = "drones"
|
|
22
|
+
FINTECH = "fintech"
|
|
23
|
+
FOUNDER = "founder"
|
|
24
|
+
FUTURE_ENTERTAINMENT = "futureEntertainment"
|
|
25
|
+
FUTURE_VEHICLES = "futureVehicles"
|
|
26
|
+
GAMING = "gaming"
|
|
27
|
+
GLOBAL_CLEAN_ENERGY = "globalCleanEnergy"
|
|
28
|
+
GLOBAL_WATER = "globalWater"
|
|
29
|
+
HEALTHCARE_INNOVATION = "healthcareInnovation"
|
|
30
|
+
HR = "hr"
|
|
31
|
+
MOBILE_PAYMENT = "mobilePayment"
|
|
32
|
+
ORGANIC_FOOD = "organicFood"
|
|
33
|
+
ROBOTICS = "robotics"
|
|
34
|
+
TOBACCO_ALCOHOL_GAMBLING = "tobaccoAlcoholGambling"
|
|
35
|
+
WIND_ENERGY = "windEnergy"
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 4e9262030487
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .investmentthemeid import InvestmentThemeID
|
|
6
|
+
from finance_dev import models
|
|
7
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
8
|
+
from pydantic import field_serializer, model_serializer
|
|
9
|
+
from typing import List, Optional
|
|
10
|
+
from typing_extensions import NotRequired, TypedDict
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class InvestmentThemeResponseDataTypedDict(TypedDict):
|
|
14
|
+
symbol: NotRequired[str]
|
|
15
|
+
r"""Ticker symbol of a company in the theme."""
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class InvestmentThemeResponseData(BaseModel):
|
|
19
|
+
symbol: Optional[str] = None
|
|
20
|
+
r"""Ticker symbol of a company in the theme."""
|
|
21
|
+
|
|
22
|
+
@model_serializer(mode="wrap")
|
|
23
|
+
def serialize_model(self, handler):
|
|
24
|
+
optional_fields = set(["symbol"])
|
|
25
|
+
serialized = handler(self)
|
|
26
|
+
m = {}
|
|
27
|
+
|
|
28
|
+
for n, f in type(self).model_fields.items():
|
|
29
|
+
k = f.alias or n
|
|
30
|
+
val = serialized.get(k, serialized.get(n))
|
|
31
|
+
|
|
32
|
+
if val != UNSET_SENTINEL:
|
|
33
|
+
if val is not None or k not in optional_fields:
|
|
34
|
+
m[k] = val
|
|
35
|
+
|
|
36
|
+
return m
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class InvestmentThemeResponseTypedDict(TypedDict):
|
|
40
|
+
r"""Companies belonging to an investment theme."""
|
|
41
|
+
|
|
42
|
+
data: NotRequired[List[InvestmentThemeResponseDataTypedDict]]
|
|
43
|
+
r"""Companies in the investment theme."""
|
|
44
|
+
theme: NotRequired[InvestmentThemeID]
|
|
45
|
+
r"""Investment theme identifier. Pick a theme to filter or look up stocks tied to that thesis (e.g. AI, fintech, clean energy)."""
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class InvestmentThemeResponse(BaseModel):
|
|
49
|
+
r"""Companies belonging to an investment theme."""
|
|
50
|
+
|
|
51
|
+
data: Optional[List[InvestmentThemeResponseData]] = None
|
|
52
|
+
r"""Companies in the investment theme."""
|
|
53
|
+
|
|
54
|
+
theme: Optional[InvestmentThemeID] = None
|
|
55
|
+
r"""Investment theme identifier. Pick a theme to filter or look up stocks tied to that thesis (e.g. AI, fintech, clean energy)."""
|
|
56
|
+
|
|
57
|
+
@field_serializer("theme")
|
|
58
|
+
def serialize_theme(self, value):
|
|
59
|
+
if isinstance(value, str):
|
|
60
|
+
try:
|
|
61
|
+
return models.InvestmentThemeID(value)
|
|
62
|
+
except ValueError:
|
|
63
|
+
return value
|
|
64
|
+
return value
|
|
65
|
+
|
|
66
|
+
@model_serializer(mode="wrap")
|
|
67
|
+
def serialize_model(self, handler):
|
|
68
|
+
optional_fields = set(["data", "theme"])
|
|
69
|
+
serialized = handler(self)
|
|
70
|
+
m = {}
|
|
71
|
+
|
|
72
|
+
for n, f in type(self).model_fields.items():
|
|
73
|
+
k = f.alias or n
|
|
74
|
+
val = serialized.get(k, serialized.get(n))
|
|
75
|
+
|
|
76
|
+
if val != UNSET_SENTINEL:
|
|
77
|
+
if val is not None or k not in optional_fields:
|
|
78
|
+
m[k] = val
|
|
79
|
+
|
|
80
|
+
return m
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 0933e3b29273
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .ipoitem import IpoItem, IpoItemTypedDict
|
|
6
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import List, Optional
|
|
9
|
+
from typing_extensions import NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class IpoCalendarResponseTypedDict(TypedDict):
|
|
13
|
+
r"""Response containing IPO calendar entries."""
|
|
14
|
+
|
|
15
|
+
ipos: NotRequired[List[IpoItemTypedDict]]
|
|
16
|
+
r"""Array of IPO calendar entries"""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class IpoCalendarResponse(BaseModel):
|
|
20
|
+
r"""Response containing IPO calendar entries."""
|
|
21
|
+
|
|
22
|
+
ipos: Optional[List[IpoItem]] = None
|
|
23
|
+
r"""Array of IPO calendar entries"""
|
|
24
|
+
|
|
25
|
+
@model_serializer(mode="wrap")
|
|
26
|
+
def serialize_model(self, handler):
|
|
27
|
+
optional_fields = set(["ipos"])
|
|
28
|
+
serialized = handler(self)
|
|
29
|
+
m = {}
|
|
30
|
+
|
|
31
|
+
for n, f in type(self).model_fields.items():
|
|
32
|
+
k = f.alias or n
|
|
33
|
+
val = serialized.get(k, serialized.get(n))
|
|
34
|
+
|
|
35
|
+
if val != UNSET_SENTINEL:
|
|
36
|
+
if val is not None or k not in optional_fields:
|
|
37
|
+
m[k] = val
|
|
38
|
+
|
|
39
|
+
return m
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 5c4e5c4c77e6
|
|
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 IpoItemTypedDict(TypedDict):
|
|
13
|
+
r"""A single IPO calendar entry."""
|
|
14
|
+
|
|
15
|
+
date_: NotRequired[str]
|
|
16
|
+
r"""Expected or actual IPO date in YYYY-MM-DD format"""
|
|
17
|
+
exchange: NotRequired[str]
|
|
18
|
+
r"""Stock exchange where the IPO will list"""
|
|
19
|
+
name: NotRequired[str]
|
|
20
|
+
r"""Company name"""
|
|
21
|
+
price_from: NotRequired[float]
|
|
22
|
+
r"""Minimum price per share in the IPO price range"""
|
|
23
|
+
price_to: NotRequired[float]
|
|
24
|
+
r"""Maximum price per share in the IPO price range"""
|
|
25
|
+
status: NotRequired[str]
|
|
26
|
+
r"""IPO status (expected, priced, filed, withdrawn)"""
|
|
27
|
+
symbol: NotRequired[str]
|
|
28
|
+
r"""Stock ticker symbol for the IPO"""
|
|
29
|
+
total_shares_value: NotRequired[float]
|
|
30
|
+
r"""Total value of shares offered in the IPO"""
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class IpoItem(BaseModel):
|
|
34
|
+
r"""A single IPO calendar entry."""
|
|
35
|
+
|
|
36
|
+
date_: Annotated[Optional[str], pydantic.Field(alias="date")] = None
|
|
37
|
+
r"""Expected or actual IPO date in YYYY-MM-DD format"""
|
|
38
|
+
|
|
39
|
+
exchange: Optional[str] = None
|
|
40
|
+
r"""Stock exchange where the IPO will list"""
|
|
41
|
+
|
|
42
|
+
name: Optional[str] = None
|
|
43
|
+
r"""Company name"""
|
|
44
|
+
|
|
45
|
+
price_from: Annotated[Optional[float], pydantic.Field(alias="priceFrom")] = None
|
|
46
|
+
r"""Minimum price per share in the IPO price range"""
|
|
47
|
+
|
|
48
|
+
price_to: Annotated[Optional[float], pydantic.Field(alias="priceTo")] = None
|
|
49
|
+
r"""Maximum price per share in the IPO price range"""
|
|
50
|
+
|
|
51
|
+
status: Optional[str] = None
|
|
52
|
+
r"""IPO status (expected, priced, filed, withdrawn)"""
|
|
53
|
+
|
|
54
|
+
symbol: Optional[str] = None
|
|
55
|
+
r"""Stock ticker symbol for the IPO"""
|
|
56
|
+
|
|
57
|
+
total_shares_value: Annotated[
|
|
58
|
+
Optional[float], pydantic.Field(alias="totalSharesValue")
|
|
59
|
+
] = None
|
|
60
|
+
r"""Total value of shares offered in the IPO"""
|
|
61
|
+
|
|
62
|
+
@model_serializer(mode="wrap")
|
|
63
|
+
def serialize_model(self, handler):
|
|
64
|
+
optional_fields = set(
|
|
65
|
+
[
|
|
66
|
+
"date",
|
|
67
|
+
"exchange",
|
|
68
|
+
"name",
|
|
69
|
+
"priceFrom",
|
|
70
|
+
"priceTo",
|
|
71
|
+
"status",
|
|
72
|
+
"symbol",
|
|
73
|
+
"totalSharesValue",
|
|
74
|
+
]
|
|
75
|
+
)
|
|
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
|
+
IpoItem.model_rebuild()
|
|
92
|
+
except NameError:
|
|
93
|
+
pass
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 34ce7bc36dd9
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .getordersv2response import GetOrdersV2Response, GetOrdersV2ResponseTypedDict
|
|
6
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
7
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
8
|
+
from finance_dev.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata
|
|
9
|
+
import pydantic
|
|
10
|
+
from pydantic import model_serializer
|
|
11
|
+
from typing import Callable, Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ListActiveOrdersRequestTypedDict(TypedDict):
|
|
16
|
+
id: str
|
|
17
|
+
r"""Account ID whose active orders you want to read. Use the account identifier from the user's account list or trading setup."""
|
|
18
|
+
limit: NotRequired[int]
|
|
19
|
+
r"""Maximum number of orders to return in this page. Use smaller values for UI lists and larger values for back-office exports. Default is 50; maximum is 500."""
|
|
20
|
+
cursor: NotRequired[int]
|
|
21
|
+
r"""Opaque pagination cursor. Send `0` (or omit) for the first page; pass the previous response's `nextCursor` for subsequent pages. Stop when `nextCursor` is `0`."""
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class ListActiveOrdersRequest(BaseModel):
|
|
25
|
+
id: Annotated[
|
|
26
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
|
27
|
+
]
|
|
28
|
+
r"""Account ID whose active orders you want to read. Use the account identifier from the user's account list or trading setup."""
|
|
29
|
+
|
|
30
|
+
limit: Annotated[
|
|
31
|
+
Optional[int],
|
|
32
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
33
|
+
] = 50
|
|
34
|
+
r"""Maximum number of orders to return in this page. Use smaller values for UI lists and larger values for back-office exports. Default is 50; maximum is 500."""
|
|
35
|
+
|
|
36
|
+
cursor: Annotated[
|
|
37
|
+
Optional[int],
|
|
38
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
39
|
+
] = 0
|
|
40
|
+
r"""Opaque pagination cursor. Send `0` (or omit) for the first page; pass the previous response's `nextCursor` for subsequent pages. Stop when `nextCursor` is `0`."""
|
|
41
|
+
|
|
42
|
+
@model_serializer(mode="wrap")
|
|
43
|
+
def serialize_model(self, handler):
|
|
44
|
+
optional_fields = set(["limit", "cursor"])
|
|
45
|
+
serialized = handler(self)
|
|
46
|
+
m = {}
|
|
47
|
+
|
|
48
|
+
for n, f in type(self).model_fields.items():
|
|
49
|
+
k = f.alias or n
|
|
50
|
+
val = serialized.get(k, serialized.get(n))
|
|
51
|
+
|
|
52
|
+
if val != UNSET_SENTINEL:
|
|
53
|
+
if val is not None or k not in optional_fields:
|
|
54
|
+
m[k] = val
|
|
55
|
+
|
|
56
|
+
return m
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
class ListActiveOrdersResponseTypedDict(TypedDict):
|
|
60
|
+
http_meta: HTTPMetadataTypedDict
|
|
61
|
+
get_orders_v2_response: NotRequired[GetOrdersV2ResponseTypedDict]
|
|
62
|
+
r"""Page of active orders"""
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
class ListActiveOrdersResponse(BaseModel):
|
|
66
|
+
next: Callable[[], Optional[ListActiveOrdersResponse]]
|
|
67
|
+
|
|
68
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
69
|
+
|
|
70
|
+
get_orders_v2_response: Optional[GetOrdersV2Response] = None
|
|
71
|
+
r"""Page of active orders"""
|
|
72
|
+
|
|
73
|
+
@model_serializer(mode="wrap")
|
|
74
|
+
def serialize_model(self, handler):
|
|
75
|
+
optional_fields = set(["GetOrdersV2Response"])
|
|
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
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 855d295aa7f6
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
6
|
+
from .predmdcategory import PredMdCategory, PredMdCategoryTypedDict
|
|
7
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
8
|
+
import pydantic
|
|
9
|
+
from pydantic import model_serializer
|
|
10
|
+
from typing import List, Optional
|
|
11
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class ListCategoriesDataTypedDict(TypedDict):
|
|
15
|
+
categories: List[PredMdCategoryTypedDict]
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class ListCategoriesData(BaseModel):
|
|
19
|
+
categories: List[PredMdCategory]
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class ListCategoriesResponseBodyTypedDict(TypedDict):
|
|
23
|
+
r"""Standard success envelope used by all success responses. `data` is endpoint-specific."""
|
|
24
|
+
|
|
25
|
+
success: bool
|
|
26
|
+
data: NotRequired[ListCategoriesDataTypedDict]
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class ListCategoriesResponseBody(BaseModel):
|
|
30
|
+
r"""Standard success envelope used by all success responses. `data` is endpoint-specific."""
|
|
31
|
+
|
|
32
|
+
success: bool
|
|
33
|
+
|
|
34
|
+
data: Optional[ListCategoriesData] = None
|
|
35
|
+
|
|
36
|
+
@model_serializer(mode="wrap")
|
|
37
|
+
def serialize_model(self, handler):
|
|
38
|
+
optional_fields = set(["data"])
|
|
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 ListCategoriesResponseTypedDict(TypedDict):
|
|
54
|
+
http_meta: HTTPMetadataTypedDict
|
|
55
|
+
object: NotRequired[ListCategoriesResponseBodyTypedDict]
|
|
56
|
+
r"""The category tree; empty when no contract is active"""
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
class ListCategoriesResponse(BaseModel):
|
|
60
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
61
|
+
|
|
62
|
+
object: Optional[ListCategoriesResponseBody] = None
|
|
63
|
+
r"""The category tree; empty when no contract is active"""
|
|
64
|
+
|
|
65
|
+
@model_serializer(mode="wrap")
|
|
66
|
+
def serialize_model(self, handler):
|
|
67
|
+
optional_fields = set(["object"])
|
|
68
|
+
serialized = handler(self)
|
|
69
|
+
m = {}
|
|
70
|
+
|
|
71
|
+
for n, f in type(self).model_fields.items():
|
|
72
|
+
k = f.alias or n
|
|
73
|
+
val = serialized.get(k, serialized.get(n))
|
|
74
|
+
|
|
75
|
+
if val != UNSET_SENTINEL:
|
|
76
|
+
if val is not None or k not in optional_fields:
|
|
77
|
+
m[k] = val
|
|
78
|
+
|
|
79
|
+
return m
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: f4877fa3f82c
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
6
|
+
from .indexgroupsresponse import IndexGroupsResponse, IndexGroupsResponseTypedDict
|
|
7
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
8
|
+
import pydantic
|
|
9
|
+
from pydantic import model_serializer
|
|
10
|
+
from typing import Optional
|
|
11
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class ListIndexGroupsResponseTypedDict(TypedDict):
|
|
15
|
+
http_meta: HTTPMetadataTypedDict
|
|
16
|
+
index_groups_response: NotRequired[IndexGroupsResponseTypedDict]
|
|
17
|
+
r"""Successful response with list of index groups"""
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class ListIndexGroupsResponse(BaseModel):
|
|
21
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
22
|
+
|
|
23
|
+
index_groups_response: Optional[IndexGroupsResponse] = None
|
|
24
|
+
r"""Successful response with list of index groups"""
|
|
25
|
+
|
|
26
|
+
@model_serializer(mode="wrap")
|
|
27
|
+
def serialize_model(self, handler):
|
|
28
|
+
optional_fields = set(["IndexGroupsResponse"])
|
|
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
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 483f7aa99aba
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
6
|
+
from .indicesbygroupresponse import (
|
|
7
|
+
IndicesByGroupResponse,
|
|
8
|
+
IndicesByGroupResponseTypedDict,
|
|
9
|
+
)
|
|
10
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
11
|
+
from finance_dev.utils import FieldMetadata, QueryParamMetadata
|
|
12
|
+
import pydantic
|
|
13
|
+
from pydantic import model_serializer
|
|
14
|
+
from typing import Optional
|
|
15
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class ListIndicesByGroupRequestTypedDict(TypedDict):
|
|
19
|
+
index_group: str
|
|
20
|
+
r"""Index group to retrieve recently-updated members from. Use [GET /v1/indices/groups](/api-reference/supplemental/indices-groups) to discover the live list — see `IndexGroup` for the current published set with plain-English labels."""
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class ListIndicesByGroupRequest(BaseModel):
|
|
24
|
+
index_group: Annotated[
|
|
25
|
+
str,
|
|
26
|
+
pydantic.Field(alias="indexGroup"),
|
|
27
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
28
|
+
]
|
|
29
|
+
r"""Index group to retrieve recently-updated members from. Use [GET /v1/indices/groups](/api-reference/supplemental/indices-groups) to discover the live list — see `IndexGroup` for the current published set with plain-English labels."""
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class ListIndicesByGroupResponseTypedDict(TypedDict):
|
|
33
|
+
http_meta: HTTPMetadataTypedDict
|
|
34
|
+
indices_by_group_response: NotRequired[IndicesByGroupResponseTypedDict]
|
|
35
|
+
r"""Successful response"""
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class ListIndicesByGroupResponse(BaseModel):
|
|
39
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
40
|
+
|
|
41
|
+
indices_by_group_response: Optional[IndicesByGroupResponse] = None
|
|
42
|
+
r"""Successful response"""
|
|
43
|
+
|
|
44
|
+
@model_serializer(mode="wrap")
|
|
45
|
+
def serialize_model(self, handler):
|
|
46
|
+
optional_fields = set(["IndicesByGroupResponse"])
|
|
47
|
+
serialized = handler(self)
|
|
48
|
+
m = {}
|
|
49
|
+
|
|
50
|
+
for n, f in type(self).model_fields.items():
|
|
51
|
+
k = f.alias or n
|
|
52
|
+
val = serialized.get(k, serialized.get(n))
|
|
53
|
+
|
|
54
|
+
if val != UNSET_SENTINEL:
|
|
55
|
+
if val is not None or k not in optional_fields:
|
|
56
|
+
m[k] = val
|
|
57
|
+
|
|
58
|
+
return m
|