From 7415d48ad56e28e7824bc1c3326f77ed5da62311 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Fri, 10 May 2024 02:24:40 -0400 Subject: [PATCH] chore: use uv instead of pip-tools (#1590) Signed-off-by: Henry Schreiner --- .github/workflows/update-dependencies.yml | 10 ++--- README.rst | 7 ++- .../build_scripts/requirements-base-tools.txt | 10 +---- .../requirements-tools/auditwheel | 9 +--- docker/build_scripts/requirements-tools/cmake | 9 +--- .../build_scripts/requirements-tools/patchelf | 9 +--- docker/build_scripts/requirements-tools/swig | 9 +--- docker/build_scripts/requirements3.10.txt | 38 +++++++--------- docker/build_scripts/requirements3.11.txt | 30 ++++--------- docker/build_scripts/requirements3.12.txt | 30 ++++--------- docker/build_scripts/requirements3.13.txt | 30 ++++--------- docker/build_scripts/requirements3.7.txt | 30 ++++--------- docker/build_scripts/requirements3.8.txt | 30 ++++--------- docker/build_scripts/requirements3.9.txt | 30 ++++--------- noxfile.py | 45 ++++++++++--------- 15 files changed, 111 insertions(+), 215 deletions(-) diff --git a/.github/workflows/update-dependencies.yml b/.github/workflows/update-dependencies.yml index 83882d5e..7814fe46 100644 --- a/.github/workflows/update-dependencies.yml +++ b/.github/workflows/update-dependencies.yml @@ -11,14 +11,12 @@ on: jobs: update-dependencies: name: Update dependencies - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: wntrblm/nox@2022.11.21 + - uses: wntrblm/nox@2024.04.15 with: - python-versions: "3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13-dev" - - name: "Allow nox to run with python 3.6" - run: pipx runpip nox install 'virtualenv<20.22.0' + python-versions: "3.12" - name: "Setup bot user" run: | git config --global user.name "manylinux-bot[bot]" @@ -38,7 +36,7 @@ jobs: - name: "Run update downloaded interpreters" run: nox --force-color --error-on-missing-interpreters -s update_interpreters_download - name: "Run update python dependencies" - run: nox --force-color --error-on-missing-interpreters -s update_python_dependencies update_python_tools + run: nox --force-color --error-on-missing-interpreters -s update_python_dependencies - name: Create Pull Request if: github.ref == 'refs/heads/main' && github.repository == 'pypa/manylinux' uses: peter-evans/create-pull-request@v5 diff --git a/README.rst b/README.rst index 042215e0..88c4a0c2 100644 --- a/README.rst +++ b/README.rst @@ -252,11 +252,10 @@ details. Updating the requirements ------------------------- -The requirement files are pinned and controlled by pip-tools compile. To update -the pins, run nox on a Linux system with all supported versions of Python included. -For example, using a docker image: +The requirement files are pinned and controlled by uv compile. To update +the pins, run: - $ docker run --rm -v $PWD:/nox -t quay.io/pypa/manylinux2014_x86_64:latest pipx run nox -f /nox/noxfile.py -s update_python_dependencies update_python_tools + $ nox -s update_python_dependencies Updating the native dependencies -------------------------------- diff --git a/docker/build_scripts/requirements-base-tools.txt b/docker/build_scripts/requirements-base-tools.txt index c0e823a4..2faabb7e 100644 --- a/docker/build_scripts/requirements-base-tools.txt +++ b/docker/build_scripts/requirements-base-tools.txt @@ -1,9 +1,5 @@ -# -# This file is autogenerated by pip-compile with Python 3.10 -# by the following command: -# -# nox -s update_python_tools -# +# This file was autogenerated by uv via the following command: +# nox -s update_python_dependencies argcomplete==3.3.0 \ --hash=sha256:c168c3723482c031df3c207d4ba8fa702717ccb9fc0bfe4117166c1f537b4a54 \ --hash=sha256:fd03ff4a5b9e6580569d34b273f741e85cd9e072f3feeeee3eba4891c70eda62 @@ -11,7 +7,6 @@ argcomplete==3.3.0 \ certifi==2024.2.2 \ --hash=sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f \ --hash=sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1 - # via -r requirements-base-tools.in click==8.1.7 \ --hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \ --hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de @@ -23,7 +18,6 @@ packaging==24.0 \ pipx==1.4.3 \ --hash=sha256:aa25c7a7d455daed7597bb88c259389176680e2e7446fbdb6e6696cdd3a5090b \ --hash=sha256:d214512bccc601b575de096ee84fde8797323717a20752c48f7a55cc1bf062fe - # via -r requirements-base-tools.in platformdirs==4.2.1 \ --hash=sha256:031cd18d4ec63ec53e82dceaac0417d218a6863f7745dfcc9efe7793b7039bdf \ --hash=sha256:17d5a1161b3fd67b390023cb2d3b026bbd40abde6fdb052dfbd3a29c3ba22ee1 diff --git a/docker/build_scripts/requirements-tools/auditwheel b/docker/build_scripts/requirements-tools/auditwheel index 7f943de4..a163c682 100644 --- a/docker/build_scripts/requirements-tools/auditwheel +++ b/docker/build_scripts/requirements-tools/auditwheel @@ -1,13 +1,8 @@ -# -# This file is autogenerated by pip-compile with Python 3.10 -# by the following command: -# -# nox -s update_python_tools -# +# This file was autogenerated by uv via the following command: +# nox -s update_python_dependencies auditwheel==6.0.0 \ --hash=sha256:221793fd4cdcbd70ba5d2b819f0a45fd357da0cf53814d5936d6b9752c2ca6a2 \ --hash=sha256:6422c4ab6421d23e355c91e9946926cd532b9fdf46f2b5ffdaf1abfe9ee29e67 - # via -r .nox/update_python_tools/tmp/auditwheel.in packaging==24.0 \ --hash=sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5 \ --hash=sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9 diff --git a/docker/build_scripts/requirements-tools/cmake b/docker/build_scripts/requirements-tools/cmake index 5a6f1790..62c8610e 100644 --- a/docker/build_scripts/requirements-tools/cmake +++ b/docker/build_scripts/requirements-tools/cmake @@ -1,9 +1,5 @@ -# -# This file is autogenerated by pip-compile with Python 3.10 -# by the following command: -# -# nox -s update_python_tools -# +# This file was autogenerated by uv via the following command: +# nox -s update_python_dependencies cmake==3.29.2 \ --hash=sha256:027eebe9bb74c31759581a543f27bc1828fc76e6fc45b2b48b51f27847904669 \ --hash=sha256:1d40c5451d6467b20a0a6015a5a6b6dc86f61b83f71f935740485b259100a34e \ @@ -22,4 +18,3 @@ cmake==3.29.2 \ --hash=sha256:eeed08932c748647488280dc97ac00bcfeae5d760451105200cfe66c52ce6468 \ --hash=sha256:f1f087985fc2460476b0901716fbddb2fd69b7fe7bf1350e1ab5dc508d22600e \ --hash=sha256:f9e941e73202cfa667ee488d1d88b8a758b516dcfa2a2728e73dbdcbfbdebf57 - # via -r .nox/update_python_tools/tmp/cmake.in diff --git a/docker/build_scripts/requirements-tools/patchelf b/docker/build_scripts/requirements-tools/patchelf index 12fb0e5c..ba206f9d 100644 --- a/docker/build_scripts/requirements-tools/patchelf +++ b/docker/build_scripts/requirements-tools/patchelf @@ -1,9 +1,5 @@ -# -# This file is autogenerated by pip-compile with Python 3.10 -# by the following command: -# -# nox -s update_python_tools -# +# This file was autogenerated by uv via the following command: +# nox -s update_python_dependencies patchelf==0.17.2.1 \ --hash=sha256:3c8d58f0e4c1929b1c7c45ba8da5a84a8f1aa6a82a46e1cfb2e44a4d40f350e5 \ --hash=sha256:a6eb0dd452ce4127d0d5e1eb26515e39186fa609364274bc1b0b77539cfa7031 \ @@ -12,4 +8,3 @@ patchelf==0.17.2.1 \ --hash=sha256:d1a9bc0d4fd80c038523ebdc451a1cce75237cfcc52dbd1aca224578001d5927 \ --hash=sha256:f47b5bdd6885cfb20abdd14c707d26eb6f499a7f52e911865548d4aa43385502 \ --hash=sha256:fc329da0e8f628bd836dfb8eaf523547e342351fa8f739bf2b3fe4a6db5a297c - # via -r .nox/update_python_tools/tmp/patchelf.in diff --git a/docker/build_scripts/requirements-tools/swig b/docker/build_scripts/requirements-tools/swig index 6327c44e..d72bcc0b 100644 --- a/docker/build_scripts/requirements-tools/swig +++ b/docker/build_scripts/requirements-tools/swig @@ -1,9 +1,5 @@ -# -# This file is autogenerated by pip-compile with Python 3.10 -# by the following command: -# -# nox -s update_python_tools -# +# This file was autogenerated by uv via the following command: +# nox -s update_python_dependencies swig==4.2.1 \ --hash=sha256:0cd1812ef95a806eec82ee74b601aa0afd616beffb4227afe090bdc12f690286 \ --hash=sha256:23d2f90145b32e74f7386b5a99168ecd3000fad232530866c2b390325a39da19 \ @@ -21,4 +17,3 @@ swig==4.2.1 \ --hash=sha256:bfe68d1c8294632bc6e9a1be7abfb3daafce0794d8dfa94fbccd6326073124b8 \ --hash=sha256:c7b2db2ccff556dbfc88ef98773b3524b18bc4077ea1d7a5d7339c3a1f3f70dc \ --hash=sha256:cdbb1748132ce99defaf4ebf1736c457fb13788183264af28f17d0d477e109ba - # via -r .nox/update_python_tools/tmp/swig.in diff --git a/docker/build_scripts/requirements3.10.txt b/docker/build_scripts/requirements3.10.txt index a65060a5..9f8587d0 100644 --- a/docker/build_scripts/requirements3.10.txt +++ b/docker/build_scripts/requirements3.10.txt @@ -1,23 +1,26 @@ -# -# This file is autogenerated by pip-compile with Python 3.10 -# by the following command: -# -# nox -s update_python_dependencies-3.10 -# +# This file was autogenerated by uv via the following command: +# nox -s update_python_dependencies build==1.2.1 \ --hash=sha256:526263f4870c26f26c433545579475377b2b7588b6f1eac76a001e873ae3e19d \ --hash=sha256:75e10f767a433d9a86e50d83f418e83efc18ede923ee5ff7df93b6cb0306c5d4 - # via -r requirements.in +importlib-metadata==7.1.0 \ + --hash=sha256:30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570 \ + --hash=sha256:b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2 + # via build packaging==24.0 \ --hash=sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5 \ --hash=sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9 - # via - # -r requirements.in - # build + # via build +pip==24.0 \ + --hash=sha256:ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc \ + --hash=sha256:ea9bd1a847e8c5774a5777bb398c19e80bcd4e2aa16a4b301b718fe6f593aba2 pyproject-hooks==1.1.0 \ --hash=sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965 \ --hash=sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2 # via build +setuptools==69.5.1 \ + --hash=sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987 \ + --hash=sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32 tomli==2.0.1 \ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f @@ -25,14 +28,7 @@ tomli==2.0.1 \ wheel==0.43.0 \ --hash=sha256:465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85 \ --hash=sha256:55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81 - # via -r requirements.in - -# The following packages are considered to be unsafe in a requirements file: -pip==24.0 \ - --hash=sha256:ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc \ - --hash=sha256:ea9bd1a847e8c5774a5777bb398c19e80bcd4e2aa16a4b301b718fe6f593aba2 - # via -r requirements.in -setuptools==69.5.1 \ - --hash=sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987 \ - --hash=sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32 - # via -r requirements.in +zipp==3.18.1 \ + --hash=sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b \ + --hash=sha256:2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715 + # via importlib-metadata diff --git a/docker/build_scripts/requirements3.11.txt b/docker/build_scripts/requirements3.11.txt index 407f72c2..51bd26fd 100644 --- a/docker/build_scripts/requirements3.11.txt +++ b/docker/build_scripts/requirements3.11.txt @@ -1,34 +1,22 @@ -# -# This file is autogenerated by pip-compile with Python 3.11 -# by the following command: -# -# nox -s update_python_dependencies-3.11 -# +# This file was autogenerated by uv via the following command: +# nox -s update_python_dependencies build==1.2.1 \ --hash=sha256:526263f4870c26f26c433545579475377b2b7588b6f1eac76a001e873ae3e19d \ --hash=sha256:75e10f767a433d9a86e50d83f418e83efc18ede923ee5ff7df93b6cb0306c5d4 - # via -r requirements.in packaging==24.0 \ --hash=sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5 \ --hash=sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9 - # via - # -r requirements.in - # build -pyproject-hooks==1.1.0 \ - --hash=sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965 \ - --hash=sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2 # via build -wheel==0.43.0 \ - --hash=sha256:465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85 \ - --hash=sha256:55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81 - # via -r requirements.in - -# The following packages are considered to be unsafe in a requirements file: pip==24.0 \ --hash=sha256:ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc \ --hash=sha256:ea9bd1a847e8c5774a5777bb398c19e80bcd4e2aa16a4b301b718fe6f593aba2 - # via -r requirements.in +pyproject-hooks==1.1.0 \ + --hash=sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965 \ + --hash=sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2 + # via build setuptools==69.5.1 \ --hash=sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987 \ --hash=sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32 - # via -r requirements.in +wheel==0.43.0 \ + --hash=sha256:465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85 \ + --hash=sha256:55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81 diff --git a/docker/build_scripts/requirements3.12.txt b/docker/build_scripts/requirements3.12.txt index 878729ab..51bd26fd 100644 --- a/docker/build_scripts/requirements3.12.txt +++ b/docker/build_scripts/requirements3.12.txt @@ -1,34 +1,22 @@ -# -# This file is autogenerated by pip-compile with Python 3.12 -# by the following command: -# -# nox -s update_python_dependencies-3.12 -# +# This file was autogenerated by uv via the following command: +# nox -s update_python_dependencies build==1.2.1 \ --hash=sha256:526263f4870c26f26c433545579475377b2b7588b6f1eac76a001e873ae3e19d \ --hash=sha256:75e10f767a433d9a86e50d83f418e83efc18ede923ee5ff7df93b6cb0306c5d4 - # via -r requirements.in packaging==24.0 \ --hash=sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5 \ --hash=sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9 - # via - # -r requirements.in - # build -pyproject-hooks==1.1.0 \ - --hash=sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965 \ - --hash=sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2 # via build -wheel==0.43.0 \ - --hash=sha256:465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85 \ - --hash=sha256:55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81 - # via -r requirements.in - -# The following packages are considered to be unsafe in a requirements file: pip==24.0 \ --hash=sha256:ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc \ --hash=sha256:ea9bd1a847e8c5774a5777bb398c19e80bcd4e2aa16a4b301b718fe6f593aba2 - # via -r requirements.in +pyproject-hooks==1.1.0 \ + --hash=sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965 \ + --hash=sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2 + # via build setuptools==69.5.1 \ --hash=sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987 \ --hash=sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32 - # via -r requirements.in +wheel==0.43.0 \ + --hash=sha256:465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85 \ + --hash=sha256:55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81 diff --git a/docker/build_scripts/requirements3.13.txt b/docker/build_scripts/requirements3.13.txt index e8edbe39..51bd26fd 100644 --- a/docker/build_scripts/requirements3.13.txt +++ b/docker/build_scripts/requirements3.13.txt @@ -1,34 +1,22 @@ -# -# This file is autogenerated by pip-compile with Python 3.13 -# by the following command: -# -# nox -s update_python_dependencies-3.13 -# +# This file was autogenerated by uv via the following command: +# nox -s update_python_dependencies build==1.2.1 \ --hash=sha256:526263f4870c26f26c433545579475377b2b7588b6f1eac76a001e873ae3e19d \ --hash=sha256:75e10f767a433d9a86e50d83f418e83efc18ede923ee5ff7df93b6cb0306c5d4 - # via -r requirements.in packaging==24.0 \ --hash=sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5 \ --hash=sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9 - # via - # -r requirements.in - # build -pyproject-hooks==1.1.0 \ - --hash=sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965 \ - --hash=sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2 # via build -wheel==0.43.0 \ - --hash=sha256:465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85 \ - --hash=sha256:55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81 - # via -r requirements.in - -# The following packages are considered to be unsafe in a requirements file: pip==24.0 \ --hash=sha256:ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc \ --hash=sha256:ea9bd1a847e8c5774a5777bb398c19e80bcd4e2aa16a4b301b718fe6f593aba2 - # via -r requirements.in +pyproject-hooks==1.1.0 \ + --hash=sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965 \ + --hash=sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2 + # via build setuptools==69.5.1 \ --hash=sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987 \ --hash=sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32 - # via -r requirements.in +wheel==0.43.0 \ + --hash=sha256:465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85 \ + --hash=sha256:55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81 diff --git a/docker/build_scripts/requirements3.7.txt b/docker/build_scripts/requirements3.7.txt index af147a40..195f43fd 100644 --- a/docker/build_scripts/requirements3.7.txt +++ b/docker/build_scripts/requirements3.7.txt @@ -1,13 +1,8 @@ -# -# This file is autogenerated by pip-compile with Python 3.7 -# by the following command: -# -# nox -s update_python_dependencies-3.7 -# +# This file was autogenerated by uv via the following command: +# nox -s update_python_dependencies build==1.1.1 \ --hash=sha256:8ed0851ee76e6e38adce47e4bee3b51c771d86c64cf578d0c2245567ee200e73 \ --hash=sha256:8eea65bb45b1aac2e734ba2cc8dad3a6d97d97901a395bd0ed3e7b46953d2a31 - # via -r requirements.in importlib-metadata==6.7.0 \ --hash=sha256:1aaf550d4f73e5d6783e7acb77aec43d49da8017410afae93822cc9cca98c4d4 \ --hash=sha256:cb52082e659e97afc5dac71e79de97d8681de3aa07ff18578330904a9d18e5b5 @@ -15,13 +10,17 @@ importlib-metadata==6.7.0 \ packaging==24.0 \ --hash=sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5 \ --hash=sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9 - # via - # -r requirements.in - # build + # via build +pip==24.0 \ + --hash=sha256:ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc \ + --hash=sha256:ea9bd1a847e8c5774a5777bb398c19e80bcd4e2aa16a4b301b718fe6f593aba2 pyproject-hooks==1.1.0 \ --hash=sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965 \ --hash=sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2 # via build +setuptools==68.0.0 \ + --hash=sha256:11e52c67415a381d10d6b462ced9cfb97066179f0e871399e006c4ab101fc85f \ + --hash=sha256:baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235 tomli==2.0.1 \ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f @@ -33,18 +32,7 @@ typing-extensions==4.7.1 \ wheel==0.42.0 \ --hash=sha256:177f9c9b0d45c47873b619f5b650346d632cdc35fb5e4d25058e09c9e581433d \ --hash=sha256:c45be39f7882c9d34243236f2d63cbd58039e360f85d0913425fbd7ceea617a8 - # via -r requirements.in zipp==3.15.0 \ --hash=sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b \ --hash=sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556 # via importlib-metadata - -# The following packages are considered to be unsafe in a requirements file: -pip==24.0 \ - --hash=sha256:ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc \ - --hash=sha256:ea9bd1a847e8c5774a5777bb398c19e80bcd4e2aa16a4b301b718fe6f593aba2 - # via -r requirements.in -setuptools==68.0.0 \ - --hash=sha256:11e52c67415a381d10d6b462ced9cfb97066179f0e871399e006c4ab101fc85f \ - --hash=sha256:baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235 - # via -r requirements.in diff --git a/docker/build_scripts/requirements3.8.txt b/docker/build_scripts/requirements3.8.txt index b88cf05f..9f8587d0 100644 --- a/docker/build_scripts/requirements3.8.txt +++ b/docker/build_scripts/requirements3.8.txt @@ -1,13 +1,8 @@ -# -# This file is autogenerated by pip-compile with Python 3.8 -# by the following command: -# -# nox -s update_python_dependencies-3.8 -# +# This file was autogenerated by uv via the following command: +# nox -s update_python_dependencies build==1.2.1 \ --hash=sha256:526263f4870c26f26c433545579475377b2b7588b6f1eac76a001e873ae3e19d \ --hash=sha256:75e10f767a433d9a86e50d83f418e83efc18ede923ee5ff7df93b6cb0306c5d4 - # via -r requirements.in importlib-metadata==7.1.0 \ --hash=sha256:30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570 \ --hash=sha256:b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2 @@ -15,13 +10,17 @@ importlib-metadata==7.1.0 \ packaging==24.0 \ --hash=sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5 \ --hash=sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9 - # via - # -r requirements.in - # build + # via build +pip==24.0 \ + --hash=sha256:ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc \ + --hash=sha256:ea9bd1a847e8c5774a5777bb398c19e80bcd4e2aa16a4b301b718fe6f593aba2 pyproject-hooks==1.1.0 \ --hash=sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965 \ --hash=sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2 # via build +setuptools==69.5.1 \ + --hash=sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987 \ + --hash=sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32 tomli==2.0.1 \ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f @@ -29,18 +28,7 @@ tomli==2.0.1 \ wheel==0.43.0 \ --hash=sha256:465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85 \ --hash=sha256:55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81 - # via -r requirements.in zipp==3.18.1 \ --hash=sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b \ --hash=sha256:2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715 # via importlib-metadata - -# The following packages are considered to be unsafe in a requirements file: -pip==24.0 \ - --hash=sha256:ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc \ - --hash=sha256:ea9bd1a847e8c5774a5777bb398c19e80bcd4e2aa16a4b301b718fe6f593aba2 - # via -r requirements.in -setuptools==69.5.1 \ - --hash=sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987 \ - --hash=sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32 - # via -r requirements.in diff --git a/docker/build_scripts/requirements3.9.txt b/docker/build_scripts/requirements3.9.txt index a9f8ab85..9f8587d0 100644 --- a/docker/build_scripts/requirements3.9.txt +++ b/docker/build_scripts/requirements3.9.txt @@ -1,13 +1,8 @@ -# -# This file is autogenerated by pip-compile with Python 3.9 -# by the following command: -# -# nox -s update_python_dependencies-3.9 -# +# This file was autogenerated by uv via the following command: +# nox -s update_python_dependencies build==1.2.1 \ --hash=sha256:526263f4870c26f26c433545579475377b2b7588b6f1eac76a001e873ae3e19d \ --hash=sha256:75e10f767a433d9a86e50d83f418e83efc18ede923ee5ff7df93b6cb0306c5d4 - # via -r requirements.in importlib-metadata==7.1.0 \ --hash=sha256:30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570 \ --hash=sha256:b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2 @@ -15,13 +10,17 @@ importlib-metadata==7.1.0 \ packaging==24.0 \ --hash=sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5 \ --hash=sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9 - # via - # -r requirements.in - # build + # via build +pip==24.0 \ + --hash=sha256:ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc \ + --hash=sha256:ea9bd1a847e8c5774a5777bb398c19e80bcd4e2aa16a4b301b718fe6f593aba2 pyproject-hooks==1.1.0 \ --hash=sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965 \ --hash=sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2 # via build +setuptools==69.5.1 \ + --hash=sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987 \ + --hash=sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32 tomli==2.0.1 \ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f @@ -29,18 +28,7 @@ tomli==2.0.1 \ wheel==0.43.0 \ --hash=sha256:465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85 \ --hash=sha256:55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81 - # via -r requirements.in zipp==3.18.1 \ --hash=sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b \ --hash=sha256:2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715 # via importlib-metadata - -# The following packages are considered to be unsafe in a requirements file: -pip==24.0 \ - --hash=sha256:ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc \ - --hash=sha256:ea9bd1a847e8c5774a5777bb398c19e80bcd4e2aa16a4b301b718fe6f593aba2 - # via -r requirements.in -setuptools==69.5.1 \ - --hash=sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987 \ - --hash=sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32 - # via -r requirements.in diff --git a/noxfile.py b/noxfile.py index a10b238a..b0e4c0be 100644 --- a/noxfile.py +++ b/noxfile.py @@ -5,34 +5,34 @@ import nox -@nox.session(python=["3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]) +@nox.session def update_python_dependencies(session): - session.install("pip-tools") + if getattr(session.virtualenv, "venv_backend", "") != "uv": + session.install("uv>=0.1.23") + env = os.environ.copy() # CUSTOM_COMPILE_COMMAND is a pip-compile option that tells users how to # regenerate the constraints files - env["CUSTOM_COMPILE_COMMAND"] = f"nox -s {session.name}" - session.run( - "pip-compile", - "--generate-hashes", - "requirements.in", - "--allow-unsafe", - "--upgrade", - "--output-file", - f"docker/build_scripts/requirements{session.python}.txt", - env=env, - ) + env["UV_CUSTOM_COMPILE_COMMAND"] = f"nox -s {session.name}" + for python_minor in range(7, 14): + python_version = f"3.{python_minor}" + session.run( + "uv", "pip", "compile", + f"--python-version={python_version}", + "--generate-hashes", + "requirements.in", + "--upgrade", + "--output-file", + f"docker/build_scripts/requirements{python_version}.txt", + env=env, + ) -@nox.session(python="3.10") -def update_python_tools(session): - session.install("pip-tools") - env = os.environ.copy() - # CUSTOM_COMPILE_COMMAND is a pip-compile option that tells users how to - # regenerate the constraints files - env["CUSTOM_COMPILE_COMMAND"] = f"nox -s {session.name}" + # tools + python_version = "3.10" session.run( - "pip-compile", + "uv", "pip", "compile", + f"--python-version={python_version}", "--generate-hashes", "requirements-base-tools.in", "--upgrade", @@ -47,7 +47,8 @@ def update_python_tools(session): tmp_file = Path(session.create_tmp()) / f"{tool}.in" tmp_file.write_text(f"{tool}\n") session.run( - "pip-compile", + "uv", "pip", "compile", + f"--python-version={python_version}", "--generate-hashes", str(tmp_file), "--upgrade",