Skip to content

Latest commit

 

History

History
70 lines (48 loc) · 1.64 KB

Contributing.md

File metadata and controls

70 lines (48 loc) · 1.64 KB

Contributing

Local dev setup

Install poetry:

curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py | python -
# Make sure you have ~/.local/bin in PATH
poetry config settings.virtualenvs.in-project true

Setup virtualenv, install dependencies:

poetry install

Whenever dependencies change, run poetry install again. You can add dependencies with poetry add <package>.

In your IDE select .venv/bin/python as interpreter. In a shell, you can activate the environment with . .venv/bin/activate and deactivate it with deactivate. To run in you IDE, select colabfold.batch as module to run and the git root as working directory.

To run the tests:

pytest

Format the code:

black .

Colab dev setup

We clone to _directory to avoid python from importing from the directory.

%%bash

pip install -U pip
git clone https://github.com/sokrypton/Colabfold _colabfold
pip install _colabfold
# Unholy Hack: Use the files from our cloned git repository instead of installed copy
site_packages=$(python -c 'import site; print(site.getsitepackages()[0])')
rm -r ${site_packages}/colabfold
ln -s $(pwd)/_colabfold/colabfold ${site_packages}/colabfold

If you also need to patch alphafold:

%%bash

pip uninstall -y alphafold
git clone https://github.com/sokrypton/alphafold _alphafold
pip install -e ./_alphafold

After that, restart the runtime.

When you changed a file in the colabfold package, you need to reload the modules you were using with importlib.reload(), e.g.

import colabfold.batch
import importlib

importlib.reload(colabfold.batch)