kantord/LibreLingo

Establish single source of truth for Python package versions

Open

#1,757 opened on Nov 3, 2021

 (7 comments) (0 reactions) (0 assignees)Python (259 forks)github user discovery
good first issue

Repository metrics

Stars
 (2,629 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

Is your feature request related to a problem? Please describe. We have several Python packages:

packaging is managed by poetry and the version is configured in meta data files, for example:

https://github.com/kantord/LibreLingo/blob/main/apps/librelingo_fakes/pyproject.toml#L3

the problem is, that versions might be (are) used elsewhere. Right not, only in init.py files.

for example:

https://github.com/kantord/LibreLingo/blob/main/apps/librelingo_json_export/librelingo_json_export/__init__.py#L7

The problem with this is that we need to be very careful to make sure these versions are always the same. Instead of double checking it every time, we should only need to update it in one place.

Describe the solution you'd like

  • The version number of each package is only explicitly specified in one place

Describe alternatives you've considered We could instead have a script that updates this, and/or verify in CI that the version numbers are in sync. I don't like that solution though, because it sounds like it would add unnecessary complication and it still requires manual work to update the version everywhere.

Additional context I found a related thread no GitHub: https://github.com/python-poetry/poetry/issues/273

Contributor guide