Skip to content

refactor: Centralize Vega project versioning#3720

Merged
dangotbanned merged 17 commits intomainfrom
vega-versioning
Jan 6, 2025
Merged

refactor: Centralize Vega project versioning#3720
dangotbanned merged 17 commits intomainfrom
vega-versioning

Conversation

@dangotbanned
Copy link
Copy Markdown
Member

@dangotbanned dangotbanned commented Dec 22, 2024

Description

This PR seeks to simplify version bumps of projects we depend on within the https://github.com/vega org.

The new process I'm proposing is documented in https://github.com/vega/altair/blob/7e0510854424235fc4f5a4818198c4ec464b20ab/NOTES_FOR_MAINTAINERS.md.
In short, we bump versions in pyproject.toml and they propagate to everywhere they were previously manually maintained:

altair/pyproject.toml

Lines 103 to 107 in 0c3c220

[tool.altair.vega]
# Minimum/exact versions, for projects under the `vega` organization
vega-datasets = "v2.11.0" # https://github.com/vega/vega-datasets
vega-embed = "6" # https://github.com/vega/vega-embed
vega-lite = "v5.20.1" # https://github.com/vega/vega-lite

Note

Since resolving (#3720 (comment)), vl-convert-python and vegafusion versions are sourced directly from [project.optional-dependencies].

The new module https://github.com/vega/altair/blob/5aec51ef8eaf345936436abddd903ea87b86b968/tools/versioning.py handles said propagation.

Motivation

Vega-Lite

I think it was unintentional, but we missed a vega-lite bump in https://github.com/vega/altair/releases/tag/v5.5.0.
We're still on https://github.com/vega/vega-lite/releases/tag/v5.20.1 but we should be on https://github.com/vega/vega-lite/releases/tag/v5.21.0 and now the latest is https://github.com/vega/vega-lite/releases/tag/v5.23.0

Additionally, these appear to be out-of-sync?

vl-convert

altair/pyproject.toml

Lines 56 to 58 in 1208c5d

[project.optional-dependencies]
save = [
"vl-convert-python>=1.7.0",

def import_vl_convert() -> ModuleType:
min_version = "1.6.0"

VegaFusion

"vegafusion[embed]>=1.6.6",

def import_vegafusion() -> ModuleType:
min_version = "1.5.0"

Future

I'm planning to pin vega-datasets for (#3631).

There are also likely to be a lot of version changes coming up as a result of (vega/vega#3990).
IMO having a single, highly visible place to update will make this process hopefully painless for us

Tasks

- Defines `[tool.altair.vega]` in `pyproject.toml`
- Adds tooling to propagate these versions throughout `altair`
@dangotbanned dangotbanned changed the title refactor: Centralize vega project versioning refactor: Centralize Vega project versioning Dec 23, 2024
Comment thread NOTES_FOR_MAINTAINERS.md Outdated
Single entrypoint for both `pyproject.toml` and `vl_convert` sourced versions
@dangotbanned dangotbanned marked this pull request as ready for review December 23, 2024 18:29
@dangotbanned dangotbanned requested review from binste, joelostblom, jonmmease and mattijn and removed request for jonmmease December 23, 2024 18:29
Comment thread pyproject.toml Outdated
@dangotbanned
Copy link
Copy Markdown
Member Author

I'm gonna merge this and shift focus towards (#3723) which mainly needs to touch the same docs to finish off.

When anyone is available again, please don't hesitate to reach out if you have any issues/suggestions

@dangotbanned dangotbanned enabled auto-merge (squash) January 6, 2025 19:22
@dangotbanned dangotbanned merged commit 367993e into main Jan 6, 2025
@dangotbanned dangotbanned deleted the vega-versioning branch January 7, 2025 15:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants