mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-10-27 20:42:26 +00:00
* refactor stocks datasources * add rest of data sources * add_cmd without source * forgot one tiny thing * fix crypto tests * fix forex tests * fix etf tests * fix economy tests * fix oss tests * fix remaining tests * fix tests * Rewrote vcr files * Take 2 * fix test * fix tests for FA Co-authored-by: colin99d <colin99delahunty@gmail.com> Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
666 lines
20 KiB
JSON
Vendored
666 lines
20 KiB
JSON
Vendored
{
|
|
"stocks": {
|
|
"search": ["FinanceDatabase"],
|
|
"quote": ["YahooFinance"],
|
|
"candle": [],
|
|
"codes": ["Polygon"],
|
|
"news": [
|
|
"Feedparser",
|
|
"NewsApi"
|
|
],
|
|
"load": [
|
|
"YahooFinance",
|
|
"IEXCloud",
|
|
"AlphaVantage",
|
|
"Polygon",
|
|
"EODHD"
|
|
],
|
|
"th": {
|
|
"symbol": ["FinanceDatabase"],
|
|
"open": ["Bursa"],
|
|
"closed": ["Bursa"],
|
|
"all": ["Bursa"],
|
|
"exchange": ["Bursa"]
|
|
},
|
|
"options": {
|
|
"unu": ["FDScanner"],
|
|
"calc": [],
|
|
"screen": {
|
|
"view": ["Syncretism"],
|
|
"set": [],
|
|
"scr": ["Syncretism"]
|
|
},
|
|
"load": [
|
|
"YahooFinance",
|
|
"Tradier",
|
|
"Nasdaq"
|
|
],
|
|
"exp": [
|
|
"YahooFinance",
|
|
"Tradier",
|
|
"Nasdaq"
|
|
],
|
|
"pcr": [
|
|
"AlphaQuery"
|
|
],
|
|
"info": [
|
|
"Barchart"
|
|
],
|
|
"chains": [
|
|
"YahooFinance",
|
|
"Tradier",
|
|
"Nasdaq"
|
|
],
|
|
"oi": [
|
|
"YahooFinance",
|
|
"Tradier",
|
|
"Nasdaq"
|
|
],
|
|
"vol": [
|
|
"YahooFinance",
|
|
"Tradier",
|
|
"Nasdaq"
|
|
],
|
|
"voi": [
|
|
"YahooFinance",
|
|
"Tradier",
|
|
"Nasdaq"
|
|
],
|
|
"hist": [
|
|
"ChartExchange",
|
|
"Tradier"
|
|
],
|
|
"vsurf" : ["YahooFinance"],
|
|
"grhist" : ["Syncretism"],
|
|
"plot" : ["YahooFinance"],
|
|
"parity" : ["YahooFinance"],
|
|
"binom" : ["YahooFinance"],
|
|
"greeks": ["YahooFinance"],
|
|
"pricing": {
|
|
"add": [],
|
|
"rmv": [],
|
|
"show": [],
|
|
"rnval": ["YahooFinance"]
|
|
},
|
|
"hedge": {
|
|
"list": [],
|
|
"pick": [],
|
|
"add": [],
|
|
"rmv": [],
|
|
"sop": [],
|
|
"plot": ["YahooFinance"]
|
|
}
|
|
},
|
|
"disc": {
|
|
"pipo": ["Finnhub"],
|
|
"fipo": ["Finnhub"],
|
|
"gainers": ["YahooFinance"],
|
|
"losers": ["YahooFinance"],
|
|
"ugs": ["YahooFinance"],
|
|
"gtech": ["YahooFinance"],
|
|
"active": ["YahooFinance"],
|
|
"ulc": ["YahooFinance"],
|
|
"asc": ["YahooFinance"],
|
|
"ford": ["Fidelity"],
|
|
"arkord": ["CathiesArk"],
|
|
"upcoming": ["SeekingAlpha"],
|
|
"trending": ["SeekingAlpha"],
|
|
"cnews": ["SeekingAlpha"],
|
|
"lowfloat": ["Fidelity"],
|
|
"hotpenny": ["YahooFinance", "Shortinterest"],
|
|
"rtat": ["Nasdaq"],
|
|
"divcal": ["Nasdaq"]
|
|
},
|
|
"sia": {
|
|
"load": [
|
|
"YahooFinance",
|
|
"IEXCloud",
|
|
"AlphaVantage",
|
|
"Polygon",
|
|
"EODHD"
|
|
],
|
|
"clear" : [],
|
|
"industry" : ["FinanceDatabase"],
|
|
"sector" : ["FinanceDatabase"],
|
|
"country" : ["FinanceDatabase"],
|
|
"mktcap" : ["FinanceDatabase"],
|
|
"exchange" : ["FinanceDatabase"],
|
|
"period" : ["StockAnalysis"],
|
|
"cps" : ["FinanceDatabase"],
|
|
"cpic" : ["FinanceDatabase"],
|
|
"cpis" : ["FinanceDatabase"],
|
|
"cpcs" : ["FinanceDatabase"],
|
|
"cpci" : ["FinanceDatabase"],
|
|
"sama" : ["YahooFinance"],
|
|
"metric" : ["YahooFinance"],
|
|
"satma" : ["StockAnalysis"],
|
|
"vis" : ["StockAnalysis"]
|
|
},
|
|
"dps": {
|
|
"load": [
|
|
"YahooFinance",
|
|
"IEXCloud",
|
|
"AlphaVantage",
|
|
"Polygon",
|
|
"EODHD"
|
|
],
|
|
"shorted": ["YahooFinance"],
|
|
"ctb": ["InteractiveBrokers"],
|
|
"hsi": ["Shortinterest"],
|
|
"prom": ["FINRA"],
|
|
"pos": ["Stockgrid"],
|
|
"sidtc": ["Stockgrid"],
|
|
"dpotc": ["FINRA"],
|
|
"ftd": ["SEC"],
|
|
"spos": ["Stockgrid"],
|
|
"psi": [
|
|
"Stockgrid",
|
|
"Quandl"
|
|
]
|
|
},
|
|
"scr": {
|
|
"view": [],
|
|
"set": [],
|
|
"historical": ["YahooFinance"],
|
|
"overview": ["Finviz"],
|
|
"valuation": ["Finviz"],
|
|
"financial": ["Finviz"],
|
|
"ownership": ["Finviz"],
|
|
"performance": ["Finviz"],
|
|
"technical": ["Finviz"]
|
|
},
|
|
"ins": {
|
|
"load": [
|
|
"YahooFinance",
|
|
"IEXCloud",
|
|
"AlphaVantage",
|
|
"Polygon",
|
|
"EODHD"
|
|
],
|
|
"view": [],
|
|
"set": [],
|
|
"filter": ["OpenInsider"],
|
|
"stats": ["OpenInsider"],
|
|
"act": ["BusinessInsider"],
|
|
"lins": ["Finviz"],
|
|
"lcb": ["OpenInsider"],
|
|
"lpsb": ["OpenInsider"],
|
|
"lit": ["OpenInsider"],
|
|
"lip": ["OpenInsider"],
|
|
"blip": ["OpenInsider"],
|
|
"blop": ["OpenInsider"],
|
|
"blcp": ["OpenInsider"],
|
|
"lis": ["OpenInsider"],
|
|
"blis": ["OpenInsider"],
|
|
"blos": ["OpenInsider"],
|
|
"blcs": ["OpenInsider"],
|
|
"topt": ["OpenInsider"],
|
|
"toppw": ["OpenInsider"],
|
|
"toppm": ["OpenInsider"],
|
|
"tipt": ["OpenInsider"],
|
|
"tippw": ["OpenInsider"],
|
|
"tippm": ["OpenInsider"],
|
|
"tist": ["OpenInsider"],
|
|
"tispw": ["OpenInsider"],
|
|
"tispm": ["OpenInsider"]
|
|
},
|
|
"gov": {
|
|
"load": [
|
|
"YahooFinance",
|
|
"IEXCloud",
|
|
"AlphaVantage",
|
|
"Polygon",
|
|
"EODHD"
|
|
],
|
|
"lasttrades": ["QuiverQuant"],
|
|
"topbuys": ["QuiverQuant"],
|
|
"topsells": ["QuiverQuant"],
|
|
"lastcontracts": ["QuiverQuant"],
|
|
"qtrcontracts": ["QuiverQuant"],
|
|
"toplobbying": ["QuiverQuant"],
|
|
"gtrades": ["QuiverQuant"],
|
|
"contracts": ["QuiverQuant"],
|
|
"histcont": ["QuiverQuant"],
|
|
"lobbying": ["QuiverQuant"]
|
|
},
|
|
"ba": {
|
|
"load": [
|
|
"YahooFinance",
|
|
"IEXCloud",
|
|
"AlphaVantage",
|
|
"Polygon",
|
|
"EODHD"
|
|
],
|
|
"headlines": ["FinBrain"],
|
|
"snews": ["Finnhub"],
|
|
"wsb": ["Reddit"],
|
|
"watchlist": ["Reddit"],
|
|
"popular": ["Reddit"],
|
|
"spac_c": ["Reddit"],
|
|
"spac": ["Reddit"],
|
|
"getdd": ["Reddit"],
|
|
"reddit_sent": ["Reddit"],
|
|
"trending": ["Stocktwits"],
|
|
"stalker": ["Stocktwits"],
|
|
"bullbear": ["Stocktwits"],
|
|
"messages": ["Stocktwits"],
|
|
"infer": ["Twitter"],
|
|
"sentiment": ["Twitter"],
|
|
"mentions": ["Google"],
|
|
"regions": ["Google"],
|
|
"interest": ["Google"],
|
|
"queries": ["Google"],
|
|
"rise": ["FinBrain"],
|
|
"trend": ["SentimentInvestor"],
|
|
"hist": ["SentimentInvestor"],
|
|
"jcdr": ["JimCramer"],
|
|
"jctr": ["JimCramer"]
|
|
},
|
|
"ca": {
|
|
"load": [
|
|
"YahooFinance",
|
|
"IEXCloud",
|
|
"AlphaVantage",
|
|
"Polygon",
|
|
"EODHD"
|
|
],
|
|
"tsne": ["YahooFinance"],
|
|
"getpoly": ["Polygon"],
|
|
"getfinnhub": ["Finnhub"],
|
|
"getfinviz": ["Finviz"],
|
|
"set": [],
|
|
"add": [],
|
|
"rmv": [],
|
|
"historical": ["YahooFinance"],
|
|
"hcorr": ["YahooFinance"],
|
|
"volume": ["YahooFinance"],
|
|
"income": ["MarketWatch"],
|
|
"balance": ["MarketWatch"],
|
|
"cashflow": ["MarketWatch"],
|
|
"sentiment": ["FinBrain"],
|
|
"scorr": ["FinBrain"],
|
|
"overview": ["Finviz"],
|
|
"valuation": ["Finviz"],
|
|
"financial": ["Finviz"],
|
|
"ownership": ["Finviz"],
|
|
"performance": ["Finviz"],
|
|
"technical": ["Finviz"]
|
|
},
|
|
"fa": {
|
|
"load": [
|
|
"YahooFinance",
|
|
"IEXCloud",
|
|
"AlphaVantage",
|
|
"Polygon",
|
|
"EODHD"
|
|
],
|
|
"income": [
|
|
"YahooFinance",
|
|
"Polygon",
|
|
"AlphaVantage",
|
|
"FinancialModelingPrep"
|
|
],
|
|
"balance": [
|
|
"YahooFinance",
|
|
"Polygon",
|
|
"AlphaVantage",
|
|
"FinancialModelingPrep"
|
|
],
|
|
"cash": [
|
|
"YahooFinance",
|
|
"Polygon",
|
|
"AlphaVantage",
|
|
"FinancialModelingPrep"
|
|
],
|
|
"data": ["Finviz"],
|
|
"mgmt": ["BusinessInsider"],
|
|
"analysis": ["Elect"],
|
|
"score": ["FinancialModelingPrep"],
|
|
"profile": ["FinancialModelingPrep"],
|
|
"quote": ["FinancialModelingPrep"],
|
|
"enterprise": ["FinancialModelingPrep"],
|
|
"metrics": ["FinancialModelingPrep"],
|
|
"ratios": ["FinancialModelingPrep"],
|
|
"growth": ["FinancialModelingPrep"],
|
|
"warnings": ["MarketWatch"],
|
|
"dcf": ["StockAnalysis"],
|
|
"dcfc": ["FinancialModelingPrep"],
|
|
"info": ["YahooFinance"],
|
|
"mktcap": ["YahooFinance"],
|
|
"shrs": ["YahooFinance"],
|
|
"sust": ["YahooFinance"],
|
|
"cal": ["YahooFinance"],
|
|
"divs": ["YahooFinance"],
|
|
"splits": ["YahooFinance"],
|
|
"web": ["YahooFinance"],
|
|
"hq": ["YahooFinance"],
|
|
"overview": ["AlphaVantage"],
|
|
"key": ["AlphaVantage"],
|
|
"earnings": [
|
|
"YahooFinance",
|
|
"AlphaVantage"
|
|
],
|
|
"fraud": ["AlphaVantage"],
|
|
"dupont": ["AlphaVantage"]
|
|
},
|
|
"dd": {
|
|
"load": [
|
|
"YahooFinance",
|
|
"IEXCloud",
|
|
"AlphaVantage",
|
|
"Polygon",
|
|
"EODHD"
|
|
],
|
|
"analyst": ["Finviz"],
|
|
"rating": ["FinancialModelingPrep"],
|
|
"rot": ["Finnhub"],
|
|
"pt": ["BusinessInsider"],
|
|
"est": ["BusinessInsider"],
|
|
"sec": ["MarketWatch"],
|
|
"supplier": ["CSIMarket"],
|
|
"customer": ["CSIMarket"],
|
|
"arktrades": ["Cathiesark"]
|
|
},
|
|
"bt": {
|
|
"load": [
|
|
"YahooFinance",
|
|
"IEXCloud",
|
|
"AlphaVantage",
|
|
"Polygon",
|
|
"EODHD"
|
|
],
|
|
"whatif": ["YahooFinance"]
|
|
},
|
|
"ta": {
|
|
"load": [
|
|
"YahooFinance",
|
|
"IEXCloud",
|
|
"AlphaVantage",
|
|
"Polygon",
|
|
"EODHD"
|
|
],
|
|
"tv": ["TradingView"],
|
|
"recom": ["TradingView"],
|
|
"view": ["Finviz"],
|
|
"summary": ["FinBrain"]
|
|
},
|
|
"qa": {
|
|
"load": [
|
|
"YahooFinance",
|
|
"IEXCloud",
|
|
"AlphaVantage",
|
|
"Polygon",
|
|
"EODHD"
|
|
]
|
|
},
|
|
"pred": {
|
|
"load": [
|
|
"YahooFinance",
|
|
"IEXCloud",
|
|
"AlphaVantage",
|
|
"Polygon",
|
|
"EODHD"
|
|
]
|
|
}
|
|
},
|
|
"crypto": {
|
|
"load": [
|
|
"YahooFinance",
|
|
"CoinGecko",
|
|
"CCXT"
|
|
],
|
|
"find": [
|
|
"CoinGecko",
|
|
"CoinPaprika",
|
|
"Binance",
|
|
"Coinbase",
|
|
"YahooFinance"
|
|
],
|
|
"headlines": ["FinBrain"],
|
|
"prt": ["CoinGecko"],
|
|
"disc": {
|
|
"cgtop": ["CoinGecko"],
|
|
"cgtrending": ["CoinGecko"],
|
|
"cggainers": ["CoinGecko"],
|
|
"cglosers": ["CoinGecko"],
|
|
"cpsearch": ["CoinPaprika"],
|
|
"cmctop": ["CoinMarketCap"],
|
|
"drnft": ["DappRadar"],
|
|
"drgames": ["DappRadar"],
|
|
"drdapps": ["DappRadar"],
|
|
"drdex": ["DappRadar"]
|
|
},
|
|
"ov": {
|
|
"cgglobal": ["CoinGecko"],
|
|
"cgdefi": ["CoinGecko"],
|
|
"cgstables": ["CoinGecko"],
|
|
"cgexchanges": ["CoinGecko"],
|
|
"cgexrates": ["CoinGecko"],
|
|
"cgindexes": ["CoinGecko"],
|
|
"cgderivatives": ["CoinGecko"],
|
|
"cgcategories": ["CoinGecko"],
|
|
"cghold": ["CoinGecko"],
|
|
"hm": ["CoinGecko"],
|
|
"cpglobal": ["CoinPaprika"],
|
|
"cpinfo": ["CoinPaprika"],
|
|
"cpmarkets": ["CoinPaprika"],
|
|
"cpexchanges": ["CoinPaprika"],
|
|
"cpexmarkets": ["CoinPaprika"],
|
|
"cpplatforms": ["CoinPaprika"],
|
|
"cpcontracts": ["CoinPaprika"],
|
|
"cbpairs": ["Coinbase"],
|
|
"news": ["CryptoPanic"],
|
|
"wf": ["WithdrawalFees"],
|
|
"ewf": ["WithdrawalFees"],
|
|
"wfpe": ["WithdrawalFees"],
|
|
"altindex": ["BlockchainCenter"],
|
|
"btcrb": ["BlockchainCenter"],
|
|
"ch": ["Rekt"],
|
|
"cr": ["LoanScan"]
|
|
},
|
|
"onchain": {
|
|
"hr": ["Glassnode"],
|
|
"btccp": ["Blockchain"],
|
|
"btcct": ["Blockchain"],
|
|
"gwei": ["ETHGasStations"],
|
|
"whales": ["WhaleAlert"],
|
|
"lt": ["BitQuery"],
|
|
"dvcp": ["BitQuery"],
|
|
"tv": ["BitQuery"],
|
|
"ueat": ["BitQuery"],
|
|
"ttcp": ["BitQuery"],
|
|
"baas": ["BitQuery"],
|
|
"address": ["Ethplorer"],
|
|
"top": ["Ethplorer"],
|
|
"balance": ["Ethplorer"],
|
|
"hist": ["Ethplorer"],
|
|
"info": ["Ethplorer"],
|
|
"holders": ["Ethplorer"],
|
|
"th": ["Ethplorer"],
|
|
"prices": ["Ethplorer"],
|
|
"tx": ["Ethplorer"]
|
|
},
|
|
"defi": {
|
|
"newsletter": ["Substack"],
|
|
"dpi": ["DeFiPulse"],
|
|
"vaults": ["Coindix"],
|
|
"tokens": ["TheGraph"],
|
|
"stats": ["TheGraph"],
|
|
"pairs": ["TheGraph"],
|
|
"pools": ["TheGraph"],
|
|
"swaps": ["TheGraph"],
|
|
"ldapps": ["DeFiLlama"],
|
|
"gdapps": ["DeFiLlama"],
|
|
"stvl": ["DeFiLlama"],
|
|
"dtvl": ["DeFiLlama"],
|
|
"aterra": ["TerraEngineer"],
|
|
"ayr": ["TerraEngineer"],
|
|
"sinfo": ["TerraFCD"],
|
|
"validators": ["TerraFCD"],
|
|
"gacc": ["TerraFCD"],
|
|
"sreturn": ["TerraFCD"],
|
|
"lcsc": ["Smartstake"],
|
|
"anchor": ["CryptoSaurio"]
|
|
},
|
|
"tools": {
|
|
"aprtoapy": [],
|
|
"il": []
|
|
},
|
|
"nft": {
|
|
"today": ["NFTCalendar"],
|
|
"upcoming": ["NFTCalendar"],
|
|
"ongoing": ["NFTCalendar"],
|
|
"newest": ["NFTCalendar"],
|
|
"stats": ["OpenSea"],
|
|
"fp": ["NFTPriceFloor"],
|
|
"collections": ["NFTPriceFloor"]
|
|
},
|
|
"dd": {
|
|
"load": [
|
|
"YahooFinance",
|
|
"CoinGecko",
|
|
"CCXT"
|
|
],
|
|
"info": ["CoinGecko"],
|
|
"ath": ["CoinGecko"],
|
|
"atl": ["CoinGecko"],
|
|
"web": ["CoinGecko"],
|
|
"bc": ["CoinGecko"],
|
|
"pi": ["Messari"],
|
|
"gov": ["Messari"],
|
|
"basic": ["CoinPaprika"],
|
|
"stats": ["Coinbase"],
|
|
"market": ["CoinGecko"],
|
|
"mkt": ["CoinPaprika"],
|
|
"ex": ["CoinPaprika"],
|
|
"balance": ["Binance"],
|
|
"oi": ["Coinglass"],
|
|
"fundrate": ["Coinglass"],
|
|
"liquidations": ["Coinglass"],
|
|
"eb": ["Coinglass"],
|
|
"trades": ["CCXT"],
|
|
"ob": ["CCXT"],
|
|
"active": ["Glassnode"],
|
|
"nonzero": ["Glassnode"],
|
|
"change": ["Glassnode"],
|
|
"ps": ["CoinPaprika"],
|
|
"mcapdom": ["Messari"],
|
|
"mt": ["Messari"],
|
|
"team": ["Messari"],
|
|
"inv": ["Messari"],
|
|
"tk": ["Messari"],
|
|
"fr": ["Messari"],
|
|
"rm": ["Messari"],
|
|
"events": ["CoinPaprika"],
|
|
"news": ["CryptoPanic"],
|
|
"links": ["Messari"],
|
|
"twitter": ["CoinPaprika"],
|
|
"social": ["CoinGecko"],
|
|
"score": ["CoinGecko"],
|
|
"dev": ["CoinGecko"],
|
|
"gh": ["Santiment"]
|
|
},
|
|
"ta": {
|
|
"load": [
|
|
"YahooFinance",
|
|
"CoinGecko",
|
|
"CCXT"
|
|
],
|
|
"tv": ["TradingView"]
|
|
},
|
|
"qa": {
|
|
"load": [
|
|
"YahooFinance",
|
|
"CoinGecko",
|
|
"CCXT"
|
|
]
|
|
},
|
|
"pred": {
|
|
"load": [
|
|
"YahooFinance",
|
|
"CoinGecko",
|
|
"CCXT"
|
|
]
|
|
}
|
|
},
|
|
"etf": {
|
|
"ln": [
|
|
"StockAnalysis",
|
|
"FinanceDatabase"
|
|
],
|
|
"ld": ["FinanceDatabase"],
|
|
"load": ["YahooFinance"],
|
|
"overview": ["StockAnalysis"],
|
|
"holdings": ["StockAnalysis"],
|
|
"weights": ["YahooFinance"],
|
|
"summary": ["YahooFinance"],
|
|
"news": ["NewsApi"],
|
|
"pir": ["ThePassiveInvestor"],
|
|
"compare": ["StockAnalysis"],
|
|
"disc": {
|
|
"gainers": ["WallStreetJournal"],
|
|
"decliners": ["WallStreetJournal"],
|
|
"active": ["WallStreetJournal"]
|
|
},
|
|
"screen": {
|
|
"screen": ["StockAnalysis"],
|
|
"sbc": ["FinanceDatabase"]
|
|
}
|
|
},
|
|
"economy": {
|
|
"overview": ["WallStreetJournal"],
|
|
"futures": ["WallStreetJournal", "Finviz"],
|
|
"map": ["Finviz"],
|
|
"bigmac": ["Nasdaq"],
|
|
"ycrv": [
|
|
"Investing",
|
|
"FRED"
|
|
],
|
|
"events": ["Investing"],
|
|
"edebt": ["Wikipedia"],
|
|
"rtps": ["AlphaVantage"],
|
|
"valuation": ["Finviz"],
|
|
"performance": ["Finviz"],
|
|
"spectrum": ["Finviz"],
|
|
"macro": ["EconDB"],
|
|
"treasury": ["EconDB"],
|
|
"fred": ["FRED"],
|
|
"index": ["YahooFinance"]
|
|
},
|
|
"forex": {
|
|
"load": [
|
|
"YahooFinance",
|
|
"AlphaVantage",
|
|
"Polygon",
|
|
"Oanda"
|
|
],
|
|
"quote": [
|
|
"YahooFinance",
|
|
"AlphaVantage"
|
|
],
|
|
"fwd": [
|
|
"FXEmpire"
|
|
]
|
|
},
|
|
"funds": {
|
|
"country": ["Investing"],
|
|
"overview": ["Investing"],
|
|
"search": ["Investing"],
|
|
"load": ["Investing"],
|
|
"info": ["Investing"],
|
|
"plot": ["Investing"],
|
|
"sector": ["YahooFinance"],
|
|
"equity": ["YahooFinance"],
|
|
"al_swe": ["Avanza"],
|
|
"info_swe": ["Avanza"]
|
|
},
|
|
"alternative": {
|
|
"oss": {
|
|
"rossidx": ["RunaCapital"],
|
|
"rs": ["GitHub"],
|
|
"sh": ["GitHub"],
|
|
"tr": ["GitHub"]
|
|
}
|
|
}
|
|
}
|