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,91 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 8a1cf91408e2
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
6
|
+
from .indexlistresponse import IndexListResponse, IndexListResponseTypedDict
|
|
7
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
8
|
+
from finance_dev.utils import FieldMetadata, QueryParamMetadata
|
|
9
|
+
import pydantic
|
|
10
|
+
from pydantic import model_serializer
|
|
11
|
+
from typing import Callable, Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ListIndicesRequestTypedDict(TypedDict):
|
|
16
|
+
index_group: str
|
|
17
|
+
r"""Index group whose members you want to list (paginated). Use [GET /v1/indices/groups](/api-reference/supplemental/indices-groups) to discover the live list of groups — see `IndexGroup` for the current published set with plain-English labels."""
|
|
18
|
+
page_size: NotRequired[int]
|
|
19
|
+
r"""Number of results per page. Use this to control pagination size in list views. (default: 100, max: 1000)"""
|
|
20
|
+
next_page: NotRequired[str]
|
|
21
|
+
r"""Pagination token for the next page. Omit it on the first request, then send the returned token to continue paging."""
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class ListIndicesRequest(BaseModel):
|
|
25
|
+
index_group: Annotated[
|
|
26
|
+
str,
|
|
27
|
+
pydantic.Field(alias="indexGroup"),
|
|
28
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
29
|
+
]
|
|
30
|
+
r"""Index group whose members you want to list (paginated). Use [GET /v1/indices/groups](/api-reference/supplemental/indices-groups) to discover the live list of groups — see `IndexGroup` for the current published set with plain-English labels."""
|
|
31
|
+
|
|
32
|
+
page_size: Annotated[
|
|
33
|
+
Optional[int],
|
|
34
|
+
pydantic.Field(alias="pageSize"),
|
|
35
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
36
|
+
] = None
|
|
37
|
+
r"""Number of results per page. Use this to control pagination size in list views. (default: 100, max: 1000)"""
|
|
38
|
+
|
|
39
|
+
next_page: Annotated[
|
|
40
|
+
Optional[str],
|
|
41
|
+
pydantic.Field(alias="nextPage"),
|
|
42
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
43
|
+
] = None
|
|
44
|
+
r"""Pagination token for the next page. Omit it on the first request, then send the returned token to continue paging."""
|
|
45
|
+
|
|
46
|
+
@model_serializer(mode="wrap")
|
|
47
|
+
def serialize_model(self, handler):
|
|
48
|
+
optional_fields = set(["pageSize", "nextPage"])
|
|
49
|
+
serialized = handler(self)
|
|
50
|
+
m = {}
|
|
51
|
+
|
|
52
|
+
for n, f in type(self).model_fields.items():
|
|
53
|
+
k = f.alias or n
|
|
54
|
+
val = serialized.get(k, serialized.get(n))
|
|
55
|
+
|
|
56
|
+
if val != UNSET_SENTINEL:
|
|
57
|
+
if val is not None or k not in optional_fields:
|
|
58
|
+
m[k] = val
|
|
59
|
+
|
|
60
|
+
return m
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
class ListIndicesResponseTypedDict(TypedDict):
|
|
64
|
+
http_meta: HTTPMetadataTypedDict
|
|
65
|
+
index_list_response: NotRequired[IndexListResponseTypedDict]
|
|
66
|
+
r"""Successful response with list of indices"""
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
class ListIndicesResponse(BaseModel):
|
|
70
|
+
next: Callable[[], Optional[ListIndicesResponse]]
|
|
71
|
+
|
|
72
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
73
|
+
|
|
74
|
+
index_list_response: Optional[IndexListResponse] = None
|
|
75
|
+
r"""Successful response with list of indices"""
|
|
76
|
+
|
|
77
|
+
@model_serializer(mode="wrap")
|
|
78
|
+
def serialize_model(self, handler):
|
|
79
|
+
optional_fields = set(["IndexListResponse"])
|
|
80
|
+
serialized = handler(self)
|
|
81
|
+
m = {}
|
|
82
|
+
|
|
83
|
+
for n, f in type(self).model_fields.items():
|
|
84
|
+
k = f.alias or n
|
|
85
|
+
val = serialized.get(k, serialized.get(n))
|
|
86
|
+
|
|
87
|
+
if val != UNSET_SENTINEL:
|
|
88
|
+
if val is not None or k not in optional_fields:
|
|
89
|
+
m[k] = val
|
|
90
|
+
|
|
91
|
+
return m
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 030f239a66ae
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
6
|
+
from .optioncontractsresponse import (
|
|
7
|
+
OptionContractsResponse,
|
|
8
|
+
OptionContractsResponseTypedDict,
|
|
9
|
+
)
|
|
10
|
+
from datetime import date
|
|
11
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
12
|
+
from finance_dev.utils import FieldMetadata, PathParamMetadata
|
|
13
|
+
import pydantic
|
|
14
|
+
from pydantic import model_serializer
|
|
15
|
+
from typing import Optional
|
|
16
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class ListOptionContractsRequestTypedDict(TypedDict):
|
|
20
|
+
symbol: str
|
|
21
|
+
r"""The underlying stock symbol (e.g., AAPL, TSLA, SPY)"""
|
|
22
|
+
expiry_date: date
|
|
23
|
+
r"""The expiration date in YYYY-MM-DD format"""
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class ListOptionContractsRequest(BaseModel):
|
|
27
|
+
symbol: Annotated[
|
|
28
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
|
29
|
+
]
|
|
30
|
+
r"""The underlying stock symbol (e.g., AAPL, TSLA, SPY)"""
|
|
31
|
+
|
|
32
|
+
expiry_date: Annotated[
|
|
33
|
+
date,
|
|
34
|
+
pydantic.Field(alias="expiryDate"),
|
|
35
|
+
FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
|
|
36
|
+
]
|
|
37
|
+
r"""The expiration date in YYYY-MM-DD format"""
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class ListOptionContractsResponseTypedDict(TypedDict):
|
|
41
|
+
http_meta: HTTPMetadataTypedDict
|
|
42
|
+
option_contracts_response: NotRequired[OptionContractsResponseTypedDict]
|
|
43
|
+
r"""Successful response. Returns symbol, expiryDate, and separate calls and puts arrays; each item has symbol (OCC ticker) and strikePrice."""
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class ListOptionContractsResponse(BaseModel):
|
|
47
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
48
|
+
|
|
49
|
+
option_contracts_response: Optional[OptionContractsResponse] = None
|
|
50
|
+
r"""Successful response. Returns symbol, expiryDate, and separate calls and puts arrays; each item has symbol (OCC ticker) and strikePrice."""
|
|
51
|
+
|
|
52
|
+
@model_serializer(mode="wrap")
|
|
53
|
+
def serialize_model(self, handler):
|
|
54
|
+
optional_fields = set(["OptionContractsResponse"])
|
|
55
|
+
serialized = handler(self)
|
|
56
|
+
m = {}
|
|
57
|
+
|
|
58
|
+
for n, f in type(self).model_fields.items():
|
|
59
|
+
k = f.alias or n
|
|
60
|
+
val = serialized.get(k, serialized.get(n))
|
|
61
|
+
|
|
62
|
+
if val != UNSET_SENTINEL:
|
|
63
|
+
if val is not None or k not in optional_fields:
|
|
64
|
+
m[k] = val
|
|
65
|
+
|
|
66
|
+
return m
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: c0f060f31145
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
6
|
+
from .optionexpirydatesresponse import (
|
|
7
|
+
OptionExpiryDatesResponse,
|
|
8
|
+
OptionExpiryDatesResponseTypedDict,
|
|
9
|
+
)
|
|
10
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
11
|
+
from finance_dev.utils import FieldMetadata, PathParamMetadata
|
|
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 ListOptionExpiryDatesRequestTypedDict(TypedDict):
|
|
19
|
+
symbol: str
|
|
20
|
+
r"""The underlying stock symbol (e.g., AAPL, TSLA, SPY)"""
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class ListOptionExpiryDatesRequest(BaseModel):
|
|
24
|
+
symbol: Annotated[
|
|
25
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
|
26
|
+
]
|
|
27
|
+
r"""The underlying stock symbol (e.g., AAPL, TSLA, SPY)"""
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class ListOptionExpiryDatesResponseTypedDict(TypedDict):
|
|
31
|
+
http_meta: HTTPMetadataTypedDict
|
|
32
|
+
option_expiry_dates_response: NotRequired[OptionExpiryDatesResponseTypedDict]
|
|
33
|
+
r"""Successful response. Returns symbol and list of expiry dates in YYYY-MM-DD format."""
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class ListOptionExpiryDatesResponse(BaseModel):
|
|
37
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
38
|
+
|
|
39
|
+
option_expiry_dates_response: Optional[OptionExpiryDatesResponse] = None
|
|
40
|
+
r"""Successful response. Returns symbol and list of expiry dates in YYYY-MM-DD format."""
|
|
41
|
+
|
|
42
|
+
@model_serializer(mode="wrap")
|
|
43
|
+
def serialize_model(self, handler):
|
|
44
|
+
optional_fields = set(["OptionExpiryDatesResponse"])
|
|
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
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: a97d55fa8217
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .getordersv2response import GetOrdersV2Response, GetOrdersV2ResponseTypedDict
|
|
6
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
7
|
+
from datetime import datetime
|
|
8
|
+
from enum import Enum
|
|
9
|
+
from finance_dev import models, utils
|
|
10
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
11
|
+
from finance_dev.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata
|
|
12
|
+
import pydantic
|
|
13
|
+
from pydantic import field_serializer, model_serializer
|
|
14
|
+
from typing import Callable, Optional
|
|
15
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class OrderBy(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
19
|
+
r"""Sort direction by `order_created_at`. Defaults to `desc` (newest first). Use `asc` for chronological exports."""
|
|
20
|
+
|
|
21
|
+
ASC = "asc"
|
|
22
|
+
DESC = "desc"
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class ListOrderHistoryRequestTypedDict(TypedDict):
|
|
26
|
+
id: str
|
|
27
|
+
r"""Account ID whose historical orders you want to read."""
|
|
28
|
+
from_: datetime
|
|
29
|
+
r"""Start of the history window, inclusive. Enter an RFC 3339 timestamp with timezone, for example `2026-04-01T00:00:00Z`."""
|
|
30
|
+
to: NotRequired[datetime]
|
|
31
|
+
r"""End of the history window, inclusive. Omit it to use the current time. The total range from `from` cannot exceed 90 days."""
|
|
32
|
+
order_by: NotRequired[OrderBy]
|
|
33
|
+
r"""Sort direction by `order_created_at`. Defaults to `desc` (newest first). Use `asc` for chronological exports."""
|
|
34
|
+
exclude_today: NotRequired[bool]
|
|
35
|
+
r"""Set to `true` when you want historical orders only and do not want today's activity duplicated with the active-orders endpoint."""
|
|
36
|
+
limit: NotRequired[int]
|
|
37
|
+
r"""Maximum number of historical orders to return in this page. Default is 50; maximum is 500."""
|
|
38
|
+
cursor: NotRequired[int]
|
|
39
|
+
r"""Opaque pagination cursor for the database history walk. Send `0` (or omit) for the first page; pass the previous `nextCursor` until it returns `0`."""
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class ListOrderHistoryRequest(BaseModel):
|
|
43
|
+
id: Annotated[
|
|
44
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
|
45
|
+
]
|
|
46
|
+
r"""Account ID whose historical orders you want to read."""
|
|
47
|
+
|
|
48
|
+
from_: Annotated[
|
|
49
|
+
datetime,
|
|
50
|
+
pydantic.Field(alias="from"),
|
|
51
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
52
|
+
]
|
|
53
|
+
r"""Start of the history window, inclusive. Enter an RFC 3339 timestamp with timezone, for example `2026-04-01T00:00:00Z`."""
|
|
54
|
+
|
|
55
|
+
to: Annotated[
|
|
56
|
+
Optional[datetime],
|
|
57
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
58
|
+
] = None
|
|
59
|
+
r"""End of the history window, inclusive. Omit it to use the current time. The total range from `from` cannot exceed 90 days."""
|
|
60
|
+
|
|
61
|
+
order_by: Annotated[
|
|
62
|
+
Optional[OrderBy],
|
|
63
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
64
|
+
] = OrderBy.DESC
|
|
65
|
+
r"""Sort direction by `order_created_at`. Defaults to `desc` (newest first). Use `asc` for chronological exports."""
|
|
66
|
+
|
|
67
|
+
exclude_today: Annotated[
|
|
68
|
+
Optional[bool],
|
|
69
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
70
|
+
] = False
|
|
71
|
+
r"""Set to `true` when you want historical orders only and do not want today's activity duplicated with the active-orders endpoint."""
|
|
72
|
+
|
|
73
|
+
limit: Annotated[
|
|
74
|
+
Optional[int],
|
|
75
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
76
|
+
] = 50
|
|
77
|
+
r"""Maximum number of historical orders to return in this page. Default is 50; maximum is 500."""
|
|
78
|
+
|
|
79
|
+
cursor: Annotated[
|
|
80
|
+
Optional[int],
|
|
81
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
82
|
+
] = 0
|
|
83
|
+
r"""Opaque pagination cursor for the database history walk. Send `0` (or omit) for the first page; pass the previous `nextCursor` until it returns `0`."""
|
|
84
|
+
|
|
85
|
+
@field_serializer("order_by")
|
|
86
|
+
def serialize_order_by(self, value):
|
|
87
|
+
if isinstance(value, str):
|
|
88
|
+
try:
|
|
89
|
+
return models.OrderBy(value)
|
|
90
|
+
except ValueError:
|
|
91
|
+
return value
|
|
92
|
+
return value
|
|
93
|
+
|
|
94
|
+
@model_serializer(mode="wrap")
|
|
95
|
+
def serialize_model(self, handler):
|
|
96
|
+
optional_fields = set(["to", "order_by", "exclude_today", "limit", "cursor"])
|
|
97
|
+
serialized = handler(self)
|
|
98
|
+
m = {}
|
|
99
|
+
|
|
100
|
+
for n, f in type(self).model_fields.items():
|
|
101
|
+
k = f.alias or n
|
|
102
|
+
val = serialized.get(k, serialized.get(n))
|
|
103
|
+
|
|
104
|
+
if val != UNSET_SENTINEL:
|
|
105
|
+
if val is not None or k not in optional_fields:
|
|
106
|
+
m[k] = val
|
|
107
|
+
|
|
108
|
+
return m
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
class ListOrderHistoryResponseTypedDict(TypedDict):
|
|
112
|
+
http_meta: HTTPMetadataTypedDict
|
|
113
|
+
get_orders_v2_response: NotRequired[GetOrdersV2ResponseTypedDict]
|
|
114
|
+
r"""Page of historical orders"""
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
class ListOrderHistoryResponse(BaseModel):
|
|
118
|
+
next: Callable[[], Optional[ListOrderHistoryResponse]]
|
|
119
|
+
|
|
120
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
121
|
+
|
|
122
|
+
get_orders_v2_response: Optional[GetOrdersV2Response] = None
|
|
123
|
+
r"""Page of historical orders"""
|
|
124
|
+
|
|
125
|
+
@model_serializer(mode="wrap")
|
|
126
|
+
def serialize_model(self, handler):
|
|
127
|
+
optional_fields = set(["GetOrdersV2Response"])
|
|
128
|
+
serialized = handler(self)
|
|
129
|
+
m = {}
|
|
130
|
+
|
|
131
|
+
for n, f in type(self).model_fields.items():
|
|
132
|
+
k = f.alias or n
|
|
133
|
+
val = serialized.get(k, serialized.get(n))
|
|
134
|
+
|
|
135
|
+
if val != UNSET_SENTINEL:
|
|
136
|
+
if val is not None or k not in optional_fields:
|
|
137
|
+
m[k] = val
|
|
138
|
+
|
|
139
|
+
return m
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 13a9dfb5e973
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
6
|
+
from .predordersorderpage import PredOrdersOrderPage, PredOrdersOrderPageTypedDict
|
|
7
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
8
|
+
from finance_dev.utils import FieldMetadata, QueryParamMetadata
|
|
9
|
+
import pydantic
|
|
10
|
+
from pydantic import model_serializer
|
|
11
|
+
from typing import Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ListPredictionOrdersRequestTypedDict(TypedDict):
|
|
16
|
+
status: NotRequired[str]
|
|
17
|
+
r"""Comma-separated order states, or `open` for every state an order can still rest or execute in (`pending_new`, `new`, `partially_filled`, `unknown`). An unknown state returns `400`."""
|
|
18
|
+
account_id: NotRequired[str]
|
|
19
|
+
r"""Only orders on this account."""
|
|
20
|
+
symbol: NotRequired[str]
|
|
21
|
+
r"""Only orders on this contract symbol."""
|
|
22
|
+
limit: NotRequired[int]
|
|
23
|
+
r"""Orders per page. Values above 200 are clamped to 200. `0`, a negative value, or a non-integer returns `400`."""
|
|
24
|
+
cursor: NotRequired[str]
|
|
25
|
+
r"""`nextCursor` from the previous page."""
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class ListPredictionOrdersRequest(BaseModel):
|
|
29
|
+
status: Annotated[
|
|
30
|
+
Optional[str],
|
|
31
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
32
|
+
] = None
|
|
33
|
+
r"""Comma-separated order states, or `open` for every state an order can still rest or execute in (`pending_new`, `new`, `partially_filled`, `unknown`). An unknown state returns `400`."""
|
|
34
|
+
|
|
35
|
+
account_id: Annotated[
|
|
36
|
+
Optional[str],
|
|
37
|
+
pydantic.Field(alias="accountId"),
|
|
38
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
39
|
+
] = None
|
|
40
|
+
r"""Only orders on this account."""
|
|
41
|
+
|
|
42
|
+
symbol: Annotated[
|
|
43
|
+
Optional[str],
|
|
44
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
45
|
+
] = None
|
|
46
|
+
r"""Only orders on this contract symbol."""
|
|
47
|
+
|
|
48
|
+
limit: Annotated[
|
|
49
|
+
Optional[int],
|
|
50
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
51
|
+
] = 50
|
|
52
|
+
r"""Orders per page. Values above 200 are clamped to 200. `0`, a negative value, or a non-integer returns `400`."""
|
|
53
|
+
|
|
54
|
+
cursor: Annotated[
|
|
55
|
+
Optional[str],
|
|
56
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
57
|
+
] = None
|
|
58
|
+
r"""`nextCursor` from the previous page."""
|
|
59
|
+
|
|
60
|
+
@model_serializer(mode="wrap")
|
|
61
|
+
def serialize_model(self, handler):
|
|
62
|
+
optional_fields = set(["status", "accountId", "symbol", "limit", "cursor"])
|
|
63
|
+
serialized = handler(self)
|
|
64
|
+
m = {}
|
|
65
|
+
|
|
66
|
+
for n, f in type(self).model_fields.items():
|
|
67
|
+
k = f.alias or n
|
|
68
|
+
val = serialized.get(k, serialized.get(n))
|
|
69
|
+
|
|
70
|
+
if val != UNSET_SENTINEL:
|
|
71
|
+
if val is not None or k not in optional_fields:
|
|
72
|
+
m[k] = val
|
|
73
|
+
|
|
74
|
+
return m
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
class ListPredictionOrdersResponseBodyTypedDict(TypedDict):
|
|
78
|
+
r"""Standard success envelope used by all success responses. `data` is endpoint-specific."""
|
|
79
|
+
|
|
80
|
+
success: bool
|
|
81
|
+
data: NotRequired[PredOrdersOrderPageTypedDict]
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
class ListPredictionOrdersResponseBody(BaseModel):
|
|
85
|
+
r"""Standard success envelope used by all success responses. `data` is endpoint-specific."""
|
|
86
|
+
|
|
87
|
+
success: bool
|
|
88
|
+
|
|
89
|
+
data: Optional[PredOrdersOrderPage] = None
|
|
90
|
+
|
|
91
|
+
@model_serializer(mode="wrap")
|
|
92
|
+
def serialize_model(self, handler):
|
|
93
|
+
optional_fields = set(["data"])
|
|
94
|
+
serialized = handler(self)
|
|
95
|
+
m = {}
|
|
96
|
+
|
|
97
|
+
for n, f in type(self).model_fields.items():
|
|
98
|
+
k = f.alias or n
|
|
99
|
+
val = serialized.get(k, serialized.get(n))
|
|
100
|
+
|
|
101
|
+
if val != UNSET_SENTINEL:
|
|
102
|
+
if val is not None or k not in optional_fields:
|
|
103
|
+
m[k] = val
|
|
104
|
+
|
|
105
|
+
return m
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
class ListPredictionOrdersResponseTypedDict(TypedDict):
|
|
109
|
+
http_meta: HTTPMetadataTypedDict
|
|
110
|
+
object: NotRequired[ListPredictionOrdersResponseBodyTypedDict]
|
|
111
|
+
r"""One page of orders."""
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
class ListPredictionOrdersResponse(BaseModel):
|
|
115
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
116
|
+
|
|
117
|
+
object: Optional[ListPredictionOrdersResponseBody] = None
|
|
118
|
+
r"""One page of orders."""
|
|
119
|
+
|
|
120
|
+
@model_serializer(mode="wrap")
|
|
121
|
+
def serialize_model(self, handler):
|
|
122
|
+
optional_fields = set(["object"])
|
|
123
|
+
serialized = handler(self)
|
|
124
|
+
m = {}
|
|
125
|
+
|
|
126
|
+
for n, f in type(self).model_fields.items():
|
|
127
|
+
k = f.alias or n
|
|
128
|
+
val = serialized.get(k, serialized.get(n))
|
|
129
|
+
|
|
130
|
+
if val != UNSET_SENTINEL:
|
|
131
|
+
if val is not None or k not in optional_fields:
|
|
132
|
+
m[k] = val
|
|
133
|
+
|
|
134
|
+
return m
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 83b1e849f10f
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
|
|
6
|
+
from .transcriptsresponse import TranscriptsResponse, TranscriptsResponseTypedDict
|
|
7
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
8
|
+
from finance_dev.utils import FieldMetadata, QueryParamMetadata
|
|
9
|
+
import pydantic
|
|
10
|
+
from pydantic import model_serializer
|
|
11
|
+
from typing import Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ListTranscriptsRequestTypedDict(TypedDict):
|
|
16
|
+
symbol: str
|
|
17
|
+
r"""Stock ticker to query. Send the plain uppercase symbol exactly as you'd type it on a brokerage screen, e.g. `AAPL`, `MSFT`."""
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class ListTranscriptsRequest(BaseModel):
|
|
21
|
+
symbol: Annotated[
|
|
22
|
+
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
23
|
+
]
|
|
24
|
+
r"""Stock ticker to query. Send the plain uppercase symbol exactly as you'd type it on a brokerage screen, e.g. `AAPL`, `MSFT`."""
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class ListTranscriptsResponseTypedDict(TypedDict):
|
|
28
|
+
http_meta: HTTPMetadataTypedDict
|
|
29
|
+
transcripts_response: NotRequired[TranscriptsResponseTypedDict]
|
|
30
|
+
r"""List of transcripts."""
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class ListTranscriptsResponse(BaseModel):
|
|
34
|
+
http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None
|
|
35
|
+
|
|
36
|
+
transcripts_response: Optional[TranscriptsResponse] = None
|
|
37
|
+
r"""List of transcripts."""
|
|
38
|
+
|
|
39
|
+
@model_serializer(mode="wrap")
|
|
40
|
+
def serialize_model(self, handler):
|
|
41
|
+
optional_fields = set(["TranscriptsResponse"])
|
|
42
|
+
serialized = handler(self)
|
|
43
|
+
m = {}
|
|
44
|
+
|
|
45
|
+
for n, f in type(self).model_fields.items():
|
|
46
|
+
k = f.alias or n
|
|
47
|
+
val = serialized.get(k, serialized.get(n))
|
|
48
|
+
|
|
49
|
+
if val != UNSET_SENTINEL:
|
|
50
|
+
if val is not None or k not in optional_fields:
|
|
51
|
+
m[k] = val
|
|
52
|
+
|
|
53
|
+
return m
|