pyproject.toml: [tool.setuptools_scm] is inert — maturin takes the version from Cargo.toml
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Refactorización
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Área
- build-system, release
Línea de trabajo
The inert section is [tool.setuptools_scm] near line 110 of pyproject.toml, while dynamic = ["version"] on line 7 is resolved by maturin from rust/Cargo.toml. Confirm that by building a wheel and checking its version against Cargo.toml. Done means the maintainers have picked an option: either remove the section so Cargo.toml is clearly the single source, or make SCM actually drive the version. Optionally add a tag-vs-version check to the publish workflow. The issue has no comments yet, so pick the direction with a maintainer first.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Third one from modelling ddx's packaging on this repo (after #242 and #243) — this one I checked empirically rather than by reading, because I was about to copy the pattern.
pyproject.toml declares SCM versioning:
[project]
dynamic = ["version"] # L7
...
[tool.setuptools_scm] # L110
but setuptools-scm is never installed at build time:
[build-system]
requires = ["maturin>=1.9,<2.0"]
build-backend = "maturin"
and maturin is the backend, not setuptools — it does not consult setuptools-scm at all. For dynamic = ["version"], maturin takes the version from Cargo.toml.
How I checked
I put the identical configuration on ddx's own maturin package — dynamic = ["version"], [tool.setuptools_scm], and (unlike here) setuptools-scm actually present in build-system.requires — in a repo with no matching git tag at all. SCM versioning would have had to produce a 0.1.x.dev...+g<sha> string. The build produced:
📦 Built wheel ... ddxdb-0.1.0-cp310-abi3-macosx_11_0_arm64.whl
0.1.0 is exactly the Cargo.toml version. Git was never consulted.
So [tool.setuptools_scm] here is inert configuration: the published version is whatever rust/Cargo.toml says, and the section reads as though tags drive it. That is harmless today but misleading — someone bumping a tag and expecting the wheel to follow would be surprised, and the failure is silent.
Options
- Drop
[tool.setuptools_scm]and treatrust/Cargo.tomlas the single source, which is what already happens. Optionally assert tag-vs-version in the publish workflow so a mismatched tag fails the release rather than shipping. - Actually use SCM, which means not using maturin's version handling — e.g. generate the version in CI and pass
--version/ rewriteCargo.tomlbefore building. More machinery than it is likely worth.
I went with (1) plus a tag check in ddx. Happy to send a PR here if useful.
- Lenguaje dominante
- Python
- Estrellas
- 142
- Forks
- 19
- Merge medio
- 1 d 9 h
- PR fusionados (30 d)
- 9
Preparar el entorno
- Sin Dockerfile ni 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 xqlsystems/xarray-sql
-
documentation
Dificultad 1/5 1-3 horas Aptitud para principiantes 85/100
xqlsystems/xarray-sql#268 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
xqlsystems/xarray-sql#267 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 74/100
xqlsystems/xarray-sql#243 ·
Los mantenedores suelen responder en 1 día
-
publish.yml: the TestPyPI verification step is unreachable (and installs the wrong package name)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
xqlsystems/xarray-sql#242 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
xqlsystems/xarray-sql#237 ·
Los mantenedores suelen responder en 1 día
Todos los issues de xqlsystems/xarray-sql
Issues similares
-
Use mhctools predictor_required=False for saved-result rescoringPosiblemente ocupada @iskandr la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
521xueweihan/HelloGitHub#4051 · 1 comentario ·
-
bug documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
awslabs/visual-asset-management-system#514 ·
Los mantenedores suelen responder en 1 día
-
backend bug spec:REQ-053
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
nolte/kamerplanter#2547 ·
Los mantenedores suelen responder en 1 día