No dependency floor in pyproject.toml is tested
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 55/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- github-actions, python
- Área
- build-system, ci-cd, testing
Línea de trabajo
Comienza con pyproject.toml y los workflows existentes test.yml, docs.yml, build.yml y release.yml; después, revisa cómo interactúan las restricciones de floors.txt con las instalaciones normales y aisladas. Añade una ejecución de CI para Python 3.11 que pruebe las versiones mínimas declaradas y añade las assertions descritas sobre los metadatos de las wheels donde corresponda; se considerará terminado cuando la suite pase con las versiones mínimas y las assertions distingan entre las versiones de Hatchling compatibles.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
pyproject.toml declares eight >= floors. None of them is tested — every CI
leg installs the newest of everything, so each floor is a claim nobody has
checked.
| Declaration | Where | Exercised by CI? |
|---|---|---|
lxml>=5.0 |
dependencies |
No — pip install -e .[dev] takes the newest |
hypothesis>=6 |
dev |
No |
lxml-stubs>=0.5 |
dev |
No |
pytest>=8 |
dev |
No |
pytest-cov>=5 |
dev |
No |
mkdocs-material>=9 |
docs |
No — docs.yml takes the newest |
mkdocs-static-i18n>=1.2 |
docs |
No |
mkdocstrings[python]>=0.27 |
docs |
No |
hatchling>=1.27 |
build-system |
No |
requires-python = ">=3.11" is the exception, and is well covered: test.yml
runs a 3.11 leg on ubuntu and windows, [tool.mypy] python_version = "3.11"
type-checks against it, and CONTRIBUTING tells developers to develop on it. The
exact pins (mypy, ruff, build, twine) enforce themselves.
lxml>=5.0 is the one that matters to users: it is the only runtime dependency,
and the floor is a public compatibility promise. Nothing has ever installed
lxml 5.0 against this test suite.
Proposal
One CI leg on the Python floor that installs the declared minimums and runs the
suite:
floors:
runs-on: ubuntu-latest
# python-version: "3.11"
- run: python -m pip install -e .[dev] -c floors.txt
- run: python -m pytest
floors.txt lists each declaration as == (lxml==5.0, pytest==8.0, …).
pip has no --resolution lowest — that is uv — so a constraints file is the
mechanism. The build-backend floor needs PIP_CONSTRAINT instead, since it is
resolved into build's isolated environment rather than the install
environment.
Expect this to fail at first and to move some floors up. That is the point: a
floor that fails is a floor that was wrong.
Related: the license-metadata assertion
Hatchling before 1.27 builds this project's wheel without complaint and emits
license = "MIT" as a legacy free-text field, dropping License-Expression and
License-File; twine check passes that wheel (see #24). A floor alone cannot
catch it, so build.yml and release.yml want a step asserting those two fields
are present in the built wheel — about nine lines of YAML each, verified to pass
a 1.32.0 wheel and fail a 1.26.3 one. It belongs with this work rather than
ahead of it: it would otherwise be the only enforced package floor in the file.
- Lenguaje dominante
- Python
- Estrellas
- 1
- Forks
- 0
- Merge medio
- 11 d 8 h
- PR fusionados (30 d)
- 3
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de sillsdev/python-sil-lift
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
sillsdev/python-sil-lift#15 ·
-
bug
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
sillsdev/python-sil-lift#45 ·
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
sillsdev/python-sil-lift#35 ·
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
sillsdev/python-sil-lift#33 ·
-
Evaluate full API surface for anything unnecessaryPosiblemente ocupada @imnasnainaec la tomó hace 20 días. Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
sillsdev/python-sil-lift#30 · 1 comentario · 1 asignado ·
Todos los issues de sillsdev/python-sil-lift
Issues similares
-
mermaid_extract.py silently discards single-line state-diagram notes; sequence notes are keptAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
cathrynlavery/diagram-design#441 ·
Los mantenedores suelen responder en 2 días
-
[Cleanup] Include the public header in work_split.cppPosiblemente ocupada @blozano-tt la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
tenstorrent/tt-metal#60850 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
backend::sglang bug language::python observability
Dificultad 2/5 Medio día Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
OpenShot/openshot-qt#6202 ·
Los mantenedores suelen responder en 1 día