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,222 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: acef56f46f01
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
6
|
+
import pydantic
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import List, Optional
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class UsaSpendingResponseDataTypedDict(TypedDict):
|
|
13
|
+
action_date: NotRequired[str]
|
|
14
|
+
r"""Date of the award action, as returned by the provider."""
|
|
15
|
+
award_description: NotRequired[str]
|
|
16
|
+
r"""Description of the award."""
|
|
17
|
+
awarding_agency_name: NotRequired[str]
|
|
18
|
+
r"""Name of the awarding agency."""
|
|
19
|
+
awarding_office_name: NotRequired[str]
|
|
20
|
+
r"""Name of the awarding office."""
|
|
21
|
+
awarding_sub_agency_name: NotRequired[str]
|
|
22
|
+
r"""Name of the awarding sub-agency."""
|
|
23
|
+
country: NotRequired[str]
|
|
24
|
+
r"""Recipient's country."""
|
|
25
|
+
naics_code: NotRequired[str]
|
|
26
|
+
r"""North American Industry Classification System (NAICS) code of the award."""
|
|
27
|
+
performance_city: NotRequired[str]
|
|
28
|
+
r"""City where the work is performed."""
|
|
29
|
+
performance_congressional_district: NotRequired[str]
|
|
30
|
+
r"""Congressional district where the work is performed."""
|
|
31
|
+
performance_country: NotRequired[str]
|
|
32
|
+
r"""Country where the work is performed."""
|
|
33
|
+
performance_county: NotRequired[str]
|
|
34
|
+
r"""County where the work is performed."""
|
|
35
|
+
performance_end_date: NotRequired[str]
|
|
36
|
+
r"""End date of the performance period, as returned by the provider."""
|
|
37
|
+
performance_start_date: NotRequired[str]
|
|
38
|
+
r"""Start date of the performance period, as returned by the provider."""
|
|
39
|
+
performance_state: NotRequired[str]
|
|
40
|
+
r"""State where the work is performed."""
|
|
41
|
+
performance_zip_code: NotRequired[str]
|
|
42
|
+
r"""Zip code where the work is performed."""
|
|
43
|
+
permalink: NotRequired[str]
|
|
44
|
+
r"""Permalink to the award record."""
|
|
45
|
+
recipient_name: NotRequired[str]
|
|
46
|
+
r"""Name of the award recipient company."""
|
|
47
|
+
recipient_parent_name: NotRequired[str]
|
|
48
|
+
r"""Name of the recipient's parent company."""
|
|
49
|
+
symbol: NotRequired[str]
|
|
50
|
+
r"""Company ticker symbol."""
|
|
51
|
+
total_value: NotRequired[float]
|
|
52
|
+
r"""Total value of the award."""
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class UsaSpendingResponseData(BaseModel):
|
|
56
|
+
action_date: Annotated[Optional[str], pydantic.Field(alias="actionDate")] = None
|
|
57
|
+
r"""Date of the award action, as returned by the provider."""
|
|
58
|
+
|
|
59
|
+
award_description: Annotated[
|
|
60
|
+
Optional[str], pydantic.Field(alias="awardDescription")
|
|
61
|
+
] = None
|
|
62
|
+
r"""Description of the award."""
|
|
63
|
+
|
|
64
|
+
awarding_agency_name: Annotated[
|
|
65
|
+
Optional[str], pydantic.Field(alias="awardingAgencyName")
|
|
66
|
+
] = None
|
|
67
|
+
r"""Name of the awarding agency."""
|
|
68
|
+
|
|
69
|
+
awarding_office_name: Annotated[
|
|
70
|
+
Optional[str], pydantic.Field(alias="awardingOfficeName")
|
|
71
|
+
] = None
|
|
72
|
+
r"""Name of the awarding office."""
|
|
73
|
+
|
|
74
|
+
awarding_sub_agency_name: Annotated[
|
|
75
|
+
Optional[str], pydantic.Field(alias="awardingSubAgencyName")
|
|
76
|
+
] = None
|
|
77
|
+
r"""Name of the awarding sub-agency."""
|
|
78
|
+
|
|
79
|
+
country: Optional[str] = None
|
|
80
|
+
r"""Recipient's country."""
|
|
81
|
+
|
|
82
|
+
naics_code: Annotated[Optional[str], pydantic.Field(alias="naicsCode")] = None
|
|
83
|
+
r"""North American Industry Classification System (NAICS) code of the award."""
|
|
84
|
+
|
|
85
|
+
performance_city: Annotated[
|
|
86
|
+
Optional[str], pydantic.Field(alias="performanceCity")
|
|
87
|
+
] = None
|
|
88
|
+
r"""City where the work is performed."""
|
|
89
|
+
|
|
90
|
+
performance_congressional_district: Annotated[
|
|
91
|
+
Optional[str], pydantic.Field(alias="performanceCongressionalDistrict")
|
|
92
|
+
] = None
|
|
93
|
+
r"""Congressional district where the work is performed."""
|
|
94
|
+
|
|
95
|
+
performance_country: Annotated[
|
|
96
|
+
Optional[str], pydantic.Field(alias="performanceCountry")
|
|
97
|
+
] = None
|
|
98
|
+
r"""Country where the work is performed."""
|
|
99
|
+
|
|
100
|
+
performance_county: Annotated[
|
|
101
|
+
Optional[str], pydantic.Field(alias="performanceCounty")
|
|
102
|
+
] = None
|
|
103
|
+
r"""County where the work is performed."""
|
|
104
|
+
|
|
105
|
+
performance_end_date: Annotated[
|
|
106
|
+
Optional[str], pydantic.Field(alias="performanceEndDate")
|
|
107
|
+
] = None
|
|
108
|
+
r"""End date of the performance period, as returned by the provider."""
|
|
109
|
+
|
|
110
|
+
performance_start_date: Annotated[
|
|
111
|
+
Optional[str], pydantic.Field(alias="performanceStartDate")
|
|
112
|
+
] = None
|
|
113
|
+
r"""Start date of the performance period, as returned by the provider."""
|
|
114
|
+
|
|
115
|
+
performance_state: Annotated[
|
|
116
|
+
Optional[str], pydantic.Field(alias="performanceState")
|
|
117
|
+
] = None
|
|
118
|
+
r"""State where the work is performed."""
|
|
119
|
+
|
|
120
|
+
performance_zip_code: Annotated[
|
|
121
|
+
Optional[str], pydantic.Field(alias="performanceZipCode")
|
|
122
|
+
] = None
|
|
123
|
+
r"""Zip code where the work is performed."""
|
|
124
|
+
|
|
125
|
+
permalink: Optional[str] = None
|
|
126
|
+
r"""Permalink to the award record."""
|
|
127
|
+
|
|
128
|
+
recipient_name: Annotated[Optional[str], pydantic.Field(alias="recipientName")] = (
|
|
129
|
+
None
|
|
130
|
+
)
|
|
131
|
+
r"""Name of the award recipient company."""
|
|
132
|
+
|
|
133
|
+
recipient_parent_name: Annotated[
|
|
134
|
+
Optional[str], pydantic.Field(alias="recipientParentName")
|
|
135
|
+
] = None
|
|
136
|
+
r"""Name of the recipient's parent company."""
|
|
137
|
+
|
|
138
|
+
symbol: Optional[str] = None
|
|
139
|
+
r"""Company ticker symbol."""
|
|
140
|
+
|
|
141
|
+
total_value: Annotated[Optional[float], pydantic.Field(alias="totalValue")] = None
|
|
142
|
+
r"""Total value of the award."""
|
|
143
|
+
|
|
144
|
+
@model_serializer(mode="wrap")
|
|
145
|
+
def serialize_model(self, handler):
|
|
146
|
+
optional_fields = set(
|
|
147
|
+
[
|
|
148
|
+
"actionDate",
|
|
149
|
+
"awardDescription",
|
|
150
|
+
"awardingAgencyName",
|
|
151
|
+
"awardingOfficeName",
|
|
152
|
+
"awardingSubAgencyName",
|
|
153
|
+
"country",
|
|
154
|
+
"naicsCode",
|
|
155
|
+
"performanceCity",
|
|
156
|
+
"performanceCongressionalDistrict",
|
|
157
|
+
"performanceCountry",
|
|
158
|
+
"performanceCounty",
|
|
159
|
+
"performanceEndDate",
|
|
160
|
+
"performanceStartDate",
|
|
161
|
+
"performanceState",
|
|
162
|
+
"performanceZipCode",
|
|
163
|
+
"permalink",
|
|
164
|
+
"recipientName",
|
|
165
|
+
"recipientParentName",
|
|
166
|
+
"symbol",
|
|
167
|
+
"totalValue",
|
|
168
|
+
]
|
|
169
|
+
)
|
|
170
|
+
serialized = handler(self)
|
|
171
|
+
m = {}
|
|
172
|
+
|
|
173
|
+
for n, f in type(self).model_fields.items():
|
|
174
|
+
k = f.alias or n
|
|
175
|
+
val = serialized.get(k, serialized.get(n))
|
|
176
|
+
|
|
177
|
+
if val != UNSET_SENTINEL:
|
|
178
|
+
if val is not None or k not in optional_fields:
|
|
179
|
+
m[k] = val
|
|
180
|
+
|
|
181
|
+
return m
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
class UsaSpendingResponseTypedDict(TypedDict):
|
|
185
|
+
r"""US government contract awards to a company, as provided by Finnhub."""
|
|
186
|
+
|
|
187
|
+
data: NotRequired[List[UsaSpendingResponseDataTypedDict]]
|
|
188
|
+
r"""Government spending (award) records for the symbol."""
|
|
189
|
+
symbol: NotRequired[str]
|
|
190
|
+
r"""Company ticker symbol."""
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
class UsaSpendingResponse(BaseModel):
|
|
194
|
+
r"""US government contract awards to a company, as provided by Finnhub."""
|
|
195
|
+
|
|
196
|
+
data: Optional[List[UsaSpendingResponseData]] = None
|
|
197
|
+
r"""Government spending (award) records for the symbol."""
|
|
198
|
+
|
|
199
|
+
symbol: Optional[str] = None
|
|
200
|
+
r"""Company ticker symbol."""
|
|
201
|
+
|
|
202
|
+
@model_serializer(mode="wrap")
|
|
203
|
+
def serialize_model(self, handler):
|
|
204
|
+
optional_fields = set(["data", "symbol"])
|
|
205
|
+
serialized = handler(self)
|
|
206
|
+
m = {}
|
|
207
|
+
|
|
208
|
+
for n, f in type(self).model_fields.items():
|
|
209
|
+
k = f.alias or n
|
|
210
|
+
val = serialized.get(k, serialized.get(n))
|
|
211
|
+
|
|
212
|
+
if val != UNSET_SENTINEL:
|
|
213
|
+
if val is not None or k not in optional_fields:
|
|
214
|
+
m[k] = val
|
|
215
|
+
|
|
216
|
+
return m
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
try:
|
|
220
|
+
UsaSpendingResponseData.model_rebuild()
|
|
221
|
+
except NameError:
|
|
222
|
+
pass
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: d777f4de7105
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
6
|
+
import pydantic
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import List, Optional
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class UsptoPatentsResponseDataTypedDict(TypedDict):
|
|
13
|
+
application_number: NotRequired[str]
|
|
14
|
+
r"""Patent application number."""
|
|
15
|
+
company_filing_name: NotRequired[List[str]]
|
|
16
|
+
r"""Names of the companies listed on the patent."""
|
|
17
|
+
description: NotRequired[str]
|
|
18
|
+
r"""Description of the patent."""
|
|
19
|
+
filing_date: NotRequired[str]
|
|
20
|
+
r"""Date the patent was filed, as returned by the provider."""
|
|
21
|
+
filing_status: NotRequired[str]
|
|
22
|
+
r"""Filing status of the patent."""
|
|
23
|
+
patent_number: NotRequired[str]
|
|
24
|
+
r"""Patent number."""
|
|
25
|
+
patent_type: NotRequired[str]
|
|
26
|
+
r"""Type of patent."""
|
|
27
|
+
publication_date: NotRequired[str]
|
|
28
|
+
r"""Date the patent was published, as returned by the provider."""
|
|
29
|
+
url: NotRequired[str]
|
|
30
|
+
r"""URL of the original patent document."""
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class UsptoPatentsResponseData(BaseModel):
|
|
34
|
+
application_number: Annotated[
|
|
35
|
+
Optional[str], pydantic.Field(alias="applicationNumber")
|
|
36
|
+
] = None
|
|
37
|
+
r"""Patent application number."""
|
|
38
|
+
|
|
39
|
+
company_filing_name: Annotated[
|
|
40
|
+
Optional[List[str]], pydantic.Field(alias="companyFilingName")
|
|
41
|
+
] = None
|
|
42
|
+
r"""Names of the companies listed on the patent."""
|
|
43
|
+
|
|
44
|
+
description: Optional[str] = None
|
|
45
|
+
r"""Description of the patent."""
|
|
46
|
+
|
|
47
|
+
filing_date: Annotated[Optional[str], pydantic.Field(alias="filingDate")] = None
|
|
48
|
+
r"""Date the patent was filed, as returned by the provider."""
|
|
49
|
+
|
|
50
|
+
filing_status: Annotated[Optional[str], pydantic.Field(alias="filingStatus")] = None
|
|
51
|
+
r"""Filing status of the patent."""
|
|
52
|
+
|
|
53
|
+
patent_number: Annotated[Optional[str], pydantic.Field(alias="patentNumber")] = None
|
|
54
|
+
r"""Patent number."""
|
|
55
|
+
|
|
56
|
+
patent_type: Annotated[Optional[str], pydantic.Field(alias="patentType")] = None
|
|
57
|
+
r"""Type of patent."""
|
|
58
|
+
|
|
59
|
+
publication_date: Annotated[
|
|
60
|
+
Optional[str], pydantic.Field(alias="publicationDate")
|
|
61
|
+
] = None
|
|
62
|
+
r"""Date the patent was published, as returned by the provider."""
|
|
63
|
+
|
|
64
|
+
url: Optional[str] = None
|
|
65
|
+
r"""URL of the original patent document."""
|
|
66
|
+
|
|
67
|
+
@model_serializer(mode="wrap")
|
|
68
|
+
def serialize_model(self, handler):
|
|
69
|
+
optional_fields = set(
|
|
70
|
+
[
|
|
71
|
+
"applicationNumber",
|
|
72
|
+
"companyFilingName",
|
|
73
|
+
"description",
|
|
74
|
+
"filingDate",
|
|
75
|
+
"filingStatus",
|
|
76
|
+
"patentNumber",
|
|
77
|
+
"patentType",
|
|
78
|
+
"publicationDate",
|
|
79
|
+
"url",
|
|
80
|
+
]
|
|
81
|
+
)
|
|
82
|
+
serialized = handler(self)
|
|
83
|
+
m = {}
|
|
84
|
+
|
|
85
|
+
for n, f in type(self).model_fields.items():
|
|
86
|
+
k = f.alias or n
|
|
87
|
+
val = serialized.get(k, serialized.get(n))
|
|
88
|
+
|
|
89
|
+
if val != UNSET_SENTINEL:
|
|
90
|
+
if val is not None or k not in optional_fields:
|
|
91
|
+
m[k] = val
|
|
92
|
+
|
|
93
|
+
return m
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
class UsptoPatentsResponseTypedDict(TypedDict):
|
|
97
|
+
r"""USPTO patent filings associated with a company, as provided by Finnhub."""
|
|
98
|
+
|
|
99
|
+
data: NotRequired[List[UsptoPatentsResponseDataTypedDict]]
|
|
100
|
+
r"""Patent records for the symbol."""
|
|
101
|
+
symbol: NotRequired[str]
|
|
102
|
+
r"""Company ticker symbol."""
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
class UsptoPatentsResponse(BaseModel):
|
|
106
|
+
r"""USPTO patent filings associated with a company, as provided by Finnhub."""
|
|
107
|
+
|
|
108
|
+
data: Optional[List[UsptoPatentsResponseData]] = None
|
|
109
|
+
r"""Patent records for the symbol."""
|
|
110
|
+
|
|
111
|
+
symbol: Optional[str] = None
|
|
112
|
+
r"""Company ticker symbol."""
|
|
113
|
+
|
|
114
|
+
@model_serializer(mode="wrap")
|
|
115
|
+
def serialize_model(self, handler):
|
|
116
|
+
optional_fields = set(["data", "symbol"])
|
|
117
|
+
serialized = handler(self)
|
|
118
|
+
m = {}
|
|
119
|
+
|
|
120
|
+
for n, f in type(self).model_fields.items():
|
|
121
|
+
k = f.alias or n
|
|
122
|
+
val = serialized.get(k, serialized.get(n))
|
|
123
|
+
|
|
124
|
+
if val != UNSET_SENTINEL:
|
|
125
|
+
if val is not None or k not in optional_fields:
|
|
126
|
+
m[k] = val
|
|
127
|
+
|
|
128
|
+
return m
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
try:
|
|
132
|
+
UsptoPatentsResponseData.model_rebuild()
|
|
133
|
+
except NameError:
|
|
134
|
+
pass
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 6e5956a7ab1c
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import BaseModel, UNSET_SENTINEL
|
|
6
|
+
import pydantic
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import List, Optional
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class VisaApplicationsResponseDataTypedDict(TypedDict):
|
|
13
|
+
begin_date: NotRequired[str]
|
|
14
|
+
r"""Job start date, as returned by the provider."""
|
|
15
|
+
case_number: NotRequired[str]
|
|
16
|
+
r"""Case number of the application."""
|
|
17
|
+
case_status: NotRequired[str]
|
|
18
|
+
r"""Status of the case."""
|
|
19
|
+
employer_name: NotRequired[str]
|
|
20
|
+
r"""Name of the employer."""
|
|
21
|
+
end_date: NotRequired[str]
|
|
22
|
+
r"""Job end date, as returned by the provider."""
|
|
23
|
+
full_time_position: NotRequired[str]
|
|
24
|
+
r"""Flag indicating whether the position is full-time, as returned by the provider."""
|
|
25
|
+
h1b_dependent: NotRequired[str]
|
|
26
|
+
r"""Flag indicating whether the employer is H-1B dependent, as returned by the provider."""
|
|
27
|
+
job_title: NotRequired[str]
|
|
28
|
+
r"""Job title of the position."""
|
|
29
|
+
quarter: NotRequired[int]
|
|
30
|
+
r"""Quarter of the application."""
|
|
31
|
+
received_date: NotRequired[str]
|
|
32
|
+
r"""Date the application was received, as returned by the provider."""
|
|
33
|
+
soc_code: NotRequired[str]
|
|
34
|
+
r"""Standard Occupational Classification (SOC) code of the position."""
|
|
35
|
+
symbol: NotRequired[str]
|
|
36
|
+
r"""Company ticker symbol."""
|
|
37
|
+
visa_class: NotRequired[str]
|
|
38
|
+
r"""Visa class."""
|
|
39
|
+
wage_level: NotRequired[str]
|
|
40
|
+
r"""Wage level of the position."""
|
|
41
|
+
wage_range_from: NotRequired[float]
|
|
42
|
+
r"""Lower bound of the offered wage range."""
|
|
43
|
+
wage_range_to: NotRequired[float]
|
|
44
|
+
r"""Upper bound of the offered wage range."""
|
|
45
|
+
wage_unit_of_pay: NotRequired[str]
|
|
46
|
+
r"""Unit of pay that the wage range is expressed in."""
|
|
47
|
+
worksite_address: NotRequired[str]
|
|
48
|
+
r"""Worksite street address."""
|
|
49
|
+
worksite_city: NotRequired[str]
|
|
50
|
+
r"""Worksite city."""
|
|
51
|
+
worksite_county: NotRequired[str]
|
|
52
|
+
r"""Worksite county."""
|
|
53
|
+
worksite_postal_code: NotRequired[str]
|
|
54
|
+
r"""Worksite postal code."""
|
|
55
|
+
worksite_state: NotRequired[str]
|
|
56
|
+
r"""Worksite state."""
|
|
57
|
+
year: NotRequired[int]
|
|
58
|
+
r"""Year of the application."""
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class VisaApplicationsResponseData(BaseModel):
|
|
62
|
+
begin_date: Annotated[Optional[str], pydantic.Field(alias="beginDate")] = None
|
|
63
|
+
r"""Job start date, as returned by the provider."""
|
|
64
|
+
|
|
65
|
+
case_number: Annotated[Optional[str], pydantic.Field(alias="caseNumber")] = None
|
|
66
|
+
r"""Case number of the application."""
|
|
67
|
+
|
|
68
|
+
case_status: Annotated[Optional[str], pydantic.Field(alias="caseStatus")] = None
|
|
69
|
+
r"""Status of the case."""
|
|
70
|
+
|
|
71
|
+
employer_name: Annotated[Optional[str], pydantic.Field(alias="employerName")] = None
|
|
72
|
+
r"""Name of the employer."""
|
|
73
|
+
|
|
74
|
+
end_date: Annotated[Optional[str], pydantic.Field(alias="endDate")] = None
|
|
75
|
+
r"""Job end date, as returned by the provider."""
|
|
76
|
+
|
|
77
|
+
full_time_position: Annotated[
|
|
78
|
+
Optional[str], pydantic.Field(alias="fullTimePosition")
|
|
79
|
+
] = None
|
|
80
|
+
r"""Flag indicating whether the position is full-time, as returned by the provider."""
|
|
81
|
+
|
|
82
|
+
h1b_dependent: Annotated[Optional[str], pydantic.Field(alias="h1bDependent")] = None
|
|
83
|
+
r"""Flag indicating whether the employer is H-1B dependent, as returned by the provider."""
|
|
84
|
+
|
|
85
|
+
job_title: Annotated[Optional[str], pydantic.Field(alias="jobTitle")] = None
|
|
86
|
+
r"""Job title of the position."""
|
|
87
|
+
|
|
88
|
+
quarter: Optional[int] = None
|
|
89
|
+
r"""Quarter of the application."""
|
|
90
|
+
|
|
91
|
+
received_date: Annotated[Optional[str], pydantic.Field(alias="receivedDate")] = None
|
|
92
|
+
r"""Date the application was received, as returned by the provider."""
|
|
93
|
+
|
|
94
|
+
soc_code: Annotated[Optional[str], pydantic.Field(alias="socCode")] = None
|
|
95
|
+
r"""Standard Occupational Classification (SOC) code of the position."""
|
|
96
|
+
|
|
97
|
+
symbol: Optional[str] = None
|
|
98
|
+
r"""Company ticker symbol."""
|
|
99
|
+
|
|
100
|
+
visa_class: Annotated[Optional[str], pydantic.Field(alias="visaClass")] = None
|
|
101
|
+
r"""Visa class."""
|
|
102
|
+
|
|
103
|
+
wage_level: Annotated[Optional[str], pydantic.Field(alias="wageLevel")] = None
|
|
104
|
+
r"""Wage level of the position."""
|
|
105
|
+
|
|
106
|
+
wage_range_from: Annotated[
|
|
107
|
+
Optional[float], pydantic.Field(alias="wageRangeFrom")
|
|
108
|
+
] = None
|
|
109
|
+
r"""Lower bound of the offered wage range."""
|
|
110
|
+
|
|
111
|
+
wage_range_to: Annotated[Optional[float], pydantic.Field(alias="wageRangeTo")] = (
|
|
112
|
+
None
|
|
113
|
+
)
|
|
114
|
+
r"""Upper bound of the offered wage range."""
|
|
115
|
+
|
|
116
|
+
wage_unit_of_pay: Annotated[
|
|
117
|
+
Optional[str], pydantic.Field(alias="wageUnitOfPay")
|
|
118
|
+
] = None
|
|
119
|
+
r"""Unit of pay that the wage range is expressed in."""
|
|
120
|
+
|
|
121
|
+
worksite_address: Annotated[
|
|
122
|
+
Optional[str], pydantic.Field(alias="worksiteAddress")
|
|
123
|
+
] = None
|
|
124
|
+
r"""Worksite street address."""
|
|
125
|
+
|
|
126
|
+
worksite_city: Annotated[Optional[str], pydantic.Field(alias="worksiteCity")] = None
|
|
127
|
+
r"""Worksite city."""
|
|
128
|
+
|
|
129
|
+
worksite_county: Annotated[
|
|
130
|
+
Optional[str], pydantic.Field(alias="worksiteCounty")
|
|
131
|
+
] = None
|
|
132
|
+
r"""Worksite county."""
|
|
133
|
+
|
|
134
|
+
worksite_postal_code: Annotated[
|
|
135
|
+
Optional[str], pydantic.Field(alias="worksitePostalCode")
|
|
136
|
+
] = None
|
|
137
|
+
r"""Worksite postal code."""
|
|
138
|
+
|
|
139
|
+
worksite_state: Annotated[Optional[str], pydantic.Field(alias="worksiteState")] = (
|
|
140
|
+
None
|
|
141
|
+
)
|
|
142
|
+
r"""Worksite state."""
|
|
143
|
+
|
|
144
|
+
year: Optional[int] = None
|
|
145
|
+
r"""Year of the application."""
|
|
146
|
+
|
|
147
|
+
@model_serializer(mode="wrap")
|
|
148
|
+
def serialize_model(self, handler):
|
|
149
|
+
optional_fields = set(
|
|
150
|
+
[
|
|
151
|
+
"beginDate",
|
|
152
|
+
"caseNumber",
|
|
153
|
+
"caseStatus",
|
|
154
|
+
"employerName",
|
|
155
|
+
"endDate",
|
|
156
|
+
"fullTimePosition",
|
|
157
|
+
"h1bDependent",
|
|
158
|
+
"jobTitle",
|
|
159
|
+
"quarter",
|
|
160
|
+
"receivedDate",
|
|
161
|
+
"socCode",
|
|
162
|
+
"symbol",
|
|
163
|
+
"visaClass",
|
|
164
|
+
"wageLevel",
|
|
165
|
+
"wageRangeFrom",
|
|
166
|
+
"wageRangeTo",
|
|
167
|
+
"wageUnitOfPay",
|
|
168
|
+
"worksiteAddress",
|
|
169
|
+
"worksiteCity",
|
|
170
|
+
"worksiteCounty",
|
|
171
|
+
"worksitePostalCode",
|
|
172
|
+
"worksiteState",
|
|
173
|
+
"year",
|
|
174
|
+
]
|
|
175
|
+
)
|
|
176
|
+
serialized = handler(self)
|
|
177
|
+
m = {}
|
|
178
|
+
|
|
179
|
+
for n, f in type(self).model_fields.items():
|
|
180
|
+
k = f.alias or n
|
|
181
|
+
val = serialized.get(k, serialized.get(n))
|
|
182
|
+
|
|
183
|
+
if val != UNSET_SENTINEL:
|
|
184
|
+
if val is not None or k not in optional_fields:
|
|
185
|
+
m[k] = val
|
|
186
|
+
|
|
187
|
+
return m
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
class VisaApplicationsResponseTypedDict(TypedDict):
|
|
191
|
+
r"""H-1B and permanent visa applications filed by a company, as provided by Finnhub."""
|
|
192
|
+
|
|
193
|
+
data: NotRequired[List[VisaApplicationsResponseDataTypedDict]]
|
|
194
|
+
r"""Visa application records for the symbol."""
|
|
195
|
+
symbol: NotRequired[str]
|
|
196
|
+
r"""Company ticker symbol."""
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
class VisaApplicationsResponse(BaseModel):
|
|
200
|
+
r"""H-1B and permanent visa applications filed by a company, as provided by Finnhub."""
|
|
201
|
+
|
|
202
|
+
data: Optional[List[VisaApplicationsResponseData]] = None
|
|
203
|
+
r"""Visa application records for the symbol."""
|
|
204
|
+
|
|
205
|
+
symbol: Optional[str] = None
|
|
206
|
+
r"""Company ticker symbol."""
|
|
207
|
+
|
|
208
|
+
@model_serializer(mode="wrap")
|
|
209
|
+
def serialize_model(self, handler):
|
|
210
|
+
optional_fields = set(["data", "symbol"])
|
|
211
|
+
serialized = handler(self)
|
|
212
|
+
m = {}
|
|
213
|
+
|
|
214
|
+
for n, f in type(self).model_fields.items():
|
|
215
|
+
k = f.alias or n
|
|
216
|
+
val = serialized.get(k, serialized.get(n))
|
|
217
|
+
|
|
218
|
+
if val != UNSET_SENTINEL:
|
|
219
|
+
if val is not None or k not in optional_fields:
|
|
220
|
+
m[k] = val
|
|
221
|
+
|
|
222
|
+
return m
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
try:
|
|
226
|
+
VisaApplicationsResponseData.model_rebuild()
|
|
227
|
+
except NameError:
|
|
228
|
+
pass
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: 8e3de726d672
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
from finance_dev.types import (
|
|
6
|
+
BaseModel,
|
|
7
|
+
Nullable,
|
|
8
|
+
OptionalNullable,
|
|
9
|
+
UNSET,
|
|
10
|
+
UNSET_SENTINEL,
|
|
11
|
+
)
|
|
12
|
+
from pydantic import model_serializer
|
|
13
|
+
from typing import List, Optional
|
|
14
|
+
from typing_extensions import NotRequired, TypedDict
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class WatchlistTypedDict(TypedDict):
|
|
18
|
+
r"""Saved list of symbols a user wants to monitor. Watchlists are read-only from a trading-risk perspective and do not place orders."""
|
|
19
|
+
|
|
20
|
+
id: NotRequired[int]
|
|
21
|
+
r"""Watchlist identifier. Use this value when reading, updating, or deleting a specific watchlist."""
|
|
22
|
+
invalid_symbols: NotRequired[List[str]]
|
|
23
|
+
r"""Symbols from the request that could not be resolved and were dropped from `symbols`. Only present on create and update responses when at least one submitted symbol failed resolution."""
|
|
24
|
+
name: NotRequired[str]
|
|
25
|
+
r"""User-facing watchlist name, such as Tech Stocks or Dividend Ideas. Show this as the list label in your app."""
|
|
26
|
+
symbols: NotRequired[Nullable[List[str]]]
|
|
27
|
+
r"""Symbols saved in the watchlist. Use exact uppercase ticker symbols and confirm unfamiliar symbols with symbol search. May be `null` for a watchlist saved through Replace All Watchlists without `symbols`."""
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class Watchlist(BaseModel):
|
|
31
|
+
r"""Saved list of symbols a user wants to monitor. Watchlists are read-only from a trading-risk perspective and do not place orders."""
|
|
32
|
+
|
|
33
|
+
id: Optional[int] = None
|
|
34
|
+
r"""Watchlist identifier. Use this value when reading, updating, or deleting a specific watchlist."""
|
|
35
|
+
|
|
36
|
+
invalid_symbols: Optional[List[str]] = None
|
|
37
|
+
r"""Symbols from the request that could not be resolved and were dropped from `symbols`. Only present on create and update responses when at least one submitted symbol failed resolution."""
|
|
38
|
+
|
|
39
|
+
name: Optional[str] = None
|
|
40
|
+
r"""User-facing watchlist name, such as Tech Stocks or Dividend Ideas. Show this as the list label in your app."""
|
|
41
|
+
|
|
42
|
+
symbols: OptionalNullable[List[str]] = UNSET
|
|
43
|
+
r"""Symbols saved in the watchlist. Use exact uppercase ticker symbols and confirm unfamiliar symbols with symbol search. May be `null` for a watchlist saved through Replace All Watchlists without `symbols`."""
|
|
44
|
+
|
|
45
|
+
@model_serializer(mode="wrap")
|
|
46
|
+
def serialize_model(self, handler):
|
|
47
|
+
optional_fields = set(["id", "invalid_symbols", "name", "symbols"])
|
|
48
|
+
nullable_fields = set(["symbols"])
|
|
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
|
+
is_nullable_and_explicitly_set = (
|
|
56
|
+
k in nullable_fields
|
|
57
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
if val != UNSET_SENTINEL:
|
|
61
|
+
if (
|
|
62
|
+
val is not None
|
|
63
|
+
or k not in optional_fields
|
|
64
|
+
or is_nullable_and_explicitly_set
|
|
65
|
+
):
|
|
66
|
+
m[k] = val
|
|
67
|
+
|
|
68
|
+
return m
|