- Docker on WSL
- VS Code with Dev Containers
- This repository was generated from the template repository and cloned
- Docker image was built, and container was started by opening this repository cloned in VS Code with Dev Containers
- R project would have been prepared with RStudio on
localhost:8787if.Rprojfile exists - R package management with renv would have been prepared by executing
renv::init(settings = list(external.libraries = "/usr/local/lib/R/site-library"))in R REPL ifrenv.lockfile exists - Julia environment with some package installed would have been prepared by executing
pkg> activate .; add <Package name>orjulia> using Pkg; Pkg.activate("."); Pkg.add("<Package name>")in Julia REPL ifProject.tomlfile exists - If
.dvcdirectory exists, DVC and remote storage (e.g., Google Drive) would have been prepared as below:- Prepare Google Drive folder, Google Cloud project for Google Drive API to connect to it and its OAuth credentials
- Execute
dvc init && dvc remote add -d myremote gdrive://<Google Drive folder ID>in shell - Also execute
dvc remote modify --local myremote gdrive_client_id '<Client ID>' && dvc remote modify --local myremote gdrive_client_secret '<Client secret>'in shell - Share the Google Drive folder with the collaborators as needed
- Clone this repository
- Open this repository cloned in VS Code with Dev Containers so that Docker image is built, container is started, and the following process is performed automatically:
- Install R packages if
renv.lockfile exists - Install Python packages if
requirements.txtfile exists - Install Julia packages if
Project.tomlfile exists
- Install R packages if
- Download data from the remote storage by executing
dvc pullin shell after preparing the credentials in the same manner as the initiator as needed if.dvcdirectory exists - Open R project with RStudio on
localhost:8787if.Rprojfile exists (Optional)
- Develop, conduct analysis and report
- Execute
renv::snapshot()in R REPL to record installed R packages as appropriate (at least before pushing your commits) - Execute
pip freeze --user > requirements.txtin shell to record installed Python packages as appropriate (at least before pushing your commits) - Manage source codes, outputs, reports and data with Git and DVC (as well as remote storage)
Note that each installed Julia package will automatically be recorded in Project.toml file whenever to be installed if Julia environment is activated by executing pkg> activate . or julia> using Pkg; Pkg.activate(".") in Julia REPL.