worldbank / ietoolkit

Stata commands designed for Impact Evaluations in particular, but also data work in general
https://worldbank.github.io/ietoolkit/
MIT License
215 stars 74 forks source link

New command for SSC packages' installation #213

Open MRuzzante opened 4 years ago

MRuzzante commented 4 years ago

I am preparing the replication materials for a paper and thought it would be helpful to have a command which goes through all the do-files in a folder and output a list of packages used in those do-files.

This would be somehow analogous to iecodebook and allows one to add these packages in the preamble of the master do-file for replication purposes.

As an option, the command could check if the packages are already installed, and if they are not, proceed with the installation before running the rest of the code.

bbdaniels commented 4 years ago

This is a great idea - as people often forget which packages are from SSC! Does anyone know if a comprehensive list of SSC packages or could we ask Kit if there is such a resource online? (Then the implementation is a simple text match)

For example, Code Ocean has a feature where you put in all the SSC packages needed and it installs those at environment initialization, but you still have to provide the list.

Sent with GitHawk

kbjarkefur commented 4 years ago

I do not think the best way is to make this SSC specific. So instead, list all commands that are not commands that Stata ships with.

Somehow that list must exist, as syntax highlighting in Atom only highlights commands Stata ships with, and that is user implemented. It is probably just a matter of scanning some folder where Stata stores all ado files that Stata is shipped with.

Then an iecodebook type excel sheet can be produced where one have to indicate which is SSC and which is a net install or something. SSC can perhaps be the default if nothing is specified.

The real holy grail would be if we can do some version management as well, but I have spent many bored hours on planes and busses without coming up with a good way to deal with that. But even without the holy grail this would be useful.

bbdaniels commented 4 years ago

https://www.statalist.org/forums/forum/general-stata-discussion/general/1474776-download-install-all-packages-in-ssc

kbjarkefur commented 4 years ago

One problem that solution has and most SSC solutions will have is that they are package oriented. ietoolkit is a package but iebaltab is a command. You search SSC for packages, but this command we are discussing here would list commands.

Or are you thinking that we would do this on one machine and then use that to get a list of SSC commands?

This command vs. package aspect is something that we will have to think about when implementing. For example, if the command we are discussing here finds iebaltab in the code, something needs to happen so that ietoolkit is installed. Either manually by the user, or automatically.