Contributing

Generating Conda Lockfiles

In the interest of reproducibility, STARDIS uses conda-lock files to keep the virtual environment consistent across similar machines and installations. High level specifications of the environments are given in stardis_env3.yml and stardis_env3_cuda.yml, and then conda-lock is used to create the corresponding lockfile. The steps are as follow.

Note

These steps are only tested using miniconda.

Note

Both sets of steps below assume that all commands are being run from your local STARDIS git repository, which can be obtained using the developer installation instructions.

Without CUDA Support

  1. Activate the Conda virtual environment:

    $ conda activate stardis
    
  2. Create a lockfile using conda-lock’s unified lockfile format:

    $ conda-lock -f stardis_env3.yml --conda $(which conda) --strip-auth
    
  3. Render platform-specific lockfiles:

    $ conda-lock render conda-lock.yml
    

With CUDA Support

  1. Activate the Conda virtual environment:

    $ conda activate stardis-cuda
    
  2. Create a lockfile using conda-lock’s unified lockfile format:

    $ conda-lock -f stardis_env3_cuda.yml --conda $(which conda) --strip-auth --lockfile conda-lock-cuda.yml
    
  3. Render platform-specific lockfiles:

    $ conda-lock render --filename-template conda-{platform}-cuda.lock conda-lock-cuda.yml