diff --git a/documentation/documentation_commands.csv b/documentation/documentation_commands.csv new file mode 100644 index 00000000000..b4ef4201483 --- /dev/null +++ b/documentation/documentation_commands.csv @@ -0,0 +1,482 @@ +file,command +CONTRIBUTING.md,update +CONTRIBUTING.md,view +CONTRIBUTING.md,plot +CONTRIBUTING.md,grhist +CONTRIBUTING.md,hist +CONTRIBUTING.md,info +CONTRIBUTING.md,exp +CONTRIBUTING.md,screen +CONTRIBUTING.md,calc +CONTRIBUTING.md,unu +CONTRIBUTING.md,qa +CONTRIBUTING.md,ta +CONTRIBUTING.md,fa +CONTRIBUTING.md,scr +CONTRIBUTING.md,options +CONTRIBUTING.md,candle +CONTRIBUTING.md,quote +CONTRIBUTING.md,load +CONTRIBUTING.md,portfolio +CONTRIBUTING.md,forecast +CONTRIBUTING.md,search +CONTRIBUTING.md,forex +CONTRIBUTING.md,add +CONTRIBUTING.md,economy +CONTRIBUTING.md,symbol +CONTRIBUTING.md,period +CONTRIBUTING.md,export +CONTRIBUTING.md,from +CONTRIBUTING.md,calendar +CONTRIBUTING.md,type +CONTRIBUTING.md,oanda +CONTRIBUTING.md,fwd +CONTRIBUTING.md,file +CONTRIBUTING.md,holdings +CONTRIBUTING.md,mt +CONTRIBUTING.md,events +CONTRIBUTING.md,top +CONTRIBUTING.md,dd +CONTRIBUTING.md,price +CONTRIBUTING.md,raw +CONTRIBUTING.md,rolling +CONTRIBUTING.md,pt +CONTRIBUTING.md,rot +CONTRIBUTING.md,ticker +CONTRIBUTING.md,contracts +CONTRIBUTING.md,psi +CONTRIBUTING.md,shorted +CONTRIBUTING.md,country +CONTRIBUTING.md,crypto +CONTRIBUTING.md,dps +CONTRIBUTING.md,to +CONTRIBUTING.md,"defined, test passed" +CONTRIBUTING.md,status +CONTRIBUTING.md,download +CONTRIBUTING.md,stocks +CONTRIBUTING.md,list +CONTRIBUTING.md,"defined, test failed" +CONTRIBUTING.md,"defined, test inconclusive" +CONTRIBUTING.md,get +CONTRIBUTING.md,not defined +CONTRIBUTING.md,show +CONTRIBUTING.md,news +CONTRIBUTING.md,cls +CONTRIBUTING.md,source +CONTRIBUTING.md,set +README.md,support +openbb_terminal/SDK_README.md,hrp +openbb_terminal/SDK_README.md,dps +openbb_terminal/SDK_README.md,stocks +openbb_terminal/SDK_README.md,minrisk +openbb_terminal/SDK_README.md,maxsharpe +openbb_terminal/SDK_README.md,create +openbb_terminal/SDK_README.md,po +openbb_terminal/SDK_README.md,index +openbb_terminal/SDK_README.md,source +openbb_terminal/SDK_README.md,weights +openbb_terminal/SDK_README.md,categories +openbb_terminal/SDK_README.md,fmp +openbb_terminal/SDK_README.md,dpotc +openbb_terminal/SDK_README.md,all +openbb_terminal/SDK_README.md,dpi +openbb_terminal/SDK_README.md,mykeys +openbb_terminal/SDK_README.md,keys +openbb_terminal/SDK_README.md,show +openbb_terminal/SDK_README.md,from +openbb_terminal/SDK_README.md,update +openbb_terminal/SDK_README.md,fed +openbb_terminal/SDK_README.md,load +openbb_terminal/SDK_README.md,plot +openbb_terminal/SDK_README.md,economy +openbb_terminal/SDK_README.md,search +openbb_terminal/SDK_README.md,forecast +openbb_terminal/SDK_README.md,portfolio +website/content/sdk/faqs/data_sources.md,source +website/content/sdk/faqs/data_sources.md,exchange +website/content/sdk/faqs/data_sources.md,stocks +website/content/sdk/faqs/data_sources.md,load +website/content/sdk/faqs/developer_issues.md,global +website/content/sdk/faqs/developer_issues.md,rm +website/content/sdk/faqs/developer_issues.md,update +website/content/sdk/faqs/developer_issues.md,remove +website/content/sdk/faqs/developer_issues.md,clean +website/content/sdk/faqs/general_operation.md,from +website/content/sdk/faqs/general_operation.md,stocks +website/content/sdk/faqs/installation_updates.md,all +website/content/sdk/faqs/installation_updates.md,raw +website/content/sdk/faqs/installation_updates.md,sh +website/content/sdk/usage/basics/index.md,valuation +website/content/sdk/usage/basics/index.md,filter +website/content/sdk/usage/basics/index.md,stocks +website/content/sdk/usage/basics/index.md,events +website/content/sdk/usage/basics/index.md,ta +website/content/sdk/usage/basics/index.md,holdings +website/content/sdk/usage/basics/index.md,etf +website/content/sdk/usage/basics/index.md,donchian +website/content/sdk/usage/basics/index.md,symbol +website/content/sdk/usage/basics/index.md,calendar +website/content/sdk/usage/basics/index.md,to +website/content/sdk/usage/basics/index.md,load +website/content/sdk/usage/basics/index.md,index +website/content/sdk/usage/basics/index.md,economy +website/content/sdk/usage/basics/index.md,futures +website/content/sdk/usage/basics/index.md,dd +website/content/sdk/usage/basics/index.md,list +website/content/sdk/usage/basics/index.md,keys +website/content/sdk/usage/basics/index.md,from +website/content/sdk/usage/basics/index.md,ca +website/content/sdk/usage/basics/index.md,all +website/content/sdk/usage/basics/index.md,candle +website/content/sdk/usage/guides/api-keys.md,show +website/content/sdk/usage/guides/api-keys.md,mykeys +website/content/sdk/usage/guides/api-keys.md,keys +website/content/sdk/usage/guides/api-keys.md,not defined +website/content/sdk/usage/guides/api-keys.md,stocks +website/content/sdk/usage/guides/api-keys.md,fmp +website/content/sdk/usage/guides/api-keys.md,degiro +website/content/sdk/usage/guides/api-keys.md,global +website/content/sdk/usage/guides/api-keys.md,fred +website/content/sdk/usage/guides/api-keys.md,change +website/content/sdk/usage/guides/api-keys.md,to +website/content/sdk/usage/guides/api-keys.md,quote +website/content/sdk/usage/guides/api-keys.md,account +website/content/sdk/usage/guides/api-keys.md,from +website/content/sdk/usage/guides/api-keys.md,news +website/content/sdk/usage/guides/api-keys.md,set +website/content/sdk/usage/guides/api-keys.md,oanda +website/content/sdk/usage/guides/changing-sources.md,stocks +website/content/sdk/usage/guides/changing-sources.md,source +website/content/sdk/usage/guides/changing-sources.md,load +website/content/sdk/usage/guides/changing-sources.md,symbol +website/content/sdk/usage/guides/changing-sources.md,fa +website/content/sdk/usage/guides/chart-styling.md,from +website/content/sdk/usage/guides/data.md,holdings +website/content/sdk/usage/guides/data.md,portfolio +website/content/sdk/usage/intros/alternative.md,top +website/content/sdk/usage/intros/alternative.md,from +website/content/sdk/usage/intros/alternative.md,categories +website/content/sdk/usage/intros/alternative.md,country +website/content/sdk/usage/intros/alternative.md,oss +website/content/sdk/usage/intros/alternative.md,covid +website/content/sdk/usage/intros/alternative.md,summary +website/content/sdk/usage/intros/alternative.md,slopes +website/content/sdk/usage/intros/econometrics.md,norm +website/content/sdk/usage/intros/econometrics.md,root +website/content/sdk/usage/intros/econometrics.md,all +website/content/sdk/usage/intros/econometrics.md,correlation +website/content/sdk/usage/intros/econometrics.md,bgod +website/content/sdk/usage/intros/econometrics.md,type +website/content/sdk/usage/intros/econometrics.md,ols +website/content/sdk/usage/intros/econometrics.md,econometrics +website/content/sdk/usage/intros/econometrics.md,to +website/content/sdk/usage/intros/econometrics.md,summary +website/content/sdk/usage/intros/econometrics.md,from +website/content/sdk/usage/intros/econometrics.md,load +website/content/sdk/usage/intros/econometrics.md,bpag +website/content/sdk/usage/intros/economy.md,calendar +website/content/sdk/usage/intros/economy.md,performance +website/content/sdk/usage/intros/economy.md,filter +website/content/sdk/usage/intros/economy.md,to +website/content/sdk/usage/intros/economy.md,events +website/content/sdk/usage/intros/economy.md,from +website/content/sdk/usage/intros/economy.md,keys +website/content/sdk/usage/intros/economy.md,fred +website/content/sdk/usage/intros/economy.md,macro +website/content/sdk/usage/intros/economy.md,type +website/content/sdk/usage/intros/economy.md,index +website/content/sdk/usage/intros/economy.md,economy +website/content/sdk/usage/intros/economy.md,view +website/content/sdk/usage/intros/economy.md,list +website/content/sdk/usage/intros/economy.md,symbol +website/content/sdk/usage/intros/economy.md,download +website/content/sdk/usage/intros/economy.md,sector +website/content/sdk/usage/intros/economy.md,country +website/content/sdk/usage/intros/economy.md,all +website/content/sdk/usage/intros/etf.md,screen +website/content/sdk/usage/intros/etf.md,categories +website/content/sdk/usage/intros/etf.md,performance +website/content/sdk/usage/intros/etf.md,ca +website/content/sdk/usage/intros/etf.md,list +website/content/sdk/usage/intros/etf.md,holdings +website/content/sdk/usage/intros/etf.md,stocks +website/content/sdk/usage/intros/etf.md,scr +website/content/sdk/usage/intros/etf.md,from +website/content/sdk/usage/intros/etf.md,disc +website/content/sdk/usage/intros/etf.md,index +website/content/sdk/usage/intros/etf.md,decliners +website/content/sdk/usage/intros/etf.md,movers +website/content/sdk/usage/intros/etf.md,etf +website/content/sdk/usage/intros/etf.md,active +website/content/sdk/usage/intros/etf.md,gainers +website/content/sdk/usage/intros/fixedincome.md,icebofa +website/content/sdk/usage/intros/fixedincome.md,fixedincome +website/content/sdk/usage/intros/fixedincome.md,ecb +website/content/sdk/usage/intros/fixedincome.md,from +website/content/sdk/usage/intros/fixedincome.md,hqm +website/content/sdk/usage/intros/fixedincome.md,options +website/content/sdk/usage/intros/fixedincome.md,icespread +website/content/sdk/usage/intros/fixedincome.md,treasury +website/content/sdk/usage/intros/fixedincome.md,all +website/content/sdk/usage/intros/fixedincome.md,ameribor +website/content/sdk/usage/intros/fixedincome.md,projection +website/content/sdk/usage/intros/forecast.md,delete +website/content/sdk/usage/intros/forecast.md,corr +website/content/sdk/usage/intros/forecast.md,historical +website/content/sdk/usage/intros/forecast.md,analysis +website/content/sdk/usage/intros/forecast.md,equal +website/content/sdk/usage/intros/forecast.md,export +website/content/sdk/usage/intros/forecast.md,clean +website/content/sdk/usage/intros/forecast.md,rename +website/content/sdk/usage/intros/forecast.md,indicators +website/content/sdk/usage/intros/forecast.md,combine +website/content/sdk/usage/intros/forecast.md,prices +website/content/sdk/usage/intros/forecast.md,ema +website/content/sdk/usage/intros/forecast.md,rsi +website/content/sdk/usage/intros/forecast.md,forecasting +website/content/sdk/usage/intros/forecast.md,to +website/content/sdk/usage/intros/forecast.md,metric +website/content/sdk/usage/intros/forecast.md,sto +website/content/sdk/usage/intros/forecast.md,period +website/content/sdk/usage/intros/forecast.md,price +website/content/sdk/usage/intros/forecast.md,ticker +website/content/sdk/usage/intros/forecast.md,stocks +website/content/sdk/usage/intros/forecast.md,add +website/content/sdk/usage/intros/forecast.md,plot +website/content/sdk/usage/intros/forecast.md,show +website/content/sdk/usage/intros/forecast.md,from +website/content/sdk/usage/intros/forecast.md,load +website/content/sdk/usage/intros/forecast.md,forecast +website/content/sdk/usage/intros/forex.md,from +website/content/sdk/usage/intros/forex.md,ta +website/content/sdk/usage/intros/forex.md,fwd +website/content/sdk/usage/intros/forex.md,forex +website/content/sdk/usage/intros/forex.md,load +website/content/sdk/usage/intros/forex.md,atr +website/content/sdk/usage/intros/forex.md,source +website/content/sdk/usage/intros/forex.md,oanda +website/content/sdk/usage/intros/futures.md,rename +website/content/sdk/usage/intros/futures.md,symbol +website/content/sdk/usage/intros/futures.md,curve +website/content/sdk/usage/intros/futures.md,futures +website/content/sdk/usage/intros/futures.md,search +website/content/sdk/usage/intros/futures.md,historical +website/content/sdk/usage/intros/futures.md,from +website/content/sdk/usage/intros/quantitative-analysis.md,rename +website/content/sdk/usage/intros/quantitative-analysis.md,order +website/content/sdk/usage/intros/quantitative-analysis.md,qa +website/content/sdk/usage/intros/quantitative-analysis.md,symbol +website/content/sdk/usage/intros/quantitative-analysis.md,spread +website/content/sdk/usage/intros/quantitative-analysis.md,unitroot +website/content/sdk/usage/intros/quantitative-analysis.md,get +website/content/sdk/usage/intros/quantitative-analysis.md,summary +website/content/sdk/usage/intros/ta.md,ticker +website/content/sdk/usage/intros/ta.md,rsi +website/content/sdk/usage/intros/ta.md,es +website/content/sdk/usage/intros/ta.md,symbol +website/content/sdk/usage/intros/ta.md,ta +website/content/sdk/usage/intros/ta.md,obv +website/content/sdk/usage/intros/ta.md,atr +website/content/sdk/usage/intros/ta.md,stocks +website/content/sdk/usage/intros/ta.md,load +website/content/sdk/usage/intros/ta.md,donchian +website/content/terminal/usage/basics/index.md,raw +website/content/terminal/usage/basics/index.md,yahoo +website/content/terminal/usage/basics/index.md,candle +website/content/terminal/usage/basics/index.md,from +website/content/terminal/usage/basics/index.md,export +website/content/terminal/usage/basics/index.md,search +website/content/terminal/usage/basics/index.md,load +website/content/terminal/usage/basics/index.md,to +website/content/terminal/usage/basics/index.md,source +website/content/terminal/usage/basics/index.md,analysis +website/content/terminal/usage/basics/index.md,period +website/content/terminal/usage/basics/index.md,show +website/content/terminal/usage/basics/index.md,performance +website/content/terminal/usage/basics/index.md,file +website/content/terminal/usage/basics/index.md,ticker +website/content/terminal/usage/basics/index.md,select +website/content/terminal/usage/basics/index.md,stocks +website/content/terminal/usage/basics/index.md,save +website/content/terminal/usage/basics/index.md,exchange +website/content/terminal/usage/basics/index.md,about +website/content/terminal/usage/basics/index.md,market +website/content/terminal/usage/guides/api-keys.md,fa +website/content/terminal/usage/guides/api-keys.md,news +website/content/terminal/usage/guides/api-keys.md,degiro +website/content/terminal/usage/guides/api-keys.md,options +website/content/terminal/usage/guides/api-keys.md,fred +website/content/terminal/usage/guides/api-keys.md,not defined +website/content/terminal/usage/guides/api-keys.md,oanda +website/content/terminal/usage/guides/api-keys.md,keys +website/content/terminal/usage/guides/api-keys.md,fmp +website/content/terminal/usage/guides/api-keys.md,stocks +website/content/terminal/usage/guides/api-keys.md,show +website/content/terminal/usage/guides/api-keys.md,mykeys +website/content/terminal/usage/guides/changing-sources.md,show +website/content/terminal/usage/guides/changing-sources.md,get +website/content/terminal/usage/guides/changing-sources.md,save +website/content/terminal/usage/guides/changing-sources.md,set +website/content/terminal/usage/guides/changing-sources.md,to +website/content/terminal/usage/guides/changing-sources.md,income +website/content/terminal/usage/guides/changing-sources.md,ratios +website/content/terminal/usage/guides/changing-sources.md,change +website/content/terminal/usage/guides/changing-sources.md,source +website/content/terminal/usage/guides/changing-sources.md,about +website/content/terminal/usage/guides/changing-sources.md,select +website/content/terminal/usage/guides/changing-sources.md,sources +website/content/terminal/usage/guides/changing-sources.md,plot +website/content/terminal/usage/guides/changing-sources.md,stocks +website/content/terminal/usage/guides/changing-sources.md,ticker +website/content/terminal/usage/guides/changing-sources.md,fa +website/content/terminal/usage/guides/changing-sources.md,from +website/content/terminal/usage/guides/changing-sources.md,export +website/content/terminal/usage/guides/changing-sources.md,raw +website/content/terminal/usage/guides/data.md,portfolio +website/content/terminal/usage/guides/data.md,export +website/content/terminal/usage/guides/data.md,holdings +website/content/terminal/usage/guides/data.md,stocks +website/content/terminal/usage/guides/data.md,source +website/content/terminal/usage/guides/data.md,load +website/content/terminal/usage/guides/scripts-and-routines.md,treasury +website/content/terminal/usage/guides/scripts-and-routines.md,candle +website/content/terminal/usage/guides/scripts-and-routines.md,show +website/content/terminal/usage/guides/scripts-and-routines.md,cpi +website/content/terminal/usage/guides/scripts-and-routines.md,stocks +website/content/terminal/usage/guides/scripts-and-routines.md,ca +website/content/terminal/usage/guides/scripts-and-routines.md,economy +website/content/terminal/usage/guides/scripts-and-routines.md,run +website/content/terminal/usage/guides/scripts-and-routines.md,to +website/content/terminal/usage/guides/scripts-and-routines.md,exe +website/content/terminal/usage/guides/scripts-and-routines.md,export +website/content/terminal/usage/guides/scripts-and-routines.md,type +website/content/terminal/usage/guides/scripts-and-routines.md,file +website/content/terminal/usage/guides/scripts-and-routines.md,price +website/content/terminal/usage/guides/scripts-and-routines.md,ticker +website/content/terminal/usage/guides/scripts-and-routines.md,historical +website/content/terminal/usage/guides/scripts-and-routines.md,create +website/content/terminal/usage/guides/scripts-and-routines.md,ta +website/content/terminal/usage/guides/scripts-and-routines.md,about +website/content/terminal/usage/guides/scripts-and-routines.md,options +website/content/terminal/usage/guides/scripts-and-routines.md,index +website/content/terminal/usage/guides/scripts-and-routines.md,analysis +website/content/terminal/usage/guides/scripts-and-routines.md,stop +website/content/terminal/usage/guides/scripts-and-routines.md,record +website/content/terminal/usage/intros/econometrics.md,to +website/content/terminal/usage/intros/econometrics.md,coint +website/content/terminal/usage/intros/econometrics.md,multi +website/content/terminal/usage/intros/econometrics.md,normality +website/content/terminal/usage/intros/econometrics.md,unitroot +website/content/terminal/usage/intros/econometrics.md,so +website/content/terminal/usage/intros/econometrics.md,fp +website/content/terminal/usage/intros/econometrics.md,desc +website/content/terminal/usage/intros/econometrics.md,compare +website/content/terminal/usage/intros/econometrics.md,combine +website/content/terminal/usage/intros/econometrics.md,add +website/content/terminal/usage/intros/econometrics.md,interest +website/content/terminal/usage/intros/econometrics.md,ols +website/content/terminal/usage/intros/econometrics.md,norm +website/content/terminal/usage/intros/econometrics.md,root +website/content/terminal/usage/intros/econometrics.md,index +website/content/terminal/usage/intros/econometrics.md,panel +website/content/terminal/usage/intros/econometrics.md,dwat +website/content/terminal/usage/intros/econometrics.md,bgod +website/content/terminal/usage/intros/econometrics.md,bpag +website/content/terminal/usage/intros/econometrics.md,rename +website/content/terminal/usage/intros/econometrics.md,stats +website/content/terminal/usage/intros/econometrics.md,granger +website/content/terminal/usage/intros/econometrics.md,econometrics +website/content/terminal/usage/intros/econometrics.md,change +website/content/terminal/usage/intros/econometrics.md,from +website/content/terminal/usage/intros/econometrics.md,export +website/content/terminal/usage/intros/econometrics.md,show +website/content/terminal/usage/intros/econometrics.md,clean +website/content/terminal/usage/intros/econometrics.md,type +website/content/terminal/usage/intros/econometrics.md,file +website/content/terminal/usage/intros/econometrics.md,remove +website/content/terminal/usage/intros/econometrics.md,set +website/content/terminal/usage/intros/econometrics.md,load +website/content/terminal/usage/intros/econometrics.md,all +website/content/terminal/usage/intros/econometrics.md,plot +website/content/terminal/usage/intros/econometrics.md,delete +website/content/terminal/usage/intros/economy.md,overview +website/content/terminal/usage/intros/economy.md,update +website/content/terminal/usage/intros/economy.md,to +website/content/terminal/usage/intros/economy.md,from +website/content/terminal/usage/intros/economy.md,rates +website/content/terminal/usage/intros/economy.md,stocks +website/content/terminal/usage/intros/economy.md,economy +website/content/terminal/usage/intros/economy.md,futures +website/content/terminal/usage/intros/economy.md,price +website/content/terminal/usage/intros/economy.md,show +website/content/terminal/usage/intros/economy.md,period +website/content/terminal/usage/intros/economy.md,ownership +website/content/terminal/usage/intros/economy.md,market +website/content/terminal/usage/intros/economy.md,macro +website/content/terminal/usage/intros/economy.md,gov +website/content/terminal/usage/intros/economy.md,sector +website/content/terminal/usage/intros/economy.md,all +website/content/terminal/usage/intros/economy.md,hold +website/content/terminal/usage/intros/economy.md,curve +website/content/terminal/usage/intros/economy.md,change +website/content/terminal/usage/intros/economy.md,performance +website/content/terminal/usage/intros/economy.md,treasury +website/content/terminal/usage/intros/economy.md,interest +website/content/terminal/usage/intros/economy.md,plot +website/content/terminal/usage/intros/economy.md,index +website/content/terminal/usage/intros/economy.md,fred +website/content/terminal/usage/intros/etf.md,raw +website/content/terminal/usage/intros/etf.md,holdings +website/content/terminal/usage/intros/etf.md,candle +website/content/terminal/usage/intros/etf.md,load +website/content/terminal/usage/intros/etf.md,search +website/content/terminal/usage/intros/etf.md,period +website/content/terminal/usage/intros/etf.md,etf +website/content/terminal/usage/intros/etf.md,weights +website/content/terminal/usage/intros/etf.md,market +website/content/terminal/usage/intros/fixedincome.md,options +website/content/terminal/usage/intros/fixedincome.md,icespread +website/content/terminal/usage/intros/fixedincome.md,ecb +website/content/terminal/usage/intros/fixedincome.md,spread +website/content/terminal/usage/intros/fixedincome.md,ameribor +website/content/terminal/usage/intros/fixedincome.md,all +website/content/terminal/usage/intros/fixedincome.md,fixedincome +website/content/terminal/usage/intros/fixedincome.md,type +website/content/terminal/usage/intros/fixedincome.md,treasury +website/content/terminal/usage/intros/fixedincome.md,raw +website/content/terminal/usage/intros/fixedincome.md,export +website/content/terminal/usage/intros/forecast.md,type +website/content/terminal/usage/intros/forecast.md,set +website/content/terminal/usage/intros/forecast.md,price +website/content/terminal/usage/intros/forecast.md,show +website/content/terminal/usage/intros/forecast.md,save +website/content/terminal/usage/intros/forecast.md,load +website/content/terminal/usage/intros/forecast.md,rnn +website/content/terminal/usage/intros/forecast.md,all +website/content/terminal/usage/intros/forecast.md,run +website/content/terminal/usage/intros/forecast.md,plot +website/content/terminal/usage/intros/forecast.md,forecast +website/content/terminal/usage/intros/forecast.md,combine +website/content/terminal/usage/intros/forecast.md,rolling +website/content/terminal/usage/intros/forecast.md,desc +website/content/terminal/usage/intros/forecast.md,select +website/content/terminal/usage/intros/forecast.md,stocks +website/content/terminal/usage/intros/forecast.md,open +website/content/terminal/usage/intros/forecast.md,volume +website/content/terminal/usage/intros/forecast.md,forecasting +website/content/terminal/usage/intros/forecast.md,mom +website/content/terminal/usage/intros/forecast.md,expo +website/content/terminal/usage/intros/forecast.md,brnn +website/content/terminal/usage/intros/forecast.md,to +website/content/terminal/usage/intros/forecast.md,export +website/content/terminal/usage/intros/forex.md,candle +website/content/terminal/usage/intros/forex.md,load +website/content/terminal/usage/intros/forex.md,fwd +website/content/terminal/usage/intros/forex.md,quote +website/content/terminal/usage/intros/forex.md,forex +website/content/terminal/usage/intros/forex.md,rates +website/content/terminal/usage/intros/forex.md,qa +website/content/terminal/usage/intros/futures.md,raw +website/content/terminal/usage/intros/futures.md,search +website/content/terminal/usage/intros/futures.md,export +website/content/terminal/usage/intros/futures.md,curve diff --git a/documentation/documentation_commands.json b/documentation/documentation_commands.json new file mode 100644 index 00000000000..e373be2e809 --- /dev/null +++ b/documentation/documentation_commands.json @@ -0,0 +1,845 @@ +{ + "update": [ + "CONTRIBUTING.md", + "openbb_terminal/SDK_README.md", + "website/content/sdk/faqs/developer_issues.md", + "website/content/terminal/usage/intros/economy.md" + ], + "news": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/guides/api-keys.md", + "website/content/sdk/usage/guides/api-keys.md" + ], + "show": [ + "CONTRIBUTING.md", + "openbb_terminal/SDK_README.md", + "website/content/terminal/usage/basics/index.md", + "website/content/terminal/usage/guides/scripts-and-routines.md", + "website/content/terminal/usage/guides/changing-sources.md", + "website/content/terminal/usage/guides/api-keys.md", + "website/content/terminal/usage/intros/econometrics.md", + "website/content/terminal/usage/intros/economy.md", + "website/content/terminal/usage/intros/forecast.md", + "website/content/sdk/usage/guides/api-keys.md", + "website/content/sdk/usage/intros/forecast.md" + ], + "list": [ + "CONTRIBUTING.md", + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/intros/etf.md", + "website/content/sdk/usage/intros/economy.md" + ], + "download": [ + "CONTRIBUTING.md", + "website/content/sdk/usage/intros/economy.md" + ], + "status": [ + "CONTRIBUTING.md" + ], + "defined, test passed": [ + "CONTRIBUTING.md" + ], + "defined, test failed": [ + "CONTRIBUTING.md" + ], + "not defined": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/guides/api-keys.md", + "website/content/sdk/usage/guides/api-keys.md" + ], + "defined, test inconclusive": [ + "CONTRIBUTING.md" + ], + "get": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/guides/changing-sources.md", + "website/content/sdk/usage/intros/quantitative-analysis.md" + ], + "set": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/guides/changing-sources.md", + "website/content/terminal/usage/intros/econometrics.md", + "website/content/terminal/usage/intros/forecast.md", + "website/content/sdk/usage/guides/api-keys.md" + ], + "cls": [ + "CONTRIBUTING.md" + ], + "source": [ + "CONTRIBUTING.md", + "openbb_terminal/SDK_README.md", + "website/content/sdk/faqs/data_sources.md", + "website/content/terminal/usage/basics/index.md", + "website/content/terminal/usage/guides/data.md", + "website/content/terminal/usage/guides/changing-sources.md", + "website/content/sdk/usage/guides/changing-sources.md", + "website/content/sdk/usage/intros/forex.md" + ], + "stocks": [ + "CONTRIBUTING.md", + "openbb_terminal/SDK_README.md", + "website/content/sdk/faqs/data_sources.md", + "website/content/sdk/faqs/general_operation.md", + "website/content/terminal/usage/basics/index.md", + "website/content/terminal/usage/guides/data.md", + "website/content/terminal/usage/guides/scripts-and-routines.md", + "website/content/terminal/usage/guides/changing-sources.md", + "website/content/terminal/usage/guides/api-keys.md", + "website/content/terminal/usage/intros/economy.md", + "website/content/terminal/usage/intros/forecast.md", + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/guides/changing-sources.md", + "website/content/sdk/usage/guides/api-keys.md", + "website/content/sdk/usage/intros/etf.md", + "website/content/sdk/usage/intros/ta.md", + "website/content/sdk/usage/intros/forecast.md" + ], + "crypto": [ + "CONTRIBUTING.md" + ], + "economy": [ + "CONTRIBUTING.md", + "openbb_terminal/SDK_README.md", + "website/content/terminal/usage/guides/scripts-and-routines.md", + "website/content/terminal/usage/intros/economy.md", + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/intros/economy.md" + ], + "forex": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/intros/forex.md", + "website/content/sdk/usage/intros/forex.md" + ], + "search": [ + "CONTRIBUTING.md", + "openbb_terminal/SDK_README.md", + "website/content/terminal/usage/basics/index.md", + "website/content/terminal/usage/intros/futures.md", + "website/content/terminal/usage/intros/etf.md", + "website/content/sdk/usage/intros/futures.md" + ], + "forecast": [ + "CONTRIBUTING.md", + "openbb_terminal/SDK_README.md", + "website/content/terminal/usage/intros/forecast.md", + "website/content/sdk/usage/intros/forecast.md" + ], + "portfolio": [ + "CONTRIBUTING.md", + "openbb_terminal/SDK_README.md", + "website/content/terminal/usage/guides/data.md", + "website/content/sdk/usage/guides/data.md" + ], + "load": [ + "CONTRIBUTING.md", + "openbb_terminal/SDK_README.md", + "website/content/sdk/faqs/data_sources.md", + "website/content/terminal/usage/basics/index.md", + "website/content/terminal/usage/guides/data.md", + "website/content/terminal/usage/intros/econometrics.md", + "website/content/terminal/usage/intros/etf.md", + "website/content/terminal/usage/intros/forex.md", + "website/content/terminal/usage/intros/forecast.md", + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/guides/changing-sources.md", + "website/content/sdk/usage/intros/econometrics.md", + "website/content/sdk/usage/intros/ta.md", + "website/content/sdk/usage/intros/forex.md", + "website/content/sdk/usage/intros/forecast.md" + ], + "quote": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/intros/forex.md", + "website/content/sdk/usage/guides/api-keys.md" + ], + "candle": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/basics/index.md", + "website/content/terminal/usage/guides/scripts-and-routines.md", + "website/content/terminal/usage/intros/etf.md", + "website/content/terminal/usage/intros/forex.md", + "website/content/sdk/usage/basics/index.md" + ], + "options": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/guides/scripts-and-routines.md", + "website/content/terminal/usage/guides/api-keys.md", + "website/content/terminal/usage/intros/fixedincome.md", + "website/content/sdk/usage/intros/fixedincome.md" + ], + "dps": [ + "CONTRIBUTING.md", + "openbb_terminal/SDK_README.md" + ], + "scr": [ + "CONTRIBUTING.md", + "website/content/sdk/usage/intros/etf.md" + ], + "fa": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/guides/changing-sources.md", + "website/content/terminal/usage/guides/api-keys.md", + "website/content/sdk/usage/guides/changing-sources.md" + ], + "ta": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/guides/scripts-and-routines.md", + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/intros/ta.md", + "website/content/sdk/usage/intros/forex.md" + ], + "qa": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/intros/forex.md", + "website/content/sdk/usage/intros/quantitative-analysis.md" + ], + "unu": [ + "CONTRIBUTING.md" + ], + "calc": [ + "CONTRIBUTING.md" + ], + "screen": [ + "CONTRIBUTING.md", + "website/content/sdk/usage/intros/etf.md" + ], + "exp": [ + "CONTRIBUTING.md" + ], + "info": [ + "CONTRIBUTING.md" + ], + "hist": [ + "CONTRIBUTING.md" + ], + "grhist": [ + "CONTRIBUTING.md" + ], + "plot": [ + "CONTRIBUTING.md", + "openbb_terminal/SDK_README.md", + "website/content/terminal/usage/guides/changing-sources.md", + "website/content/terminal/usage/intros/econometrics.md", + "website/content/terminal/usage/intros/economy.md", + "website/content/terminal/usage/intros/forecast.md", + "website/content/sdk/usage/intros/forecast.md" + ], + "view": [ + "CONTRIBUTING.md", + "website/content/sdk/usage/intros/economy.md" + ], + "add": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/intros/econometrics.md", + "website/content/sdk/usage/intros/forecast.md" + ], + "symbol": [ + "CONTRIBUTING.md", + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/guides/changing-sources.md", + "website/content/sdk/usage/intros/futures.md", + "website/content/sdk/usage/intros/economy.md", + "website/content/sdk/usage/intros/quantitative-analysis.md", + "website/content/sdk/usage/intros/ta.md" + ], + "country": [ + "CONTRIBUTING.md", + "website/content/sdk/usage/intros/alternative.md", + "website/content/sdk/usage/intros/economy.md" + ], + "period": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/basics/index.md", + "website/content/terminal/usage/intros/etf.md", + "website/content/terminal/usage/intros/economy.md", + "website/content/sdk/usage/intros/forecast.md" + ], + "shorted": [ + "CONTRIBUTING.md" + ], + "psi": [ + "CONTRIBUTING.md" + ], + "contracts": [ + "CONTRIBUTING.md" + ], + "ticker": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/basics/index.md", + "website/content/terminal/usage/guides/scripts-and-routines.md", + "website/content/terminal/usage/guides/changing-sources.md", + "website/content/sdk/usage/intros/ta.md", + "website/content/sdk/usage/intros/forecast.md" + ], + "rot": [ + "CONTRIBUTING.md" + ], + "pt": [ + "CONTRIBUTING.md" + ], + "rolling": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/intros/forecast.md" + ], + "raw": [ + "CONTRIBUTING.md", + "website/content/sdk/faqs/installation_updates.md", + "website/content/terminal/usage/basics/index.md", + "website/content/terminal/usage/guides/changing-sources.md", + "website/content/terminal/usage/intros/fixedincome.md", + "website/content/terminal/usage/intros/futures.md", + "website/content/terminal/usage/intros/etf.md" + ], + "price": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/guides/scripts-and-routines.md", + "website/content/terminal/usage/intros/economy.md", + "website/content/terminal/usage/intros/forecast.md", + "website/content/sdk/usage/intros/forecast.md" + ], + "dd": [ + "CONTRIBUTING.md", + "website/content/sdk/usage/basics/index.md" + ], + "top": [ + "CONTRIBUTING.md", + "website/content/sdk/usage/intros/alternative.md" + ], + "events": [ + "CONTRIBUTING.md", + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/intros/economy.md" + ], + "mt": [ + "CONTRIBUTING.md" + ], + "holdings": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/guides/data.md", + "website/content/terminal/usage/intros/etf.md", + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/guides/data.md", + "website/content/sdk/usage/intros/etf.md" + ], + "fwd": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/intros/forex.md", + "website/content/sdk/usage/intros/forex.md" + ], + "oanda": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/guides/api-keys.md", + "website/content/sdk/usage/guides/api-keys.md", + "website/content/sdk/usage/intros/forex.md" + ], + "calendar": [ + "CONTRIBUTING.md", + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/intros/economy.md" + ], + "from": [ + "CONTRIBUTING.md", + "openbb_terminal/SDK_README.md", + "website/content/sdk/faqs/general_operation.md", + "website/content/terminal/usage/basics/index.md", + "website/content/terminal/usage/guides/changing-sources.md", + "website/content/terminal/usage/intros/econometrics.md", + "website/content/terminal/usage/intros/economy.md", + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/guides/chart-styling.md", + "website/content/sdk/usage/guides/api-keys.md", + "website/content/sdk/usage/intros/fixedincome.md", + "website/content/sdk/usage/intros/econometrics.md", + "website/content/sdk/usage/intros/futures.md", + "website/content/sdk/usage/intros/alternative.md", + "website/content/sdk/usage/intros/etf.md", + "website/content/sdk/usage/intros/economy.md", + "website/content/sdk/usage/intros/forex.md", + "website/content/sdk/usage/intros/forecast.md" + ], + "to": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/basics/index.md", + "website/content/terminal/usage/guides/scripts-and-routines.md", + "website/content/terminal/usage/guides/changing-sources.md", + "website/content/terminal/usage/intros/econometrics.md", + "website/content/terminal/usage/intros/economy.md", + "website/content/terminal/usage/intros/forecast.md", + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/guides/api-keys.md", + "website/content/sdk/usage/intros/econometrics.md", + "website/content/sdk/usage/intros/economy.md", + "website/content/sdk/usage/intros/forecast.md" + ], + "export": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/basics/index.md", + "website/content/terminal/usage/guides/data.md", + "website/content/terminal/usage/guides/scripts-and-routines.md", + "website/content/terminal/usage/guides/changing-sources.md", + "website/content/terminal/usage/intros/fixedincome.md", + "website/content/terminal/usage/intros/econometrics.md", + "website/content/terminal/usage/intros/futures.md", + "website/content/terminal/usage/intros/forecast.md", + "website/content/sdk/usage/intros/forecast.md" + ], + "type": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/guides/scripts-and-routines.md", + "website/content/terminal/usage/intros/fixedincome.md", + "website/content/terminal/usage/intros/econometrics.md", + "website/content/terminal/usage/intros/forecast.md", + "website/content/sdk/usage/intros/econometrics.md", + "website/content/sdk/usage/intros/economy.md" + ], + "file": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/basics/index.md", + "website/content/terminal/usage/guides/scripts-and-routines.md", + "website/content/terminal/usage/intros/econometrics.md" + ], + "support": [ + "README.md" + ], + "keys": [ + "openbb_terminal/SDK_README.md", + "website/content/terminal/usage/guides/api-keys.md", + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/guides/api-keys.md", + "website/content/sdk/usage/intros/economy.md" + ], + "mykeys": [ + "openbb_terminal/SDK_README.md", + "website/content/terminal/usage/guides/api-keys.md", + "website/content/sdk/usage/guides/api-keys.md" + ], + "dpi": [ + "openbb_terminal/SDK_README.md" + ], + "all": [ + "openbb_terminal/SDK_README.md", + "website/content/sdk/faqs/installation_updates.md", + "website/content/terminal/usage/intros/fixedincome.md", + "website/content/terminal/usage/intros/econometrics.md", + "website/content/terminal/usage/intros/economy.md", + "website/content/terminal/usage/intros/forecast.md", + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/intros/fixedincome.md", + "website/content/sdk/usage/intros/econometrics.md", + "website/content/sdk/usage/intros/economy.md" + ], + "dpotc": [ + "openbb_terminal/SDK_README.md" + ], + "fmp": [ + "openbb_terminal/SDK_README.md", + "website/content/terminal/usage/guides/api-keys.md", + "website/content/sdk/usage/guides/api-keys.md" + ], + "categories": [ + "openbb_terminal/SDK_README.md", + "website/content/sdk/usage/intros/alternative.md", + "website/content/sdk/usage/intros/etf.md" + ], + "weights": [ + "openbb_terminal/SDK_README.md", + "website/content/terminal/usage/intros/etf.md" + ], + "index": [ + "openbb_terminal/SDK_README.md", + "website/content/terminal/usage/guides/scripts-and-routines.md", + "website/content/terminal/usage/intros/econometrics.md", + "website/content/terminal/usage/intros/economy.md", + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/intros/etf.md", + "website/content/sdk/usage/intros/economy.md" + ], + "fed": [ + "openbb_terminal/SDK_README.md" + ], + "po": [ + "openbb_terminal/SDK_README.md" + ], + "create": [ + "openbb_terminal/SDK_README.md", + "website/content/terminal/usage/guides/scripts-and-routines.md" + ], + "maxsharpe": [ + "openbb_terminal/SDK_README.md" + ], + "minrisk": [ + "openbb_terminal/SDK_README.md" + ], + "hrp": [ + "openbb_terminal/SDK_README.md" + ], + "sh": [ + "website/content/sdk/faqs/installation_updates.md" + ], + "global": [ + "website/content/sdk/faqs/developer_issues.md", + "website/content/sdk/usage/guides/api-keys.md" + ], + "rm": [ + "website/content/sdk/faqs/developer_issues.md" + ], + "remove": [ + "website/content/sdk/faqs/developer_issues.md", + "website/content/terminal/usage/intros/econometrics.md" + ], + "clean": [ + "website/content/sdk/faqs/developer_issues.md", + "website/content/terminal/usage/intros/econometrics.md", + "website/content/sdk/usage/intros/forecast.md" + ], + "exchange": [ + "website/content/sdk/faqs/data_sources.md", + "website/content/terminal/usage/basics/index.md" + ], + "about": [ + "website/content/terminal/usage/basics/index.md", + "website/content/terminal/usage/guides/scripts-and-routines.md", + "website/content/terminal/usage/guides/changing-sources.md" + ], + "select": [ + "website/content/terminal/usage/basics/index.md", + "website/content/terminal/usage/guides/changing-sources.md", + "website/content/terminal/usage/intros/forecast.md" + ], + "performance": [ + "website/content/terminal/usage/basics/index.md", + "website/content/terminal/usage/intros/economy.md", + "website/content/sdk/usage/intros/etf.md", + "website/content/sdk/usage/intros/economy.md" + ], + "analysis": [ + "website/content/terminal/usage/basics/index.md", + "website/content/terminal/usage/guides/scripts-and-routines.md", + "website/content/sdk/usage/intros/forecast.md" + ], + "yahoo": [ + "website/content/terminal/usage/basics/index.md" + ], + "market": [ + "website/content/terminal/usage/basics/index.md", + "website/content/terminal/usage/intros/etf.md", + "website/content/terminal/usage/intros/economy.md" + ], + "save": [ + "website/content/terminal/usage/basics/index.md", + "website/content/terminal/usage/guides/changing-sources.md", + "website/content/terminal/usage/intros/forecast.md" + ], + "record": [ + "website/content/terminal/usage/guides/scripts-and-routines.md" + ], + "stop": [ + "website/content/terminal/usage/guides/scripts-and-routines.md" + ], + "exe": [ + "website/content/terminal/usage/guides/scripts-and-routines.md" + ], + "historical": [ + "website/content/terminal/usage/guides/scripts-and-routines.md", + "website/content/sdk/usage/intros/futures.md", + "website/content/sdk/usage/intros/forecast.md" + ], + "ca": [ + "website/content/terminal/usage/guides/scripts-and-routines.md", + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/intros/etf.md" + ], + "cpi": [ + "website/content/terminal/usage/guides/scripts-and-routines.md" + ], + "treasury": [ + "website/content/terminal/usage/guides/scripts-and-routines.md", + "website/content/terminal/usage/intros/fixedincome.md", + "website/content/terminal/usage/intros/economy.md", + "website/content/sdk/usage/intros/fixedincome.md" + ], + "run": [ + "website/content/terminal/usage/guides/scripts-and-routines.md", + "website/content/terminal/usage/intros/forecast.md" + ], + "sources": [ + "website/content/terminal/usage/guides/changing-sources.md" + ], + "income": [ + "website/content/terminal/usage/guides/changing-sources.md" + ], + "ratios": [ + "website/content/terminal/usage/guides/changing-sources.md" + ], + "change": [ + "website/content/terminal/usage/guides/changing-sources.md", + "website/content/terminal/usage/intros/econometrics.md", + "website/content/terminal/usage/intros/economy.md", + "website/content/sdk/usage/guides/api-keys.md" + ], + "fred": [ + "website/content/terminal/usage/guides/api-keys.md", + "website/content/terminal/usage/intros/economy.md", + "website/content/sdk/usage/guides/api-keys.md", + "website/content/sdk/usage/intros/economy.md" + ], + "degiro": [ + "website/content/terminal/usage/guides/api-keys.md", + "website/content/sdk/usage/guides/api-keys.md" + ], + "fixedincome": [ + "website/content/terminal/usage/intros/fixedincome.md", + "website/content/sdk/usage/intros/fixedincome.md" + ], + "spread": [ + "website/content/terminal/usage/intros/fixedincome.md", + "website/content/sdk/usage/intros/quantitative-analysis.md" + ], + "ameribor": [ + "website/content/terminal/usage/intros/fixedincome.md", + "website/content/sdk/usage/intros/fixedincome.md" + ], + "ecb": [ + "website/content/terminal/usage/intros/fixedincome.md", + "website/content/sdk/usage/intros/fixedincome.md" + ], + "icespread": [ + "website/content/terminal/usage/intros/fixedincome.md", + "website/content/sdk/usage/intros/fixedincome.md" + ], + "delete": [ + "website/content/terminal/usage/intros/econometrics.md", + "website/content/sdk/usage/intros/forecast.md" + ], + "econometrics": [ + "website/content/terminal/usage/intros/econometrics.md", + "website/content/sdk/usage/intros/econometrics.md" + ], + "stats": [ + "website/content/terminal/usage/intros/econometrics.md" + ], + "interest": [ + "website/content/terminal/usage/intros/econometrics.md", + "website/content/terminal/usage/intros/economy.md" + ], + "multi": [ + "website/content/terminal/usage/intros/econometrics.md" + ], + "normality": [ + "website/content/terminal/usage/intros/econometrics.md" + ], + "unitroot": [ + "website/content/terminal/usage/intros/econometrics.md", + "website/content/sdk/usage/intros/quantitative-analysis.md" + ], + "so": [ + "website/content/terminal/usage/intros/econometrics.md" + ], + "fp": [ + "website/content/terminal/usage/intros/econometrics.md" + ], + "desc": [ + "website/content/terminal/usage/intros/econometrics.md", + "website/content/terminal/usage/intros/forecast.md" + ], + "compare": [ + "website/content/terminal/usage/intros/econometrics.md" + ], + "combine": [ + "website/content/terminal/usage/intros/econometrics.md", + "website/content/terminal/usage/intros/forecast.md", + "website/content/sdk/usage/intros/forecast.md" + ], + "rename": [ + "website/content/terminal/usage/intros/econometrics.md", + "website/content/sdk/usage/intros/futures.md", + "website/content/sdk/usage/intros/quantitative-analysis.md", + "website/content/sdk/usage/intros/forecast.md" + ], + "ols": [ + "website/content/terminal/usage/intros/econometrics.md", + "website/content/sdk/usage/intros/econometrics.md" + ], + "norm": [ + "website/content/terminal/usage/intros/econometrics.md", + "website/content/sdk/usage/intros/econometrics.md" + ], + "root": [ + "website/content/terminal/usage/intros/econometrics.md", + "website/content/sdk/usage/intros/econometrics.md" + ], + "panel": [ + "website/content/terminal/usage/intros/econometrics.md" + ], + "dwat": [ + "website/content/terminal/usage/intros/econometrics.md" + ], + "bgod": [ + "website/content/terminal/usage/intros/econometrics.md", + "website/content/sdk/usage/intros/econometrics.md" + ], + "bpag": [ + "website/content/terminal/usage/intros/econometrics.md", + "website/content/sdk/usage/intros/econometrics.md" + ], + "granger": [ + "website/content/terminal/usage/intros/econometrics.md" + ], + "coint": [ + "website/content/terminal/usage/intros/econometrics.md" + ], + "curve": [ + "website/content/terminal/usage/intros/futures.md", + "website/content/terminal/usage/intros/economy.md", + "website/content/sdk/usage/intros/futures.md" + ], + "etf": [ + "website/content/terminal/usage/intros/etf.md", + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/intros/etf.md" + ], + "futures": [ + "website/content/terminal/usage/intros/economy.md", + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/intros/futures.md" + ], + "gov": [ + "website/content/terminal/usage/intros/economy.md" + ], + "sector": [ + "website/content/terminal/usage/intros/economy.md", + "website/content/sdk/usage/intros/economy.md" + ], + "overview": [ + "website/content/terminal/usage/intros/economy.md" + ], + "ownership": [ + "website/content/terminal/usage/intros/economy.md" + ], + "hold": [ + "website/content/terminal/usage/intros/economy.md" + ], + "macro": [ + "website/content/terminal/usage/intros/economy.md", + "website/content/sdk/usage/intros/economy.md" + ], + "rates": [ + "website/content/terminal/usage/intros/economy.md", + "website/content/terminal/usage/intros/forex.md" + ], + "open": [ + "website/content/terminal/usage/intros/forecast.md" + ], + "volume": [ + "website/content/terminal/usage/intros/forecast.md" + ], + "forecasting": [ + "website/content/terminal/usage/intros/forecast.md", + "website/content/sdk/usage/intros/forecast.md" + ], + "mom": [ + "website/content/terminal/usage/intros/forecast.md" + ], + "expo": [ + "website/content/terminal/usage/intros/forecast.md" + ], + "rnn": [ + "website/content/terminal/usage/intros/forecast.md" + ], + "brnn": [ + "website/content/terminal/usage/intros/forecast.md" + ], + "valuation": [ + "website/content/sdk/usage/basics/index.md" + ], + "filter": [ + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/intros/economy.md" + ], + "donchian": [ + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/intros/ta.md" + ], + "account": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "projection": [ + "website/content/sdk/usage/intros/fixedincome.md" + ], + "icebofa": [ + "website/content/sdk/usage/intros/fixedincome.md" + ], + "hqm": [ + "website/content/sdk/usage/intros/fixedincome.md" + ], + "summary": [ + "website/content/sdk/usage/intros/econometrics.md", + "website/content/sdk/usage/intros/alternative.md", + "website/content/sdk/usage/intros/quantitative-analysis.md" + ], + "correlation": [ + "website/content/sdk/usage/intros/econometrics.md" + ], + "covid": [ + "website/content/sdk/usage/intros/alternative.md" + ], + "oss": [ + "website/content/sdk/usage/intros/alternative.md" + ], + "slopes": [ + "website/content/sdk/usage/intros/alternative.md" + ], + "disc": [ + "website/content/sdk/usage/intros/etf.md" + ], + "gainers": [ + "website/content/sdk/usage/intros/etf.md" + ], + "active": [ + "website/content/sdk/usage/intros/etf.md" + ], + "decliners": [ + "website/content/sdk/usage/intros/etf.md" + ], + "movers": [ + "website/content/sdk/usage/intros/etf.md" + ], + "order": [ + "website/content/sdk/usage/intros/quantitative-analysis.md" + ], + "rsi": [ + "website/content/sdk/usage/intros/ta.md", + "website/content/sdk/usage/intros/forecast.md" + ], + "atr": [ + "website/content/sdk/usage/intros/ta.md", + "website/content/sdk/usage/intros/forex.md" + ], + "obv": [ + "website/content/sdk/usage/intros/ta.md" + ], + "es": [ + "website/content/sdk/usage/intros/ta.md" + ], + "metric": [ + "website/content/sdk/usage/intros/forecast.md" + ], + "ema": [ + "website/content/sdk/usage/intros/forecast.md" + ], + "prices": [ + "website/content/sdk/usage/intros/forecast.md" + ], + "corr": [ + "website/content/sdk/usage/intros/forecast.md" + ], + "equal": [ + "website/content/sdk/usage/intros/forecast.md" + ], + "indicators": [ + "website/content/sdk/usage/intros/forecast.md" + ], + "sto": [ + "website/content/sdk/usage/intros/forecast.md" + ] +} \ No newline at end of file diff --git a/documentation/documentation_commands_sdk.csv b/documentation/documentation_commands_sdk.csv new file mode 100644 index 00000000000..a2cbc6b0e81 --- /dev/null +++ b/documentation/documentation_commands_sdk.csv @@ -0,0 +1,114 @@ +file,command +CONTRIBUTING.md,news +CONTRIBUTING.md,stocks.dps.shorted +CONTRIBUTING.md,stocks.fa.analyst +CONTRIBUTING.md,stocks.fa.rot +openbb_terminal/SDK_README.md,stocks.dps.dpotc +openbb_terminal/SDK_README.md,keys.set_keys +openbb_terminal/SDK_README.md,keys.reddit +openbb_terminal/SDK_README.md,stocks.search +openbb_terminal/SDK_README.md,keys.mykeys +openbb_terminal/SDK_README.md,keys.get_keys_info +openbb_terminal/SDK_README.md,portfolio.po.hrp +openbb_terminal/SDK_README.md,keys.fmp +openbb_terminal/SDK_README.md,portfolio.po.load +openbb_terminal/SDK_README.md,economy.index +openbb_terminal/SDK_README.md,portfolio.po.maxsharpe +openbb_terminal/SDK_README.md,economy.available_indices +openbb_terminal/SDK_README.md,portfolio.po.minrisk +openbb_terminal/SDK_README.md,portfolio.po.plot +openbb_terminal/SDK_README.md,stocks.load +website/content/sdk/faqs/data_sources.md,stocks.load +website/content/sdk/usage/basics/index.md,stocks.ca.screener +website/content/sdk/usage/basics/index.md,stocks.candle +website/content/sdk/usage/basics/index.md,economy.events +website/content/sdk/usage/basics/index.md,ta.donchian +website/content/sdk/usage/basics/index.md,stocks.load +website/content/sdk/usage/basics/index.md,etf.holdings +website/content/sdk/usage/guides/api-keys.md,keys.github +website/content/sdk/usage/guides/api-keys.md,keys.glassnode +website/content/sdk/usage/guides/api-keys.md,keys.fred +website/content/sdk/usage/guides/api-keys.md,keys.finnhub +website/content/sdk/usage/guides/api-keys.md,keys.eodhd +website/content/sdk/usage/guides/api-keys.md,keys.degiro +website/content/sdk/usage/guides/api-keys.md,keys.databento +website/content/sdk/usage/guides/api-keys.md,keys.quandl +website/content/sdk/usage/guides/api-keys.md,keys.oanda +website/content/sdk/usage/guides/api-keys.md,keys.polygon +website/content/sdk/usage/guides/api-keys.md,keys.cpanic +website/content/sdk/usage/guides/api-keys.md,keys.santiment +website/content/sdk/usage/guides/api-keys.md,keys.shroom +website/content/sdk/usage/guides/api-keys.md,keys.stocksera +website/content/sdk/usage/guides/api-keys.md,keys.tokenterminal +website/content/sdk/usage/guides/api-keys.md,keys.tradier +website/content/sdk/usage/guides/api-keys.md,keys.walert +website/content/sdk/usage/guides/api-keys.md,stocks.quote +website/content/sdk/usage/guides/api-keys.md,keys.news +website/content/sdk/usage/guides/api-keys.md,keys.coinglass +website/content/sdk/usage/guides/api-keys.md,keys.messari +website/content/sdk/usage/guides/api-keys.md,keys.cmc +website/content/sdk/usage/guides/api-keys.md,keys.fmp +website/content/sdk/usage/guides/api-keys.md,keys.mykeys +website/content/sdk/usage/guides/api-keys.md,keys.reddit +website/content/sdk/usage/guides/api-keys.md,keys.coinbase +website/content/sdk/usage/guides/api-keys.md,news +website/content/sdk/usage/guides/api-keys.md,keys.av +website/content/sdk/usage/guides/api-keys.md,keys.binance +website/content/sdk/usage/guides/api-keys.md,keys.bitquery +website/content/sdk/usage/guides/changing-sources.md,stocks.load +website/content/sdk/usage/intros/alternative.md,alt.covid.slopes +website/content/sdk/usage/intros/alternative.md,alt.covid.global_deaths +website/content/sdk/usage/intros/alternative.md,alt.oss.top +website/content/sdk/usage/intros/alternative.md,alt.oss.summary +website/content/sdk/usage/intros/econometrics.md,econometrics.root +website/content/sdk/usage/intros/econometrics.md,econometrics.bgod +website/content/sdk/usage/intros/econometrics.md,econometrics.ols +website/content/sdk/usage/intros/econometrics.md,econometrics.load +website/content/sdk/usage/intros/econometrics.md,econometrics.bpag +website/content/sdk/usage/intros/econometrics.md,econometrics.re +website/content/sdk/usage/intros/econometrics.md,econometrics.norm +website/content/sdk/usage/intros/economy.md,economy.macro_parameters +website/content/sdk/usage/intros/economy.md,economy.macro +website/content/sdk/usage/intros/economy.md,economy.available_indices +website/content/sdk/usage/intros/economy.md,keys.av +website/content/sdk/usage/intros/economy.md,economy.performance +website/content/sdk/usage/intros/economy.md,keys.fred +website/content/sdk/usage/intros/economy.md,economy.index +website/content/sdk/usage/intros/economy.md,keys.quandl +website/content/sdk/usage/intros/economy.md,economy.macro_countries +website/content/sdk/usage/intros/economy.md,economy.events +website/content/sdk/usage/intros/etf.md,etf.etf_by_category +website/content/sdk/usage/intros/etf.md,stocks.ca.screener +website/content/sdk/usage/intros/etf.md,etf.holdings +website/content/sdk/usage/intros/etf.md,etf.disc.mover +website/content/sdk/usage/intros/fixedincome.md,fixedincome.treasury +website/content/sdk/usage/intros/fixedincome.md,fixedincome.projection +website/content/sdk/usage/intros/fixedincome.md,fixedincome.icespread +website/content/sdk/usage/intros/fixedincome.md,fixedincome.icebofa +website/content/sdk/usage/intros/fixedincome.md,fixedincome.hqm +website/content/sdk/usage/intros/fixedincome.md,fixedincome.ecb +website/content/sdk/usage/intros/fixedincome.md,fixedincome.ameribor +website/content/sdk/usage/intros/forecast.md,forecast.rename +website/content/sdk/usage/intros/forecast.md,forecast.delete +website/content/sdk/usage/intros/forecast.md,forecast.corr +website/content/sdk/usage/intros/forecast.md,forecast.combine +website/content/sdk/usage/intros/forecast.md,forecast.plot +website/content/sdk/usage/intros/forecast.md,forecast.ema +website/content/sdk/usage/intros/forecast.md,forecast.sto +website/content/sdk/usage/intros/forecast.md,stocks.load +website/content/sdk/usage/intros/forecast.md,forecast.rsi +website/content/sdk/usage/intros/forex.md,forex.load +website/content/sdk/usage/intros/forex.md,ta.atr +website/content/sdk/usage/intros/forex.md,forex.fwd +website/content/sdk/usage/intros/futures.md,futures.curve +website/content/sdk/usage/intros/futures.md,futures.historical +website/content/sdk/usage/intros/futures.md,futures.search +website/content/sdk/usage/intros/quantitative-analysis.md,qa.spread +website/content/sdk/usage/intros/quantitative-analysis.md,qa.unitroot +website/content/sdk/usage/intros/quantitative-analysis.md,qa.summary +website/content/sdk/usage/intros/ta.md,ta.rsi +website/content/sdk/usage/intros/ta.md,ta.obv +website/content/sdk/usage/intros/ta.md,ta.atr +website/content/sdk/usage/intros/ta.md,stocks.load +website/content/sdk/usage/intros/ta.md,ta.donchian +website/content/terminal/usage/guides/api-keys.md,news diff --git a/documentation/documentation_commands_sdk.json b/documentation/documentation_commands_sdk.json new file mode 100644 index 00000000000..50f5630fe2c --- /dev/null +++ b/documentation/documentation_commands_sdk.json @@ -0,0 +1,301 @@ +{ + "news": [ + "CONTRIBUTING.md", + "website/content/terminal/usage/guides/api-keys.md", + "website/content/sdk/usage/guides/api-keys.md" + ], + "stocks.dps.shorted": [ + "CONTRIBUTING.md" + ], + "stocks.fa.analyst": [ + "CONTRIBUTING.md" + ], + "stocks.fa.rot": [ + "CONTRIBUTING.md" + ], + "economy.available_indices": [ + "openbb_terminal/SDK_README.md", + "website/content/sdk/usage/intros/economy.md" + ], + "economy.index": [ + "openbb_terminal/SDK_README.md", + "website/content/sdk/usage/intros/economy.md" + ], + "keys.fmp": [ + "openbb_terminal/SDK_README.md", + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.get_keys_info": [ + "openbb_terminal/SDK_README.md" + ], + "keys.mykeys": [ + "openbb_terminal/SDK_README.md", + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.reddit": [ + "openbb_terminal/SDK_README.md", + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.set_keys": [ + "openbb_terminal/SDK_README.md" + ], + "stocks.dps.dpotc": [ + "openbb_terminal/SDK_README.md" + ], + "stocks.load": [ + "openbb_terminal/SDK_README.md", + "website/content/sdk/faqs/data_sources.md", + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/guides/changing-sources.md", + "website/content/sdk/usage/intros/ta.md", + "website/content/sdk/usage/intros/forecast.md" + ], + "stocks.search": [ + "openbb_terminal/SDK_README.md" + ], + "portfolio.po.hrp": [ + "openbb_terminal/SDK_README.md" + ], + "portfolio.po.load": [ + "openbb_terminal/SDK_README.md" + ], + "portfolio.po.maxsharpe": [ + "openbb_terminal/SDK_README.md" + ], + "portfolio.po.minrisk": [ + "openbb_terminal/SDK_README.md" + ], + "portfolio.po.plot": [ + "openbb_terminal/SDK_README.md" + ], + "economy.events": [ + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/intros/economy.md" + ], + "etf.holdings": [ + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/intros/etf.md" + ], + "stocks.ca.screener": [ + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/intros/etf.md" + ], + "stocks.candle": [ + "website/content/sdk/usage/basics/index.md" + ], + "ta.donchian": [ + "website/content/sdk/usage/basics/index.md", + "website/content/sdk/usage/intros/ta.md" + ], + "keys.av": [ + "website/content/sdk/usage/guides/api-keys.md", + "website/content/sdk/usage/intros/economy.md" + ], + "keys.binance": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.bitquery": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.cmc": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.coinbase": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.coinglass": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.cpanic": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.databento": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.degiro": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.eodhd": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.finnhub": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.fred": [ + "website/content/sdk/usage/guides/api-keys.md", + "website/content/sdk/usage/intros/economy.md" + ], + "keys.github": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.glassnode": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.messari": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.news": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.oanda": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.polygon": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.quandl": [ + "website/content/sdk/usage/guides/api-keys.md", + "website/content/sdk/usage/intros/economy.md" + ], + "keys.santiment": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.shroom": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.stocksera": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.tokenterminal": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.tradier": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "keys.walert": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "stocks.quote": [ + "website/content/sdk/usage/guides/api-keys.md" + ], + "fixedincome.ameribor": [ + "website/content/sdk/usage/intros/fixedincome.md" + ], + "fixedincome.ecb": [ + "website/content/sdk/usage/intros/fixedincome.md" + ], + "fixedincome.hqm": [ + "website/content/sdk/usage/intros/fixedincome.md" + ], + "fixedincome.icebofa": [ + "website/content/sdk/usage/intros/fixedincome.md" + ], + "fixedincome.icespread": [ + "website/content/sdk/usage/intros/fixedincome.md" + ], + "fixedincome.projection": [ + "website/content/sdk/usage/intros/fixedincome.md" + ], + "fixedincome.treasury": [ + "website/content/sdk/usage/intros/fixedincome.md" + ], + "econometrics.bgod": [ + "website/content/sdk/usage/intros/econometrics.md" + ], + "econometrics.bpag": [ + "website/content/sdk/usage/intros/econometrics.md" + ], + "econometrics.load": [ + "website/content/sdk/usage/intros/econometrics.md" + ], + "econometrics.norm": [ + "website/content/sdk/usage/intros/econometrics.md" + ], + "econometrics.ols": [ + "website/content/sdk/usage/intros/econometrics.md" + ], + "econometrics.re": [ + "website/content/sdk/usage/intros/econometrics.md" + ], + "econometrics.root": [ + "website/content/sdk/usage/intros/econometrics.md" + ], + "futures.curve": [ + "website/content/sdk/usage/intros/futures.md" + ], + "futures.historical": [ + "website/content/sdk/usage/intros/futures.md" + ], + "futures.search": [ + "website/content/sdk/usage/intros/futures.md" + ], + "alt.covid.global_deaths": [ + "website/content/sdk/usage/intros/alternative.md" + ], + "alt.covid.slopes": [ + "website/content/sdk/usage/intros/alternative.md" + ], + "alt.oss.summary": [ + "website/content/sdk/usage/intros/alternative.md" + ], + "alt.oss.top": [ + "website/content/sdk/usage/intros/alternative.md" + ], + "etf.disc.mover": [ + "website/content/sdk/usage/intros/etf.md" + ], + "etf.etf_by_category": [ + "website/content/sdk/usage/intros/etf.md" + ], + "economy.macro": [ + "website/content/sdk/usage/intros/economy.md" + ], + "economy.macro_countries": [ + "website/content/sdk/usage/intros/economy.md" + ], + "economy.macro_parameters": [ + "website/content/sdk/usage/intros/economy.md" + ], + "economy.performance": [ + "website/content/sdk/usage/intros/economy.md" + ], + "qa.spread": [ + "website/content/sdk/usage/intros/quantitative-analysis.md" + ], + "qa.summary": [ + "website/content/sdk/usage/intros/quantitative-analysis.md" + ], + "qa.unitroot": [ + "website/content/sdk/usage/intros/quantitative-analysis.md" + ], + "ta.atr": [ + "website/content/sdk/usage/intros/ta.md", + "website/content/sdk/usage/intros/forex.md" + ], + "ta.obv": [ + "website/content/sdk/usage/intros/ta.md" + ], + "ta.rsi": [ + "website/content/sdk/usage/intros/ta.md" + ], + "forex.fwd": [ + "website/content/sdk/usage/intros/forex.md" + ], + "forex.load": [ + "website/content/sdk/usage/intros/forex.md" + ], + "forecast.combine": [ + "website/content/sdk/usage/intros/forecast.md" + ], + "forecast.corr": [ + "website/content/sdk/usage/intros/forecast.md" + ], + "forecast.delete": [ + "website/content/sdk/usage/intros/forecast.md" + ], + "forecast.ema": [ + "website/content/sdk/usage/intros/forecast.md" + ], + "forecast.plot": [ + "website/content/sdk/usage/intros/forecast.md" + ], + "forecast.rename": [ + "website/content/sdk/usage/intros/forecast.md" + ], + "forecast.rsi": [ + "website/content/sdk/usage/intros/forecast.md" + ], + "forecast.sto": [ + "website/content/sdk/usage/intros/forecast.md" + ] +} \ No newline at end of file diff --git a/documentation/generate_documentation_commands.py b/documentation/generate_documentation_commands.py new file mode 100644 index 00000000000..bf5f91b3f27 --- /dev/null +++ b/documentation/generate_documentation_commands.py @@ -0,0 +1,348 @@ +import argparse +import glob +import json +import re +from collections import defaultdict +from pathlib import Path +from typing import Literal + +import pandas as pd +import yaml + +from openbb_terminal.core.config.paths import ( + I18N_DICT_LOCATION, + MAP_FORECASTING_PATH, + MAP_OPTIMIZATION_PATH, + MAP_PATH, +) + +TRAIL_MAPS = [MAP_PATH, MAP_FORECASTING_PATH, MAP_OPTIMIZATION_PATH] + +EN_FILE = I18N_DICT_LOCATION / "en.yml" + +MD_FILES = ["CONTRIBUTING.md", "README.md", "openbb_terminal/SDK_README.md"] +MD_FILES.extend(glob.glob("website/content/sdk/faqs/*.md", recursive=True)) +MD_FILES.extend(glob.glob("website/content/terminal/usage/basics/*.md", recursive=True)) +MD_FILES.extend(glob.glob("website/content/terminal/usage/guides/*.md", recursive=True)) +MD_FILES.extend(glob.glob("website/content/terminal/usage/intros/*.md", recursive=True)) +MD_FILES.extend(glob.glob("website/content/sdk/usage/basics/*.md", recursive=True)) +MD_FILES.extend(glob.glob("website/content/sdk/usage/guides/*.md", recursive=True)) +MD_FILES.extend(glob.glob("website/content/sdk/usage/intros/*.md", recursive=True)) + +EXPORT_FILE_PATH = "documentation/documentation_commands" +EXPORT_FILE_PATH_SDK = "documentation/documentation_commands_sdk" + + +def read_yaml_file(path: Path) -> dict: + """Read a YAML file and return its contents as a dictionary. + + Parameters + ---------- + path : Path + The path to the YAML file. + + Returns + ------- + dict + A dictionary containing the contents of the YAML file. + + Raises + ------ + yaml.YAMLError + If the YAML file could not be read or parsed, this exception is raised. + """ + with open(path) as stream: + try: + return yaml.safe_load(stream) + except yaml.YAMLError as exc: + raise exc + + +def get_command_list(en_dict: dict) -> list: + """ + Extract a list of commands from a dictionary. + The function looks for keys in the "en" dictionary of `en_dict` that do not start + with an underscore ("_"). + If a key contains a forward slash ("/"), the part of the key after the last slash + is considered to be a potential command. + If this potential command also starts with an underscore, it is ignored. + + Parameters + ---------- + en_dict : dict + A dictionary containing commands as keys. + The values of the dictionary are not used. + + Returns + ------- + list + A list of commands extracted from the dictionary. + + Examples + -------- + ``` + en_dict = { + "en": { + "run_command": "Execute a command.", + "run_command/cmd_option": "Execute a command with an option.", + "_helper": "A helper command that should be ignored." + } + } + command_list = get_command_list(en_dict) + # command_list == ["run_command", "cmd_option"] + ``` + """ + commands = [] + for key in en_dict["en"]: + if key.startswith("_"): + continue + if "/" in key: + potential_command = key.split("/")[-1] + if potential_command.startswith("_"): + continue + commands.append(potential_command) + else: + commands.append(key) + return commands + + +def get_sdk_command_list(trail_map: Path) -> list: + """ + Extract a list of commands from a CSV file. + The function reads the CSV file at the specified path into a pandas DataFrame and + extracts the "trail" column as a list of commands. + + Parameters + ---------- + trail_map : Path + A path to the CSV file containing the trail map. + + Returns + ------- + list + A list of commands extracted from the CSV file. + """ + df = pd.read_csv(trail_map) + return df["trail"].tolist() + + +def get_content_from_md_file(file_path: str, code_blocks_only: bool) -> str: + """ + Read a Markdown file and return its content, optionally including only code blocks. + + If `code_blocks_only` is True, the function finds all fenced code blocks + (using regular expression), + and all backtick code blocks in the Markdown file and concatenates them into a + single string. + The backtick code blocks can be either inline or multiline. + If `code_blocks_only` is False, the function returns the full contents of the + Markdown file as a string. + + Parameters + ---------- + file_path : str + The path to the Markdown file. + code_blocks_only : bool + If True, return only the code blocks found in the Markdown file. + If False, return the full contents of the Markdown file. By default, False. + + Returns + ------- + str + The contents of the Markdown file as a string. + + Examples + -------- + ``` + file_path = "example.md" + full_content = get_content_from_md_file(file_path, False) + code_blocks = get_content_from_md_file(file_path, True) + ``` + """ + + def get_code_blocks_from_md_file(file_path: str) -> str: + code_blocks = "" + with open(file_path) as f: + md = f.read() + + # find fenced code blocks using regular expression + fenced_blocks = re.findall(r"```(?:\w+\n)?([\s\S]*?)```", md) + + # find backtick code blocks using regular expression + backtick_blocks = re.findall(r"`{3}[\s\S]*?`{3}|`[^`\n]+`", md) + + code_blocks = fenced_blocks + backtick_blocks + code_blocks = "".join(code_blocks).replace("\n", "").replace("`", "") + return code_blocks + + if code_blocks_only: + return get_code_blocks_from_md_file(file_path) + + with open(file_path) as f: + return f.read() + + +def find_commands_in_files( + files: list, commands: list, code_blocks_only: bool = True +) -> dict: + """ + Search for specified commands in the content of Markdown files and return a + dictionary of the files where each command was found. + + The function reads the contents of each Markdown file in `files`, and for each + `command` in `commands`, searches for occurrences of the command within the file + contents. + The search is performed using regular expression to match whole words only. + If `code_blocks_only` is True, the function searches only within fenced code blocks + and backtick code blocks in the Markdown files. + + + Parameters + ---------- + files : list + A list of file paths to the Markdown files to search. + commands : list + A list of commands to search for. + code_blocks_only : bool, optional + If True, search only within code blocks in the Markdown files. + If False, search within the full contents of the Markdown files. + By default, True. + + Returns + ------- + dict + A dictionary where each key is a command that was found in one or more files, + and the value is a list of file paths where the command was found. + + Examples + -------- + ``` + files = ["file1.md", "file2.md", "file3.md"] + commands = ["command1", "command2", "command3"] + results = find_commands_in_files(files, commands) + ``` + """ + found_commands = defaultdict(list) + + for file_path in files: + file_contents = get_content_from_md_file(file_path, code_blocks_only) + + for command in commands: + # pattern to match whole words only + pattern = rf"\b{re.escape(command)}\b" + matches = re.finditer(pattern, file_contents) + + for _ in matches: + found_commands.setdefault(command, []) + if file_path not in found_commands[command]: + found_commands[command].append(file_path) + + return found_commands + + +def handle_export( + extension: Literal["json", "csv"], found_commands: dict, found_commands_sdk: dict +): + """ + Handle exporting the found commands into a file. + + Parameters + ---------- + extension : Literal["json", "csv"] + The extension type of the file to be exported. Can only be "json" or "csv". + found_commands : dict + The dictionary containing the commands found in the Markdown files and their + corresponding file paths. + found_commands_sdk : dict + The dictionary containing the SDK commands found in the Markdown files and their + corresponding file paths. + """ + + def export_to_json(path: Path, commands: dict): + with open(path, "w") as fp: + json.dump(commands, fp, indent=4) + + def export_to_csv(path: Path, commands: dict): + df = pd.DataFrame.from_dict(commands, orient="index").transpose() + df = pd.melt(df) + df.rename(columns={"variable": "command", "value": "file"}, inplace=True) + df = df[["file", "command"]] + df.sort_values(by=["file"], inplace=True) + df = df.dropna() + df.to_csv(path, index=False) + + if extension == "json": + export_to_json(path=f"{EXPORT_FILE_PATH}.{extension}", commands=found_commands) + export_to_json( + path=f"{EXPORT_FILE_PATH_SDK}.{extension}", commands=found_commands_sdk + ) + + else: + export_to_csv(path=f"{EXPORT_FILE_PATH}.{extension}", commands=found_commands) + export_to_csv( + path=f"{EXPORT_FILE_PATH_SDK}.{extension}", commands=found_commands_sdk + ) + + +def generate_documentation_commands( + export_extension: Literal["json", "csv"], code_blocks_only: bool +): + """ + Generate documentation commands based on commands in Markdown files. + + Parameters + ---------- + export_extension : Literal["json", "csv"] + The file extension of the export file. Valid values are "json" and "csv". + code_blocks_only : bool + If True, only code blocks from the Markdown files will be searched for + documentation commands. + If False, the entire contents of the Markdown files will be searched. + """ + en_file_as_dict = read_yaml_file(path=EN_FILE) + cmds = get_command_list(en_dict=en_file_as_dict) + cmds_sdk = [ + cmd for trail_map in TRAIL_MAPS for cmd in get_sdk_command_list(trail_map) + ] + + terminal_commands = find_commands_in_files( + files=MD_FILES, commands=cmds, code_blocks_only=code_blocks_only + ) + sdk_commands = find_commands_in_files( + files=MD_FILES, commands=cmds_sdk, code_blocks_only=code_blocks_only + ) + + handle_export( + extension=export_extension, + found_commands=terminal_commands, + found_commands_sdk=sdk_commands, + ) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + prog="generate_documentation_commands", + description="Generate documentation commands based on commands in Markdown files.", + ) + parser.add_argument( + "-e", + "--export", + dest="export_extension", + default="csv", + choices=["json", "csv"], + help="Export the list of commands to a json or csv file", + ) + parser.add_argument( + "-c", + "--code-blocks-only", + dest="code_blocks_only", + default=True, + action="store_true", + help="Search only within code blocks in the Markdown files", + ) + args = parser.parse_args() + + generate_documentation_commands( + export_extension=args.export_extension, code_blocks_only=args.code_blocks_only + ) diff --git a/openbb_terminal/core/config/paths.py b/openbb_terminal/core/config/paths.py index fd4692cfcaa..110ffb9db59 100644 --- a/openbb_terminal/core/config/paths.py +++ b/openbb_terminal/core/config/paths.py @@ -25,3 +25,8 @@ DATA_SOURCES_DEFAULT_FILE = MISCELLANEOUS_DIRECTORY / "sources" / "openbb_defaul # session SESSION_FILE_PATH = SETTINGS_DIRECTORY / "session.json" + +# sdk trail map paths +MAP_PATH = PACKAGE_DIRECTORY / "core/sdk" / "trail_map.csv" +MAP_FORECASTING_PATH = PACKAGE_DIRECTORY / "core/sdk" / "trail_map_forecasting.csv" +MAP_OPTIMIZATION_PATH = PACKAGE_DIRECTORY / "core/sdk" / "trail_map_optimization.csv" diff --git a/openbb_terminal/core/scripts/sdk_audit.py b/openbb_terminal/core/scripts/sdk_audit.py index 7e38f4d2c83..ee65cbb6185 100644 --- a/openbb_terminal/core/scripts/sdk_audit.py +++ b/openbb_terminal/core/scripts/sdk_audit.py @@ -7,6 +7,8 @@ from typing import Callable, List, Tuple import pandas as pd +from openbb_terminal.core.config.paths import MAP_PATH + try: import darts # pylint: disable=W0611 # noqa: F401 @@ -65,7 +67,7 @@ def all_view_models() -> List[Path]: return [Path(x) for x in clean_list] -def get_sdk(file_path: str = "miscellaneous/library/trail_map.csv") -> pd.DataFrame: +def get_sdk(file_path: Path = MAP_PATH) -> pd.DataFrame: """Reads the CSV that generates the sdk and converts it to a dataframe Parameters diff --git a/openbb_terminal/core/sdk/trailmap.py b/openbb_terminal/core/sdk/trailmap.py index cef175c0286..9ac83c9f678 100644 --- a/openbb_terminal/core/sdk/trailmap.py +++ b/openbb_terminal/core/sdk/trailmap.py @@ -6,7 +6,11 @@ from typing import Any, Callable, Dict, ForwardRef, List, Optional import pandas as pd import openbb_terminal.core.sdk.sdk_init as lib -from openbb_terminal.core.config.paths import PACKAGE_DIRECTORY +from openbb_terminal.core.config.paths import ( + MAP_FORECASTING_PATH, + MAP_OPTIMIZATION_PATH, + MAP_PATH, +) from openbb_terminal.core.sdk.sdk_helpers import clean_attr_desc from openbb_terminal.rich_config import console @@ -149,12 +153,6 @@ class Trailmap: def get_trailmaps(sort: bool = False) -> List[Trailmap]: trailmaps = [] - MAP_PATH = PACKAGE_DIRECTORY / "core/sdk" / "trail_map.csv" - MAP_FORECASTING_PATH = PACKAGE_DIRECTORY / "core/sdk" / "trail_map_forecasting.csv" - MAP_OPTIMIZATION_PATH = ( - PACKAGE_DIRECTORY / "core/sdk" / "trail_map_optimization.csv" - ) - def load_csv(path: Optional[Path] = None) -> Dict[str, Dict[str, str]]: path = path or MAP_PATH df = pd.read_csv(path, keep_default_na=False)