diff --git a/.github/workflows/selfdrive_tests.yaml b/.github/workflows/selfdrive_tests.yaml index d89ba787b4..31af7b9f0d 100644 --- a/.github/workflows/selfdrive_tests.yaml +++ b/.github/workflows/selfdrive_tests.yaml @@ -126,7 +126,7 @@ jobs: /opt/homebrew/opt /opt/homebrew/Caskroom/gcc-arm-* /Applications/ArmGNUToolchain/*/*/* - key: macos_deps-${{ hashFiles('tools/mac_setup.sh', 'update_requirements.sh', 'poetry.lock') }} + key: macos_deps-${{ hashFiles('tools/mac_setup.sh', 'tools/install_python_dependencies.sh', 'poetry.lock') }} restore-keys: macos_deps- - name: Brew link restored dependencies run: | diff --git a/Dockerfile.openpilot_base b/Dockerfile.openpilot_base index 9af628bd4c..f8b20be351 100644 --- a/Dockerfile.openpilot_base +++ b/Dockerfile.openpilot_base @@ -17,8 +17,8 @@ ENV PYENV_VERSION=3.11.4 ENV PYENV_ROOT="/root/.pyenv" ENV PATH="$PYENV_ROOT/bin:$PYENV_ROOT/shims:$PATH" -COPY pyproject.toml poetry.lock .python-version update_requirements.sh /tmp/ -COPY tools/ubuntu_setup.sh /tmp/tools/ +COPY pyproject.toml poetry.lock .python-version /tmp/ +COPY tools/ubuntu_setup.sh tools/install_python_dependencies.sh /tmp/tools/ RUN cd /tmp && \ tools/ubuntu_setup.sh && \ rm -rf /var/lib/apt/lists/* && \ diff --git a/openpilot/__init__.py b/openpilot/__init__.py index e69de29bb2..b28b04f643 100644 --- a/openpilot/__init__.py +++ b/openpilot/__init__.py @@ -0,0 +1,3 @@ + + + diff --git a/poetry.lock b/poetry.lock index 4cb756d68d..4399a69e99 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e2c9faf439f91a8c58dbfb85e3725bb3094fde5f903ca3c5280bf30df61b651e -size 826466 +oid sha256:6e04d095e34a8f906a3ee501288b4a47d176ecf1c7ec43cbb8601f86cda84780 +size 478413 diff --git a/pyproject.toml b/pyproject.toml index 9d84751a4e..38451501f2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,11 +34,11 @@ hexdump = "*" Jinja2 = "*" json-rpc = "*" libusb1 = "*" -numpy = "==1.23.0" # locked pending deprecation fixes in xx +numpy = "~1.23" # pinned for acados onnx = ">=1.14.0" onnxruntime-gpu = { version = ">=1.15.1", platform = "linux", markers = "platform_machine == 'x86_64'" } pillow = "*" -protobuf = "==3.20.3" +protobuf = "*" psutil = "*" pyaudio = "*" pycapnp = "*" @@ -52,7 +52,7 @@ PyYAML = "*" pyzmq = "*" requests = "*" scons = "*" -sentry-sdk = "~1.28" +sentry-sdk = "==1.28.1" # needs to be updated with AGNOS setproctitle = "*" smbus2 = "*" sounddevice = "*" @@ -89,7 +89,7 @@ mpld3 = "*" mypy = "*" myst-parser = "*" natsort = "*" -opencv-python-headless = { url = "https://github.com/commaai/opencv-python-builder/releases/download/4.5.5.64%2Bcu118-cp311/opencv_python_headless-4.5.5.64-cp311-cp311-manylinux_2_31_x86_64.whl", platform = "linux" } +opencv-python-headless = "*" pandas = "*" parameterized = "^0.8" paramiko = "*" @@ -101,7 +101,7 @@ pyprof2calltree = "*" pytest = "*" pytest-xdist = "*" reverse_geocoder = "*" -scipy = "==1.9.3" # pinned until xx refs changes can be checked +scipy = "*" sphinx = "*" sphinx-rtd-theme = "*" sphinx-sitemap = "*" @@ -116,81 +116,6 @@ types-requests = "*" types-tabulate = "*" -[tool.poetry.group.xx] -optional = true - -[tool.poetry.group.xx.dependencies] -aenum = "*" -aiohttp = "*" -albumentations = "*" -azure-cli-core = "*" -azure-common = "*" -azure-core = "*" -azure-nspkg = "~3.0" -azure-storage-common = "~2.1" -azure-storage-nspkg = "~3.1" -blosc = "==1.9.2" -cloudpickle = "*" -configargparse = "*" -cupy-cuda11x = "*" -datadog = "*" -dotmap = "*" -einops = "*" -elasticsearch = "*" -flake8 = "*" -Flask-Cors = "*" -Flask-SocketIO = "*" -GeoAlchemy2 = "*" -imageio = "*" -influxdb-client = "*" -ipykernel = "*" -ipython = "*" -joblib = "*" -json-logging-py = "*" -jupyter = "*" -jupyterlab = "*" -jupyterlab-vim = "*" -Markdown = "*" -msgpack-python = "*" -networkx = "~2.8" -nvidia-ml-py3 = "*" -onnx2torch = "*" -onnxoptimizer = "*" -osmium = "*" -pillow-avif-plugin = "*" -pipenv = "==2022.10.12" -plotly = "*" -pycuda = "*" -Pygments = "*" -pylint = "*" -PyMySQL = "~0.9" -pyproj = "*" -python-logstash = "*" -redis = "*" -ruff = "*" -s2sphere = "*" -scikit-image = "*" -scikit-learn = "*" -segmentation-models-pytorch = "==0.3.3" -simplejson = "*" -SQLAlchemy = "*" -wrapt = "*" -torch = { url = "https://download.pytorch.org/whl/cu118/torch-2.0.1%2Bcu118-cp311-cp311-linux_x86_64.whl" } -torchsummary = "*" -torchvision = { url = "https://download.pytorch.org/whl/cu118/torchvision-0.15.2%2Bcu118-cp311-cp311-linux_x86_64.whl" } -triton = "*" -Werkzeug = "*" -zerorpc = { git = "https://github.com/commaai/zerorpc-python.git", branch = "master" } -omegaconf = "*" -osmnx = "==1.2.2" -tritonclient = {version = "2.28.0", extras = ["http"]} -transformers = "*" -timm = "==0.9.2" -PyNvCodec = { git = "https://github.com/NVIDIA/VideoProcessingFramework.git" } -apex = { url = "https://github.com/commaai/apex/releases/download/pytorch2.0.1%2Bcu11.8/apex-0.1-cp311-cp311-linux_x86_64.whl" } -opencv-python-headless = { url = "https://github.com/commaai/opencv-python-builder/releases/download/4.5.5.64%2Bcu118-cp311/opencv_python_headless-4.5.5.64-cp311-cp311-manylinux_2_31_x86_64.whl", platform = "linux" } - - [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" diff --git a/update_requirements.sh b/tools/install_python_dependencies.sh similarity index 71% rename from update_requirements.sh rename to tools/install_python_dependencies.sh index c9b49486e5..075dec3bff 100755 --- a/update_requirements.sh +++ b/tools/install_python_dependencies.sh @@ -2,7 +2,8 @@ set -e DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" -cd $DIR +ROOT=$DIR/../ +cd $ROOT RC_FILE="${HOME}/.$(basename ${SHELL})rc" if [ "$(uname)" == "Darwin" ] && [ $SHELL == "/bin/bash" ]; then @@ -32,7 +33,7 @@ fi export MAKEFLAGS="-j$(nproc)" -PYENV_PYTHON_VERSION=$(cat .python-version) +PYENV_PYTHON_VERSION=$(cat $ROOT/.python-version) if ! pyenv prefix ${PYENV_PYTHON_VERSION} &> /dev/null; then # no pyenv update on mac if [ "$(uname)" == "Linux" ]; then @@ -50,32 +51,20 @@ pip install poetry==1.5.1 poetry config virtualenvs.prefer-active-python true --local -if [[ -n "$XX" ]] || [[ "$(basename "$(dirname "$(pwd)")")" == "xx" ]]; then - XX=true -fi - -POETRY_INSTALL_ARGS="--no-cache --no-root" - -if [ -n "$XX" ]; then - echo "WARNING: using xx dependency group, installing globally" - poetry config virtualenvs.create false --local - POETRY_INSTALL_ARGS="$POETRY_INSTALL_ARGS --with xx --sync" -else - echo "PYTHONPATH=${PWD}" > .env - poetry self add poetry-dotenv-plugin@^0.1.0 -fi +echo "PYTHONPATH=${PWD}" > $ROOT/.env +poetry self add poetry-dotenv-plugin@^0.1.0 echo "pip packages install..." -poetry install $POETRY_INSTALL_ARGS +poetry install --no-cache --no-root pyenv rehash -[ -n "$XX" ] || [ -n "$POETRY_VIRTUALENVS_CREATE" ] && RUN="" || RUN="poetry run" +[ -n "$POETRY_VIRTUALENVS_CREATE" ] && RUN="" || RUN="poetry run" if [ "$(uname)" != "Darwin" ]; then echo "pre-commit hooks install..." shopt -s nullglob for f in .pre-commit-config.yaml */.pre-commit-config.yaml; do - if [ -e "$DIR/$(dirname $f)/.git" ]; then + if [ -e "$ROOT/$(dirname $f)/.git" ]; then $RUN pre-commit install -c "$f" fi done diff --git a/tools/mac_setup.sh b/tools/mac_setup.sh index 765cdd5a30..45bdf90383 100755 --- a/tools/mac_setup.sh +++ b/tools/mac_setup.sh @@ -77,7 +77,7 @@ if [ -z "$OPENPILOT_ENV" ] && [ -n "$RC_FILE" ] && [ -z "$CI" ]; then fi # install python dependencies -$ROOT/update_requirements.sh +$DIR/install_python_dependencies.sh eval "$(pyenv init --path)" echo "[ ] installed python dependencies t=$SECONDS" diff --git a/tools/ubuntu_setup.sh b/tools/ubuntu_setup.sh index 63e8fcdf3d..581b785252 100755 --- a/tools/ubuntu_setup.sh +++ b/tools/ubuntu_setup.sh @@ -138,9 +138,8 @@ else exit 1 fi - -# install python dependencies -$ROOT/update_requirements.sh +# python setup +$DIR/install_python_dependencies.sh source ~/.bashrc if [ -z "$OPENPILOT_ENV" ]; then