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,53 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 45847caa6537
|
|
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 PredMdBaseEventHitTypedDict(TypedDict):
|
|
13
|
+
r"""One base event with at least one matching contract. The index carries no display name; read it through /base-events/{baseEventId}."""
|
|
14
|
+
|
|
15
|
+
base_event_id: str
|
|
16
|
+
contracts_found: int
|
|
17
|
+
r"""Every matching contract under this hit. Read them with type=contracts and eventId or baseEventId."""
|
|
18
|
+
underlying_spec: NotRequired[str]
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class PredMdBaseEventHit(BaseModel):
|
|
22
|
+
r"""One base event with at least one matching contract. The index carries no display name; read it through /base-events/{baseEventId}."""
|
|
23
|
+
|
|
24
|
+
base_event_id: Annotated[str, pydantic.Field(alias="baseEventId")]
|
|
25
|
+
|
|
26
|
+
contracts_found: Annotated[int, pydantic.Field(alias="contractsFound")]
|
|
27
|
+
r"""Every matching contract under this hit. Read them with type=contracts and eventId or baseEventId."""
|
|
28
|
+
|
|
29
|
+
underlying_spec: Annotated[
|
|
30
|
+
Optional[str], pydantic.Field(alias="underlyingSpec")
|
|
31
|
+
] = None
|
|
32
|
+
|
|
33
|
+
@model_serializer(mode="wrap")
|
|
34
|
+
def serialize_model(self, handler):
|
|
35
|
+
optional_fields = set(["underlyingSpec"])
|
|
36
|
+
serialized = handler(self)
|
|
37
|
+
m = {}
|
|
38
|
+
|
|
39
|
+
for n, f in type(self).model_fields.items():
|
|
40
|
+
k = f.alias or n
|
|
41
|
+
val = serialized.get(k, serialized.get(n))
|
|
42
|
+
|
|
43
|
+
if val != UNSET_SENTINEL:
|
|
44
|
+
if val is not None or k not in optional_fields:
|
|
45
|
+
m[k] = val
|
|
46
|
+
|
|
47
|
+
return m
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
try:
|
|
51
|
+
PredMdBaseEventHit.model_rebuild()
|
|
52
|
+
except NameError:
|
|
53
|
+
pass
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: ea3bd5e6cf4b
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .predmdbaseeventhit import PredMdBaseEventHit, PredMdBaseEventHitTypedDict
|
|
6
|
+
from enum import Enum
|
|
7
|
+
from finance_dev.types import BaseModel
|
|
8
|
+
import pydantic
|
|
9
|
+
from typing import List
|
|
10
|
+
from typing_extensions import Annotated, TypedDict
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class PredMdBaseEventSearchResultType(str, Enum):
|
|
14
|
+
BASE_EVENTS = "base-events"
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class PredMdBaseEventSearchResultTypedDict(TypedDict):
|
|
18
|
+
r"""One page of base events. found, page and perPage count base events."""
|
|
19
|
+
|
|
20
|
+
found: int
|
|
21
|
+
r"""Every match, not just this page."""
|
|
22
|
+
hits: List[PredMdBaseEventHitTypedDict]
|
|
23
|
+
page: int
|
|
24
|
+
per_page: int
|
|
25
|
+
type: PredMdBaseEventSearchResultType
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class PredMdBaseEventSearchResult(BaseModel):
|
|
29
|
+
r"""One page of base events. found, page and perPage count base events."""
|
|
30
|
+
|
|
31
|
+
found: int
|
|
32
|
+
r"""Every match, not just this page."""
|
|
33
|
+
|
|
34
|
+
hits: List[PredMdBaseEventHit]
|
|
35
|
+
|
|
36
|
+
page: int
|
|
37
|
+
|
|
38
|
+
per_page: Annotated[int, pydantic.Field(alias="perPage")]
|
|
39
|
+
|
|
40
|
+
type: PredMdBaseEventSearchResultType
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
try:
|
|
44
|
+
PredMdBaseEventSearchResult.model_rebuild()
|
|
45
|
+
except NameError:
|
|
46
|
+
pass
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 6645bbef736c
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .predmdbaseevent import PredMdBaseEvent, PredMdBaseEventTypedDict
|
|
6
|
+
from .predmdeventwithcontracts import (
|
|
7
|
+
PredMdEventWithContracts,
|
|
8
|
+
PredMdEventWithContractsTypedDict,
|
|
9
|
+
)
|
|
10
|
+
from finance_dev.types import BaseModel
|
|
11
|
+
import pydantic
|
|
12
|
+
from typing import List
|
|
13
|
+
from typing_extensions import Annotated, TypedDict
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class PredMdBaseEventWithEventsTypedDict(TypedDict):
|
|
17
|
+
base_event: PredMdBaseEventTypedDict
|
|
18
|
+
r"""Top-level 4castex base event (e.g. UNR, HORC)."""
|
|
19
|
+
events: List[PredMdEventWithContractsTypedDict]
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class PredMdBaseEventWithEvents(BaseModel):
|
|
23
|
+
base_event: Annotated[PredMdBaseEvent, pydantic.Field(alias="baseEvent")]
|
|
24
|
+
r"""Top-level 4castex base event (e.g. UNR, HORC)."""
|
|
25
|
+
|
|
26
|
+
events: List[PredMdEventWithContracts]
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
try:
|
|
30
|
+
PredMdBaseEventWithEvents.model_rebuild()
|
|
31
|
+
except NameError:
|
|
32
|
+
pass
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 5359e4af5704
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .predmdhistoryrequest import PredMdHistoryRequest, PredMdHistoryRequestTypedDict
|
|
6
|
+
from finance_dev.types import BaseModel
|
|
7
|
+
from typing import List
|
|
8
|
+
from typing_extensions import TypedDict
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class PredMdBatchHistoryRequestTypedDict(TypedDict):
|
|
12
|
+
queries: List[PredMdHistoryRequestTypedDict]
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class PredMdBatchHistoryRequest(BaseModel):
|
|
16
|
+
queries: List[PredMdHistoryRequest]
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: c186400b2c86
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .predmdhistoryresponse import PredMdHistoryResponse, PredMdHistoryResponseTypedDict
|
|
6
|
+
from finance_dev.types import BaseModel
|
|
7
|
+
from typing import List
|
|
8
|
+
from typing_extensions import TypedDict
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class PredMdBatchHistoryResponseTypedDict(TypedDict):
|
|
12
|
+
results: List[PredMdHistoryResponseTypedDict]
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class PredMdBatchHistoryResponse(BaseModel):
|
|
16
|
+
results: List[PredMdHistoryResponse]
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: ec689d15009d
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
6
|
+
from pydantic import model_serializer
|
|
7
|
+
from typing import List, Optional
|
|
8
|
+
from typing_extensions import NotRequired, TypedDict
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class PredMdCategoryTypedDict(TypedDict):
|
|
12
|
+
r"""One node of the category tree."""
|
|
13
|
+
|
|
14
|
+
name: str
|
|
15
|
+
r"""This level's name, for display."""
|
|
16
|
+
path: str
|
|
17
|
+
r"""Every level from the top down to this one, joined by \" > \". It identifies the category and is what search takes as category."""
|
|
18
|
+
children: NotRequired[List[PredMdCategoryTypedDict]]
|
|
19
|
+
r"""The categories one level down, ordered by name. Absent on a leaf."""
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class PredMdCategory(BaseModel):
|
|
23
|
+
r"""One node of the category tree."""
|
|
24
|
+
|
|
25
|
+
name: str
|
|
26
|
+
r"""This level's name, for display."""
|
|
27
|
+
|
|
28
|
+
path: str
|
|
29
|
+
r"""Every level from the top down to this one, joined by \" > \". It identifies the category and is what search takes as category."""
|
|
30
|
+
|
|
31
|
+
children: Optional[List[PredMdCategory]] = None
|
|
32
|
+
r"""The categories one level down, ordered by name. Absent on a leaf."""
|
|
33
|
+
|
|
34
|
+
@model_serializer(mode="wrap")
|
|
35
|
+
def serialize_model(self, handler):
|
|
36
|
+
optional_fields = set(["children"])
|
|
37
|
+
serialized = handler(self)
|
|
38
|
+
m = {}
|
|
39
|
+
|
|
40
|
+
for n, f in type(self).model_fields.items():
|
|
41
|
+
k = f.alias or n
|
|
42
|
+
val = serialized.get(k, serialized.get(n))
|
|
43
|
+
|
|
44
|
+
if val != UNSET_SENTINEL:
|
|
45
|
+
if val is not None or k not in optional_fields:
|
|
46
|
+
m[k] = val
|
|
47
|
+
|
|
48
|
+
return m
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 669328dd6fe7
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from datetime import datetime
|
|
6
|
+
from decimal import Decimal
|
|
7
|
+
from finance_dev.types import (
|
|
8
|
+
BaseModel,
|
|
9
|
+
Nullable,
|
|
10
|
+
OptionalNullable,
|
|
11
|
+
UNSET,
|
|
12
|
+
UNSET_SENTINEL,
|
|
13
|
+
)
|
|
14
|
+
from finance_dev.utils import serialize_decimal, validate_decimal
|
|
15
|
+
import pydantic
|
|
16
|
+
from pydantic import model_serializer
|
|
17
|
+
from pydantic.functional_serializers import PlainSerializer
|
|
18
|
+
from pydantic.functional_validators import BeforeValidator
|
|
19
|
+
from typing import Any, List, Optional
|
|
20
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class PredMdContractTypedDict(TypedDict):
|
|
24
|
+
r"""A single tradable event contract at a specific strike."""
|
|
25
|
+
|
|
26
|
+
base_event_id: str
|
|
27
|
+
event_id: str
|
|
28
|
+
last_synced_at: datetime
|
|
29
|
+
non_tradable: bool
|
|
30
|
+
state: str
|
|
31
|
+
symbol: str
|
|
32
|
+
symbol_sub_types: List[str]
|
|
33
|
+
tick_size: Decimal
|
|
34
|
+
r"""Exact decimal, serialized as a string so no client parses it through a float."""
|
|
35
|
+
tradable: bool
|
|
36
|
+
base_currency: NotRequired[str]
|
|
37
|
+
description: NotRequired[str]
|
|
38
|
+
evaluation_type: NotRequired[str]
|
|
39
|
+
expiration_date: NotRequired[Nullable[datetime]]
|
|
40
|
+
last_trade_date: NotRequired[Nullable[datetime]]
|
|
41
|
+
min_trade_qty: NotRequired[str]
|
|
42
|
+
multiplier: NotRequired[int]
|
|
43
|
+
price_limit: NotRequired[Any]
|
|
44
|
+
r"""Venue JSON payload (passthrough)."""
|
|
45
|
+
price_scale: NotRequired[str]
|
|
46
|
+
question: NotRequired[str]
|
|
47
|
+
start_date: NotRequired[Nullable[datetime]]
|
|
48
|
+
strike_unit: NotRequired[str]
|
|
49
|
+
strike_value: NotRequired[str]
|
|
50
|
+
termination_date: NotRequired[Nullable[datetime]]
|
|
51
|
+
trading_schedule: NotRequired[Any]
|
|
52
|
+
r"""Venue JSON payload (passthrough)."""
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class PredMdContract(BaseModel):
|
|
56
|
+
r"""A single tradable event contract at a specific strike."""
|
|
57
|
+
|
|
58
|
+
base_event_id: Annotated[str, pydantic.Field(alias="baseEventId")]
|
|
59
|
+
|
|
60
|
+
event_id: Annotated[str, pydantic.Field(alias="eventId")]
|
|
61
|
+
|
|
62
|
+
last_synced_at: Annotated[datetime, pydantic.Field(alias="lastSyncedAt")]
|
|
63
|
+
|
|
64
|
+
non_tradable: Annotated[bool, pydantic.Field(alias="nonTradable")]
|
|
65
|
+
|
|
66
|
+
state: str
|
|
67
|
+
|
|
68
|
+
symbol: str
|
|
69
|
+
|
|
70
|
+
symbol_sub_types: Annotated[List[str], pydantic.Field(alias="symbolSubTypes")]
|
|
71
|
+
|
|
72
|
+
tick_size: Annotated[
|
|
73
|
+
Annotated[
|
|
74
|
+
Decimal,
|
|
75
|
+
BeforeValidator(validate_decimal),
|
|
76
|
+
PlainSerializer(serialize_decimal(True)),
|
|
77
|
+
],
|
|
78
|
+
pydantic.Field(alias="tickSize"),
|
|
79
|
+
]
|
|
80
|
+
r"""Exact decimal, serialized as a string so no client parses it through a float."""
|
|
81
|
+
|
|
82
|
+
tradable: bool
|
|
83
|
+
|
|
84
|
+
base_currency: Annotated[Optional[str], pydantic.Field(alias="baseCurrency")] = None
|
|
85
|
+
|
|
86
|
+
description: Optional[str] = None
|
|
87
|
+
|
|
88
|
+
evaluation_type: Annotated[
|
|
89
|
+
Optional[str], pydantic.Field(alias="evaluationType")
|
|
90
|
+
] = None
|
|
91
|
+
|
|
92
|
+
expiration_date: Annotated[
|
|
93
|
+
OptionalNullable[datetime], pydantic.Field(alias="expirationDate")
|
|
94
|
+
] = UNSET
|
|
95
|
+
|
|
96
|
+
last_trade_date: Annotated[
|
|
97
|
+
OptionalNullable[datetime], pydantic.Field(alias="lastTradeDate")
|
|
98
|
+
] = UNSET
|
|
99
|
+
|
|
100
|
+
min_trade_qty: Annotated[Optional[str], pydantic.Field(alias="minTradeQty")] = None
|
|
101
|
+
|
|
102
|
+
multiplier: Optional[int] = None
|
|
103
|
+
|
|
104
|
+
price_limit: Annotated[Optional[Any], pydantic.Field(alias="priceLimit")] = None
|
|
105
|
+
r"""Venue JSON payload (passthrough)."""
|
|
106
|
+
|
|
107
|
+
price_scale: Annotated[Optional[str], pydantic.Field(alias="priceScale")] = None
|
|
108
|
+
|
|
109
|
+
question: Optional[str] = None
|
|
110
|
+
|
|
111
|
+
start_date: Annotated[
|
|
112
|
+
OptionalNullable[datetime], pydantic.Field(alias="startDate")
|
|
113
|
+
] = UNSET
|
|
114
|
+
|
|
115
|
+
strike_unit: Annotated[Optional[str], pydantic.Field(alias="strikeUnit")] = None
|
|
116
|
+
|
|
117
|
+
strike_value: Annotated[Optional[str], pydantic.Field(alias="strikeValue")] = None
|
|
118
|
+
|
|
119
|
+
termination_date: Annotated[
|
|
120
|
+
OptionalNullable[datetime], pydantic.Field(alias="terminationDate")
|
|
121
|
+
] = UNSET
|
|
122
|
+
|
|
123
|
+
trading_schedule: Annotated[
|
|
124
|
+
Optional[Any], pydantic.Field(alias="tradingSchedule")
|
|
125
|
+
] = None
|
|
126
|
+
r"""Venue JSON payload (passthrough)."""
|
|
127
|
+
|
|
128
|
+
@model_serializer(mode="wrap")
|
|
129
|
+
def serialize_model(self, handler):
|
|
130
|
+
optional_fields = set(
|
|
131
|
+
[
|
|
132
|
+
"baseCurrency",
|
|
133
|
+
"description",
|
|
134
|
+
"evaluationType",
|
|
135
|
+
"expirationDate",
|
|
136
|
+
"lastTradeDate",
|
|
137
|
+
"minTradeQty",
|
|
138
|
+
"multiplier",
|
|
139
|
+
"priceLimit",
|
|
140
|
+
"priceScale",
|
|
141
|
+
"question",
|
|
142
|
+
"startDate",
|
|
143
|
+
"strikeUnit",
|
|
144
|
+
"strikeValue",
|
|
145
|
+
"terminationDate",
|
|
146
|
+
"tradingSchedule",
|
|
147
|
+
]
|
|
148
|
+
)
|
|
149
|
+
nullable_fields = set(
|
|
150
|
+
["expirationDate", "lastTradeDate", "startDate", "terminationDate"]
|
|
151
|
+
)
|
|
152
|
+
serialized = handler(self)
|
|
153
|
+
m = {}
|
|
154
|
+
|
|
155
|
+
for n, f in type(self).model_fields.items():
|
|
156
|
+
k = f.alias or n
|
|
157
|
+
val = serialized.get(k, serialized.get(n))
|
|
158
|
+
is_nullable_and_explicitly_set = (
|
|
159
|
+
k in nullable_fields
|
|
160
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
161
|
+
)
|
|
162
|
+
|
|
163
|
+
if val != UNSET_SENTINEL:
|
|
164
|
+
if (
|
|
165
|
+
val is not None
|
|
166
|
+
or k not in optional_fields
|
|
167
|
+
or is_nullable_and_explicitly_set
|
|
168
|
+
):
|
|
169
|
+
m[k] = val
|
|
170
|
+
|
|
171
|
+
return m
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
try:
|
|
175
|
+
PredMdContract.model_rebuild()
|
|
176
|
+
except NameError:
|
|
177
|
+
pass
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 265a4adb5a1e
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from datetime import datetime
|
|
6
|
+
from decimal import Decimal
|
|
7
|
+
from finance_dev.types import (
|
|
8
|
+
BaseModel,
|
|
9
|
+
Nullable,
|
|
10
|
+
OptionalNullable,
|
|
11
|
+
UNSET,
|
|
12
|
+
UNSET_SENTINEL,
|
|
13
|
+
)
|
|
14
|
+
from finance_dev.utils import serialize_decimal, validate_decimal
|
|
15
|
+
import pydantic
|
|
16
|
+
from pydantic import model_serializer
|
|
17
|
+
from pydantic.functional_serializers import PlainSerializer
|
|
18
|
+
from pydantic.functional_validators import BeforeValidator
|
|
19
|
+
from typing import List, Optional
|
|
20
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class PredMdContractHitTypedDict(TypedDict):
|
|
24
|
+
r"""One matching contract, with its event's and base event's text flattened in. The index trails the catalogue by seconds; read the contract through /events/{eventId}/contracts when it must be current."""
|
|
25
|
+
|
|
26
|
+
base_event_id: str
|
|
27
|
+
event_id: str
|
|
28
|
+
state: str
|
|
29
|
+
symbol: str
|
|
30
|
+
symbol_sub_types: List[str]
|
|
31
|
+
tick_size: Decimal
|
|
32
|
+
r"""Exact decimal, serialized as a string so no client parses it through a float."""
|
|
33
|
+
tradable: bool
|
|
34
|
+
evaluation_type: NotRequired[str]
|
|
35
|
+
event_display_name: NotRequired[str]
|
|
36
|
+
event_question: NotRequired[str]
|
|
37
|
+
expiration_date: NotRequired[Nullable[datetime]]
|
|
38
|
+
r"""Calendar date, at midnight UTC."""
|
|
39
|
+
last_trade_date: NotRequired[Nullable[datetime]]
|
|
40
|
+
r"""Calendar date, at midnight UTC."""
|
|
41
|
+
question: NotRequired[str]
|
|
42
|
+
start_date: NotRequired[Nullable[datetime]]
|
|
43
|
+
r"""Calendar date, at midnight UTC."""
|
|
44
|
+
strike_value: NotRequired[str]
|
|
45
|
+
time_specifier: NotRequired[str]
|
|
46
|
+
r"""Published precision: YYYY, YYYY.MM or YYYY.MM.DD."""
|
|
47
|
+
underlying_spec: NotRequired[str]
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
class PredMdContractHit(BaseModel):
|
|
51
|
+
r"""One matching contract, with its event's and base event's text flattened in. The index trails the catalogue by seconds; read the contract through /events/{eventId}/contracts when it must be current."""
|
|
52
|
+
|
|
53
|
+
base_event_id: Annotated[str, pydantic.Field(alias="baseEventId")]
|
|
54
|
+
|
|
55
|
+
event_id: Annotated[str, pydantic.Field(alias="eventId")]
|
|
56
|
+
|
|
57
|
+
state: str
|
|
58
|
+
|
|
59
|
+
symbol: str
|
|
60
|
+
|
|
61
|
+
symbol_sub_types: Annotated[List[str], pydantic.Field(alias="symbolSubTypes")]
|
|
62
|
+
|
|
63
|
+
tick_size: Annotated[
|
|
64
|
+
Annotated[
|
|
65
|
+
Decimal,
|
|
66
|
+
BeforeValidator(validate_decimal),
|
|
67
|
+
PlainSerializer(serialize_decimal(True)),
|
|
68
|
+
],
|
|
69
|
+
pydantic.Field(alias="tickSize"),
|
|
70
|
+
]
|
|
71
|
+
r"""Exact decimal, serialized as a string so no client parses it through a float."""
|
|
72
|
+
|
|
73
|
+
tradable: bool
|
|
74
|
+
|
|
75
|
+
evaluation_type: Annotated[
|
|
76
|
+
Optional[str], pydantic.Field(alias="evaluationType")
|
|
77
|
+
] = None
|
|
78
|
+
|
|
79
|
+
event_display_name: Annotated[
|
|
80
|
+
Optional[str], pydantic.Field(alias="eventDisplayName")
|
|
81
|
+
] = None
|
|
82
|
+
|
|
83
|
+
event_question: Annotated[Optional[str], pydantic.Field(alias="eventQuestion")] = (
|
|
84
|
+
None
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
expiration_date: Annotated[
|
|
88
|
+
OptionalNullable[datetime], pydantic.Field(alias="expirationDate")
|
|
89
|
+
] = UNSET
|
|
90
|
+
r"""Calendar date, at midnight UTC."""
|
|
91
|
+
|
|
92
|
+
last_trade_date: Annotated[
|
|
93
|
+
OptionalNullable[datetime], pydantic.Field(alias="lastTradeDate")
|
|
94
|
+
] = UNSET
|
|
95
|
+
r"""Calendar date, at midnight UTC."""
|
|
96
|
+
|
|
97
|
+
question: Optional[str] = None
|
|
98
|
+
|
|
99
|
+
start_date: Annotated[
|
|
100
|
+
OptionalNullable[datetime], pydantic.Field(alias="startDate")
|
|
101
|
+
] = UNSET
|
|
102
|
+
r"""Calendar date, at midnight UTC."""
|
|
103
|
+
|
|
104
|
+
strike_value: Annotated[Optional[str], pydantic.Field(alias="strikeValue")] = None
|
|
105
|
+
|
|
106
|
+
time_specifier: Annotated[Optional[str], pydantic.Field(alias="timeSpecifier")] = (
|
|
107
|
+
None
|
|
108
|
+
)
|
|
109
|
+
r"""Published precision: YYYY, YYYY.MM or YYYY.MM.DD."""
|
|
110
|
+
|
|
111
|
+
underlying_spec: Annotated[
|
|
112
|
+
Optional[str], pydantic.Field(alias="underlyingSpec")
|
|
113
|
+
] = None
|
|
114
|
+
|
|
115
|
+
@model_serializer(mode="wrap")
|
|
116
|
+
def serialize_model(self, handler):
|
|
117
|
+
optional_fields = set(
|
|
118
|
+
[
|
|
119
|
+
"evaluationType",
|
|
120
|
+
"eventDisplayName",
|
|
121
|
+
"eventQuestion",
|
|
122
|
+
"expirationDate",
|
|
123
|
+
"lastTradeDate",
|
|
124
|
+
"question",
|
|
125
|
+
"startDate",
|
|
126
|
+
"strikeValue",
|
|
127
|
+
"timeSpecifier",
|
|
128
|
+
"underlyingSpec",
|
|
129
|
+
]
|
|
130
|
+
)
|
|
131
|
+
nullable_fields = set(["expirationDate", "lastTradeDate", "startDate"])
|
|
132
|
+
serialized = handler(self)
|
|
133
|
+
m = {}
|
|
134
|
+
|
|
135
|
+
for n, f in type(self).model_fields.items():
|
|
136
|
+
k = f.alias or n
|
|
137
|
+
val = serialized.get(k, serialized.get(n))
|
|
138
|
+
is_nullable_and_explicitly_set = (
|
|
139
|
+
k in nullable_fields
|
|
140
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
141
|
+
)
|
|
142
|
+
|
|
143
|
+
if val != UNSET_SENTINEL:
|
|
144
|
+
if (
|
|
145
|
+
val is not None
|
|
146
|
+
or k not in optional_fields
|
|
147
|
+
or is_nullable_and_explicitly_set
|
|
148
|
+
):
|
|
149
|
+
m[k] = val
|
|
150
|
+
|
|
151
|
+
return m
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
try:
|
|
155
|
+
PredMdContractHit.model_rebuild()
|
|
156
|
+
except NameError:
|
|
157
|
+
pass
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 0e62d6e75865
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .predmdcontracthit import PredMdContractHit, PredMdContractHitTypedDict
|
|
6
|
+
from enum import Enum
|
|
7
|
+
from finance_dev.types import BaseModel
|
|
8
|
+
import pydantic
|
|
9
|
+
from typing import List
|
|
10
|
+
from typing_extensions import Annotated, TypedDict
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class PredMdContractSearchResultType(str, Enum):
|
|
14
|
+
CONTRACTS = "contracts"
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class PredMdContractSearchResultTypedDict(TypedDict):
|
|
18
|
+
r"""One page of contracts."""
|
|
19
|
+
|
|
20
|
+
found: int
|
|
21
|
+
r"""Every match, not just this page."""
|
|
22
|
+
hits: List[PredMdContractHitTypedDict]
|
|
23
|
+
page: int
|
|
24
|
+
per_page: int
|
|
25
|
+
type: PredMdContractSearchResultType
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class PredMdContractSearchResult(BaseModel):
|
|
29
|
+
r"""One page of contracts."""
|
|
30
|
+
|
|
31
|
+
found: int
|
|
32
|
+
r"""Every match, not just this page."""
|
|
33
|
+
|
|
34
|
+
hits: List[PredMdContractHit]
|
|
35
|
+
|
|
36
|
+
page: int
|
|
37
|
+
|
|
38
|
+
per_page: Annotated[int, pydantic.Field(alias="perPage")]
|
|
39
|
+
|
|
40
|
+
type: PredMdContractSearchResultType
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
try:
|
|
44
|
+
PredMdContractSearchResult.model_rebuild()
|
|
45
|
+
except NameError:
|
|
46
|
+
pass
|