A new mode of mental simulation for Intuitive Physics
- Clone repository and cd into root directory
- Get any deps using
git submodule update --init --recursive
(could be empty) - Download the container and place under
env.d
- Run
./env.d/setup.sh all
to setup the environment. - Enter
./env.d/run.sh COMMAND
to run command through the project environment (e.g., python script or julia REPL)
This project has automatic configuration. This configuration is defined in env.d/default.conf
.
You should always prepend env.d/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 elements
In order to use apptainer/singularity, please refer to the official instructions: http://apptainer.org/docs/admin/latest/installation.html#installation-on-windows-or-mac
- Place all re-used code in packages (
src
orcusanus
) - Place all interactive code in
scripts
- Do not use "hard" paths. Instead refer to the paths in
SPATHS
. - Add contributions to branches derived from
master
ordev
- Avoid
git add *
- Do not commit large files (checkpoints, datasets, etc). Update
setup.sh
accordingly.
The python package environment is managed by as defined in setup.sh
(specifically SENV[pyenv]
)
Likewise, the Julia package is described under src
and test
All scripts are located under scripts
and data/output is under env.d/spaths
as specific in the project config (default.conf
or user.conf
)
To add new python or julia packages use the provided package managers ( Pkg.add
for julia )
For julia you can also use ] add
in the REPL
For python, add things to requirements.txt or setup.py
if one is present