openzim / openzim/python-libzim

Relax pyproject.toml requirements?

Open Beginner friendly
#268 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
108
Forks
29
Avg merge
9d 1h
Merged PRs (30d)
1

Description

Would it be possible to switch the == to >= in pyproject.toml?

I'm considering packaging python-libzim for nixpkgs, because pyglossary depends on it for zim input. The only thing is the dependencies in pyproject.toml necessitating an exact version (==) has made trying to package it not really work. I have issues with trying to do the current version because it requires package versions that are newer than in nixpkgs.

I switched to trying to package a previous point release version (3.11.0), so that I can test the package I'm writing for build errors but I get version errors:

 > ERROR Unmet dependencies (checked against /nix/store/d64q19q1xjdwfhqx6czvrjgrhq0n3lcc-python3-3.14.7/bin/python3.14):
>        cython==3.2.4
>           wanted: ==3.2.4
>                 found: 3.2.5
>    setuptools==82.0.1
>              wanted: ==82.0.1
>                found: 83.0.0

I knew that python-libzim was probably packaged in either arch or the aur and looked at the package build and the packager there just uses sed to replace == with >= in their PKGBUILD. (here)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in pyproject.toml by reviewing the dependency entries that use exact == constraints, then compare them with the packaging concern described for Nixpkgs and the Arch PKGBUILD linked in the issue. Done means the dependency declarations support compatible newer versions without breaking the package's stated requirements; verify the package can be built with the versions available in the reported environment.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
74/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.