Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Relax certifi version constraint in the Kubernetes Python client

Aberta
#2,733 4 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

@sayaksatpathi já está trabalhando nisso.

Desde 16/10/2026.

  • #2745 de @sayaksatpathi — aberto

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
python
Domínio
build-system

Direção de pesquisa

The conflict comes from the certifi lower bound added in PR #2660, so start by finding where the package declares its certifi dependency and check that PR's diff. Whether the bound is needed is a maintainer decision, so confirm the intended minimum before editing. Done means pip install kubernetes==37.0.0 certifi==2024.10.17 resolves without error.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

kind/bug

Description

For reasons unrelated to Kubernetes, one of our Python applications requires certifi==2024.10.17 and cannot be upgraded to a later version.
However, we also need to use the latest version of the Kubernetes Python client (kubernetes==37.0.0).

Interestingly, if we force-install both packages together, everything functions correctly with no runtime errors.
However, standard pip installation fails due to a strict dependency constraint.

$ pip install kubernetes==37.0.0 certifi==2024.10.17
ERROR: Cannot install certifi==2024.10.17 and kubernetes==37.0.0 because these package versions have conflicting dependencies.

The conflict is caused by:
    The user requested certifi==2024.10.17
    kubernetes 37.0.0 depends on certifi>=2026.7.22

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

It appears this restriction was introduced in PR #2660.

Questions / Request

Is this strict lower bound on certifi (>=2026.7.22) strictly necessary for kubernetes==37.0.0?

Would it be possible to relax or widen the certifi version requirement in future releases to accommodate applications locked to slightly older versions, especially since force-installing works smoothly?

What happened (please include outputs or screenshots):

$ pip install kubernetes==37.0.0 certifi==2024.10.17
ERROR: Cannot install certifi==2024.10.17 and kubernetes==37.0.0 because these package versions have conflicting dependencies.

The conflict is caused by:
    The user requested certifi==2024.10.17
    kubernetes 37.0.0 depends on certifi>=2026.7.22

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

What you expected to happen:

The latest version of kubernetes can be installed successfully together with certifi==2024.10.17.

How to reproduce it (as minimally and precisely as possible):

pip install kubernetes==37.0.0 certifi==2024.10.17

Anything else we need to know?:

Environment:

  • Kubernetes version (kubectl version): Client Version: v1.35.9, Server Version: v1.35.0
  • OS (e.g., MacOS 10.13.6): Debian bookworm 12.12
  • Python version (python --version): Python 3.14.0
  • Python client version (pip list | grep kubernetes): 37.0.0
Linguagem predominante
Python
Estrelas
7.7k
Forks
3.5k
Merge médio
1d 9h
PRs com merge (30d)
22

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de kubernetes-client/python

Todas as issues de kubernetes-client/python

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.