Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pip does not apply packages' constraints to same package with extras #11924

Closed
1 task done
sanderr opened this issue Apr 5, 2023 · 14 comments · Fixed by #12095
Closed
1 task done

pip does not apply packages' constraints to same package with extras #11924

sanderr opened this issue Apr 5, 2023 · 14 comments · Fixed by #12095
Labels
C: dependency resolution About choosing which dependencies to install type: performance Commands take too long to run

Comments

@sanderr
Copy link
Contributor

sanderr commented Apr 5, 2023

Description

When a requirements list contains both mypackage<some_constraint> and my_package[my_extra], the two seem to be treated separately, without applying the constraint to my_package[my_extra]. In the end, pip does manage to find a correct set of packages but this may involve unnecessary backtracking that (I think) could be easily avoided.

Consider the package inmanta-core. It has an extra named pytest-inmanta-extensions, which is strongly tied to it by version. It constraints the pytest-inmanta-extensions package to be the same version as inmanta-core itself (see here).

I tried the following: pip download "inmanta-core==6.0.0" "inmanta-core[pytest-inmanta-extensions]", expecting it to trivially find the appropriate versions. Alas, it seems to pick the trivial candidate for inmanta-core, but then pick a different (incorrect) candidate for inmanta-core[pytest-inmanta-extesions]. This later results in backtracking on the latter until it stumbles on the correct version. In this case it has to backtrack over some ten versions, trying it with dev versions (e.g. with --pre and our internal index) is way worse.

Since the package with and without extra have the same base, I would think constraints can be shared safely.

I think the cause may be related to #11913 (comment), but I haven't dug deep enough in the pip internals to know for sure.

Expected behavior

See description

pip version

23.0.1 and main (81f6a9f)

Python version

3.9.15

OS

Linux

How to Reproduce

pip download "inmanta-core==6.0.0" "inmanta-core[pytest-inmanta-extensions]"

Output

Collecting inmanta-core==6.0.0
  File was already downloaded /home/sander/.virtualenvs/tmp-6fecb770122ef28/inmanta-core-6.0.0.tar.gz
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting inmanta-core[pytest-inmanta-extensions]
  Using cached inmanta_core-8.2.0-py3-none-any.whl (619 kB)
...
<unrelated output>
...
Collecting inmanta-core[pytest-inmanta-extensions]
  Using cached inmanta_core-8.1.0-py3-none-any.whl (619 kB)
  Using cached inmanta_core-8.0.0-py3-none-any.whl (591 kB)
  Using cached inmanta_core-7.1.0-py3-none-any.whl (592 kB)
  Using cached inmanta_core-7.0.0-py3-none-any.whl (571 kB)
  Using cached inmanta_core-6.4.1-py3-none-any.whl (594 kB)
  Using cached inmanta_core-6.4.0-py3-none-any.whl (593 kB)
  Using cached inmanta_core-6.3.0-py3-none-any.whl (592 kB)
  Using cached inmanta_core-6.2.0-py3-none-any.whl (571 kB)
  Using cached inmanta_core-6.1.0-py3-none-any.whl (543 kB)
  Using cached inmanta_core-6.0.2-py3-none-any.whl (515 kB)
  Using cached inmanta_core-6.0.1-py3-none-any.whl (515 kB)
Collecting pytest-inmanta-extensions~=6.0.0.0.dev
  File was already downloaded /home/sander/.virtualenvs/tmp-6fecb770122ef28/pytest-inmanta-extensions-6.0.0.tar.gz
  Preparing metadata (setup.py) ... done

Code of Conduct

@sanderr sanderr added S: needs triage Issues/PRs that need to be triaged type: bug A confirmed bug or unintended behavior labels Apr 5, 2023
@pfmoore pfmoore added type: performance Commands take too long to run and removed type: bug A confirmed bug or unintended behavior S: needs triage Issues/PRs that need to be triaged labels Apr 5, 2023
@pfmoore
Copy link
Member

pfmoore commented Apr 5, 2023

This is essentially by design, based on the comment you linked. I don't believe it will ever result in an incorrect resolution, although I guess that as you say it may cause some unnecessary backtracking. I think this is a fairly rare case, though - the situation you describe where the versions of the extra dependencies and the main package are tightly coupled seems unusual.

I don't think this is a bug, as it doesn't cause incorrect behaviour.

Having said that, if someone were to produce a PR to improve this, it would definitely be considered. But be aware, extras are extremely tricky to handle correctly, so this will not be simple to address.

@sanderr
Copy link
Contributor Author

sanderr commented Apr 5, 2023

the situation you describe where the versions of the extra dependencies and the main package are tightly coupled seems unusual.

I have to agree with that, I think this is a rare case. I do think similar issues can occur in more common scenarios but I expect the backtracking to be more contained there.

I assumed this to be an easy thing to address, I guess I was wrong about that. After reading the comment once more I think I understand why. I'll try to have a look at the current implementation and see if I can come up with something that doesn't break compatibility.

@notatallshaw
Copy link
Member

Am I correct in thinking that "inmanta-core==6.0.0" "inmanta-core[pytest-inmanta-extensions]" is functionally equivalent to "inmanta-core[pytest-inmanta-extensions]==6.0.0”.

Pip (or your own requirements build process) could have a step that "simplifies" user requirements before resolution even starts. This however would not improve things when such requirements are part of transitive dependencies, at that point applying such simplifications on requirements probably would be quite tricky.

@sanderr
Copy link
Contributor Author

sanderr commented Apr 5, 2023

I was considering the same and I think it could already be an improvement if a more generic solution can not be found. But the use case that led me to create this ticket is as you describe (the constraint on the package without extra is a transitive dependency), so indeed it is not feasible there.

@sanderr
Copy link
Contributor Author

sanderr commented Apr 6, 2023

I just realized this isn't actually affected by the unconventional coupling between the two packages I mentioned in the initial report. It occurs for any package with an extra if you want to install an older version:

in(tmp-37e9a3aa0746e4e) sander@bedevere:~/.virtualenvs/tmp-37e9a3aa0746e4e$ pip download resolvelib==0.3.0 resolvelib[examples]
Collecting resolvelib==0.3.0
  Downloading resolvelib-0.3.0-py2.py3-none-any.whl (10 kB)
Collecting resolvelib[examples]
  Downloading resolvelib-1.0.1-py2.py3-none-any.whl (17 kB)
  Downloading resolvelib-1.0.0-py2.py3-none-any.whl (17 kB)
  Downloading resolvelib-0.9.0-py2.py3-none-any.whl (16 kB)
  Downloading resolvelib-0.8.1-py2.py3-none-any.whl (16 kB)
  Downloading resolvelib-0.8.0-py2.py3-none-any.whl (15 kB)
  Using cached resolvelib-0.7.1-py2.py3-none-any.whl (15 kB)
  Downloading resolvelib-0.7.0-py2.py3-none-any.whl (15 kB)
  Using cached resolvelib-0.6.0-py2.py3-none-any.whl (15 kB)
  Downloading resolvelib-0.5.4-py2.py3-none-any.whl (12 kB)
  Downloading resolvelib-0.5.3-py2.py3-none-any.whl (12 kB)
  Downloading resolvelib-0.5.2-py2.py3-none-any.whl (12 kB)
  Downloading resolvelib-0.5.1-py2.py3-none-any.whl (11 kB)
  Downloading resolvelib-0.4.0-py2.py3-none-any.whl (11 kB)
Collecting requests
  Using cached requests-2.28.2-py3-none-any.whl (62 kB)
Collecting html5lib
  Using cached html5lib-1.1-py2.py3-none-any.whl (112 kB)
Collecting packaging
  Using cached packaging-23.0-py3-none-any.whl (42 kB)
Collecting six>=1.9
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting webencodings
  Using cached webencodings-0.5.1-py2.py3-none-any.whl (11 kB)
Collecting urllib3<1.27,>=1.21.1
  Using cached urllib3-1.26.15-py2.py3-none-any.whl (140 kB)
Collecting idna<4,>=2.5
  Using cached idna-3.4-py3-none-any.whl (61 kB)
Collecting charset-normalizer<4,>=2
  Using cached charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (199 kB)
Collecting certifi>=2017.4.17
  Using cached certifi-2022.12.7-py3-none-any.whl (155 kB)
Saved ./resolvelib-0.3.0-py2.py3-none-any.whl
Saved ./html5lib-1.1-py2.py3-none-any.whl
Saved ./packaging-23.0-py3-none-any.whl
Saved ./requests-2.28.2-py3-none-any.whl
Saved ./certifi-2022.12.7-py3-none-any.whl
Saved ./charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Saved ./idna-3.4-py3-none-any.whl
Saved ./six-1.16.0-py2.py3-none-any.whl
Saved ./urllib3-1.26.15-py2.py3-none-any.whl
Saved ./webencodings-0.5.1-py2.py3-none-any.whl
Successfully downloaded resolvelib html5lib packaging requests certifi charset-normalizer idna six urllib3 webencodings

This is of course a ridiculous example (it's just the first simple package I could think of that I know has extras) but I think it shows this is a more generic issue than discussed up till here. Any package with an extra that needs to maintain some sort of LTS on its older versions is susceptible to this.

Of course, this doesn't change the fact that the end result is still correct (unless a dev version is requested on one of the requirements, pip doesn't offer dev candidates for the other in that case) and that it would be difficult to handle correctly.

@nijel
Copy link

nijel commented Apr 12, 2023

This can lead to huge backtracking without providing a clear error where the problem is. I was just hit by this in WeblateOrg/docker#1788 (log at https://github.com/WeblateOrg/docker/actions/runs/4666399591/jobs/8260949502?pr=1788 or in details below).

The problem in this case is that backtracking went into many packages and ended up saying the issue is in celery constraints, while it is actually in Django ones (which the pull request is trying to upgrade).

Reproducer: pip install 'Django==4.2' 'Weblate==4.16.4' 'celery==5.2.7'

Fails after a lot of backtracking with:

ERROR: Cannot install celery==5.2.7, celery[redis]==5.2.3, celery[redis]==5.2.4 and celery[redis]==5.2.6 because these package versions have conflicting dependencies.

The conflict is caused by:
    The user requested celery==5.2.7
    celery[redis] 5.2.6 depends on celery 5.2.6 (from https://files.pythonhosted.org/packages/a0/ed/8a2e381aa9fa6fa5ac6891b0b472e927892f57a39842eff18cc917ceba57/celery-5.2.6-py3-none-any.whl (from https://pypi.org/simple/celery/) (requires-python:>=3.7,))
    The user requested celery==5.2.7
    celery[redis] 5.2.4 depends on celery 5.2.4 (from https://files.pythonhosted.org/packages/9d/a2/77d4bf33786dba473218067527ec40002cdaeed3599e5377e0f32143bba2/celery-5.2.4-py3-none-any.whl (from https://pypi.org/simple/celery/) (requires-python:>=3.7,))
    The user requested celery==5.2.7
    celery[redis] 5.2.3 depends on celery 5.2.3 (from https://files.pythonhosted.org/packages/1e/c2/52a01d3f53ddf57c80b011714dd63295c69426121d35d0ff41976b83506c/celery-5.2.3-py3-none-any.whl (from https://pypi.org/simple/celery/) (requires-python:>=3.7,))

While I'd actually expect something like this:

ERROR: Cannot install Django[argon2]<4.2 and >=3.2 and Django==4.2 because these package versions have conflicting dependencies.

The conflict is caused by:
    Weblate 4.16.4 depends on Django[argon2]<4.2 and >=3.2
    The user requested Django==4.2
+ pip install --no-cache-dir -r /usr/src/weblate/requirements.txt 'Weblate[all,MySQL,zxcvbn]==4.16.4'
Collecting https://github.com/nijel/supervisor-stdout/archive/c909c1a1ddabaf679dc2eaecb3b8f5ad6bef467a.zip (from -r /usr/src/weblate/requirements.txt (line 27))
  Downloading https://github.com/nijel/supervisor-stdout/archive/c909c1a1ddabaf679dc2eaecb3b8f5ad6bef467a.zip
     - 2.6 kB ? 0:00:00
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting Weblate[MySQL,all,zxcvbn]==4.16.4
  Downloading Weblate-4.16.4-py3-none-any.whl (28.6 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 28.6/28.6 MB 199.4 MB/s eta 0:00:00
Collecting aeidon==1.12
  Downloading aeidon-1.12-py3-none-any.whl (148 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 148.7/148.7 kB 253.1 MB/s eta 0:00:00
Collecting argon2-cffi==21.3.0
  Downloading argon2_cffi-21.3.0-py3-none-any.whl (14 kB)
Collecting borgbackup==1.2.4
  Downloading borgbackup-1.2.4.tar.gz (4.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.1/4.1 MB 227.8 MB/s eta 0:00:00
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Installing backend dependencies: started
  Installing backend dependencies: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting celery==5.2.7
  Downloading celery-5.2.7-py3-none-any.whl (405 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 405.6/405.6 kB 247.9 MB/s eta 0:00:00
Requirement already satisfied: cffi==1.15.1 in /usr/local/lib/python3.11/site-packages (from -r /usr/src/weblate/requirements.txt (line 6)) (1.15.1)
Collecting cryptography==40.0.1
  Downloading cryptography-40.0.1-cp36-abi3-manylinux_2_28_x86_64.whl (3.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.7/3.7 MB 248.3 MB/s eta 0:00:00
Collecting Django==4.2
  Downloading Django-4.2-py3-none-any.whl (8.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.0/8.0 MB 242.4 MB/s eta 0:00:00
Collecting django-appconf==1.0.5
  Downloading django_appconf-1.0.5-py3-none-any.whl (6.4 kB)
Collecting django-auth-ldap==4.1.0
  Downloading django_auth_ldap-4.1.0-py3-none-any.whl (20 kB)
Collecting django-cors-headers==3.14.0
  Downloading django_cors_headers-3.14.0-py3-none-any.whl (13 kB)
Collecting django-crispy-forms==2.0
  Downloading django_crispy_forms-2.0-py3-none-any.whl (31 kB)
Collecting django-redis==5.2.0
  Downloading django_redis-5.2.0-py3-none-any.whl (30 kB)
Collecting django_compressor==4.3.1
  Downloading django_compressor-4.3.1-py2.py3-none-any.whl (148 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 149.0/149.0 kB 229.4 MB/s eta 0:00:00
Collecting djangorestframework==3.14.0
  Downloading djangorestframework-3.14.0-py3-none-any.whl (1.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 271.1 MB/s eta 0:00:00
Collecting gevent==22.10.2
  Downloading gevent-22.10.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.8 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.8/6.8 MB 247.4 MB/s eta 0:00:00
Collecting git-review==2.3.1
  Downloading git_review-2.3.1-py3-none-any.whl (49 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 49.4/49.4 kB 131.6 MB/s eta 0:00:00
Collecting gunicorn==20.1.0
  Downloading gunicorn-20.1.0-py3-none-any.whl (79 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 79.5/79.5 kB 144.8 MB/s eta 0:00:00
Collecting hiredis==2.2.2
  Downloading hiredis-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (166 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 166.0/166.0 kB 162.2 MB/s eta 0:00:00
Collecting httpretty==1.1.4
  Downloading httpretty-1.1.4.tar.gz (442 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 442.4/442.4 kB 229.4 MB/s eta 0:00:00
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting iniparse==0.5
  Downloading iniparse-0.5-py3-none-any.whl (24 kB)
Requirement already satisfied: lxml==4.9.2 in /usr/local/lib/python3.11/site-packages (from -r /usr/src/weblate/requirements.txt (line 29)) (4.9.2)
Collecting mercurial==6.4
  Downloading mercurial-6.4.tar.gz (8.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.2/8.2 MB 236.2 MB/s eta 0:00:00
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting nh3==0.2.9
  Downloading nh3-0.2.9-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 229.6 MB/s eta 0:00:00
Collecting openpyxl==3.1.2
  Downloading openpyxl-3.1.2-py2.py3-none-any.whl (249 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 250.0/250.0 kB 271.9 MB/s eta 0:00:00
Collecting phply==1.2.6
  Downloading phply-1.2.6-py2.py3-none-any.whl (74 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 74.6/74.6 kB 182.2 MB/s eta 0:00:00
Requirement already satisfied: pip==23.0.1 in /usr/local/lib/python3.11/site-packages (from -r /usr/src/weblate/requirements.txt (line 34)) (23.0.1)
Collecting psycopg2==2.9.6
  Downloading psycopg2-2.9.6.tar.gz (383 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 384.0/384.0 kB 216.2 MB/s eta 0:00:00
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting Pygments==2.15.0
  Downloading Pygments-2.15.0-py3-none-any.whl (1.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 256.8 MB/s eta 0:00:00
Collecting python-akismet==0.4.3
  Downloading python_akismet-0.4.3-py2.py3-none-any.whl (7.1 kB)
Collecting python-dateutil==2.8.2
  Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 247.7/247.7 kB 227.7 MB/s eta 0:00:00
Collecting python3-saml==1.15.0
  Downloading python3_saml-1.15.0-py3-none-any.whl (76 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 76.0/76.0 kB 222.8 MB/s eta 0:00:00
Collecting pyuca==1.2
  Downloading pyuca-1.2-py2.py3-none-any.whl (1.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 215.6 MB/s eta 0:00:00
Collecting rapidfuzz==2.15.1
  Downloading rapidfuzz-2.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.0/3.0 MB 225.5 MB/s eta 0:00:00
Collecting raven
  Downloading raven-6.10.0-py2.py3-none-any.whl (284 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 284.3/284.3 kB 274.4 MB/s eta 0:00:00
Collecting redis==4.5.4
  Downloading redis-4.5.4-py3-none-any.whl (238 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 238.9/238.9 kB 268.2 MB/s eta 0:00:00
Collecting responses
  Downloading responses-0.23.1-py3-none-any.whl (52 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 52.1/52.1 kB 135.1 MB/s eta 0:00:00
Collecting rollbar
  Downloading rollbar-0.16.3-py3-none-any.whl (98 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.1/98.1 kB 245.5 MB/s eta 0:00:00
Collecting ruamel.yaml==0.17.21
  Downloading ruamel.yaml-0.17.21-py3-none-any.whl (109 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 109.5/109.5 kB 247.6 MB/s eta 0:00:00
Collecting selenium
  Downloading selenium-4.8.3-py3-none-any.whl (6.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.5/6.5 MB 239.2 MB/s eta 0:00:00
Requirement already satisfied: setuptools==67.6.1 in /usr/local/lib/python3.11/site-packages (from -r /usr/src/weblate/requirements.txt (line 48)) (67.6.1)
Collecting siphashc==2.1
  Downloading siphashc-2.1.tar.gz (6.6 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting social-auth-app-django==5.2.0
  Downloading social_auth_app_django-5.2.0-py3-none-any.whl (24 kB)
Collecting social-auth-core==4.4.1
  Downloading social_auth_core-4.4.1-py3-none-any.whl (347 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 347.0/347.0 kB 217.1 MB/s eta 0:00:00
Collecting supervisor==4.2.5
  Downloading supervisor-4.2.5-py2.py3-none-any.whl (319 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 319.6/319.6 kB 290.0 MB/s eta 0:00:00
Collecting tesserocr==2.6.0
  Downloading tesserocr-2.6.0.tar.gz (58 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 58.6/58.6 kB 229.8 MB/s eta 0:00:00
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting translate-toolkit==3.8.6
  Downloading translate_toolkit-3.8.6-py3-none-any.whl (1.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 232.1 MB/s eta 0:00:00
Collecting translation-finder==2.15
  Downloading translation_finder-2.15-py3-none-any.whl (80 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 80.1/80.1 kB 146.2 MB/s eta 0:00:00
Collecting weblate-fedora-messaging==0.5
  Downloading weblate_fedora_messaging-0.5-py3-none-any.whl (21 kB)
Collecting weblate-language-data==2023.3
  Downloading weblate_language_data-2023.3-py3-none-any.whl (2.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.3/2.3 MB 26.2 MB/s eta 0:00:00
Requirement already satisfied: wheel==0.40.0 in /usr/local/lib/python3.11/site-packages (from -r /usr/src/weblate/requirements.txt (line 58)) (0.40.0)
Collecting wllegal==2023.1
  Downloading wllegal-2023.1-py3-none-any.whl (1.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.3/1.3 MB 232.0 MB/s eta 0:00:00
Collecting zeep==4.2.1
  Downloading zeep-4.2.1-py3-none-any.whl (101 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 101.2/101.2 kB 222.7 MB/s eta 0:00:00
Collecting charset-normalizer<4.0,>=2.0.12
  Downloading charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (197 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 197.3/197.3 kB 250.2 MB/s eta 0:00:00
Collecting crispy-bootstrap3==2022.1
  Downloading crispy_bootstrap3-2022.1-py3-none-any.whl (21 kB)
Collecting cssselect<1.3,>=1.2
  Downloading cssselect-1.2.0-py2.py3-none-any.whl (18 kB)
Collecting Cython<0.30,>=0.29.14
  Downloading Cython-0.29.34-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (1.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 227.4 MB/s eta 0:00:00
Collecting diff-match-patch==20200713
  Downloading diff_match_patch-20200713-py3-none-any.whl (61 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.6/61.6 kB 120.6 MB/s eta 0:00:00
Collecting django-celery-beat<2.6,>=2.4.0
  Downloading django_celery_beat-2.5.0-py3-none-any.whl (97 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 97.2/97.2 kB 253.6 MB/s eta 0:00:00
Collecting django-filter<23.0,>=2.4.0
  Downloading django_filter-22.1-py3-none-any.whl (80 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 80.9/80.9 kB 244.7 MB/s eta 0:00:00
Collecting Django[argon2]<4.2,>=3.2
  Downloading Django-4.1.8-py3-none-any.whl (8.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.1/8.1 MB 267.7 MB/s eta 0:00:00
Collecting filelock<3.11,>=3.7
  Downloading filelock-3.10.7-py3-none-any.whl (10 kB)
Collecting GitPython<3.2,>=2.1.15
  Downloading GitPython-3.1.31-py3-none-any.whl (184 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 184.3/184.3 kB 273.4 MB/s eta 0:00:00
Collecting html2text<2020.1.17,>=2019.8.11
  Downloading html2text-2020.1.16-py3-none-any.whl (32 kB)
Collecting jsonschema<5,>=4.5
  Downloading jsonschema-4.17.3-py3-none-any.whl (90 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.4/90.4 kB 241.1 MB/s eta 0:00:00
Collecting misaka<2.2,>=2.1.0
  Downloading misaka-2.1.1.tar.gz (125 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 125.2/125.2 kB 261.8 MB/s eta 0:00:00
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting packaging<23.1,>=22
  Downloading packaging-23.0-py3-none-any.whl (42 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 42.7/42.7 kB 200.5 MB/s eta 0:00:00
Collecting Pillow<10.0,>=9.0.0
  Downloading Pillow-9.5.0-cp311-cp311-manylinux_2_28_x86_64.whl (3.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.4/3.4 MB 241.8 MB/s eta 0:00:00
Collecting pyahocorasick<2.1,>=1.4
  Downloading pyahocorasick-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (118 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 118.4/118.4 kB 176.9 MB/s eta 0:00:00
Collecting pycairo>=1.15.3
  Downloading pycairo-1.23.0.tar.gz (344 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 344.6/344.6 kB 284.3 MB/s eta 0:00:00
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Installing backend dependencies: started
  Installing backend dependencies: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting pygobject>=3.34.0
  Downloading PyGObject-3.44.1.tar.gz (720 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 720.5/720.5 kB 286.1 MB/s eta 0:00:00
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting pyicumessageformat<1.1,>=1.0.0
  Downloading pyicumessageformat-1.0.0-py3-none-any.whl (8.9 kB)
Collecting pyparsing<3.1,>=3.0.7
  Downloading pyparsing-3.0.9-py3-none-any.whl (98 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.3/98.3 kB 110.7 MB/s eta 0:00:00
Collecting python-redis-lock<4.1,>=4
  Downloading python_redis_lock-4.0.0-py3-none-any.whl (12 kB)
Collecting requests<2.29,>=2.26.0
  Downloading requests-2.28.2-py3-none-any.whl (62 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.8/62.8 kB 149.7 MB/s eta 0:00:00
Collecting sentry-sdk<2,>=1.6
  Downloading sentry_sdk-1.19.1-py2.py3-none-any.whl (199 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 199.2/199.2 kB 272.1 MB/s eta 0:00:00
Collecting user-agents<2.3,>=2.0
  Downloading user_agents-2.2.0-py3-none-any.whl (9.6 kB)
Collecting weblate-schemas==2023.2
  Downloading weblate_schemas-2023.2-py3-none-any.whl (12 kB)
Collecting mysqlclient>=2.0.1
  Downloading mysqlclient-2.1.1.tar.gz (88 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 88.1/88.1 kB 193.0 MB/s eta 0:00:00
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting boto3<1.27.0,>=1.19.0
  Downloading boto3-1.26.110-py3-none-any.whl (135 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 135.6/135.6 kB 257.5 MB/s eta 0:00:00
Collecting fluent.syntax<0.19,>=0.18.1
  Downloading fluent.syntax-0.18.1-py2.py3-none-any.whl (16 kB)
Collecting google-cloud-translate<3.12.0,>=3.0.0
  Downloading google_cloud_translate-3.11.1-py2.py3-none-any.whl (128 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 128.4/128.4 kB 256.1 MB/s eta 0:00:00
Collecting psycopg2-binary<2.10.0,>=2.8.0
  Downloading psycopg2_binary-2.9.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.0/3.0 MB 230.3 MB/s eta 0:00:00
Collecting django-zxcvbn-***
  Downloading django_zxcvbn_password-2.1.1-py2.py3-none-any.whl (409 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 409.4/409.4 kB 284.4 MB/s eta 0:00:00
Collecting chardet>=2.2.1
  Downloading chardet-5.1.0-py3-none-any.whl (199 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 199.1/199.1 kB 271.4 MB/s eta 0:00:00
Collecting argon2-cffi-bindings
  Downloading argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (86 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 86.2/86.2 kB 136.1 MB/s eta 0:00:00
Collecting msgpack!=1.0.1,<=1.0.5,>=0.5.6
  Downloading msgpack-1.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (325 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 325.1/325.1 kB 215.7 MB/s eta 0:00:00
Collecting pytz>=2021.3
  Downloading pytz-2023.3-py2.py3-none-any.whl (502 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 502.3/502.3 kB 289.6 MB/s eta 0:00:00
Collecting billiard<4.0,>=3.6.4.0
  Downloading billiard-3.6.4.0-py3-none-any.whl (89 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 89.5/89.5 kB 243.8 MB/s eta 0:00:00
Collecting kombu<6.0,>=5.2.3
  Downloading kombu-5.2.4-py3-none-any.whl (189 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 189.2/189.2 kB 244.7 MB/s eta 0:00:00
Collecting vine<6.0,>=5.0.0
  Downloading vine-5.0.0-py2.py3-none-any.whl (9.4 kB)
Collecting click<9.0,>=8.0.3
  Downloading click-8.1.3-py3-none-any.whl (96 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.6/96.6 kB 212.1 MB/s eta 0:00:00
Collecting click-didyoumean>=0.0.3
  Downloading click_didyoumean-0.3.0-py3-none-any.whl (2.7 kB)
Collecting click-repl>=0.2.0
  Downloading click_repl-0.2.0-py3-none-any.whl (5.2 kB)
Collecting click-plugins>=1.1.1
  Downloading click_plugins-1.1.1-py2.py3-none-any.whl (7.5 kB)
Requirement already satisfied: pycparser in /usr/local/lib/python3.11/site-packages (from cffi==1.15.1->-r /usr/src/weblate/requirements.txt (line 6)) (2.21)
Collecting asgiref<4,>=3.6.0
  Downloading asgiref-3.6.0-py3-none-any.whl (23 kB)
Collecting sqlparse>=0.3.1
  Downloading sqlparse-0.4.3-py3-none-any.whl (42 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 42.8/42.8 kB 197.8 MB/s eta 0:00:00
Collecting python-ldap>=3.1
  Downloading python-ldap-3.4.3.tar.gz (377 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 377.4/377.4 kB 151.1 MB/s eta 0:00:00
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting rcssmin==1.1.1
  Downloading rcssmin-1.1.1-cp311-cp311-manylinux1_x86_64.whl (48 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 48.2/48.2 kB 210.5 MB/s eta 0:00:00
Collecting rjsmin==1.2.1
  Downloading rjsmin-1.2.1-cp311-cp311-manylinux1_x86_64.whl (31 kB)
Collecting zope.event
  Downloading zope.event-4.6-py2.py3-none-any.whl (6.8 kB)
Collecting zope.interface
  Downloading zope.interface-6.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (249 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 249.0/249.0 kB 272.9 MB/s eta 0:00:00
Collecting greenlet>=2.0.0
  Downloading greenlet-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (618 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 618.8/618.8 kB 155.2 MB/s eta 0:00:00
Collecting six
  Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting et-xmlfile
  Downloading et_xmlfile-1.1.0-py3-none-any.whl (4.7 kB)
Collecting ply
  Downloading ply-3.11-py2.py3-none-any.whl (49 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 49.6/49.6 kB 213.7 MB/s eta 0:00:00
Collecting isodate>=0.6.1
  Downloading isodate-0.6.1-py2.py3-none-any.whl (41 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 41.7/41.7 kB 188.6 MB/s eta 0:00:00
Collecting xmlsec>=1.3.9
  Downloading xmlsec-1.3.13.tar.gz (64 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.6/64.6 kB 226.2 MB/s eta 0:00:00
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting async-timeout>=4.0.2
  Downloading async_timeout-4.0.2-py3-none-any.whl (5.8 kB)
Collecting oauthlib>=1.0.3
  Downloading oauthlib-3.2.2-py3-none-any.whl (151 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 151.7/151.7 kB 250.2 MB/s eta 0:00:00
Collecting requests-oauthlib>=0.6.1
  Downloading requests_oauthlib-1.3.1-py2.py3-none-any.whl (23 kB)
Collecting PyJWT>=2.0.0
  Downloading PyJWT-2.6.0-py3-none-any.whl (20 kB)
Collecting defusedxml>=0.5.0rc1
  Downloading defusedxml-0.7.1-py2.py3-none-any.whl (25 kB)
Collecting python3-openid>=3.0.10
  Downloading python3_openid-3.2.0-py3-none-any.whl (133 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.7/133.7 kB 206.5 MB/s eta 0:00:00
Collecting fedora-messaging==3.2.0
  Downloading fedora_messaging-3.2.0-py3-none-any.whl (108 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 108.1/108.1 kB 245.1 MB/s eta 0:00:00
Collecting attrs>=17.2.0
  Downloading attrs-22.2.0-py3-none-any.whl (60 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 60.0/60.0 kB 219.4 MB/s eta 0:00:00
Collecting platformdirs>=1.4.0
  Downloading platformdirs-3.2.0-py3-none-any.whl (14 kB)
Collecting requests-toolbelt>=0.7.1
  Downloading requests_toolbelt-0.10.1-py2.py3-none-any.whl (54 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 54.5/54.5 kB 216.9 MB/s eta 0:00:00
Collecting requests-file>=1.5.1
  Downloading requests_file-1.5.1-py2.py3-none-any.whl (3.7 kB)
Collecting zxcvbn
  Downloading zxcvbn-4.4.28.tar.gz (407 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 407.9/407.9 kB 243.8 MB/s eta 0:00:00
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting blinker
  Downloading blinker-1.6.1-py3-none-any.whl (13 kB)
Collecting crochet
  Downloading crochet-2.0.0-py3-none-any.whl (31 kB)
Collecting Twisted
  Downloading Twisted-22.10.0-py3-none-any.whl (3.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.1/3.1 MB 241.3 MB/s eta 0:00:00
Collecting PyOpenSSL
  Downloading pyOpenSSL-23.1.1-py3-none-any.whl (57 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57.9/57.9 kB 222.2 MB/s eta 0:00:00
Collecting pika>=1.0.1
  Downloading pika-1.3.1-py3-none-any.whl (155 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 155.3/155.3 kB 246.2 MB/s eta 0:00:00
Collecting service-identity
  Downloading service_identity-21.1.0-py2.py3-none-any.whl (12 kB)
Collecting fqdn
  Downloading fqdn-1.5.1-py3-none-any.whl (9.1 kB)
Collecting rfc3987
  Downloading rfc3987-1.3.8-py2.py3-none-any.whl (13 kB)
Collecting strict-rfc3339
  Downloading strict-rfc3339-0.7.tar.gz (17 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting urllib3>=1.25.10
  Downloading urllib3-1.26.15-py2.py3-none-any.whl (140 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.9/140.9 kB 269.7 MB/s eta 0:00:00
Collecting pyyaml
  Downloading PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (757 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 757.9/757.9 kB 252.2 MB/s eta 0:00:00
Collecting types-PyYAML
  Downloading types_PyYAML-6.0.12.9-py3-none-any.whl (14 kB)
Collecting trio~=0.17
  Downloading trio-0.22.0-py3-none-any.whl (384 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 384.9/384.9 kB 241.7 MB/s eta 0:00:00
Collecting trio-websocket~=0.9
  Downloading trio_websocket-0.10.2-py3-none-any.whl (17 kB)
Collecting certifi>=2021.10.8
  Downloading certifi-2022.12.7-py3-none-any.whl (155 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 155.3/155.3 kB 182.1 MB/s eta 0:00:00
Collecting botocore<1.30.0,>=1.29.110
  Downloading botocore-1.29.110-py3-none-any.whl (10.6 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.6/10.6 MB 256.8 MB/s eta 0:00:00
Collecting jmespath<2.0.0,>=0.7.1
  Downloading jmespath-1.0.1-py3-none-any.whl (20 kB)
Collecting s3transfer<0.7.0,>=0.6.0
  Downloading s3transfer-0.6.0-py3-none-any.whl (79 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 79.6/79.6 kB 213.3 MB/s eta 0:00:00
Collecting prompt-toolkit
  Downloading prompt_toolkit-3.0.38-py3-none-any.whl (385 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 385.8/385.8 kB 288.8 MB/s eta 0:00:00
Collecting cron-descriptor>=1.2.32
  Downloading cron_descriptor-1.2.35.tar.gz (29 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting django-timezone-field>=5.0
  Downloading django_timezone_field-5.0-py3-none-any.whl (10 kB)
Collecting python-crontab>=2.3.4
  Downloading python_crontab-2.7.1-py3-none-any.whl (26 kB)
Collecting tzdata
  Downloading tzdata-2023.3-py2.py3-none-any.whl (341 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 341.8/341.8 kB 173.9 MB/s eta 0:00:00
Collecting Django[argon2]<4.2,>=3.2
  Downloading Django-4.1.7-py3-none-any.whl (8.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.1/8.1 MB 262.4 MB/s eta 0:00:00
  Downloading Django-4.1.6-py3-none-any.whl (8.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.1/8.1 MB 225.9 MB/s eta 0:00:00
  Downloading Django-4.1.5-py3-none-any.whl (8.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.1/8.1 MB 260.4 MB/s eta 0:00:00
  Downloading Django-4.1.4-py3-none-any.whl (8.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.1/8.1 MB 198.8 MB/s eta 0:00:00
  Downloading Django-4.1.3-py3-none-any.whl (8.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.1/8.1 MB 265.2 MB/s eta 0:00:00
  Downloading Django-4.1.2-py3-none-any.whl (8.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.1/8.1 MB 267.7 MB/s eta 0:00:00
  Downloading Django-4.1.1-py3-none-any.whl (8.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.1/8.1 MB 260.0 MB/s eta 0:00:00
  Downloading Django-4.1-py3-none-any.whl (8.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.1/8.1 MB 243.3 MB/s eta 0:00:00
  Downloading Django-4.0.10-py3-none-any.whl (8.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.0/8.0 MB 185.3 MB/s eta 0:00:00
  Downloading Django-4.0.9-py3-none-any.whl (8.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.0/8.0 MB 44.4 MB/s eta 0:00:00
  Downloading Django-4.0.8-py3-none-any.whl (8.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.0/8.0 MB 179.3 MB/s eta 0:00:00
  Downloading Django-4.0.7-py3-none-any.whl (8.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.0/8.0 MB 273.9 MB/s eta 0:00:00
  Downloading Django-4.0.6-py3-none-any.whl (8.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.0/8.0 MB 230.0 MB/s eta 0:00:00
  Downloading Django-4.0.5-py3-none-any.whl (8.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.0/8.0 MB 246.4 MB/s eta 0:00:00
  Downloading Django-4.0.4-py3-none-any.whl (8.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.0/8.0 MB 267.2 MB/s eta 0:00:00
  Downloading Django-4.0.3-py3-none-any.whl (8.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.0/8.0 MB 207.5 MB/s eta 0:00:00
  Downloading Django-4.0.2-py3-none-any.whl (8.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.0/8.0 MB 236.4 MB/s eta 0:00:00
  Downloading Django-4.0.1-py3-none-any.whl (8.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.0/8.0 MB 213.3 MB/s eta 0:00:00
  Downloading Django-4.0-py3-none-any.whl (8.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.0/8.0 MB 238.0 MB/s eta 0:00:00
  Downloading Django-3.2.18-py3-none-any.whl (7.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.9/7.9 MB 242.6 MB/s eta 0:00:00
  Downloading Django-3.2.17-py3-none-any.whl (7.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.9/7.9 MB 223.4 MB/s eta 0:00:00
  Downloading Django-3.2.16-py3-none-any.whl (7.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.9/7.9 MB 237.3 MB/s eta 0:00:00
  Downloading Django-3.2.15-py3-none-any.whl (7.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.9/7.9 MB 214.8 MB/s eta 0:00:00
  Downloading Django-3.2.14-py3-none-any.whl (7.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.9/7.9 MB 246.6 MB/s eta 0:00:00
  Downloading Django-3.2.13-py3-none-any.whl (7.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.9/7.9 MB 246.5 MB/s eta 0:00:00
  Downloading Django-3.2.12-py3-none-any.whl (7.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.9/7.9 MB 240.6 MB/s eta 0:00:00
  Downloading Django-3.2.11-py3-none-any.whl (7.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.9/7.9 MB 225.6 MB/s eta 0:00:00
  Downloading Django-3.2.10-py3-none-any.whl (7.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.9/7.9 MB 224.3 MB/s eta 0:00:00
  Downloading Django-3.2.9-py3-none-any.whl (7.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.9/7.9 MB 248.6 MB/s eta 0:00:00
  Downloading Django-3.2.8-py3-none-any.whl (7.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.9/7.9 MB 243.6 MB/s eta 0:00:00
  Downloading Django-3.2.7-py3-none-any.whl (7.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.9/7.9 MB 252.5 MB/s eta 0:00:00
  Downloading Django-3.2.6-py3-none-any.whl (7.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.9/7.9 MB 230.5 MB/s eta 0:00:00
  Downloading Django-3.2.5-py3-none-any.whl (7.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.9/7.9 MB 250.6 MB/s eta 0:00:00
  Downloading Django-3.2.4-py3-none-any.whl (7.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.9/7.9 MB 231.0 MB/s eta 0:00:00
  Downloading Django-3.2.3-py3-none-any.whl (7.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.9/7.9 MB 256.3 MB/s eta 0:00:00
  Downloading Django-3.2.2-py3-none-any.whl (7.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.9/7.9 MB 136.4 MB/s eta 0:00:00
  Downloading Django-3.2.1-py3-none-any.whl (7.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.9/7.9 MB 213.8 MB/s eta 0:00:00
  Downloading Django-3.2-py3-none-any.whl (7.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.9/7.9 MB 229.8 MB/s eta 0:00:00
INFO: pip is looking at multiple versions of django-filter to determine which version is compatible with other requirements. This could take a while.
Collecting django-filter<23.0,>=2.4.0
  Downloading django_filter-21.1-py3-none-any.whl (81 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 81.4/81.4 kB 208.3 MB/s eta 0:00:00
  Downloading django_filter-2.4.0-py3-none-any.whl (73 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 73.2/73.2 kB 171.2 MB/s eta 0:00:00
INFO: pip is looking at multiple versions of django-celery-beat to determine which version is compatible with other requirements. This could take a while.
Collecting django-celery-beat<2.6,>=2.4.0
  Downloading django_celery_beat-2.4.0-py3-none-any.whl (94 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 94.3/94.3 kB 221.0 MB/s eta 0:00:00
INFO: pip is looking at multiple versions of defusedxml to determine which version is compatible with other requirements. This could take a while.
Collecting defusedxml>=0.5.0rc1
  Downloading defusedxml-0.7.0-py2.py3-none-any.whl (25 kB)
  Downloading defusedxml-0.7.0rc2-py2.py3-none-any.whl (25 kB)
INFO: pip is looking at multiple versions of django-filter to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of cython to determine which version is compatible with other requirements. This could take a while.
Collecting Cython<0.30,>=0.29.14
  Downloading Cython-0.29.33-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (1.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 256.4 MB/s eta 0:00:00
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
  Downloading Cython-0.29.32-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (1.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 271.6 MB/s eta 0:00:00
INFO: pip is looking at multiple versions of cssselect to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of click-repl to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of click-plugins to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of click-didyoumean to determine which version is compatible with other requirements. This could take a while.
Collecting click-didyoumean>=0.0.3
  Downloading click_didyoumean-0.2.0-py3-none-any.whl (2.7 kB)
  Downloading click_didyoumean-0.1.0-py3-none-any.whl (2.6 kB)
INFO: pip is looking at multiple versions of click to determine which version is compatible with other requirements. This could take a while.
Collecting click<9.0,>=8.0.3
  Downloading click-8.1.2-py3-none-any.whl (96 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.6/96.6 kB 246.4 MB/s eta 0:00:00
  Downloading click-8.1.1-py3-none-any.whl (96 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.6/96.6 kB 227.3 MB/s eta 0:00:00
INFO: pip is looking at multiple versions of charset-normalizer to determine which version is compatible with other requirements. This could take a while.
Collecting charset-normalizer<4.0,>=2.0.12
  Downloading charset_normalizer-3.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (196 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 196.8/196.8 kB 251.0 MB/s eta 0:00:00
  Downloading charset_normalizer-3.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (196 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 196.7/196.7 kB 92.5 MB/s eta 0:00:00
INFO: pip is looking at multiple versions of chardet to determine which version is compatible with other requirements. This could take a while.
Collecting chardet>=2.2.1
  Downloading chardet-5.0.0-py3-none-any.whl (193 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 193.6/193.6 kB 271.2 MB/s eta 0:00:00
  Downloading chardet-4.0.0-py2.py3-none-any.whl (178 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 178.7/178.7 kB 270.3 MB/s eta 0:00:00
INFO: pip is looking at multiple versions of certifi to determine which version is compatible with other requirements. This could take a while.
Collecting certifi>=2021.10.8
  Downloading certifi-2022.9.24-py3-none-any.whl (161 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 161.1/161.1 kB 271.0 MB/s eta 0:00:00
INFO: pip is looking at multiple versions of defusedxml to determine which version is compatible with other requirements. This could take a while.
  Downloading certifi-2022.9.14-py3-none-any.whl (162 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 162.5/162.5 kB 244.0 MB/s eta 0:00:00
INFO: pip is looking at multiple versions of django-celery-beat to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of celery[redis] to determine which version is compatible with other requirements. This could take a while.
Collecting celery[redis]<5.3,>=5.2.3
  Downloading celery-5.2.6-py3-none-any.whl (405 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 405.6/405.6 kB 282.6 MB/s eta 0:00:00
  Downloading celery-5.2.4-py3-none-any.whl (405 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 405.6/405.6 kB 252.8 MB/s eta 0:00:00
  Downloading celery-5.2.3-py3-none-any.whl (405 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 405.6/405.6 kB 269.0 MB/s eta 0:00:00
INFO: pip is looking at multiple versions of boto3 to determine which version is compatible with other requirements. This could take a while.
Collecting boto3<1.27.0,>=1.19.0
  Downloading boto3-1.26.109-py3-none-any.whl (135 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 135.6/135.6 kB 253.0 MB/s eta 0:00:00
INFO: pip is looking at multiple versions of cython to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of cssselect to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of click-repl to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of click-plugins to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of click-didyoumean to determine which version is compatible with other requirements. This could take a while.
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
INFO: pip is looking at multiple versions of click to determine which version is compatible with other requirements. This could take a while.
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
INFO: pip is looking at multiple versions of charset-normalizer to determine which version is compatible with other requirements. This could take a while.
  Downloading boto3-1.26.108-py3-none-any.whl (135 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 135.6/135.6 kB 260.1 MB/s eta 0:00:00
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
  Downloading boto3-1.26.107-py3-none-any.whl (135 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 135.6/135.6 kB 260.8 MB/s eta 0:00:00
INFO: pip is looking at multiple versions of billiard to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of attrs to determine which version is compatible with other requirements. This could take a while.
Collecting attrs>=17.2.0
  Downloading attrs-22.1.0-py2.py3-none-any.whl (58 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 58.8/58.8 kB 203.3 MB/s eta 0:00:00
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
INFO: pip is looking at multiple versions of chardet to determine which version is compatible with other requirements. This could take a while.
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
INFO: pip is looking at multiple versions of certifi to determine which version is compatible with other requirements. This could take a while.
  Downloading attrs-21.4.0-py2.py3-none-any.whl (60 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 60.6/60.6 kB 217.5 MB/s eta 0:00:00
  Downloading attrs-21.3.0-py2.py3-none-any.whl (61 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.9/61.9 kB 175.5 MB/s eta 0:00:00
INFO: pip is looking at multiple versions of boto3 to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of async-timeout to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of asgiref to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of selenium to determine which version is compatible with other requirements. This could take a while.
Collecting selenium
  Downloading selenium-4.8.2-py3-none-any.whl (6.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.9/6.9 MB 222.4 MB/s eta 0:00:00
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
  Downloading selenium-4.8.1-py3-none-any.whl (6.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.9/6.9 MB 212.0 MB/s eta 0:00:00
  Downloading selenium-4.8.0-py3-none-any.whl (6.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.3/6.3 MB 246.5 MB/s eta 0:00:00
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
INFO: pip is looking at multiple versions of billiard to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of attrs to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of rollbar to determine which version is compatible with other requirements. This could take a while.
Collecting rollbar
  Downloading rollbar-0.16.2.tar.gz (71 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 71.4/71.4 kB 227.5 MB/s eta 0:00:00
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
  Downloading rollbar-0.16.1.tar.gz (70 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 70.9/70.9 kB 196.0 MB/s eta 0:00:00
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
  Downloading rollbar-0.15.2.tar.gz (49 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 49.4/49.4 kB 192.7 MB/s eta 0:00:00
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
INFO: pip is looking at multiple versions of async-timeout to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of asgiref to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of selenium to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of responses to determine which version is compatible with other requirements. This could take a while.
Collecting responses
  Downloading responses-0.23.0-py3-none-any.whl (52 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 52.1/52.1 kB 129.2 MB/s eta 0:00:00
  Downloading responses-0.22.0-py3-none-any.whl (51 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 51.1/51.1 kB 204.7 MB/s eta 0:00:00
Collecting toml
  Downloading toml-0.10.2-py2.py3-none-any.whl (16 kB)
Collecting types-toml
  Downloading types_toml-0.10.8.6-py3-none-any.whl (4.5 kB)
Collecting responses
  Downloading responses-0.21.0-py3-none-any.whl (45 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 46.0/46.0 kB 188.9 MB/s eta 0:00:00
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
INFO: pip is looking at multiple versions of rollbar to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of raven to determine which version is compatible with other requirements. This could take a while.
Collecting raven
  Downloading raven-6.9.0-py2.py3-none-any.whl (287 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 287.7/287.7 kB 235.7 MB/s eta 0:00:00
  Downloading raven-6.8.0-py2.py3-none-any.whl (285 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 285.4/285.4 kB 266.6 MB/s eta 0:00:00
  Downloading raven-6.7.0-py2.py3-none-any.whl (284 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 284.5/284.5 kB 260.8 MB/s eta 0:00:00
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
INFO: pip is looking at multiple versions of responses to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of supervisor-stdout to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of weblate-schemas to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of rjsmin to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of rcssmin to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of fedora-messaging to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of django-zxcvbn*** determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of diff-match-patch to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of crispy-bootstrap3 to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of zeep to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of wllegal to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of wheel to determine which version is compatible with other requirements. This could take a while.
Collecting wheel==0.40.0
  Downloading wheel-0.40.0-py3-none-any.whl (64 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.5/64.5 kB 220.4 MB/s eta 0:00:00
INFO: pip is looking at multiple versions of celery[redis] to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of weblate-language-data to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of weblate-fedora-messaging to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of translation-finder to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of translate-toolkit to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of tesserocr to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of supervisor to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of social-auth-core to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of social-auth-app-django to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of siphashc to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of ruamel-yaml to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of redis to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of rapidfuzz to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pyuca to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of python3-saml to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of python-dateutil to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of python-akismet to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pygments to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of psycopg2 to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pip to determine which version is compatible with other requirements. This could take a while.
Collecting pip==23.0.1
  Downloading pip-23.0.1-py3-none-any.whl (2.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 220.5 MB/s eta 0:00:00
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
INFO: pip is looking at multiple versions of raven to determine which version is compatible with other requirements. This could take a while.
 INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
 INFO: pip is looking at multiple versions of phply to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of openpyxl to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of nh3 to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of mercurial to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of lxml to determine which version is compatible with other requirements. This could take a while.
 Collecting lxml==4.9.2
   Downloading lxml-4.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (7.2 MB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.2/7.2 MB 182.6 MB/s eta 0:00:00
 INFO: pip is looking at multiple versions of supervisor-stdout to determine which version is compatible with other requirements. This could take a while.
 INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
 INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
 INFO: pip is looking at multiple versions of weblate-schemas to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of rjsmin to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of rcssmin to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of fedora-messaging to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of django-zxcvbn*** determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of diff-match-patch to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of crispy-bootstrap3 to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of zeep to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of wllegal to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of wheel to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of iniparse to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of httpretty to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of hiredis to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of gunicorn to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of git-review to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of gevent to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of djangorestframework to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of django-compressor to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of django-redis to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of django-crispy-forms to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of django-cors-headers to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of django-auth-ldap to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of django-appconf to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of django to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of cryptography to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of cffi to determine which version is compatible with other requirements. This could take a while.
 Collecting cffi==1.15.1
   Downloading cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (462 kB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 462.6/462.6 kB 46.6 MB/s eta 0:00:00
 INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
 INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
 INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
 INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
 INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
 INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
 INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
 INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
 INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
 INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
 INFO: pip is looking at multiple versions of weblate-language-data to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of weblate-fedora-messaging to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of translation-finder to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of translate-toolkit to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of tesserocr to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of supervisor to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of social-auth-core to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of social-auth-app-django to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of siphashc to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of ruamel-yaml to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of redis to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of rapidfuzz to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of pyuca to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of python3-saml to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of python-dateutil to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of python-akismet to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of pygments to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of psycopg2 to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of pip to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of celery to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of borgbackup to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of argon2-cffi to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of <Python from Requires-Python> to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of aeidon to determine which version is compatible with other requirements. This could take a while.
 INFO: pip is looking at multiple versions of weblate[all,mysql,zxcvbn] to determine which version is compatible with other requirements. This could take a while.
 ERROR: Cannot install celery==5.2.7, celery[redis]==5.2.3, celery[redis]==5.2.4 and celery[redis]==5.2.6 because these package versions have conflicting dependencies.
 
 The conflict is caused by:
     The user requested celery==5.2.7
     celery[redis] 5.2.6 depends on celery 5.2.6 (from https://files.pythonhosted.org/packages/a0/ed/8a2e381aa9fa6fa5ac6891b0b472e927892f57a39842eff18cc917ceba57/celery-5.2.6-py3-none-any.whl (from https://pypi.org/simple/celery/) (requires-python:>=3.7,))
     The user requested celery==5.2.7
     celery[redis] 5.2.4 depends on celery 5.2.4 (from https://files.pythonhosted.org/packages/9d/a2/77d4bf33786dba473218067527ec40002cdaeed3599e5377e0f32143bba2/celery-5.2.4-py3-none-any.whl (from https://pypi.org/simple/celery/) (requires-python:>=3.7,))
     The user requested celery==5.2.7
     celery[redis] 5.2.3 depends on celery 5.2.3 (from https://files.pythonhosted.org/packages/1e/c2/52a01d3f53ddf57c80b011714dd63295c69426121d35d0ff41976b83506c/celery-5.2.3-py3-none-any.whl (from https://pypi.org/simple/celery/) (requires-python:>=3.7,))
 
 To fix this you could try to:
 1. loosen the range of package versions you've specified
 2. remove package versions to allow pip attempt to solve the dependency conflict
 
 ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

@notatallshaw
Copy link
Member

notatallshaw commented Apr 12, 2023

This can lead to huge backtracking without providing a clear error where the problem is. I was just hit by this in WeblateOrg/docker#1788 (log at https://github.com/WeblateOrg/docker/actions/runs/4666399591/jobs/8260949502?pr=1788 or in details below).

The problem in this case is that backtracking went into many packages and ended up saying the issue is in celery constraints, while it is actually in Django ones (which the pull request is trying to upgrade).

Reproducer: pip install 'Django==4.2' 'Weblate==4.16.4' 'celery==5.2.7'

Because this specific example hits a more general backtracking slowness rather than just OPs specific issue the amount of time backtracking should be significantly reduced in the next version of Pip.

And it in fact it is, I tested both the number of packages visited (I would normally check the difference between packages visited and packages installed as this is a better indicator of how much "wasted" time there is, but as it results in a resolution impossible I can't do that) and the wall clock time on a second attempt where Pip no longer needs to download any package because everything is cached:

Pip Version Packages Visited Wall Clock Time
Pip 23.0.1 136 179.78s
Pip main (74133f8) 121 25.78s

Better news still in this example Pip main gives a much better ResolutionImpossible error, although I doubt this is guaranteed in general, this probably stems from resolvelib taking better1 steps when backtracking:

The conflict is caused by:
    The user requested Django==4.2
    crispy-bootstrap3 2022.1 depends on django>=3.2
    django-appconf 1.0.3 depends on django
    django-celery-beat 2.4.0 depends on Django<4.2 and >=2.2

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

  1. For some complicated definition of the word "better", see Fix reject of valid state in criteria compatibility check sarugaku/resolvelib#111 and Implement backjumping over unrelated states sarugaku/resolvelib#113 for the gory details

@pradyunsg pradyunsg added the C: dependency resolution About choosing which dependencies to install label May 8, 2023
@zackmccord
Copy link

I have also encountered this behavior "in the wild," although it did not cause a major slowdown for us.

$ cat test.pip
pytest-cov==3.0.0
coverage==6.3.2

$ python --version
Python 3.8.13

$ python -m pip --version
pip 23.1.2 from XXX/virtualenv/lib/python3.8/site-packages/pip (python 3.8)

$ pip install -Ur test.pip
Requirement already satisfied: pytest-cov==3.0.0 in XXX/virtualenv/lib/python3.8/site-packages (from -r test.pip (line 1)) (3.0.0)
Requirement already satisfied: coverage==6.3.2 in XXX/virtualenv/lib/python3.8/site-packages (from -r test.pip (line 2)) (6.3.2)
Requirement already satisfied: pytest>=4.6 in XXX/virtualenv/lib/python3.8/site-packages (from pytest-cov==3.0.0->-r test.pip (line 1)) (7.1.2)
Collecting coverage[toml]>=5.2.1 (from pytest-cov==3.0.0->-r test.pip (line 1))
  Using cached coverage-7.2.5-cp38-cp38-macosx_10_9_x86_64.whl (200 kB)
INFO: pip is looking at multiple versions of coverage[toml] to determine which version is compatible with other requirements. This could take a while.
  Using cached coverage-7.2.4-cp38-cp38-macosx_10_9_x86_64.whl (200 kB)
  Using cached coverage-7.2.3-cp38-cp38-macosx_10_9_x86_64.whl (199 kB)
  Using cached coverage-7.2.2-cp38-cp38-macosx_10_9_x86_64.whl (199 kB)
  Using cached coverage-7.2.1-cp38-cp38-macosx_10_9_x86_64.whl (199 kB)
  Using cached coverage-7.2.0-cp38-cp38-macosx_10_9_x86_64.whl (199 kB)
  Using cached coverage-7.1.0-cp38-cp38-macosx_10_9_x86_64.whl (198 kB)
  Using cached coverage-7.0.5-cp38-cp38-macosx_10_9_x86_64.whl (197 kB)
INFO: pip is looking at multiple versions of coverage[toml] to determine which version is compatible with other requirements. This could take a while.
  Using cached coverage-7.0.4-cp38-cp38-macosx_10_9_x86_64.whl (197 kB)
  Using cached coverage-7.0.3-cp38-cp38-macosx_10_9_x86_64.whl (196 kB)
  Using cached coverage-7.0.2-cp38-cp38-macosx_10_9_x86_64.whl (196 kB)
  Using cached coverage-7.0.1-cp38-cp38-macosx_10_9_x86_64.whl (187 kB)
  Using cached coverage-7.0.0-cp38-cp38-macosx_10_9_x86_64.whl (187 kB)
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
  Using cached coverage-6.5.0-cp38-cp38-macosx_10_9_x86_64.whl (185 kB)
  Using cached coverage-6.4.4-cp38-cp38-macosx_10_9_x86_64.whl (184 kB)
  Using cached coverage-6.4.3-cp38-cp38-macosx_10_9_x86_64.whl (184 kB)
  Using cached coverage-6.4.2-cp38-cp38-macosx_10_9_x86_64.whl (184 kB)
  Using cached coverage-6.4.1-cp38-cp38-macosx_10_9_x86_64.whl (184 kB)
  Using cached coverage-6.4-cp38-cp38-macosx_10_9_x86_64.whl (183 kB)
  Using cached coverage-6.3.3-cp38-cp38-macosx_10_9_x86_64.whl (183 kB)
Requirement already satisfied: tomli in XXX/virtualenv/lib/python3.8/site-packages (from coverage==6.3.2->-r test.pip (line 2)) (2.0.1)
Requirement already satisfied: attrs>=19.2.0 in XXX/virtualenv/lib/python3.8/site-packages (from pytest>=4.6->pytest-cov==3.0.0->-r test.pip (line 1)) (21.4.0)
Requirement already satisfied: iniconfig in XXX/virtualenv/lib/python3.8/site-packages (from pytest>=4.6->pytest-cov==3.0.0->-r test.pip (line 1)) (2.0.0)
Requirement already satisfied: packaging in XXX/virtualenv/lib/python3.8/site-packages (from pytest>=4.6->pytest-cov==3.0.0->-r test.pip (line 1)) (21.3)
Requirement already satisfied: pluggy<2.0,>=0.12 in XXX/virtualenv/lib/python3.8/site-packages (from pytest>=4.6->pytest-cov==3.0.0->-r test.pip (line 1)) (1.0.0)
Requirement already satisfied: py>=1.8.2 in XXX/virtualenv/lib/python3.8/site-packages (from pytest>=4.6->pytest-cov==3.0.0->-r test.pip (line 1)) (1.11.0)
Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in XXX/virtualenv/lib/python3.8/site-packages (from packaging->pytest>=4.6->pytest-cov==3.0.0->-r test.pip (line 1)) (3.0.9)

@sanderr
Copy link
Contributor Author

sanderr commented Jun 21, 2023

FYI, I am currently working on this and I'm hopeful that I'll be able to open a pull request soon. My current implementation solves all current examples reported in this thread and all tests still succeed but it is naive in the sense that it hinders error reporting (e.g. in the case of pip install 'Django==4.2' 'Weblate==4.16.4' 'celery==5.2.7' reported above). I do have some concrete ideas to improve on it.

mergify bot pushed a commit to aws/jsii that referenced this issue Oct 16, 2023
…k/test/generated-code (#4296)

Bumps [pip](https://github.com/pypa/pip) from 23.2.1 to 23.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's changelog</a>.</em></p>
<blockquote>
<h1>23.3 (2023-10-15)</h1>
<h2>Process</h2>
<ul>
<li>Added reference to <code>vulnerability reporting guidelines &lt;https://www.python.org/dev/security/&gt;</code>_ to pip's security policy.</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li>Drop a fallback to using SecureTransport on macOS. It was useful when pip detected OpenSSL older than 1.0.1, but the current pip does not support any Python version supporting such old OpenSSL versions. (<code>[#12175](pypa/pip#12175) &lt;https://github.com/pypa/pip/issues/12175&gt;</code>_)</li>
</ul>
<h2>Features</h2>
<ul>
<li>Improve extras resolution for multiple constraints on same base package. (<code>[#11924](pypa/pip#11924) &lt;https://github.com/pypa/pip/issues/11924&gt;</code>_)</li>
<li>Improve use of datastructures to make candidate selection 1.6x faster. (<code>[#12204](pypa/pip#12204) &lt;https://github.com/pypa/pip/issues/12204&gt;</code>_)</li>
<li>Allow <code>pip install --dry-run</code> to use platform and ABI overriding options. (<code>[#12215](pypa/pip#12215) &lt;https://github.com/pypa/pip/issues/12215&gt;</code>_)</li>
<li>Add <code>is_yanked</code> boolean entry to the installation report (<code>--report</code>) to indicate whether the requirement was yanked from the index, but was still selected by pip conform to :pep:<code>592</code>. (<code>[#12224](pypa/pip#12224) &lt;https://github.com/pypa/pip/issues/12224&gt;</code>_)</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>Ignore errors in temporary directory cleanup (show a warning instead). (<code>[#11394](pypa/pip#11394) &lt;https://github.com/pypa/pip/issues/11394&gt;</code>_)</li>
<li>Normalize extras according to :pep:<code>685</code> from package metadata in the resolver
for comparison. This ensures extras are correctly compared and merged as long
as the package providing the extra(s) is built with values normalized according
to the standard. Note, however, that this <em>does not</em> solve cases where the
package itself contains unnormalized extra values in the metadata. (<code>[#11649](pypa/pip#11649) &lt;https://github.com/pypa/pip/issues/11649&gt;</code>_)</li>
<li>Prevent downloading sdists twice when :pep:<code>658</code> metadata is present. (<code>[#11847](pypa/pip#11847) &lt;https://github.com/pypa/pip/issues/11847&gt;</code>_)</li>
<li>Include all requested extras in the install report (<code>--report</code>). (<code>[#11924](pypa/pip#11924) &lt;https://github.com/pypa/pip/issues/11924&gt;</code>_)</li>
<li>Removed uses of <code>datetime.datetime.utcnow</code> from non-vendored code. (<code>[#12005](pypa/pip#12005) &lt;https://github.com/pypa/pip/issues/12005&gt;</code>_)</li>
<li>Consistently report whether a dependency comes from an extra. (<code>[#12095](pypa/pip#12095) &lt;https://github.com/pypa/pip/issues/12095&gt;</code>_)</li>
<li>Fix completion script for zsh (<code>[#12166](pypa/pip#12166) &lt;https://github.com/pypa/pip/issues/12166&gt;</code>_)</li>
<li>Fix improper handling of the new onexc argument of <code>shutil.rmtree()</code> in Python 3.12. (<code>[#12187](pypa/pip#12187) &lt;https://github.com/pypa/pip/issues/12187&gt;</code>_)</li>
<li>Filter out yanked links from the available versions error message: &quot;(from versions: 1.0, 2.0, 3.0)&quot; will not contain yanked versions conform PEP 592. The yanked versions (if any) will be mentioned in a separate error message. (<code>[#12225](pypa/pip#12225) &lt;https://github.com/pypa/pip/issues/12225&gt;</code>_)</li>
<li>Fix crash when the git version number contains something else than digits and dots. (<code>[#12280](pypa/pip#12280) &lt;https://github.com/pypa/pip/issues/12280&gt;</code>_)</li>
<li>Use <code>-r=...</code> instead of <code>-r ...</code> to specify references with Mercurial. (<code>[#12306](pypa/pip#12306) &lt;https://github.com/pypa/pip/issues/12306&gt;</code>_)</li>
<li>Redact password from URLs in some additional places. (<code>[#12350](pypa/pip#12350) &lt;https://github.com/pypa/pip/issues/12350&gt;</code>_)</li>
<li>pip uses less memory when caching large packages. As a result, there is a new on-disk cache format stored in a new directory ($PIP_CACHE_DIR/http-v2). (<code>[#2984](pypa/pip#2984) &lt;https://github.com/pypa/pip/issues/2984&gt;</code>_)</li>
</ul>
<h2>Vendored Libraries</h2>
<ul>
<li>Upgrade certifi to 2023.7.22</li>
<li>Add truststore 0.8.0</li>
<li>Upgrade urllib3 to 1.26.17</li>
</ul>
<p>Improved Documentation</p>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pypa/pip/commit/e3dc91dad93a020b3034a87ebe59027f63370fe8"><code>e3dc91d</code></a> Bump for release</li>
<li><a href="https://github.com/pypa/pip/commit/3e85558b10722598fb3353126e2f19979f7cf7dd"><code>3e85558</code></a> Update AUTHORS.txt</li>
<li><a href="https://github.com/pypa/pip/commit/8d0278771c7325b04f02cb073c8ef02827cbeb93"><code>8d02787</code></a> Reclassify news fragment</li>
<li><a href="https://github.com/pypa/pip/commit/f6ecf406c3929b3127ddb480ef4350542d102338"><code>f6ecf40</code></a> Merge pull request <a href="https://redirect.github.com/pypa/pip/issues/12350">#12350</a> from sbidoul/readact-collecting-url</li>
<li><a href="https://github.com/pypa/pip/commit/306086513bd1a6500126057492ee8b0f9a2e79dd"><code>3060865</code></a> Merge pull request <a href="https://redirect.github.com/pypa/pip/issues/12335">#12335</a> from edmorley/patch-1</li>
<li><a href="https://github.com/pypa/pip/commit/8f0ed32413daa411a728b50cd7776b9c02b010d5"><code>8f0ed32</code></a> Redact URLs in Collecting... logs</li>
<li><a href="https://github.com/pypa/pip/commit/d1659b87e46abd0a2dcc74f2160dd52e6190e13b"><code>d1659b8</code></a> Correct issue number for NEWS entry added by <a href="https://redirect.github.com/pypa/pip/issues/12197">#12197</a></li>
<li><a href="https://github.com/pypa/pip/commit/2333ef3b53a71fb7acc9e76d6ff90409576b2250"><code>2333ef3</code></a> Upgrade urllib3 to 1.26.17 (<a href="https://redirect.github.com/pypa/pip/issues/12343">#12343</a>)</li>
<li><a href="https://github.com/pypa/pip/commit/496b268c1b9ce3466c08eb4819e5460a943d1793"><code>496b268</code></a> Update &quot;Running Tests&quot; documentation (<a href="https://redirect.github.com/pypa/pip/issues/12334">#12334</a>)</li>
<li><a href="https://github.com/pypa/pip/commit/d1f0981cb2af3c72ff871b54a8a98581ccb2890a"><code>d1f0981</code></a> Merge pull request <a href="https://redirect.github.com/pypa/pip/issues/12331">#12331</a> from sbidoul/update-egg-deprecation-message</li>
<li>Additional commits viewable in <a href="https://github.com/pypa/pip/compare/23.2.1...23.3">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pip&package-manager=pip&previous-version=23.2.1&new-version=23.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
mergify bot pushed a commit to aws/jsii that referenced this issue Oct 16, 2023
…s/@jsii/python-runtime (#4295)

Updates the requirements on [pip](https://github.com/pypa/pip) to permit the latest version.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's changelog</a>.</em></p>
<blockquote>
<h1>23.3 (2023-10-15)</h1>
<h2>Process</h2>
<ul>
<li>Added reference to <code>vulnerability reporting guidelines &lt;https://www.python.org/dev/security/&gt;</code>_ to pip's security policy.</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li>Drop a fallback to using SecureTransport on macOS. It was useful when pip detected OpenSSL older than 1.0.1, but the current pip does not support any Python version supporting such old OpenSSL versions. (<code>[#12175](pypa/pip#12175) &lt;https://github.com/pypa/pip/issues/12175&gt;</code>_)</li>
</ul>
<h2>Features</h2>
<ul>
<li>Improve extras resolution for multiple constraints on same base package. (<code>[#11924](pypa/pip#11924) &lt;https://github.com/pypa/pip/issues/11924&gt;</code>_)</li>
<li>Improve use of datastructures to make candidate selection 1.6x faster. (<code>[#12204](pypa/pip#12204) &lt;https://github.com/pypa/pip/issues/12204&gt;</code>_)</li>
<li>Allow <code>pip install --dry-run</code> to use platform and ABI overriding options. (<code>[#12215](pypa/pip#12215) &lt;https://github.com/pypa/pip/issues/12215&gt;</code>_)</li>
<li>Add <code>is_yanked</code> boolean entry to the installation report (<code>--report</code>) to indicate whether the requirement was yanked from the index, but was still selected by pip conform to :pep:<code>592</code>. (<code>[#12224](pypa/pip#12224) &lt;https://github.com/pypa/pip/issues/12224&gt;</code>_)</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>Ignore errors in temporary directory cleanup (show a warning instead). (<code>[#11394](pypa/pip#11394) &lt;https://github.com/pypa/pip/issues/11394&gt;</code>_)</li>
<li>Normalize extras according to :pep:<code>685</code> from package metadata in the resolver
for comparison. This ensures extras are correctly compared and merged as long
as the package providing the extra(s) is built with values normalized according
to the standard. Note, however, that this <em>does not</em> solve cases where the
package itself contains unnormalized extra values in the metadata. (<code>[#11649](pypa/pip#11649) &lt;https://github.com/pypa/pip/issues/11649&gt;</code>_)</li>
<li>Prevent downloading sdists twice when :pep:<code>658</code> metadata is present. (<code>[#11847](pypa/pip#11847) &lt;https://github.com/pypa/pip/issues/11847&gt;</code>_)</li>
<li>Include all requested extras in the install report (<code>--report</code>). (<code>[#11924](pypa/pip#11924) &lt;https://github.com/pypa/pip/issues/11924&gt;</code>_)</li>
<li>Removed uses of <code>datetime.datetime.utcnow</code> from non-vendored code. (<code>[#12005](pypa/pip#12005) &lt;https://github.com/pypa/pip/issues/12005&gt;</code>_)</li>
<li>Consistently report whether a dependency comes from an extra. (<code>[#12095](pypa/pip#12095) &lt;https://github.com/pypa/pip/issues/12095&gt;</code>_)</li>
<li>Fix completion script for zsh (<code>[#12166](pypa/pip#12166) &lt;https://github.com/pypa/pip/issues/12166&gt;</code>_)</li>
<li>Fix improper handling of the new onexc argument of <code>shutil.rmtree()</code> in Python 3.12. (<code>[#12187](pypa/pip#12187) &lt;https://github.com/pypa/pip/issues/12187&gt;</code>_)</li>
<li>Filter out yanked links from the available versions error message: &quot;(from versions: 1.0, 2.0, 3.0)&quot; will not contain yanked versions conform PEP 592. The yanked versions (if any) will be mentioned in a separate error message. (<code>[#12225](pypa/pip#12225) &lt;https://github.com/pypa/pip/issues/12225&gt;</code>_)</li>
<li>Fix crash when the git version number contains something else than digits and dots. (<code>[#12280](pypa/pip#12280) &lt;https://github.com/pypa/pip/issues/12280&gt;</code>_)</li>
<li>Use <code>-r=...</code> instead of <code>-r ...</code> to specify references with Mercurial. (<code>[#12306](pypa/pip#12306) &lt;https://github.com/pypa/pip/issues/12306&gt;</code>_)</li>
<li>Redact password from URLs in some additional places. (<code>[#12350](pypa/pip#12350) &lt;https://github.com/pypa/pip/issues/12350&gt;</code>_)</li>
<li>pip uses less memory when caching large packages. As a result, there is a new on-disk cache format stored in a new directory ($PIP_CACHE_DIR/http-v2). (<code>[#2984](pypa/pip#2984) &lt;https://github.com/pypa/pip/issues/2984&gt;</code>_)</li>
</ul>
<h2>Vendored Libraries</h2>
<ul>
<li>Upgrade certifi to 2023.7.22</li>
<li>Add truststore 0.8.0</li>
<li>Upgrade urllib3 to 1.26.17</li>
</ul>
<p>Improved Documentation</p>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pypa/pip/commit/e3dc91dad93a020b3034a87ebe59027f63370fe8"><code>e3dc91d</code></a> Bump for release</li>
<li><a href="https://github.com/pypa/pip/commit/3e85558b10722598fb3353126e2f19979f7cf7dd"><code>3e85558</code></a> Update AUTHORS.txt</li>
<li><a href="https://github.com/pypa/pip/commit/8d0278771c7325b04f02cb073c8ef02827cbeb93"><code>8d02787</code></a> Reclassify news fragment</li>
<li><a href="https://github.com/pypa/pip/commit/f6ecf406c3929b3127ddb480ef4350542d102338"><code>f6ecf40</code></a> Merge pull request <a href="https://redirect.github.com/pypa/pip/issues/12350">#12350</a> from sbidoul/readact-collecting-url</li>
<li><a href="https://github.com/pypa/pip/commit/306086513bd1a6500126057492ee8b0f9a2e79dd"><code>3060865</code></a> Merge pull request <a href="https://redirect.github.com/pypa/pip/issues/12335">#12335</a> from edmorley/patch-1</li>
<li><a href="https://github.com/pypa/pip/commit/8f0ed32413daa411a728b50cd7776b9c02b010d5"><code>8f0ed32</code></a> Redact URLs in Collecting... logs</li>
<li><a href="https://github.com/pypa/pip/commit/d1659b87e46abd0a2dcc74f2160dd52e6190e13b"><code>d1659b8</code></a> Correct issue number for NEWS entry added by <a href="https://redirect.github.com/pypa/pip/issues/12197">#12197</a></li>
<li><a href="https://github.com/pypa/pip/commit/2333ef3b53a71fb7acc9e76d6ff90409576b2250"><code>2333ef3</code></a> Upgrade urllib3 to 1.26.17 (<a href="https://redirect.github.com/pypa/pip/issues/12343">#12343</a>)</li>
<li><a href="https://github.com/pypa/pip/commit/496b268c1b9ce3466c08eb4819e5460a943d1793"><code>496b268</code></a> Update &quot;Running Tests&quot; documentation (<a href="https://redirect.github.com/pypa/pip/issues/12334">#12334</a>)</li>
<li><a href="https://github.com/pypa/pip/commit/d1f0981cb2af3c72ff871b54a8a98581ccb2890a"><code>d1f0981</code></a> Merge pull request <a href="https://redirect.github.com/pypa/pip/issues/12331">#12331</a> from sbidoul/update-egg-deprecation-message</li>
<li>Additional commits viewable in <a href="https://github.com/pypa/pip/compare/23.2...23.3">compare view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
inmantaci pushed a commit to inmanta/inmanta-core that referenced this issue Oct 16, 2023
Bumps [pip](https://github.com/pypa/pip) from 23.2.1 to 23.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's changelog</a>.</em></p>
<blockquote>
<h1>23.3 (2023-10-15)</h1>
<h2>Process</h2>
<ul>
<li>Added reference to <code>vulnerability reporting guidelines &lt;https://www.python.org/dev/security/&gt;</code>_ to pip's security policy.</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li>Drop a fallback to using SecureTransport on macOS. It was useful when pip detected OpenSSL older than 1.0.1, but the current pip does not support any Python version supporting such old OpenSSL versions. (<code>[#12175](pypa/pip#12175) &lt;https://github.com/pypa/pip/issues/12175&gt;</code>_)</li>
</ul>
<h2>Features</h2>
<ul>
<li>Improve extras resolution for multiple constraints on same base package. (<code>[#11924](pypa/pip#11924) &lt;https://github.com/pypa/pip/issues/11924&gt;</code>_)</li>
<li>Improve use of datastructures to make candidate selection 1.6x faster. (<code>[#12204](pypa/pip#12204) &lt;https://github.com/pypa/pip/issues/12204&gt;</code>_)</li>
<li>Allow <code>pip install --dry-run</code> to use platform and ABI overriding options. (<code>[#12215](pypa/pip#12215) &lt;https://github.com/pypa/pip/issues/12215&gt;</code>_)</li>
<li>Add <code>is_yanked</code> boolean entry to the installation report (<code>--report</code>) to indicate whether the requirement was yanked from the index, but was still selected by pip conform to :pep:<code>592</code>. (<code>[#12224](pypa/pip#12224) &lt;https://github.com/pypa/pip/issues/12224&gt;</code>_)</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>Ignore errors in temporary directory cleanup (show a warning instead). (<code>[#11394](pypa/pip#11394) &lt;https://github.com/pypa/pip/issues/11394&gt;</code>_)</li>
<li>Normalize extras according to :pep:<code>685</code> from package metadata in the resolver
for comparison. This ensures extras are correctly compared and merged as long
as the package providing the extra(s) is built with values normalized according
to the standard. Note, however, that this <em>does not</em> solve cases where the
package itself contains unnormalized extra values in the metadata. (<code>[#11649](pypa/pip#11649) &lt;https://github.com/pypa/pip/issues/11649&gt;</code>_)</li>
<li>Prevent downloading sdists twice when :pep:<code>658</code> metadata is present. (<code>[#11847](pypa/pip#11847) &lt;https://github.com/pypa/pip/issues/11847&gt;</code>_)</li>
<li>Include all requested extras in the install report (<code>--report</code>). (<code>[#11924](pypa/pip#11924) &lt;https://github.com/pypa/pip/issues/11924&gt;</code>_)</li>
<li>Removed uses of <code>datetime.datetime.utcnow</code> from non-vendored code. (<code>[#12005](pypa/pip#12005) &lt;https://github.com/pypa/pip/issues/12005&gt;</code>_)</li>
<li>Consistently report whether a dependency comes from an extra. (<code>[#12095](pypa/pip#12095) &lt;https://github.com/pypa/pip/issues/12095&gt;</code>_)</li>
<li>Fix completion script for zsh (<code>[#12166](pypa/pip#12166) &lt;https://github.com/pypa/pip/issues/12166&gt;</code>_)</li>
<li>Fix improper handling of the new onexc argument of <code>shutil.rmtree()</code> in Python 3.12. (<code>[#12187](pypa/pip#12187) &lt;https://github.com/pypa/pip/issues/12187&gt;</code>_)</li>
<li>Filter out yanked links from the available versions error message: &quot;(from versions: 1.0, 2.0, 3.0)&quot; will not contain yanked versions conform PEP 592. The yanked versions (if any) will be mentioned in a separate error message. (<code>[#12225](pypa/pip#12225) &lt;https://github.com/pypa/pip/issues/12225&gt;</code>_)</li>
<li>Fix crash when the git version number contains something else than digits and dots. (<code>[#12280](pypa/pip#12280) &lt;https://github.com/pypa/pip/issues/12280&gt;</code>_)</li>
<li>Use <code>-r=...</code> instead of <code>-r ...</code> to specify references with Mercurial. (<code>[#12306](pypa/pip#12306) &lt;https://github.com/pypa/pip/issues/12306&gt;</code>_)</li>
<li>Redact password from URLs in some additional places. (<code>[#12350](pypa/pip#12350) &lt;https://github.com/pypa/pip/issues/12350&gt;</code>_)</li>
<li>pip uses less memory when caching large packages. As a result, there is a new on-disk cache format stored in a new directory ($PIP_CACHE_DIR/http-v2). (<code>[#2984](pypa/pip#2984) &lt;https://github.com/pypa/pip/issues/2984&gt;</code>_)</li>
</ul>
<h2>Vendored Libraries</h2>
<ul>
<li>Upgrade certifi to 2023.7.22</li>
<li>Add truststore 0.8.0</li>
<li>Upgrade urllib3 to 1.26.17</li>
</ul>
<p>Improved Documentation</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pypa/pip/commit/e3dc91dad93a020b3034a87ebe59027f63370fe8"><code>e3dc91d</code></a> Bump for release</li>
<li><a href="https://github.com/pypa/pip/commit/3e85558b10722598fb3353126e2f19979f7cf7dd"><code>3e85558</code></a> Update AUTHORS.txt</li>
<li><a href="https://github.com/pypa/pip/commit/8d0278771c7325b04f02cb073c8ef02827cbeb93"><code>8d02787</code></a> Reclassify news fragment</li>
<li><a href="https://github.com/pypa/pip/commit/f6ecf406c3929b3127ddb480ef4350542d102338"><code>f6ecf40</code></a> Merge pull request <a href="https://redirect.github.com/pypa/pip/issues/12350">#12350</a> from sbidoul/readact-collecting-url</li>
<li><a href="https://github.com/pypa/pip/commit/306086513bd1a6500126057492ee8b0f9a2e79dd"><code>3060865</code></a> Merge pull request <a href="https://redirect.github.com/pypa/pip/issues/12335">#12335</a> from edmorley/patch-1</li>
<li><a href="https://github.com/pypa/pip/commit/8f0ed32413daa411a728b50cd7776b9c02b010d5"><code>8f0ed32</code></a> Redact URLs in Collecting... logs</li>
<li><a href="https://github.com/pypa/pip/commit/d1659b87e46abd0a2dcc74f2160dd52e6190e13b"><code>d1659b8</code></a> Correct issue number for NEWS entry added by <a href="https://redirect.github.com/pypa/pip/issues/12197">#12197</a></li>
<li><a href="https://github.com/pypa/pip/commit/2333ef3b53a71fb7acc9e76d6ff90409576b2250"><code>2333ef3</code></a> Upgrade urllib3 to 1.26.17 (<a href="https://redirect.github.com/pypa/pip/issues/12343">#12343</a>)</li>
<li><a href="https://github.com/pypa/pip/commit/496b268c1b9ce3466c08eb4819e5460a943d1793"><code>496b268</code></a> Update &quot;Running Tests&quot; documentation (<a href="https://redirect.github.com/pypa/pip/issues/12334">#12334</a>)</li>
<li><a href="https://github.com/pypa/pip/commit/d1f0981cb2af3c72ff871b54a8a98581ccb2890a"><code>d1f0981</code></a> Merge pull request <a href="https://redirect.github.com/pypa/pip/issues/12331">#12331</a> from sbidoul/update-egg-deprecation-message</li>
<li>Additional commits viewable in <a href="https://github.com/pypa/pip/compare/23.2.1...23.3">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pip&package-manager=pip&previous-version=23.2.1&new-version=23.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>
inmantaci pushed a commit to inmanta/inmanta-core that referenced this issue Oct 16, 2023
Bumps [pip](https://github.com/pypa/pip) from 23.2.1 to 23.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's changelog</a>.</em></p>
<blockquote>
<h1>23.3 (2023-10-15)</h1>
<h2>Process</h2>
<ul>
<li>Added reference to <code>vulnerability reporting guidelines &lt;https://www.python.org/dev/security/&gt;</code>_ to pip's security policy.</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li>Drop a fallback to using SecureTransport on macOS. It was useful when pip detected OpenSSL older than 1.0.1, but the current pip does not support any Python version supporting such old OpenSSL versions. (<code>[#12175](pypa/pip#12175) &lt;https://github.com/pypa/pip/issues/12175&gt;</code>_)</li>
</ul>
<h2>Features</h2>
<ul>
<li>Improve extras resolution for multiple constraints on same base package. (<code>[#11924](pypa/pip#11924) &lt;https://github.com/pypa/pip/issues/11924&gt;</code>_)</li>
<li>Improve use of datastructures to make candidate selection 1.6x faster. (<code>[#12204](pypa/pip#12204) &lt;https://github.com/pypa/pip/issues/12204&gt;</code>_)</li>
<li>Allow <code>pip install --dry-run</code> to use platform and ABI overriding options. (<code>[#12215](pypa/pip#12215) &lt;https://github.com/pypa/pip/issues/12215&gt;</code>_)</li>
<li>Add <code>is_yanked</code> boolean entry to the installation report (<code>--report</code>) to indicate whether the requirement was yanked from the index, but was still selected by pip conform to :pep:<code>592</code>. (<code>[#12224](pypa/pip#12224) &lt;https://github.com/pypa/pip/issues/12224&gt;</code>_)</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>Ignore errors in temporary directory cleanup (show a warning instead). (<code>[#11394](pypa/pip#11394) &lt;https://github.com/pypa/pip/issues/11394&gt;</code>_)</li>
<li>Normalize extras according to :pep:<code>685</code> from package metadata in the resolver
for comparison. This ensures extras are correctly compared and merged as long
as the package providing the extra(s) is built with values normalized according
to the standard. Note, however, that this <em>does not</em> solve cases where the
package itself contains unnormalized extra values in the metadata. (<code>[#11649](pypa/pip#11649) &lt;https://github.com/pypa/pip/issues/11649&gt;</code>_)</li>
<li>Prevent downloading sdists twice when :pep:<code>658</code> metadata is present. (<code>[#11847](pypa/pip#11847) &lt;https://github.com/pypa/pip/issues/11847&gt;</code>_)</li>
<li>Include all requested extras in the install report (<code>--report</code>). (<code>[#11924](pypa/pip#11924) &lt;https://github.com/pypa/pip/issues/11924&gt;</code>_)</li>
<li>Removed uses of <code>datetime.datetime.utcnow</code> from non-vendored code. (<code>[#12005](pypa/pip#12005) &lt;https://github.com/pypa/pip/issues/12005&gt;</code>_)</li>
<li>Consistently report whether a dependency comes from an extra. (<code>[#12095](pypa/pip#12095) &lt;https://github.com/pypa/pip/issues/12095&gt;</code>_)</li>
<li>Fix completion script for zsh (<code>[#12166](pypa/pip#12166) &lt;https://github.com/pypa/pip/issues/12166&gt;</code>_)</li>
<li>Fix improper handling of the new onexc argument of <code>shutil.rmtree()</code> in Python 3.12. (<code>[#12187](pypa/pip#12187) &lt;https://github.com/pypa/pip/issues/12187&gt;</code>_)</li>
<li>Filter out yanked links from the available versions error message: &quot;(from versions: 1.0, 2.0, 3.0)&quot; will not contain yanked versions conform PEP 592. The yanked versions (if any) will be mentioned in a separate error message. (<code>[#12225](pypa/pip#12225) &lt;https://github.com/pypa/pip/issues/12225&gt;</code>_)</li>
<li>Fix crash when the git version number contains something else than digits and dots. (<code>[#12280](pypa/pip#12280) &lt;https://github.com/pypa/pip/issues/12280&gt;</code>_)</li>
<li>Use <code>-r=...</code> instead of <code>-r ...</code> to specify references with Mercurial. (<code>[#12306](pypa/pip#12306) &lt;https://github.com/pypa/pip/issues/12306&gt;</code>_)</li>
<li>Redact password from URLs in some additional places. (<code>[#12350](pypa/pip#12350) &lt;https://github.com/pypa/pip/issues/12350&gt;</code>_)</li>
<li>pip uses less memory when caching large packages. As a result, there is a new on-disk cache format stored in a new directory ($PIP_CACHE_DIR/http-v2). (<code>[#2984](pypa/pip#2984) &lt;https://github.com/pypa/pip/issues/2984&gt;</code>_)</li>
</ul>
<h2>Vendored Libraries</h2>
<ul>
<li>Upgrade certifi to 2023.7.22</li>
<li>Add truststore 0.8.0</li>
<li>Upgrade urllib3 to 1.26.17</li>
</ul>
<p>Improved Documentation</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pypa/pip/commit/e3dc91dad93a020b3034a87ebe59027f63370fe8"><code>e3dc91d</code></a> Bump for release</li>
<li><a href="https://github.com/pypa/pip/commit/3e85558b10722598fb3353126e2f19979f7cf7dd"><code>3e85558</code></a> Update AUTHORS.txt</li>
<li><a href="https://github.com/pypa/pip/commit/8d0278771c7325b04f02cb073c8ef02827cbeb93"><code>8d02787</code></a> Reclassify news fragment</li>
<li><a href="https://github.com/pypa/pip/commit/f6ecf406c3929b3127ddb480ef4350542d102338"><code>f6ecf40</code></a> Merge pull request <a href="https://redirect.github.com/pypa/pip/issues/12350">#12350</a> from sbidoul/readact-collecting-url</li>
<li><a href="https://github.com/pypa/pip/commit/306086513bd1a6500126057492ee8b0f9a2e79dd"><code>3060865</code></a> Merge pull request <a href="https://redirect.github.com/pypa/pip/issues/12335">#12335</a> from edmorley/patch-1</li>
<li><a href="https://github.com/pypa/pip/commit/8f0ed32413daa411a728b50cd7776b9c02b010d5"><code>8f0ed32</code></a> Redact URLs in Collecting... logs</li>
<li><a href="https://github.com/pypa/pip/commit/d1659b87e46abd0a2dcc74f2160dd52e6190e13b"><code>d1659b8</code></a> Correct issue number for NEWS entry added by <a href="https://redirect.github.com/pypa/pip/issues/12197">#12197</a></li>
<li><a href="https://github.com/pypa/pip/commit/2333ef3b53a71fb7acc9e76d6ff90409576b2250"><code>2333ef3</code></a> Upgrade urllib3 to 1.26.17 (<a href="https://redirect.github.com/pypa/pip/issues/12343">#12343</a>)</li>
<li><a href="https://github.com/pypa/pip/commit/496b268c1b9ce3466c08eb4819e5460a943d1793"><code>496b268</code></a> Update &quot;Running Tests&quot; documentation (<a href="https://redirect.github.com/pypa/pip/issues/12334">#12334</a>)</li>
<li><a href="https://github.com/pypa/pip/commit/d1f0981cb2af3c72ff871b54a8a98581ccb2890a"><code>d1f0981</code></a> Merge pull request <a href="https://redirect.github.com/pypa/pip/issues/12331">#12331</a> from sbidoul/update-egg-deprecation-message</li>
<li>Additional commits viewable in <a href="https://github.com/pypa/pip/compare/23.2.1...23.3">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pip&package-manager=pip&previous-version=23.2.1&new-version=23.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>
kai687 pushed a commit to kai687/sphinxawesome-theme that referenced this issue Oct 22, 2023
Bumps [pip](https://github.com/pypa/pip) from 23.2.1 to 23.3.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's
changelog</a>.</em></p>
<blockquote>
<h1>23.3.1 (2023-10-21)</h1>
<h2>Bug Fixes</h2>
<ul>
<li>Handle a timezone indicator of Z when parsing dates in the self
check. (<code>[#12338](pypa/pip#12338)
&lt;https://github.com/pypa/pip/issues/12338&gt;</code>_)</li>
<li>Fix bug where installing the same package at the same time with
multiple pip processes could fail.
(<code>[#12361](pypa/pip#12361)
&lt;https://github.com/pypa/pip/issues/12361&gt;</code>_)</li>
</ul>
<h1>23.3 (2023-10-15)</h1>
<h2>Process</h2>
<ul>
<li>Added reference to <code>vulnerability reporting guidelines
&lt;https://www.python.org/dev/security/&gt;</code>_ to pip's security
policy.</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li>Drop a fallback to using SecureTransport on macOS. It was useful
when pip detected OpenSSL older than 1.0.1, but the current pip does not
support any Python version supporting such old OpenSSL versions.
(<code>[#12175](pypa/pip#12175)
&lt;https://github.com/pypa/pip/issues/12175&gt;</code>_)</li>
</ul>
<h2>Features</h2>
<ul>
<li>Improve extras resolution for multiple constraints on same base
package. (<code>[#11924](pypa/pip#11924)
&lt;https://github.com/pypa/pip/issues/11924&gt;</code>_)</li>
<li>Improve use of datastructures to make candidate selection 1.6x
faster. (<code>[#12204](pypa/pip#12204)
&lt;https://github.com/pypa/pip/issues/12204&gt;</code>_)</li>
<li>Allow <code>pip install --dry-run</code> to use platform and ABI
overriding options.
(<code>[#12215](pypa/pip#12215)
&lt;https://github.com/pypa/pip/issues/12215&gt;</code>_)</li>
<li>Add <code>is_yanked</code> boolean entry to the installation report
(<code>--report</code>) to indicate whether the requirement was yanked
from the index, but was still selected by pip conform to
:pep:<code>592</code>.
(<code>[#12224](pypa/pip#12224)
&lt;https://github.com/pypa/pip/issues/12224&gt;</code>_)</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>Ignore errors in temporary directory cleanup (show a warning
instead). (<code>[#11394](pypa/pip#11394)
&lt;https://github.com/pypa/pip/issues/11394&gt;</code>_)</li>
<li>Normalize extras according to :pep:<code>685</code> from package
metadata in the resolver
for comparison. This ensures extras are correctly compared and merged as
long
as the package providing the extra(s) is built with values normalized
according
to the standard. Note, however, that this <em>does not</em> solve cases
where the
package itself contains unnormalized extra values in the metadata.
(<code>[#11649](pypa/pip#11649)
&lt;https://github.com/pypa/pip/issues/11649&gt;</code>_)</li>
<li>Prevent downloading sdists twice when :pep:<code>658</code> metadata
is present. (<code>[#11847](pypa/pip#11847)
&lt;https://github.com/pypa/pip/issues/11847&gt;</code>_)</li>
<li>Include all requested extras in the install report
(<code>--report</code>).
(<code>[#11924](pypa/pip#11924)
&lt;https://github.com/pypa/pip/issues/11924&gt;</code>_)</li>
<li>Removed uses of <code>datetime.datetime.utcnow</code> from
non-vendored code.
(<code>[#12005](pypa/pip#12005)
&lt;https://github.com/pypa/pip/issues/12005&gt;</code>_)</li>
<li>Consistently report whether a dependency comes from an extra.
(<code>[#12095](pypa/pip#12095)
&lt;https://github.com/pypa/pip/issues/12095&gt;</code>_)</li>
<li>Fix completion script for zsh
(<code>[#12166](pypa/pip#12166)
&lt;https://github.com/pypa/pip/issues/12166&gt;</code>_)</li>
<li>Fix improper handling of the new onexc argument of
<code>shutil.rmtree()</code> in Python 3.12.
(<code>[#12187](pypa/pip#12187)
&lt;https://github.com/pypa/pip/issues/12187&gt;</code>_)</li>
<li>Filter out yanked links from the available versions error message:
&quot;(from versions: 1.0, 2.0, 3.0)&quot; will not contain yanked
versions conform PEP 592. The yanked versions (if any) will be mentioned
in a separate error message.
(<code>[#12225](pypa/pip#12225)
&lt;https://github.com/pypa/pip/issues/12225&gt;</code>_)</li>
<li>Fix crash when the git version number contains something else than
digits and dots.
(<code>[#12280](pypa/pip#12280)
&lt;https://github.com/pypa/pip/issues/12280&gt;</code>_)</li>
<li>Use <code>-r=...</code> instead of <code>-r ...</code> to specify
references with Mercurial.
(<code>[#12306](pypa/pip#12306)
&lt;https://github.com/pypa/pip/issues/12306&gt;</code>_)</li>
<li>Redact password from URLs in some additional places.
(<code>[#12350](pypa/pip#12350)
&lt;https://github.com/pypa/pip/issues/12350&gt;</code>_)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/pip/commit/5364f26f9631dc07ed1bdfc88e1bec1bead2bce3"><code>5364f26</code></a>
Bump for release</li>
<li><a
href="https://github.com/pypa/pip/commit/5e7cc16c3b4442055a4a9892e9231758b6714e28"><code>5e7cc16</code></a>
Fix parallel pip cache downloads causing crash (<a
href="https://redirect.github.com/pypa/pip/issues/12364">#12364</a>)</li>
<li><a
href="https://github.com/pypa/pip/commit/8a0f77c171d60344e6a3bf6e95ad5740c21575fd"><code>8a0f77c</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/12355">#12355</a> from
sbidoul/build-using-build</li>
<li><a
href="https://github.com/pypa/pip/commit/f3620cdb5be06cee223a3606a1525ee45372085b"><code>f3620cd</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/12363">#12363</a> from
pfmoore/safe_isoformat</li>
<li><a
href="https://github.com/pypa/pip/commit/fb06d12d5a32581ae531fc26143c14ac6c8ea8fe"><code>fb06d12</code></a>
Handle ISO formats with a trailing Z</li>
<li><a
href="https://github.com/pypa/pip/commit/9f213bf69ac32c60c84055261c862ff169389e43"><code>9f213bf</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/12356">#12356</a> from
sbidoul/clarify-changelog</li>
<li><a
href="https://github.com/pypa/pip/commit/a982c7bc3550afb27a3a792d84fe91bf7c3254ca"><code>a982c7b</code></a>
Add a few PEP links in the changelog</li>
<li><a
href="https://github.com/pypa/pip/commit/e1e227d7d6b5ae04ae3a2104bf8185622201f5f6"><code>e1e227d</code></a>
Clarify changelog</li>
<li><a
href="https://github.com/pypa/pip/commit/9b0abc8c40459dd16a9c1205e15f6d3363bf202e"><code>9b0abc8</code></a>
Build using <code>build</code></li>
<li><a
href="https://github.com/pypa/pip/commit/9d4be7802f45790bdb994f943c8d8731927cf25c"><code>9d4be78</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/12353">#12353</a> from
sbidoul/release/23.3</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/pip/compare/23.2.1...23.3.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pip&package-manager=pip&previous-version=23.2.1&new-version=23.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@bdellegrazie
Copy link

Any idea when this will be released?

@sanderr
Copy link
Contributor Author

sanderr commented Nov 2, 2023

It has been released. Do you still have an issue with it?

@bdellegrazie
Copy link

@sanderr still having issues with it for gitlint via pre-commit but perhaps that's virtualenv.

@sanderr
Copy link
Contributor Author

sanderr commented Nov 2, 2023

Ah, there is actually a small bug in it that has been causing issues for gitlint, see #12372. Does that match with the issue you're having? I have a fix that seems to be working but I haven't had the time yet to add test cases and open a pull request. I'm hoping to get to that this weekend. I can't comment on when that would be released though.

@bdellegrazie
Copy link

@sanderr yes, that's exactly our issue too, thank you for your efforts.

kai687 pushed a commit to kai687/sphinxawesome-theme that referenced this issue Nov 5, 2023
Bumps [pip](https://github.com/pypa/pip) from 23.2.1 to 23.3.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's
changelog</a>.</em></p>
<blockquote>
<h1>23.3.1 (2023-10-21)</h1>
<h2>Bug Fixes</h2>
<ul>
<li>Handle a timezone indicator of Z when parsing dates in the self
check. (<code>[#12338](pypa/pip#12338)
&lt;https://github.com/pypa/pip/issues/12338&gt;</code>_)</li>
<li>Fix bug where installing the same package at the same time with
multiple pip processes could fail.
(<code>[#12361](pypa/pip#12361)
&lt;https://github.com/pypa/pip/issues/12361&gt;</code>_)</li>
</ul>
<h1>23.3 (2023-10-15)</h1>
<h2>Process</h2>
<ul>
<li>Added reference to <code>vulnerability reporting guidelines
&lt;https://www.python.org/dev/security/&gt;</code>_ to pip's security
policy.</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li>Drop a fallback to using SecureTransport on macOS. It was useful
when pip detected OpenSSL older than 1.0.1, but the current pip does not
support any Python version supporting such old OpenSSL versions.
(<code>[#12175](pypa/pip#12175)
&lt;https://github.com/pypa/pip/issues/12175&gt;</code>_)</li>
</ul>
<h2>Features</h2>
<ul>
<li>Improve extras resolution for multiple constraints on same base
package. (<code>[#11924](pypa/pip#11924)
&lt;https://github.com/pypa/pip/issues/11924&gt;</code>_)</li>
<li>Improve use of datastructures to make candidate selection 1.6x
faster. (<code>[#12204](pypa/pip#12204)
&lt;https://github.com/pypa/pip/issues/12204&gt;</code>_)</li>
<li>Allow <code>pip install --dry-run</code> to use platform and ABI
overriding options.
(<code>[#12215](pypa/pip#12215)
&lt;https://github.com/pypa/pip/issues/12215&gt;</code>_)</li>
<li>Add <code>is_yanked</code> boolean entry to the installation report
(<code>--report</code>) to indicate whether the requirement was yanked
from the index, but was still selected by pip conform to
:pep:<code>592</code>.
(<code>[#12224](pypa/pip#12224)
&lt;https://github.com/pypa/pip/issues/12224&gt;</code>_)</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>Ignore errors in temporary directory cleanup (show a warning
instead). (<code>[#11394](pypa/pip#11394)
&lt;https://github.com/pypa/pip/issues/11394&gt;</code>_)</li>
<li>Normalize extras according to :pep:<code>685</code> from package
metadata in the resolver
for comparison. This ensures extras are correctly compared and merged as
long
as the package providing the extra(s) is built with values normalized
according
to the standard. Note, however, that this <em>does not</em> solve cases
where the
package itself contains unnormalized extra values in the metadata.
(<code>[#11649](pypa/pip#11649)
&lt;https://github.com/pypa/pip/issues/11649&gt;</code>_)</li>
<li>Prevent downloading sdists twice when :pep:<code>658</code> metadata
is present. (<code>[#11847](pypa/pip#11847)
&lt;https://github.com/pypa/pip/issues/11847&gt;</code>_)</li>
<li>Include all requested extras in the install report
(<code>--report</code>).
(<code>[#11924](pypa/pip#11924)
&lt;https://github.com/pypa/pip/issues/11924&gt;</code>_)</li>
<li>Removed uses of <code>datetime.datetime.utcnow</code> from
non-vendored code.
(<code>[#12005](pypa/pip#12005)
&lt;https://github.com/pypa/pip/issues/12005&gt;</code>_)</li>
<li>Consistently report whether a dependency comes from an extra.
(<code>[#12095](pypa/pip#12095)
&lt;https://github.com/pypa/pip/issues/12095&gt;</code>_)</li>
<li>Fix completion script for zsh
(<code>[#12166](pypa/pip#12166)
&lt;https://github.com/pypa/pip/issues/12166&gt;</code>_)</li>
<li>Fix improper handling of the new onexc argument of
<code>shutil.rmtree()</code> in Python 3.12.
(<code>[#12187](pypa/pip#12187)
&lt;https://github.com/pypa/pip/issues/12187&gt;</code>_)</li>
<li>Filter out yanked links from the available versions error message:
&quot;(from versions: 1.0, 2.0, 3.0)&quot; will not contain yanked
versions conform PEP 592. The yanked versions (if any) will be mentioned
in a separate error message.
(<code>[#12225](pypa/pip#12225)
&lt;https://github.com/pypa/pip/issues/12225&gt;</code>_)</li>
<li>Fix crash when the git version number contains something else than
digits and dots.
(<code>[#12280](pypa/pip#12280)
&lt;https://github.com/pypa/pip/issues/12280&gt;</code>_)</li>
<li>Use <code>-r=...</code> instead of <code>-r ...</code> to specify
references with Mercurial.
(<code>[#12306](pypa/pip#12306)
&lt;https://github.com/pypa/pip/issues/12306&gt;</code>_)</li>
<li>Redact password from URLs in some additional places.
(<code>[#12350](pypa/pip#12350)
&lt;https://github.com/pypa/pip/issues/12350&gt;</code>_)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/pip/commit/5364f26f9631dc07ed1bdfc88e1bec1bead2bce3"><code>5364f26</code></a>
Bump for release</li>
<li><a
href="https://github.com/pypa/pip/commit/5e7cc16c3b4442055a4a9892e9231758b6714e28"><code>5e7cc16</code></a>
Fix parallel pip cache downloads causing crash (<a
href="https://redirect.github.com/pypa/pip/issues/12364">#12364</a>)</li>
<li><a
href="https://github.com/pypa/pip/commit/8a0f77c171d60344e6a3bf6e95ad5740c21575fd"><code>8a0f77c</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/12355">#12355</a> from
sbidoul/build-using-build</li>
<li><a
href="https://github.com/pypa/pip/commit/f3620cdb5be06cee223a3606a1525ee45372085b"><code>f3620cd</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/12363">#12363</a> from
pfmoore/safe_isoformat</li>
<li><a
href="https://github.com/pypa/pip/commit/fb06d12d5a32581ae531fc26143c14ac6c8ea8fe"><code>fb06d12</code></a>
Handle ISO formats with a trailing Z</li>
<li><a
href="https://github.com/pypa/pip/commit/9f213bf69ac32c60c84055261c862ff169389e43"><code>9f213bf</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/12356">#12356</a> from
sbidoul/clarify-changelog</li>
<li><a
href="https://github.com/pypa/pip/commit/a982c7bc3550afb27a3a792d84fe91bf7c3254ca"><code>a982c7b</code></a>
Add a few PEP links in the changelog</li>
<li><a
href="https://github.com/pypa/pip/commit/e1e227d7d6b5ae04ae3a2104bf8185622201f5f6"><code>e1e227d</code></a>
Clarify changelog</li>
<li><a
href="https://github.com/pypa/pip/commit/9b0abc8c40459dd16a9c1205e15f6d3363bf202e"><code>9b0abc8</code></a>
Build using <code>build</code></li>
<li><a
href="https://github.com/pypa/pip/commit/9d4be7802f45790bdb994f943c8d8731927cf25c"><code>9d4be78</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/12353">#12353</a> from
sbidoul/release/23.3</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/pip/compare/23.2.1...23.3.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pip&package-manager=pip&previous-version=23.2.1&new-version=23.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
github-actions bot pushed a commit to bacalhau-project/bacalhau that referenced this issue Nov 6, 2023
Bumps [pip](https://github.com/pypa/pip) from 22.3.1 to 23.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's
changelog</a>.</em></p>
<blockquote>
<h1>23.3 (2023-10-15)</h1>
<h2>Process</h2>
<ul>
<li>Added reference to <code>vulnerability reporting guidelines
&lt;https://www.python.org/dev/security/&gt;</code>_ to pip's security
policy.</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li>Drop a fallback to using SecureTransport on macOS. It was useful
when pip detected OpenSSL older than 1.0.1, but the current pip does not
support any Python version supporting such old OpenSSL versions.
(<code>[#12175](pypa/pip#12175)
&lt;https://github.com/pypa/pip/issues/12175&gt;</code>_)</li>
</ul>
<h2>Features</h2>
<ul>
<li>Improve extras resolution for multiple constraints on same base
package. (<code>[#11924](pypa/pip#11924)
&lt;https://github.com/pypa/pip/issues/11924&gt;</code>_)</li>
<li>Improve use of datastructures to make candidate selection 1.6x
faster. (<code>[#12204](pypa/pip#12204)
&lt;https://github.com/pypa/pip/issues/12204&gt;</code>_)</li>
<li>Allow <code>pip install --dry-run</code> to use platform and ABI
overriding options.
(<code>[#12215](pypa/pip#12215)
&lt;https://github.com/pypa/pip/issues/12215&gt;</code>_)</li>
<li>Add <code>is_yanked</code> boolean entry to the installation report
(<code>--report</code>) to indicate whether the requirement was yanked
from the index, but was still selected by pip conform to
:pep:<code>592</code>.
(<code>[#12224](pypa/pip#12224)
&lt;https://github.com/pypa/pip/issues/12224&gt;</code>_)</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>Ignore errors in temporary directory cleanup (show a warning
instead). (<code>[#11394](pypa/pip#11394)
&lt;https://github.com/pypa/pip/issues/11394&gt;</code>_)</li>
<li>Normalize extras according to :pep:<code>685</code> from package
metadata in the resolver
for comparison. This ensures extras are correctly compared and merged as
long
as the package providing the extra(s) is built with values normalized
according
to the standard. Note, however, that this <em>does not</em> solve cases
where the
package itself contains unnormalized extra values in the metadata.
(<code>[#11649](pypa/pip#11649)
&lt;https://github.com/pypa/pip/issues/11649&gt;</code>_)</li>
<li>Prevent downloading sdists twice when :pep:<code>658</code> metadata
is present. (<code>[#11847](pypa/pip#11847)
&lt;https://github.com/pypa/pip/issues/11847&gt;</code>_)</li>
<li>Include all requested extras in the install report
(<code>--report</code>).
(<code>[#11924](pypa/pip#11924)
&lt;https://github.com/pypa/pip/issues/11924&gt;</code>_)</li>
<li>Removed uses of <code>datetime.datetime.utcnow</code> from
non-vendored code.
(<code>[#12005](pypa/pip#12005)
&lt;https://github.com/pypa/pip/issues/12005&gt;</code>_)</li>
<li>Consistently report whether a dependency comes from an extra.
(<code>[#12095](pypa/pip#12095)
&lt;https://github.com/pypa/pip/issues/12095&gt;</code>_)</li>
<li>Fix completion script for zsh
(<code>[#12166](pypa/pip#12166)
&lt;https://github.com/pypa/pip/issues/12166&gt;</code>_)</li>
<li>Fix improper handling of the new onexc argument of
<code>shutil.rmtree()</code> in Python 3.12.
(<code>[#12187](pypa/pip#12187)
&lt;https://github.com/pypa/pip/issues/12187&gt;</code>_)</li>
<li>Filter out yanked links from the available versions error message:
&quot;(from versions: 1.0, 2.0, 3.0)&quot; will not contain yanked
versions conform PEP 592. The yanked versions (if any) will be mentioned
in a separate error message.
(<code>[#12225](pypa/pip#12225)
&lt;https://github.com/pypa/pip/issues/12225&gt;</code>_)</li>
<li>Fix crash when the git version number contains something else than
digits and dots.
(<code>[#12280](pypa/pip#12280)
&lt;https://github.com/pypa/pip/issues/12280&gt;</code>_)</li>
<li>Use <code>-r=...</code> instead of <code>-r ...</code> to specify
references with Mercurial.
(<code>[#12306](pypa/pip#12306)
&lt;https://github.com/pypa/pip/issues/12306&gt;</code>_)</li>
<li>Redact password from URLs in some additional places.
(<code>[#12350](pypa/pip#12350)
&lt;https://github.com/pypa/pip/issues/12350&gt;</code>_)</li>
<li>pip uses less memory when caching large packages. As a result, there
is a new on-disk cache format stored in a new directory
($PIP_CACHE_DIR/http-v2).
(<code>[#2984](pypa/pip#2984)
&lt;https://github.com/pypa/pip/issues/2984&gt;</code>_)</li>
</ul>
<h2>Vendored Libraries</h2>
<ul>
<li>Upgrade certifi to 2023.7.22</li>
<li>Add truststore 0.8.0</li>
<li>Upgrade urllib3 to 1.26.17</li>
</ul>
<p>Improved Documentation</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/pip/commit/e3dc91dad93a020b3034a87ebe59027f63370fe8"><code>e3dc91d</code></a>
Bump for release</li>
<li><a
href="https://github.com/pypa/pip/commit/3e85558b10722598fb3353126e2f19979f7cf7dd"><code>3e85558</code></a>
Update AUTHORS.txt</li>
<li><a
href="https://github.com/pypa/pip/commit/8d0278771c7325b04f02cb073c8ef02827cbeb93"><code>8d02787</code></a>
Reclassify news fragment</li>
<li><a
href="https://github.com/pypa/pip/commit/f6ecf406c3929b3127ddb480ef4350542d102338"><code>f6ecf40</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/12350">#12350</a> from
sbidoul/readact-collecting-url</li>
<li><a
href="https://github.com/pypa/pip/commit/306086513bd1a6500126057492ee8b0f9a2e79dd"><code>3060865</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/12335">#12335</a> from
edmorley/patch-1</li>
<li><a
href="https://github.com/pypa/pip/commit/8f0ed32413daa411a728b50cd7776b9c02b010d5"><code>8f0ed32</code></a>
Redact URLs in Collecting... logs</li>
<li><a
href="https://github.com/pypa/pip/commit/d1659b87e46abd0a2dcc74f2160dd52e6190e13b"><code>d1659b8</code></a>
Correct issue number for NEWS entry added by <a
href="https://redirect.github.com/pypa/pip/issues/12197">#12197</a></li>
<li><a
href="https://github.com/pypa/pip/commit/2333ef3b53a71fb7acc9e76d6ff90409576b2250"><code>2333ef3</code></a>
Upgrade urllib3 to 1.26.17 (<a
href="https://redirect.github.com/pypa/pip/issues/12343">#12343</a>)</li>
<li><a
href="https://github.com/pypa/pip/commit/496b268c1b9ce3466c08eb4819e5460a943d1793"><code>496b268</code></a>
Update &quot;Running Tests&quot; documentation (<a
href="https://redirect.github.com/pypa/pip/issues/12334">#12334</a>)</li>
<li><a
href="https://github.com/pypa/pip/commit/d1f0981cb2af3c72ff871b54a8a98581ccb2890a"><code>d1f0981</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/12331">#12331</a> from
sbidoul/update-egg-deprecation-message</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/pip/compare/22.3.1...23.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pip&package-manager=pip&previous-version=22.3.1&new-version=23.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/bacalhau-project/bacalhau/network/alerts).

</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
github-actions bot pushed a commit to bacalhau-project/bacalhau that referenced this issue Nov 6, 2023
Bumps [pip](https://github.com/pypa/pip) from 22.3.1 to 23.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's
changelog</a>.</em></p>
<blockquote>
<h1>23.3 (2023-10-15)</h1>
<h2>Process</h2>
<ul>
<li>Added reference to <code>vulnerability reporting guidelines
&lt;https://www.python.org/dev/security/&gt;</code>_ to pip's security
policy.</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li>Drop a fallback to using SecureTransport on macOS. It was useful
when pip detected OpenSSL older than 1.0.1, but the current pip does not
support any Python version supporting such old OpenSSL versions.
(<code>[#12175](pypa/pip#12175)
&lt;https://github.com/pypa/pip/issues/12175&gt;</code>_)</li>
</ul>
<h2>Features</h2>
<ul>
<li>Improve extras resolution for multiple constraints on same base
package. (<code>[#11924](pypa/pip#11924)
&lt;https://github.com/pypa/pip/issues/11924&gt;</code>_)</li>
<li>Improve use of datastructures to make candidate selection 1.6x
faster. (<code>[#12204](pypa/pip#12204)
&lt;https://github.com/pypa/pip/issues/12204&gt;</code>_)</li>
<li>Allow <code>pip install --dry-run</code> to use platform and ABI
overriding options.
(<code>[#12215](pypa/pip#12215)
&lt;https://github.com/pypa/pip/issues/12215&gt;</code>_)</li>
<li>Add <code>is_yanked</code> boolean entry to the installation report
(<code>--report</code>) to indicate whether the requirement was yanked
from the index, but was still selected by pip conform to
:pep:<code>592</code>.
(<code>[#12224](pypa/pip#12224)
&lt;https://github.com/pypa/pip/issues/12224&gt;</code>_)</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>Ignore errors in temporary directory cleanup (show a warning
instead). (<code>[#11394](pypa/pip#11394)
&lt;https://github.com/pypa/pip/issues/11394&gt;</code>_)</li>
<li>Normalize extras according to :pep:<code>685</code> from package
metadata in the resolver
for comparison. This ensures extras are correctly compared and merged as
long
as the package providing the extra(s) is built with values normalized
according
to the standard. Note, however, that this <em>does not</em> solve cases
where the
package itself contains unnormalized extra values in the metadata.
(<code>[#11649](pypa/pip#11649)
&lt;https://github.com/pypa/pip/issues/11649&gt;</code>_)</li>
<li>Prevent downloading sdists twice when :pep:<code>658</code> metadata
is present. (<code>[#11847](pypa/pip#11847)
&lt;https://github.com/pypa/pip/issues/11847&gt;</code>_)</li>
<li>Include all requested extras in the install report
(<code>--report</code>).
(<code>[#11924](pypa/pip#11924)
&lt;https://github.com/pypa/pip/issues/11924&gt;</code>_)</li>
<li>Removed uses of <code>datetime.datetime.utcnow</code> from
non-vendored code.
(<code>[#12005](pypa/pip#12005)
&lt;https://github.com/pypa/pip/issues/12005&gt;</code>_)</li>
<li>Consistently report whether a dependency comes from an extra.
(<code>[#12095](pypa/pip#12095)
&lt;https://github.com/pypa/pip/issues/12095&gt;</code>_)</li>
<li>Fix completion script for zsh
(<code>[#12166](pypa/pip#12166)
&lt;https://github.com/pypa/pip/issues/12166&gt;</code>_)</li>
<li>Fix improper handling of the new onexc argument of
<code>shutil.rmtree()</code> in Python 3.12.
(<code>[#12187](pypa/pip#12187)
&lt;https://github.com/pypa/pip/issues/12187&gt;</code>_)</li>
<li>Filter out yanked links from the available versions error message:
&quot;(from versions: 1.0, 2.0, 3.0)&quot; will not contain yanked
versions conform PEP 592. The yanked versions (if any) will be mentioned
in a separate error message.
(<code>[#12225](pypa/pip#12225)
&lt;https://github.com/pypa/pip/issues/12225&gt;</code>_)</li>
<li>Fix crash when the git version number contains something else than
digits and dots.
(<code>[#12280](pypa/pip#12280)
&lt;https://github.com/pypa/pip/issues/12280&gt;</code>_)</li>
<li>Use <code>-r=...</code> instead of <code>-r ...</code> to specify
references with Mercurial.
(<code>[#12306](pypa/pip#12306)
&lt;https://github.com/pypa/pip/issues/12306&gt;</code>_)</li>
<li>Redact password from URLs in some additional places.
(<code>[#12350](pypa/pip#12350)
&lt;https://github.com/pypa/pip/issues/12350&gt;</code>_)</li>
<li>pip uses less memory when caching large packages. As a result, there
is a new on-disk cache format stored in a new directory
($PIP_CACHE_DIR/http-v2).
(<code>[#2984](pypa/pip#2984)
&lt;https://github.com/pypa/pip/issues/2984&gt;</code>_)</li>
</ul>
<h2>Vendored Libraries</h2>
<ul>
<li>Upgrade certifi to 2023.7.22</li>
<li>Add truststore 0.8.0</li>
<li>Upgrade urllib3 to 1.26.17</li>
</ul>
<p>Improved Documentation</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/pip/commit/e3dc91dad93a020b3034a87ebe59027f63370fe8"><code>e3dc91d</code></a>
Bump for release</li>
<li><a
href="https://github.com/pypa/pip/commit/3e85558b10722598fb3353126e2f19979f7cf7dd"><code>3e85558</code></a>
Update AUTHORS.txt</li>
<li><a
href="https://github.com/pypa/pip/commit/8d0278771c7325b04f02cb073c8ef02827cbeb93"><code>8d02787</code></a>
Reclassify news fragment</li>
<li><a
href="https://github.com/pypa/pip/commit/f6ecf406c3929b3127ddb480ef4350542d102338"><code>f6ecf40</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/12350">#12350</a> from
sbidoul/readact-collecting-url</li>
<li><a
href="https://github.com/pypa/pip/commit/306086513bd1a6500126057492ee8b0f9a2e79dd"><code>3060865</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/12335">#12335</a> from
edmorley/patch-1</li>
<li><a
href="https://github.com/pypa/pip/commit/8f0ed32413daa411a728b50cd7776b9c02b010d5"><code>8f0ed32</code></a>
Redact URLs in Collecting... logs</li>
<li><a
href="https://github.com/pypa/pip/commit/d1659b87e46abd0a2dcc74f2160dd52e6190e13b"><code>d1659b8</code></a>
Correct issue number for NEWS entry added by <a
href="https://redirect.github.com/pypa/pip/issues/12197">#12197</a></li>
<li><a
href="https://github.com/pypa/pip/commit/2333ef3b53a71fb7acc9e76d6ff90409576b2250"><code>2333ef3</code></a>
Upgrade urllib3 to 1.26.17 (<a
href="https://redirect.github.com/pypa/pip/issues/12343">#12343</a>)</li>
<li><a
href="https://github.com/pypa/pip/commit/496b268c1b9ce3466c08eb4819e5460a943d1793"><code>496b268</code></a>
Update &quot;Running Tests&quot; documentation (<a
href="https://redirect.github.com/pypa/pip/issues/12334">#12334</a>)</li>
<li><a
href="https://github.com/pypa/pip/commit/d1f0981cb2af3c72ff871b54a8a98581ccb2890a"><code>d1f0981</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/12331">#12331</a> from
sbidoul/update-egg-deprecation-message</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/pip/compare/22.3.1...23.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pip&package-manager=pip&previous-version=22.3.1&new-version=23.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/bacalhau-project/bacalhau/network/alerts).

</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
github-merge-queue bot pushed a commit to nhs-england-tools/repository-template that referenced this issue Nov 21, 2023
…s/hello_world (#145)

Bumps [pip](https://github.com/pypa/pip) from 23.1.2 to 23.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's
changelog</a>.</em></p>
<blockquote>
<h1>23.3 (2023-10-15)</h1>
<h2>Process</h2>
<ul>
<li>Added reference to <code>vulnerability reporting guidelines
&lt;https://www.python.org/dev/security/&gt;</code>_ to pip's security
policy.</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li>Drop a fallback to using SecureTransport on macOS. It was useful
when pip detected OpenSSL older than 1.0.1, but the current pip does not
support any Python version supporting such old OpenSSL versions.
(<code>[#12175](pypa/pip#12175)
&lt;https://github.com/pypa/pip/issues/12175&gt;</code>_)</li>
</ul>
<h2>Features</h2>
<ul>
<li>Improve extras resolution for multiple constraints on same base
package. (<code>[#11924](pypa/pip#11924)
&lt;https://github.com/pypa/pip/issues/11924&gt;</code>_)</li>
<li>Improve use of datastructures to make candidate selection 1.6x
faster. (<code>[#12204](pypa/pip#12204)
&lt;https://github.com/pypa/pip/issues/12204&gt;</code>_)</li>
<li>Allow <code>pip install --dry-run</code> to use platform and ABI
overriding options.
(<code>[#12215](pypa/pip#12215)
&lt;https://github.com/pypa/pip/issues/12215&gt;</code>_)</li>
<li>Add <code>is_yanked</code> boolean entry to the installation report
(<code>--report</code>) to indicate whether the requirement was yanked
from the index, but was still selected by pip conform to
:pep:<code>592</code>.
(<code>[#12224](pypa/pip#12224)
&lt;https://github.com/pypa/pip/issues/12224&gt;</code>_)</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>Ignore errors in temporary directory cleanup (show a warning
instead). (<code>[#11394](pypa/pip#11394)
&lt;https://github.com/pypa/pip/issues/11394&gt;</code>_)</li>
<li>Normalize extras according to :pep:<code>685</code> from package
metadata in the resolver
for comparison. This ensures extras are correctly compared and merged as
long
as the package providing the extra(s) is built with values normalized
according
to the standard. Note, however, that this <em>does not</em> solve cases
where the
package itself contains unnormalized extra values in the metadata.
(<code>[#11649](pypa/pip#11649)
&lt;https://github.com/pypa/pip/issues/11649&gt;</code>_)</li>
<li>Prevent downloading sdists twice when :pep:<code>658</code> metadata
is present. (<code>[#11847](pypa/pip#11847)
&lt;https://github.com/pypa/pip/issues/11847&gt;</code>_)</li>
<li>Include all requested extras in the install report
(<code>--report</code>).
(<code>[#11924](pypa/pip#11924)
&lt;https://github.com/pypa/pip/issues/11924&gt;</code>_)</li>
<li>Removed uses of <code>datetime.datetime.utcnow</code> from
non-vendored code.
(<code>[#12005](pypa/pip#12005)
&lt;https://github.com/pypa/pip/issues/12005&gt;</code>_)</li>
<li>Consistently report whether a dependency comes from an extra.
(<code>[#12095](pypa/pip#12095)
&lt;https://github.com/pypa/pip/issues/12095&gt;</code>_)</li>
<li>Fix completion script for zsh
(<code>[#12166](pypa/pip#12166)
&lt;https://github.com/pypa/pip/issues/12166&gt;</code>_)</li>
<li>Fix improper handling of the new onexc argument of
<code>shutil.rmtree()</code> in Python 3.12.
(<code>[#12187](pypa/pip#12187)
&lt;https://github.com/pypa/pip/issues/12187&gt;</code>_)</li>
<li>Filter out yanked links from the available versions error message:
&quot;(from versions: 1.0, 2.0, 3.0)&quot; will not contain yanked
versions conform PEP 592. The yanked versions (if any) will be mentioned
in a separate error message.
(<code>[#12225](pypa/pip#12225)
&lt;https://github.com/pypa/pip/issues/12225&gt;</code>_)</li>
<li>Fix crash when the git version number contains something else than
digits and dots.
(<code>[#12280](pypa/pip#12280)
&lt;https://github.com/pypa/pip/issues/12280&gt;</code>_)</li>
<li>Use <code>-r=...</code> instead of <code>-r ...</code> to specify
references with Mercurial.
(<code>[#12306](pypa/pip#12306)
&lt;https://github.com/pypa/pip/issues/12306&gt;</code>_)</li>
<li>Redact password from URLs in some additional places.
(<code>[#12350](pypa/pip#12350)
&lt;https://github.com/pypa/pip/issues/12350&gt;</code>_)</li>
<li>pip uses less memory when caching large packages. As a result, there
is a new on-disk cache format stored in a new directory
($PIP_CACHE_DIR/http-v2).
(<code>[#2984](pypa/pip#2984)
&lt;https://github.com/pypa/pip/issues/2984&gt;</code>_)</li>
</ul>
<h2>Vendored Libraries</h2>
<ul>
<li>Upgrade certifi to 2023.7.22</li>
<li>Add truststore 0.8.0</li>
<li>Upgrade urllib3 to 1.26.17</li>
</ul>
<p>Improved Documentation</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/pip/commit/e3dc91dad93a020b3034a87ebe59027f63370fe8"><code>e3dc91d</code></a>
Bump for release</li>
<li><a
href="https://github.com/pypa/pip/commit/3e85558b10722598fb3353126e2f19979f7cf7dd"><code>3e85558</code></a>
Update AUTHORS.txt</li>
<li><a
href="https://github.com/pypa/pip/commit/8d0278771c7325b04f02cb073c8ef02827cbeb93"><code>8d02787</code></a>
Reclassify news fragment</li>
<li><a
href="https://github.com/pypa/pip/commit/f6ecf406c3929b3127ddb480ef4350542d102338"><code>f6ecf40</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/12350">#12350</a> from
sbidoul/readact-collecting-url</li>
<li><a
href="https://github.com/pypa/pip/commit/306086513bd1a6500126057492ee8b0f9a2e79dd"><code>3060865</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/12335">#12335</a> from
edmorley/patch-1</li>
<li><a
href="https://github.com/pypa/pip/commit/8f0ed32413daa411a728b50cd7776b9c02b010d5"><code>8f0ed32</code></a>
Redact URLs in Collecting... logs</li>
<li><a
href="https://github.com/pypa/pip/commit/d1659b87e46abd0a2dcc74f2160dd52e6190e13b"><code>d1659b8</code></a>
Correct issue number for NEWS entry added by <a
href="https://redirect.github.com/pypa/pip/issues/12197">#12197</a></li>
<li><a
href="https://github.com/pypa/pip/commit/2333ef3b53a71fb7acc9e76d6ff90409576b2250"><code>2333ef3</code></a>
Upgrade urllib3 to 1.26.17 (<a
href="https://redirect.github.com/pypa/pip/issues/12343">#12343</a>)</li>
<li><a
href="https://github.com/pypa/pip/commit/496b268c1b9ce3466c08eb4819e5460a943d1793"><code>496b268</code></a>
Update &quot;Running Tests&quot; documentation (<a
href="https://redirect.github.com/pypa/pip/issues/12334">#12334</a>)</li>
<li><a
href="https://github.com/pypa/pip/commit/d1f0981cb2af3c72ff871b54a8a98581ccb2890a"><code>d1f0981</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/12331">#12331</a> from
sbidoul/update-egg-deprecation-message</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/pip/compare/23.1.2...23.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pip&package-manager=pip&previous-version=23.1.2&new-version=23.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/nhs-england-tools/repository-template/network/alerts).

</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 3, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
C: dependency resolution About choosing which dependencies to install type: performance Commands take too long to run
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants
@nijel @bdellegrazie @pfmoore @pradyunsg @sanderr @notatallshaw @zackmccord and others