This is an automated email from the ASF dual-hosted git repository. potiuk pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push: new 8895a8a728 Refresh dependencies for Breeze to latest ones (#35510) 8895a8a728 is described below commit 8895a8a72897ebc8bedd78e7a16216b18bdafb9c Author: Jarek Potiuk <ja...@potiuk.com> AuthorDate: Tue Nov 7 21:32:56 2023 +0100 Refresh dependencies for Breeze to latest ones (#35510) Seems that if you have some older dependencies they might have problems with newer configurations (for example pre-commit). Since Breeze has it's own, isolated virtualenv managed by pipx, we can safely install latest versions of dependencies without being afraid of conflicts (Breeze environment is fully isolated so it has nothing to conflict with). This PR updates minimum versions for all dependencies of Breeze to latest non-conflicting versions of those. Since Breeze has the self-upgrade mechanism built in, it should detect and reinstall itself for everyone who checks out the latest main and runs breeze command. --- BREEZE.rst | 5 ++++- CONTRIBUTORS_QUICK_START.rst | 4 +++- Dockerfile.ci | 2 +- dev/breeze/README.md | 2 +- dev/breeze/setup.cfg | 38 ++++++++++++++++++------------------ scripts/ci/install_breeze.sh | 2 +- scripts/docker/install_pipx_tools.sh | 2 +- scripts/tools/setup_breeze | 4 ++-- 8 files changed, 32 insertions(+), 27 deletions(-) diff --git a/BREEZE.rst b/BREEZE.rst index 1b8722a6ea..0abb43e9c6 100644 --- a/BREEZE.rst +++ b/BREEZE.rst @@ -175,11 +175,14 @@ The pipx tool We are using ``pipx`` tool to install and manage Breeze. The ``pipx`` tool is created by the creators of ``pip`` from `Python Packaging Authority <https://www.pypa.io/en/latest/>`_ +Note that ``pipx`` >= 1.2.1 is needed in order to deal with breaking ``packaging`` release in September +2023 that broke earlier versions of ``pipx``. + Install pipx .. code-block:: bash - pip install --user pipx + pip install --user "pipx>=1.2.1" Breeze, is not globally accessible until your PATH is updated. Add <USER FOLDER>\.local\bin as a variable environments. This can be done automatically by the following command (follow instructions printed). diff --git a/CONTRIBUTORS_QUICK_START.rst b/CONTRIBUTORS_QUICK_START.rst index 3a414b2954..0d216d458e 100644 --- a/CONTRIBUTORS_QUICK_START.rst +++ b/CONTRIBUTORS_QUICK_START.rst @@ -269,7 +269,9 @@ see in CI in your local environment. Setting up Breeze ----------------- -1. Install ``pipx`` - follow the instructions in `Install pipx <https://pypa.github.io/pipx/>`_ +1. Install ``pipx`` (>=1.2.1) - follow the instructions in `Install pipx <https://pypa.github.io/pipx/>`_ + It is important to install version of pipx > 1.2.1 to workaround ``packaging`` breaking change introduced + in September 2023. 2. Run ``pipx install -e ./dev/breeze`` in your checked-out repository. Make sure to follow any instructions printed by ``pipx`` during the installation - this is needed to make sure that ``breeze`` command is diff --git a/Dockerfile.ci b/Dockerfile.ci index d8619e1c5a..45a1166070 100644 --- a/Dockerfile.ci +++ b/Dockerfile.ci @@ -569,7 +569,7 @@ function install_pipx_tools() { echo "${COLOR_BLUE}Installing pipx tools${COLOR_RESET}" echo # Make sure PIPX is installed in latest version - pip install --root-user-action ignore --upgrade pipx + pip install --root-user-action ignore --upgrade "pipx>=1.2.1" if [[ $(uname -m) != "aarch64" ]]; then # Do not install mssql-cli for ARM # Install all the tools we need available in command line but without impacting the current environment diff --git a/dev/breeze/README.md b/dev/breeze/README.md index f2c4474cce..a5d495bb15 100644 --- a/dev/breeze/README.md +++ b/dev/breeze/README.md @@ -66,6 +66,6 @@ PLEASE DO NOT MODIFY THE HASH BELOW! IT IS AUTOMATICALLY UPDATED BY PRE-COMMIT. --------------------------------------------------------------------------------------------------------- -Package config hash: 1fe676b16075afde8bd7dd88b92b3e587b12927337a0edfcc8f751a7d400b772e300d64084f02e4c76e5bb5f2f349a23729258ec457bcb0b94f180ef19ffb154 +Package config hash: abef89e76b6c1cbfe37d4a083a9e75259d0169662c666c9e2549ca91ddf12d9f1274a4c7ab44e999619c0aaf9fdb56f299397e8c528fafbc94caf45f7cc70ad9 --------------------------------------------------------------------------------------------------------- diff --git a/dev/breeze/setup.cfg b/dev/breeze/setup.cfg index 617e855659..9c163b288e 100644 --- a/dev/breeze/setup.cfg +++ b/dev/breeze/setup.cfg @@ -55,26 +55,26 @@ package_dir= =src packages = find: install_requires = - click - filelock - inputimeout - jinja2 - packaging==23.1 - pendulum - pre-commit - psutil - pytest - pytest-xdist - pyyaml - PyGithub - requests + click>=8.1.7 + filelock>=3.13.0 + inputimeout>=1.0.4 + jinja2>=3.1.0 + packaging>=23.2 + pendulum>=2.1.2,<3 + pre-commit>=3.5.0 + psutil>=5.9.6 + pytest>=7.4.0 + pytest-xdist>=3.3.1 + pyyaml>=6.0.1 + PyGithub>=2.1.1 + requests>=2.30.0 rich>=13.6.0 - rich-click>=1.7.0 - gitpython - twine - wheel - setuptools - jsonschema + rich-click>=1.7.1 + gitpython>=3.1.40 + twine>=4.0.2 + wheel>=0.41.3 + setuptools>=68.2.2 + jsonschema>=4.19.1 [options.packages.find] where=src diff --git a/scripts/ci/install_breeze.sh b/scripts/ci/install_breeze.sh index 7a0e7a927b..d07ef765c6 100755 --- a/scripts/ci/install_breeze.sh +++ b/scripts/ci/install_breeze.sh @@ -19,6 +19,6 @@ set -euxo pipefail cd "$( dirname "${BASH_SOURCE[0]}" )/../../" -python -m pip install pipx packaging==23.1 +python -m pip install "pipx>=1.2.1" python -m pipx install --editable ./dev/breeze/ --force echo '/home/runner/.local/bin' >> "${GITHUB_PATH}" diff --git a/scripts/docker/install_pipx_tools.sh b/scripts/docker/install_pipx_tools.sh index 47f5cd5854..2207db994d 100644 --- a/scripts/docker/install_pipx_tools.sh +++ b/scripts/docker/install_pipx_tools.sh @@ -24,7 +24,7 @@ function install_pipx_tools() { echo "${COLOR_BLUE}Installing pipx tools${COLOR_RESET}" echo # Make sure PIPX is installed in latest version - pip install --root-user-action ignore --upgrade pipx + pip install --root-user-action ignore --upgrade "pipx>=1.2.1" if [[ $(uname -m) != "aarch64" ]]; then # Do not install mssql-cli for ARM # Install all the tools we need available in command line but without impacting the current environment diff --git a/scripts/tools/setup_breeze b/scripts/tools/setup_breeze index b8ef210594..c740b6b4b9 100755 --- a/scripts/tools/setup_breeze +++ b/scripts/tools/setup_breeze @@ -31,7 +31,7 @@ function manual_instructions() { echo echo "${COLOR_BLUE}Please run those commands manually (you might need to restart shell between them)${COLOR_RESET}" echo - echo " python -m pip install pipx" + echo " python -m pip install \"pipx>=1.2.1\"" echo " pipx ensurepath" echo " pipx install -e '${AIRFLOW_SOURCES}/dev/breeze/'" echo " breeze setup autocomplete --force" @@ -54,7 +54,7 @@ function check_breeze_installed() { echo "${COLOR_RED}The 'pipx' is not on path. It should be installed and 'pipx' should be available on your PATH.${COLOR_RESET}" export TIMEOUT=0 if "${MY_DIR}/confirm" "Installing pipx?"; then - python -m pip install pipx --upgrade + python -m pip install "pipx>=1.2.1" --upgrade echo echo "${COLOR_YELLOW}Please close and re-open the shell and retry. You might need to add 'pipx' to the PATH!${COLOR_RESET}" echo