Installation
Curifactory can be installed from pip via:
pip install curifactory
Or from conda-forge with:
conda install -c conda-forge curifactory
Note that graphviz must be installed for certain reporting features to work. In conda, you can do this with:
conda install python-graphviz
Curifactory comes with a CLI curifactory
runnable, which can bootstrap a
curifactory-enabled project directory for you.
curifactory init
This command will step you through the process. You can run it either in a new folder or in an existing project, and it will create any necessary paths for curifactory to work. Descriptions of the various folders created in the initialization process are in the Configuration and directory structure section.
Important
It is strongly recommended to use curifactory from within a git repo to
support experiment reproducibility and provenance (every run will record the
current git commit hash.) The curifactory init
command will prompt you
to run git init
if the .git
folder is not detected. Any experiment
runs executed outside of a git repo will carry an associated warning in the
output log and report.
Tab completion
Curifactory comes with tab-completion in bash and zsh via the argcomplete
package.
(If you’re using curifactory from inside a conda environment, you’ll need to install it
in your system python.)
pip install argcomplete
To enable the tab-completion, you can either use argcomplete’s global hook
activate-global-python-argcomplete
, which will enable tab complete on all
argcomplete-enabled python packages (e.g. pytest), or you can add
eval "$(register-python-argcomplete experiment)"
to your shell’s rc file (~/.bashrc
or ~/.zshrc
). Curfiactory can add this line
for you automatically with:
curifactory completion [--bash|--zsh] # use the flag corresponding to your shell
Once enabled, the experiment
CLI that curifactory provides will have tab completion
for experiment names, parameter file names, and flags.