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,136 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: dcd695b1e3d7
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from datetime import datetime
|
|
6
|
+
from finance_dev.types import (
|
|
7
|
+
BaseModel,
|
|
8
|
+
Nullable,
|
|
9
|
+
OptionalNullable,
|
|
10
|
+
UNSET,
|
|
11
|
+
UNSET_SENTINEL,
|
|
12
|
+
)
|
|
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 PredMdEventTypedDict(TypedDict):
|
|
20
|
+
r"""One real-world event under a base event (e.g. HORC_1126)."""
|
|
21
|
+
|
|
22
|
+
base_event_id: str
|
|
23
|
+
event_id: str
|
|
24
|
+
last_synced_at: datetime
|
|
25
|
+
calculation_method: NotRequired[str]
|
|
26
|
+
event_display_name: NotRequired[str]
|
|
27
|
+
event_question: NotRequired[str]
|
|
28
|
+
expected_last_trade_time: NotRequired[Nullable[datetime]]
|
|
29
|
+
r"""Venue wall-clock time; the feed carries no zone, so the Z is a label, not a conversion."""
|
|
30
|
+
expected_payout_time: NotRequired[Nullable[datetime]]
|
|
31
|
+
r"""Venue wall-clock time; the feed carries no zone, so the Z is a label, not a conversion."""
|
|
32
|
+
expected_resolution_time: NotRequired[Nullable[datetime]]
|
|
33
|
+
r"""Venue wall-clock time; the feed carries no zone, so the Z is a label, not a conversion."""
|
|
34
|
+
source_agency: NotRequired[str]
|
|
35
|
+
source_agency_url: NotRequired[str]
|
|
36
|
+
time_specifier: NotRequired[str]
|
|
37
|
+
r"""Published precision: YYYY, YYYY.MM or YYYY.MM.DD."""
|
|
38
|
+
underlying_spec: NotRequired[str]
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class PredMdEvent(BaseModel):
|
|
42
|
+
r"""One real-world event under a base event (e.g. HORC_1126)."""
|
|
43
|
+
|
|
44
|
+
base_event_id: Annotated[str, pydantic.Field(alias="baseEventId")]
|
|
45
|
+
|
|
46
|
+
event_id: Annotated[str, pydantic.Field(alias="eventId")]
|
|
47
|
+
|
|
48
|
+
last_synced_at: Annotated[datetime, pydantic.Field(alias="lastSyncedAt")]
|
|
49
|
+
|
|
50
|
+
calculation_method: Annotated[
|
|
51
|
+
Optional[str], pydantic.Field(alias="calculationMethod")
|
|
52
|
+
] = None
|
|
53
|
+
|
|
54
|
+
event_display_name: Annotated[
|
|
55
|
+
Optional[str], pydantic.Field(alias="eventDisplayName")
|
|
56
|
+
] = None
|
|
57
|
+
|
|
58
|
+
event_question: Annotated[Optional[str], pydantic.Field(alias="eventQuestion")] = (
|
|
59
|
+
None
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
expected_last_trade_time: Annotated[
|
|
63
|
+
OptionalNullable[datetime], pydantic.Field(alias="expectedLastTradeTime")
|
|
64
|
+
] = UNSET
|
|
65
|
+
r"""Venue wall-clock time; the feed carries no zone, so the Z is a label, not a conversion."""
|
|
66
|
+
|
|
67
|
+
expected_payout_time: Annotated[
|
|
68
|
+
OptionalNullable[datetime], pydantic.Field(alias="expectedPayoutTime")
|
|
69
|
+
] = UNSET
|
|
70
|
+
r"""Venue wall-clock time; the feed carries no zone, so the Z is a label, not a conversion."""
|
|
71
|
+
|
|
72
|
+
expected_resolution_time: Annotated[
|
|
73
|
+
OptionalNullable[datetime], pydantic.Field(alias="expectedResolutionTime")
|
|
74
|
+
] = UNSET
|
|
75
|
+
r"""Venue wall-clock time; the feed carries no zone, so the Z is a label, not a conversion."""
|
|
76
|
+
|
|
77
|
+
source_agency: Annotated[Optional[str], pydantic.Field(alias="sourceAgency")] = None
|
|
78
|
+
|
|
79
|
+
source_agency_url: Annotated[
|
|
80
|
+
Optional[str], pydantic.Field(alias="sourceAgencyUrl")
|
|
81
|
+
] = None
|
|
82
|
+
|
|
83
|
+
time_specifier: Annotated[Optional[str], pydantic.Field(alias="timeSpecifier")] = (
|
|
84
|
+
None
|
|
85
|
+
)
|
|
86
|
+
r"""Published precision: YYYY, YYYY.MM or YYYY.MM.DD."""
|
|
87
|
+
|
|
88
|
+
underlying_spec: Annotated[
|
|
89
|
+
Optional[str], pydantic.Field(alias="underlyingSpec")
|
|
90
|
+
] = None
|
|
91
|
+
|
|
92
|
+
@model_serializer(mode="wrap")
|
|
93
|
+
def serialize_model(self, handler):
|
|
94
|
+
optional_fields = set(
|
|
95
|
+
[
|
|
96
|
+
"calculationMethod",
|
|
97
|
+
"eventDisplayName",
|
|
98
|
+
"eventQuestion",
|
|
99
|
+
"expectedLastTradeTime",
|
|
100
|
+
"expectedPayoutTime",
|
|
101
|
+
"expectedResolutionTime",
|
|
102
|
+
"sourceAgency",
|
|
103
|
+
"sourceAgencyUrl",
|
|
104
|
+
"timeSpecifier",
|
|
105
|
+
"underlyingSpec",
|
|
106
|
+
]
|
|
107
|
+
)
|
|
108
|
+
nullable_fields = set(
|
|
109
|
+
["expectedLastTradeTime", "expectedPayoutTime", "expectedResolutionTime"]
|
|
110
|
+
)
|
|
111
|
+
serialized = handler(self)
|
|
112
|
+
m = {}
|
|
113
|
+
|
|
114
|
+
for n, f in type(self).model_fields.items():
|
|
115
|
+
k = f.alias or n
|
|
116
|
+
val = serialized.get(k, serialized.get(n))
|
|
117
|
+
is_nullable_and_explicitly_set = (
|
|
118
|
+
k in nullable_fields
|
|
119
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
120
|
+
)
|
|
121
|
+
|
|
122
|
+
if val != UNSET_SENTINEL:
|
|
123
|
+
if (
|
|
124
|
+
val is not None
|
|
125
|
+
or k not in optional_fields
|
|
126
|
+
or is_nullable_and_explicitly_set
|
|
127
|
+
):
|
|
128
|
+
m[k] = val
|
|
129
|
+
|
|
130
|
+
return m
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
try:
|
|
134
|
+
PredMdEvent.model_rebuild()
|
|
135
|
+
except NameError:
|
|
136
|
+
pass
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 3c77dcced425
|
|
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 PredMdEventHitTypedDict(TypedDict):
|
|
13
|
+
r"""One event with at least one matching contract."""
|
|
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
|
+
event_id: str
|
|
19
|
+
event_display_name: NotRequired[str]
|
|
20
|
+
event_question: NotRequired[str]
|
|
21
|
+
time_specifier: NotRequired[str]
|
|
22
|
+
underlying_spec: NotRequired[str]
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class PredMdEventHit(BaseModel):
|
|
26
|
+
r"""One event with at least one matching contract."""
|
|
27
|
+
|
|
28
|
+
base_event_id: Annotated[str, pydantic.Field(alias="baseEventId")]
|
|
29
|
+
|
|
30
|
+
contracts_found: Annotated[int, pydantic.Field(alias="contractsFound")]
|
|
31
|
+
r"""Every matching contract under this hit. Read them with type=contracts and eventId or baseEventId."""
|
|
32
|
+
|
|
33
|
+
event_id: Annotated[str, pydantic.Field(alias="eventId")]
|
|
34
|
+
|
|
35
|
+
event_display_name: Annotated[
|
|
36
|
+
Optional[str], pydantic.Field(alias="eventDisplayName")
|
|
37
|
+
] = None
|
|
38
|
+
|
|
39
|
+
event_question: Annotated[Optional[str], pydantic.Field(alias="eventQuestion")] = (
|
|
40
|
+
None
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
time_specifier: Annotated[Optional[str], pydantic.Field(alias="timeSpecifier")] = (
|
|
44
|
+
None
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
underlying_spec: Annotated[
|
|
48
|
+
Optional[str], pydantic.Field(alias="underlyingSpec")
|
|
49
|
+
] = None
|
|
50
|
+
|
|
51
|
+
@model_serializer(mode="wrap")
|
|
52
|
+
def serialize_model(self, handler):
|
|
53
|
+
optional_fields = set(
|
|
54
|
+
["eventDisplayName", "eventQuestion", "timeSpecifier", "underlyingSpec"]
|
|
55
|
+
)
|
|
56
|
+
serialized = handler(self)
|
|
57
|
+
m = {}
|
|
58
|
+
|
|
59
|
+
for n, f in type(self).model_fields.items():
|
|
60
|
+
k = f.alias or n
|
|
61
|
+
val = serialized.get(k, serialized.get(n))
|
|
62
|
+
|
|
63
|
+
if val != UNSET_SENTINEL:
|
|
64
|
+
if val is not None or k not in optional_fields:
|
|
65
|
+
m[k] = val
|
|
66
|
+
|
|
67
|
+
return m
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
try:
|
|
71
|
+
PredMdEventHit.model_rebuild()
|
|
72
|
+
except NameError:
|
|
73
|
+
pass
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 3d8d63a77490
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .predmdeventhit import PredMdEventHit, PredMdEventHitTypedDict
|
|
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 PredMdEventSearchResultType(str, Enum):
|
|
14
|
+
EVENTS = "events"
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class PredMdEventSearchResultTypedDict(TypedDict):
|
|
18
|
+
r"""One page of events. found, page and perPage count events."""
|
|
19
|
+
|
|
20
|
+
found: int
|
|
21
|
+
r"""Every match, not just this page."""
|
|
22
|
+
hits: List[PredMdEventHitTypedDict]
|
|
23
|
+
page: int
|
|
24
|
+
per_page: int
|
|
25
|
+
type: PredMdEventSearchResultType
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class PredMdEventSearchResult(BaseModel):
|
|
29
|
+
r"""One page of events. found, page and perPage count events."""
|
|
30
|
+
|
|
31
|
+
found: int
|
|
32
|
+
r"""Every match, not just this page."""
|
|
33
|
+
|
|
34
|
+
hits: List[PredMdEventHit]
|
|
35
|
+
|
|
36
|
+
page: int
|
|
37
|
+
|
|
38
|
+
per_page: Annotated[int, pydantic.Field(alias="perPage")]
|
|
39
|
+
|
|
40
|
+
type: PredMdEventSearchResultType
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
try:
|
|
44
|
+
PredMdEventSearchResult.model_rebuild()
|
|
45
|
+
except NameError:
|
|
46
|
+
pass
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: e6d5a7cf495a
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .predmdcontract import PredMdContract, PredMdContractTypedDict
|
|
6
|
+
from .predmdevent import PredMdEvent, PredMdEventTypedDict
|
|
7
|
+
from finance_dev.types import BaseModel
|
|
8
|
+
from typing import List
|
|
9
|
+
from typing_extensions import TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class PredMdEventWithContractsTypedDict(TypedDict):
|
|
13
|
+
contracts: List[PredMdContractTypedDict]
|
|
14
|
+
event: PredMdEventTypedDict
|
|
15
|
+
r"""One real-world event under a base event (e.g. HORC_1126)."""
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class PredMdEventWithContracts(BaseModel):
|
|
19
|
+
contracts: List[PredMdContract]
|
|
20
|
+
|
|
21
|
+
event: PredMdEvent
|
|
22
|
+
r"""One real-world event under a base event (e.g. HORC_1126)."""
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 6cad9408e342
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from datetime import datetime
|
|
6
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
7
|
+
import pydantic
|
|
8
|
+
from pydantic import model_serializer
|
|
9
|
+
from typing import Optional
|
|
10
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class PredMdHistoryRequestTypedDict(TypedDict):
|
|
14
|
+
r"""Single query within a batch historical-data request."""
|
|
15
|
+
|
|
16
|
+
symbol: str
|
|
17
|
+
from_: NotRequired[datetime]
|
|
18
|
+
r"""Inclusive lower bound. Zero/omitted means unbounded."""
|
|
19
|
+
limit: NotRequired[int]
|
|
20
|
+
r"""0 or omitted means 10000; values above 10000 are clamped to it."""
|
|
21
|
+
to: NotRequired[datetime]
|
|
22
|
+
r"""Inclusive upper bound. Zero/omitted means unbounded."""
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class PredMdHistoryRequest(BaseModel):
|
|
26
|
+
r"""Single query within a batch historical-data request."""
|
|
27
|
+
|
|
28
|
+
symbol: str
|
|
29
|
+
|
|
30
|
+
from_: Annotated[Optional[datetime], pydantic.Field(alias="from")] = None
|
|
31
|
+
r"""Inclusive lower bound. Zero/omitted means unbounded."""
|
|
32
|
+
|
|
33
|
+
limit: Optional[int] = None
|
|
34
|
+
r"""0 or omitted means 10000; values above 10000 are clamped to it."""
|
|
35
|
+
|
|
36
|
+
to: Optional[datetime] = None
|
|
37
|
+
r"""Inclusive upper bound. Zero/omitted means unbounded."""
|
|
38
|
+
|
|
39
|
+
@model_serializer(mode="wrap")
|
|
40
|
+
def serialize_model(self, handler):
|
|
41
|
+
optional_fields = set(["from", "limit", "to"])
|
|
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
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
try:
|
|
57
|
+
PredMdHistoryRequest.model_rebuild()
|
|
58
|
+
except NameError:
|
|
59
|
+
pass
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 50fd4a633da8
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from .predmdtick import PredMdTick, PredMdTickTypedDict
|
|
6
|
+
from datetime import datetime
|
|
7
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
8
|
+
import pydantic
|
|
9
|
+
from pydantic import model_serializer
|
|
10
|
+
from typing import List, Optional
|
|
11
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class PredMdHistoryResponseTypedDict(TypedDict):
|
|
15
|
+
count: int
|
|
16
|
+
symbol: str
|
|
17
|
+
ticks: List[PredMdTickTypedDict]
|
|
18
|
+
from_: NotRequired[datetime]
|
|
19
|
+
to: NotRequired[datetime]
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class PredMdHistoryResponse(BaseModel):
|
|
23
|
+
count: int
|
|
24
|
+
|
|
25
|
+
symbol: str
|
|
26
|
+
|
|
27
|
+
ticks: List[PredMdTick]
|
|
28
|
+
|
|
29
|
+
from_: Annotated[Optional[datetime], pydantic.Field(alias="from")] = None
|
|
30
|
+
|
|
31
|
+
to: Optional[datetime] = None
|
|
32
|
+
|
|
33
|
+
@model_serializer(mode="wrap")
|
|
34
|
+
def serialize_model(self, handler):
|
|
35
|
+
optional_fields = set(["from", "to"])
|
|
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
|
+
PredMdHistoryResponse.model_rebuild()
|
|
52
|
+
except NameError:
|
|
53
|
+
pass
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 32ce982b73f2
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from datetime import datetime
|
|
6
|
+
from decimal import Decimal
|
|
7
|
+
from finance_dev.types import BaseModel
|
|
8
|
+
from finance_dev.utils import serialize_decimal, validate_decimal
|
|
9
|
+
import pydantic
|
|
10
|
+
from pydantic.functional_serializers import PlainSerializer
|
|
11
|
+
from pydantic.functional_validators import BeforeValidator
|
|
12
|
+
from typing_extensions import Annotated, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class PredMdTickTypedDict(TypedDict):
|
|
16
|
+
no_price: Decimal
|
|
17
|
+
r"""Exact decimal, serialized as a string so no client parses it through a float."""
|
|
18
|
+
quantity: int
|
|
19
|
+
timestamp: datetime
|
|
20
|
+
yes_price: Decimal
|
|
21
|
+
r"""Exact decimal, serialized as a string so no client parses it through a float."""
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class PredMdTick(BaseModel):
|
|
25
|
+
no_price: Annotated[
|
|
26
|
+
Annotated[
|
|
27
|
+
Decimal,
|
|
28
|
+
BeforeValidator(validate_decimal),
|
|
29
|
+
PlainSerializer(serialize_decimal(True)),
|
|
30
|
+
],
|
|
31
|
+
pydantic.Field(alias="noPrice"),
|
|
32
|
+
]
|
|
33
|
+
r"""Exact decimal, serialized as a string so no client parses it through a float."""
|
|
34
|
+
|
|
35
|
+
quantity: int
|
|
36
|
+
|
|
37
|
+
timestamp: datetime
|
|
38
|
+
|
|
39
|
+
yes_price: Annotated[
|
|
40
|
+
Annotated[
|
|
41
|
+
Decimal,
|
|
42
|
+
BeforeValidator(validate_decimal),
|
|
43
|
+
PlainSerializer(serialize_decimal(True)),
|
|
44
|
+
],
|
|
45
|
+
pydantic.Field(alias="yesPrice"),
|
|
46
|
+
]
|
|
47
|
+
r"""Exact decimal, serialized as a string so no client parses it through a float."""
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
try:
|
|
51
|
+
PredMdTick.model_rebuild()
|
|
52
|
+
except NameError:
|
|
53
|
+
pass
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 0473e4e109a9
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from enum import Enum
|
|
6
|
+
from finance_dev import models, utils
|
|
7
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
8
|
+
from pydantic import field_serializer, model_serializer
|
|
9
|
+
from typing import Any, Dict, Optional
|
|
10
|
+
from typing_extensions import NotRequired, TypedDict
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class PredOrdersAppErrorType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
14
|
+
r"""Categorical error type, in lowercase."""
|
|
15
|
+
|
|
16
|
+
BAD_REQUEST = "bad_request"
|
|
17
|
+
AUTHENTICATION = "authentication"
|
|
18
|
+
NOT_FOUND = "not_found"
|
|
19
|
+
CONFLICT = "conflict"
|
|
20
|
+
RATE_LIMIT = "rate_limit"
|
|
21
|
+
UNAVAILABLE = "unavailable"
|
|
22
|
+
TIMEOUT = "timeout"
|
|
23
|
+
INTERNAL = "internal"
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class PredOrdersAppErrorTypedDict(TypedDict):
|
|
27
|
+
r"""Structured error returned by the prediction-market order endpoints."""
|
|
28
|
+
|
|
29
|
+
code: str
|
|
30
|
+
r"""Machine-readable code, e.g. `INVALID_ORDER`, `ORDER_OUTCOME_UNKNOWN`. Branch on this."""
|
|
31
|
+
message: str
|
|
32
|
+
r"""Human-readable detail. Exact text is not fixed and should not be matched on."""
|
|
33
|
+
type: PredOrdersAppErrorType
|
|
34
|
+
r"""Categorical error type, in lowercase."""
|
|
35
|
+
details: NotRequired[Dict[str, Any]]
|
|
36
|
+
request_id: NotRequired[str]
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class PredOrdersAppError(BaseModel):
|
|
40
|
+
r"""Structured error returned by the prediction-market order endpoints."""
|
|
41
|
+
|
|
42
|
+
code: str
|
|
43
|
+
r"""Machine-readable code, e.g. `INVALID_ORDER`, `ORDER_OUTCOME_UNKNOWN`. Branch on this."""
|
|
44
|
+
|
|
45
|
+
message: str
|
|
46
|
+
r"""Human-readable detail. Exact text is not fixed and should not be matched on."""
|
|
47
|
+
|
|
48
|
+
type: PredOrdersAppErrorType
|
|
49
|
+
r"""Categorical error type, in lowercase."""
|
|
50
|
+
|
|
51
|
+
details: Optional[Dict[str, Any]] = None
|
|
52
|
+
|
|
53
|
+
request_id: Optional[str] = None
|
|
54
|
+
|
|
55
|
+
@field_serializer("type")
|
|
56
|
+
def serialize_type(self, value):
|
|
57
|
+
if isinstance(value, str):
|
|
58
|
+
try:
|
|
59
|
+
return models.PredOrdersAppErrorType(value)
|
|
60
|
+
except ValueError:
|
|
61
|
+
return value
|
|
62
|
+
return value
|
|
63
|
+
|
|
64
|
+
@model_serializer(mode="wrap")
|
|
65
|
+
def serialize_model(self, handler):
|
|
66
|
+
optional_fields = set(["details", "request_id"])
|
|
67
|
+
serialized = handler(self)
|
|
68
|
+
m = {}
|
|
69
|
+
|
|
70
|
+
for n, f in type(self).model_fields.items():
|
|
71
|
+
k = f.alias or n
|
|
72
|
+
val = serialized.get(k, serialized.get(n))
|
|
73
|
+
|
|
74
|
+
if val != UNSET_SENTINEL:
|
|
75
|
+
if val is not None or k not in optional_fields:
|
|
76
|
+
m[k] = val
|
|
77
|
+
|
|
78
|
+
return m
|