prefix-dev / pixi

Package management made easy
https://pixi.sh
BSD 3-Clause "New" or "Revised" License
2.88k stars 156 forks source link

`pixi project version` doesn't work correctly in `pyproject.toml` #1496

Open Glatzel opened 2 months ago

Glatzel commented 2 months ago

Checks

Reproducible example

condition1

[project]
name = "demo1"
requires-python = ">=3.10"
version = "1.0.0"
authors = [{ name = "Glatzel" }]

[tool.pixi.project]
channels = ["conda-forge"]
platforms = ["win-64"]

If run pixi project version get. Nothing happens. If run pixi project version minor. It shows No version found in manifest.

condition2

[project]
name = "demo2"
requires-python = ">=3.10"
dynamic = ["version"]
authors = [{ name = "Glatzel" }]

[tool.pixi.project]
version="1.0.0"
channels = ["conda-forge"]
platforms = ["win-64"]

In this condition, pixi project version get works, it returns 1.0.0. Then, if I run pixi project version minor, the pyproject.toml will add version="1.1.0" to project. In this toml, run pixi project version get, it still returns 1.0.0 rather than 1.1.0.

# after running `pixi project version minor`
[project]
name = "demo2"
requires-python = ">=3.10"
dynamic = ["version"]
authors = [{ name = "Glatzel" }]
version = "1.1.0"

[tool.pixi.project]
version="1.0.0"
channels = ["conda-forge"]
platforms = ["win-64"]

Issue description

  1. In pyproject.toml, version should be in either project table or tool.pixi.project table. Like the toml files above.
  2. pixi project version xxx should be able to detect version in project table.
  3. major/minor/patch command should only modify version in its original location, not to add new line.

Expected behavior

pixi project version commmand works correctly for pyproject.toml

tdejager commented 2 months ago

Thanks for the issue, should be something we should fix!