Skip to content

Project Outline

jc-cisneros edited this page Jul 24, 2023 · 25 revisions

To-dos

  • Continue adding unit tests and improve exception checks for unit tests intended to fail
  • Add top level /examples/ directory containing modules illustrating lots of different use cases. Consider making the main repository modules use only Python + Latex and then use the /examples/ to illustrate Stata, R, Lyx, as well as other things like Matlab, etc. that we want to support
  • Iterate on and improve get_modified_sources and check_module_size
  • Create Python tool to map out module dependencies on other modules
  • Replace input.txt and external.txt structure with a paths.txt file that defines paths using {root} and {external} locations drawn from config_user.yaml. Move other path definitions from make.py to paths.txt.
  • Reorg to have /data/raw/ and /data/clean/
  • Indicate in README.md that Stata dependencies should be in /lib/stata per the discussion and delete the reference to download_stata_ado.do as well as the download_stata_ado.do file itself.
  • Test portability across OSes of using Docker to build template container. See this issue and its description for details.
  • Replace the current config.yaml/config_user.yaml logic to reduce extra steps for users that will adhere to defaults. Per this comment, that would imply finding a solutions that can implement default values both for external directories (i.e., the default external directory is the Dropbox directory within the user's system) and executable names.

See also "MG Template Notes" in Evernote.

See also Hunt's RA manual here

To add to Documentation

  • Rules for raw data directories including readme.txt
  • Each directory should be able to run on clean checkout of repo; so anything called by inputs.txt must be checked in
  • config_user.yaml should never be committed
  • Do not commit commented out code in major commits
  • config.yaml should be a one stop shop for all repository-wide metadata. Metadata that pertains only to a single module can be stored in config_module.yaml at the top level of the module.
  • Code should only be in /lib/ if it's used in multiple places
Clone this wiki locally