Update sam2lca with missing dependency#62686
Conversation
thanhleviet
left a comment
There was a problem hiding this comment.
The setuptools <81 addition makes sense for pkg_resources usage. However, the Linux build fails at the test phase — pip check reports version mismatches:
xopen 2.0.2 requires isal>=1.6.1, but you have isal 0.0.0
xopen 2.0.2 requires zlib-ng>=0.4.1, but you have zlib-ng 0.0.0
This is a known conda/pip metadata mismatch — the conda packages for isal and zlib-ng report 0.0.0 to pip. The simplest fix is to drop pip check from the test commands, since the import and --help tests are sufficient:
test:
imports:
- sam2lca
commands:
- sam2lca --helpAlternatively, add pip to test: requires and keep pip check, but accept it may need ongoing maintenance as xopen evolves.
| - pandas | ||
| - pysam | ||
| - python >=3.7 | ||
| - python >=3.7,<=3.12 |
There was a problem hiding this comment.
Question — is the Python upper bound needed? python <=3.12 means users on Python 3.13+ can't install this package. If the issue is purely pkg_resources (which the setuptools <81 pin already addresses), this upper bound may be unnecessary.
The upstream setup.py requires python >=3.6 with no upper bound. Consider whether setuptools <81 alone is sufficient, and if so, relax this to just python >=3.7.
If there's a known Python 3.12+ incompatibility in the code itself (beyond setuptools), then keeping it is fine — but it should be documented with a comment explaining why.
| @@ -14,25 +14,27 @@ build: | |||
| - sam2lca = sam2lca.cli:cli | |||
| noarch: python | |||
| script: {{ PYTHON }} -m pip install . -vv | |||
There was a problem hiding this comment.
Pre-existing nit: This should include --no-deps --no-build-isolation per bioconda convention:
script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvvNot blocking, but good to fix while you're here.
|
Oops sorry completely forgot this, thanks @mencian ! |
Describe your pull request here
Please read the guidelines for Bioconda recipes before opening a pull request (PR).
General instructions
@BiocondaBot please add labelcommand.@bioconda/corein a comment.Instructions for avoiding API, ABI, and CLI breakage issues
Conda is able to record and lock (a.k.a. pin) dependency versions used at build time of other recipes.
This way, one can avoid that expectations of a downstream recipe with regards to API, ABI, or CLI are violated by later changes in the recipe.
If not already present in the meta.yaml, make sure to specify
run_exports(see here for the rationale and comprehensive explanation).Add a
run_exportssection like this:with
...being one of:{{ pin_subpackage("myrecipe", max_pin="x") }}{{ pin_subpackage("myrecipe", max_pin="x.x") }}{{ pin_subpackage("myrecipe", max_pin="x.x") }}(in such a case, please add a note that shortly mentions your evidence for that){{ pin_subpackage("myrecipe", max_pin="x.x.x") }}(in such a case, please add a note that shortly mentions your evidence for that){{ pin_subpackage("myrecipe", max_pin=None) }}while replacing
"myrecipe"with eithernameif aname|lowervariable is defined in your recipe or with the lowercase name of the package in quotes.Bot commands for PR management
Please use the following BiocondaBot commands:
Everyone has access to the following BiocondaBot commands, which can be given in a comment:
@BiocondaBot please add labelplease review & mergelabel.@BiocondaBot please fetch artifactsYou can use this to test packages locally.
Note that the
@BiocondaBot please mergecommand is now depreciated. Please just squash and merge instead.Also, the bot watches for comments from non-members that include
@bioconda/<team>and will automatically re-post them to notify the addressed<team>.