celery / kombu

Messaging library for Python.
http://kombu.readthedocs.org/
BSD 3-Clause "New" or "Revised" License
2.81k stars 920 forks source link

Kombu shouldn't depend on requests #2037

Closed gopackgo90 closed 1 week ago

gopackgo90 commented 1 week ago

Kombu pre-release now depends on requests, which now will get installed on systems that install celery, which isn't desirable. I understand that the restriction was added in https://github.com/celery/kombu/commit/eae75855e06887250399f793018f97cbd398c90b to work around a bug for your CI, but that should not be done in a place that impacts user installations.

$ pip install -U kombu --pre
Requirement already satisfied: kombu in ./testvenv/lib/python3.10/site-packages (5.3.7)
Collecting kombu
  Downloading kombu-5.4.0rc1-py3-none-any.whl.metadata (3.1 kB)
Requirement already satisfied: amqp<6.0.0,>=5.1.1 in ./testvenv/lib/python3.10/site-packages (from kombu) (5.2.0)
Requirement already satisfied: vine in ./testvenv/lib/python3.10/site-packages (from kombu) (5.1.0)
Collecting requests<2.32.0 (from kombu)
  Downloading requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
Collecting charset-normalizer<4,>=2 (from requests<2.32.0->kombu)
  Downloading charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (33 kB)
Collecting idna<4,>=2.5 (from requests<2.32.0->kombu)
  Downloading idna-3.7-py3-none-any.whl.metadata (9.9 kB)
Collecting urllib3<3,>=1.21.1 (from requests<2.32.0->kombu)
  Downloading urllib3-2.2.2-py3-none-any.whl.metadata (6.4 kB)
Collecting certifi>=2017.4.17 (from requests<2.32.0->kombu)
  Downloading certifi-2024.6.2-py3-none-any.whl.metadata (2.2 kB)
Downloading kombu-5.4.0rc1-py3-none-any.whl (200 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 200.7/200.7 kB 4.1 MB/s eta 0:00:00
Downloading requests-2.31.0-py3-none-any.whl (62 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.6/62.6 kB 3.6 MB/s eta 0:00:00
Downloading certifi-2024.6.2-py3-none-any.whl (164 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 164.4/164.4 kB 9.0 MB/s eta 0:00:00
Downloading charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (142 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 142.1/142.1 kB 7.6 MB/s eta 0:00:00
Downloading idna-3.7-py3-none-any.whl (66 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 66.8/66.8 kB 4.2 MB/s eta 0:00:00
Downloading urllib3-2.2.2-py3-none-any.whl (121 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 121.4/121.4 kB 7.1 MB/s eta 0:00:00
Installing collected packages: urllib3, idna, charset-normalizer, certifi, requests, kombu
  Attempting uninstall: kombu
    Found existing installation: kombu 5.3.7
    Uninstalling kombu-5.3.7:
      Successfully uninstalled kombu-5.3.7
Successfully installed certifi-2024.6.2 charset-normalizer-3.3.2 idna-3.7 kombu-5.4.0rc1 requests-2.31.0 urllib3-2.2.2
Nusnus commented 1 week ago

Kombu pre-release now depends on requests, which now will get installed on systems that install celery, which isn't desirable.

Your argument is valid, IMHO. Our CI “issues" should not change the product’s dependencies just to satisfy the tests. See #2041 for motivation to close this issue.