#!/usr/bin/env bash set -e # Increase the pip timeout to handle TimeoutError export PIP_DEFAULT_TIMEOUT=200 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" ROOT=$DIR/../ cd $ROOT RC_FILE="${HOME}/.$(basename ${SHELL})rc" if [ "$(uname)" == "Darwin" ] && [ $SHELL == "/bin/bash" ]; then RC_FILE="$HOME/.bash_profile" fi if ! command -v "poetry" > /dev/null 2>&1; then echo "installing poetry..." curl -sSL https://install.python-poetry.org | python3 - POETRY_BIN='$HOME/.local/bin' ADD_PATH_CMD="export PATH=\"$POETRY_BIN:\$PATH\"" eval $ADD_PATH_CMD printf "\n#poetry path\n$ADD_PATH_CMD\n" >> $RC_FILE fi poetry config virtualenvs.prefer-active-python true --local poetry config virtualenvs.in-project true --local echo "PYTHONPATH=${PWD}" > $ROOT/.env if [[ "$(uname)" == 'Darwin' ]]; then echo "# msgq doesn't work on mac" >> $ROOT/.env echo "export ZMQ=1" >> $ROOT/.env echo "export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES" >> $ROOT/.env fi poetry self add poetry-dotenv-plugin@^0.1.0 echo "installing python packages..." poetry install --no-cache --no-root [ -n "$POETRY_VIRTUALENVS_CREATE" ] && RUN="" || RUN="poetry run" if [ "$(uname)" != "Darwin" ] && [ -e "$ROOT/.git" ]; then echo "pre-commit hooks install..." $RUN pre-commit install $RUN git submodule foreach pre-commit install fi