Install the project with pip install -e .[dev]
then run black .
and isort
.
This project has pinned lockfiles and abstract dependencies. They need to be updated in concert.
The abstract dependencies are stored in setup.py
.
There are several extras depending on what the user
wants to install (Dask and/or Spark).
The pin files are conda.lock.txt
and the pip.lock-*.txt
files.
These dependencies must be updated all at once.
- Create a new conda environment from the existing conda lock file.
pip install -e .
pip freeze | grep -v 'file:///' | grep -v '\-e ' > pip.lock.txt
pip install -e .[dask]
comm -13 <(cat pip.lock.txt | sort) <(pip freeze | grep -v 'file:///' | grep -v '\-e ' | sort) > pip.lock-dask.txt
pip install -e .[spark]
comm -13 <(cat pip.lock.txt pip.lock-dask.txt | sort) <(pip freeze | grep -v 'file:///' | grep -v '\-e ' | sort) > pip.lock-spark.txt
pip install -e .[dev]
comm -13 <(cat pip.lock.txt pip.lock-dask.txt pip.lock-spark.txt | sort) <(pip freeze | grep -v 'file:///' | grep -v '\-e ' | sort) > pip.lock-dev.txt
Currently Python is our only conda dependency, so this should be rare.
- Create a new conda environment from the existing conda lock file.
conda install <packages to add/update> --no-update-deps
conda list --explicit > conda.lock.txt
.- Proceed with installing from the pip lock files.