Adapt bootstrap / conventions to use `pylock.toml`
@rgaudin is already working on this.
Since Jul 18, 2025.
Assessment
This issue has not been assessed yet.
Description
In many projects we are building (scrapers, zimfarm, ... all besides libraries like python-scraperlib), we use pinned dependencies versions to ensure reproducible builds.
But now the ecosystem has changed and pylock.toml format has landed (see https://packaging.python.org/en/latest/specifications/pylock-toml/)
This file would allow to specify range of versions in pyproject.toml for all projects, and use the pylock.toml to have reproducible builds.
This would allow to simplify significantly dependency upgrades since one will just have to update the pylock.toml to most recent version matching pyproject.toml ranges. This is currently done manually and is quite a pain.
Currently, hatch does not support this pylock.toml file, see e.g. https://github.com/pypa/hatch/issues/749
We could:
- wait for hatch to support it, and help if possible
- downside: not ready
- consider migrating from
hatchtouv- downside1 : hatch-openzim plugin will not work anymore ... but could probably easily be adapted for uv +
- downside2: uv uses its own "proprietary" lock file, which is not really future-proof)
I would clearly prefer to wait for hatch support (and contribute to it as much as possible).
WDYT?
- Dominant language
- Python
- Stars
- 1
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from openzim/_python-bootstrap
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 76/100
openzim/_python-bootstrap#57 ·
-
Workflow convention Openquestion
openzim/_python-bootstrap#53 · 1 assignee ·
-
enhancement
Difficulty 3/5 1-2 days Newbie friendliness 25/100
openzim/_python-bootstrap#51 · 3 comments ·
-
enhancement
openzim/_python-bootstrap#48 · 2 assignees ·
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 35/100
openzim/_python-bootstrap#47 · 1 comment ·
All issues in openzim/_python-bootstrap
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
use-agent-os/agent-os#3314 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
BasedHardware/omi#15662 · 1 comment ·
-
documentation help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
AiursoftWeb/AnduinOS-2#19 ·