-
Notifications
You must be signed in to change notification settings - Fork 35
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
andcheck_module_size
- Create Python tool to map out module dependencies on other modules
- Replace
input.txt
andexternal.txt
structure with apaths.txt
file that defines paths using {root} and {external} locations drawn from config_user.yaml. Move other path definitions frommake.py
topaths.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 todownload_stata_ado.do
as well as thedownload_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
- 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 inconfig_module.yaml
at the top level of the module. - Code should only be in /lib/ if it's used in multiple places