- Clone. Also don't forget submodules (
git submodule update --init --recursive) - Run
./setup.sh cont_build python juliato build the container and setup enviroment - Enter
./run.sh juliato get into Julia REPL
This project has automatic configuration!! This configuration is defined in default.conf.
You should always prepend ./run.sh before any command (including running programs like julia) to ensure consistency.
If you wish to have different values than default.conf, simply:
cp default.conf user.conf
vi user.conf # edit to your liking without adding new elementsIn order to use singularity you must have a virtual machine running. Assuming you have vagrant (and something like virtualbox) setup on your host, you can follow these steps
Provision the virtual machine defined in Vagrantfile with:
vagrant upCreate a user.conf as described above
Note: git will not track
user.conf
Modify user.conf such that path is set to route through vagrant
[ENV]
path:vagrant ssh -c singularityThou ...
- Shalt place all re-used code in packages (
srcorfunctional_scenes) - Shalt place all interactive code in
scripts - Shalt not use "hard" paths. Instead update
PATHSin the config. - Shalt add contributions to branches derived from
masterordev - Shalt not use
git add * - Shalt not commit large files (checkpoints, datasets, etc). Update
setup.shaccordingly.
The python package environment is managed by poetry, located under functional_scenes and can be imported using import functional_scenes
Likewise, the Julia package is described under src and test
All scripts are located under scripts and data/output is under output as specific in the project config (default.conf or user.conf)
To add new python or julia packages use the provided package managers (poetry add or Pkg.add for python and julia respectively.)
For julia you can also use ] add in the REPL