Skip to content

Latest commit

 

History

History
55 lines (40 loc) · 1.75 KB

README.md

File metadata and controls

55 lines (40 loc) · 1.75 KB

FOD

The purpose of fod is to experiment with automatic environment checkpointing. It will sit on top of pixi, using it as a backend to manage environments.

Dev env

To setup your dev env, create a conda env

$ conda env create -f environment.yml 

$ conda activate fod-dev

# install fod with pip in editable mode
$ python -m pip install -e .

Add the fod bin directory to path

$ export PATH="$PWD/fod/bin:$PATH"

Make sure to also install pixi

Try it out

Use the pixi environment provided in the demo-assets/pixi-py directory.

$ cd demo-assets/pixi-py

# install the env
$ fod install

# try installing some new packages
$ fod add filelock
$ fod add scipy

# list available checkpoints
$ fod checkpoint list
                         Checkpoints                          
┏━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ uuid     ┃ tags         ┃ timestamp                        ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ 401a162b │ ['401a162b'] │ 2025-02-21 18:13:27.011398+00:00 │
│ 306aebf1 │ ['306aebf1'] │ 2025-02-21 18:02:59.879622+00:00 │
│ 6d7455ad │ ['6d7455ad'] │ 2025-02-21 18:01:30.833781+00:00 │
└──────────┴──────────────┴──────────────────────────────────┘

# try installing a checkpoint to another dir
$ cd ..
$ fod checkpoint install --target ./new-env --uuid 401a162b