chore: document attrs and setuptools dependencies in requirements.txt#8
Open
dlaehnemann wants to merge 2 commits intoaertslab:mainfrom
Open
chore: document attrs and setuptools dependencies in requirements.txt#8dlaehnemann wants to merge 2 commits intoaertslab:mainfrom
dlaehnemann wants to merge 2 commits intoaertslab:mainfrom
Conversation
The code uses `import attr`: https://github.com/search?q=repo%3Aaertslab%2Fctxcore+attr&type=code And from the syntax (for example `attr.s` and `attr.ib()`), I conclude that this must be using the `attrs` python package, see for example: https://www.attrs.org/en/stable/api-attr.html#attr.ib This came up, because this dependency is also missing from the bioconda package and [caused a `ModuleNotFoundError: No module named 'attr'` error in a downstream package](https://github.com/bioconda/bioconda-recipes/actions/runs/19262708208/job/55181204294?pr=60625#step:10:904). I'll also go and fix this there.
dlaehnemann
added a commit
to bioconda/bioconda-recipes
that referenced
this pull request
Nov 12, 2025
This was previously undocumented upstream, but there's now a pull request to fix this: aertslab/ctxcore#8 It came up in a downstream project, `pyscenic`, with [a `ModuleNotFoundError: No module named 'attr'` error in a downstream package](https://github.com/bioconda/bioconda-recipes/actions/runs/19262708208/job/55181204294?pr=60625#step:10:904).
`pkg_resources` are needed upon `import ctxcore`: https://github.com/aertslab/ctxcore/blob/190be03a339a3db370c7d171ff709bf3d7442ecc/src/ctxcore/__init__.py#L5 This [came up in the bioconda recipe testing during the CI run](https://github.com/bioconda/bioconda-recipes/actions/runs/19305192354/job/55210829674?pr=60658#step:10:627) there: ``` 17:03:45 BIOCONDA INFO (OUT) import: 'ctxcore' 17:03:45 BIOCONDA INFO (OUT) Traceback (most recent call last): 17:03:45 BIOCONDA INFO (OUT) File "/opt/conda/conda-bld/ctxcore_1762966867340/test_tmp/run_test.py", line 2, in <module> 17:03:45 BIOCONDA INFO (OUT) import ctxcore 17:03:45 BIOCONDA INFO (OUT) File "/opt/conda/conda-bld/ctxcore_1762966867340/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.13/site-packages/ctxcore/__init__.py", line 5, in <module> 17:03:45 BIOCONDA INFO (OUT) from pkg_resources import DistributionNotFound, get_distribution 17:03:45 BIOCONDA INFO (OUT) ModuleNotFoundError: No module named 'pkg_resources' ```
Author
|
This now also documents the runtime dependency on setuptools.
ctxcore/src/ctxcore/__init__.py Line 5 in 190be03 This came up in the bioconda recipe testing during the CI run there: |
Author
|
Just for the cross-referencing to go both ways, here's the fix in the bioconda recipe: |
Author
|
As the most recent contributor, would you care to have a look, @ghuls ? |
fxwiegand
approved these changes
Nov 13, 2025
dlaehnemann
added a commit
to bioconda/bioconda-recipes
that referenced
this pull request
Nov 13, 2025
…ools` runtime dependencies (#60658) * fix: `ctxcore` recipe add previously undocumented `attrs` dependency This was previously undocumented upstream, but there's now a pull request to fix this: aertslab/ctxcore#8 It came up in a downstream project, `pyscenic`, with [a `ModuleNotFoundError: No module named 'attr'` error in a downstream package](https://github.com/bioconda/bioconda-recipes/actions/runs/19262708208/job/55181204294?pr=60625#step:10:904). * fix: also add setuptools as runtime dependency `pkg_resources` are needed upon `import ctxcore`: https://github.com/aertslab/ctxcore/blob/190be03a339a3db370c7d171ff709bf3d7442ecc/src/ctxcore/__init__.py#L5 This [came up in the bioconda recipe testing during the CI run](https://github.com/bioconda/bioconda-recipes/actions/runs/19305192354/job/55210829674?pr=60658#step:10:627) there: ``` 17:03:45 BIOCONDA INFO (OUT) import: 'ctxcore' 17:03:45 BIOCONDA INFO (OUT) Traceback (most recent call last): 17:03:45 BIOCONDA INFO (OUT) File "/opt/conda/conda-bld/ctxcore_1762966867340/test_tmp/run_test.py", line 2, in <module> 17:03:45 BIOCONDA INFO (OUT) import ctxcore 17:03:45 BIOCONDA INFO (OUT) File "/opt/conda/conda-bld/ctxcore_1762966867340/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.13/site-packages/ctxcore/__init__.py", line 5, in <module> 17:03:45 BIOCONDA INFO (OUT) from pkg_resources import DistributionNotFound, get_distribution 17:03:45 BIOCONDA INFO (OUT) ModuleNotFoundError: No module named 'pkg_resources' ```
ljwharbers
pushed a commit
to ljwharbers/bioconda-recipes
that referenced
this pull request
Dec 5, 2025
…ools` runtime dependencies (bioconda#60658) * fix: `ctxcore` recipe add previously undocumented `attrs` dependency This was previously undocumented upstream, but there's now a pull request to fix this: aertslab/ctxcore#8 It came up in a downstream project, `pyscenic`, with [a `ModuleNotFoundError: No module named 'attr'` error in a downstream package](https://github.com/bioconda/bioconda-recipes/actions/runs/19262708208/job/55181204294?pr=60625#step:10:904). * fix: also add setuptools as runtime dependency `pkg_resources` are needed upon `import ctxcore`: https://github.com/aertslab/ctxcore/blob/190be03a339a3db370c7d171ff709bf3d7442ecc/src/ctxcore/__init__.py#L5 This [came up in the bioconda recipe testing during the CI run](https://github.com/bioconda/bioconda-recipes/actions/runs/19305192354/job/55210829674?pr=60658#step:10:627) there: ``` 17:03:45 BIOCONDA INFO (OUT) import: 'ctxcore' 17:03:45 BIOCONDA INFO (OUT) Traceback (most recent call last): 17:03:45 BIOCONDA INFO (OUT) File "/opt/conda/conda-bld/ctxcore_1762966867340/test_tmp/run_test.py", line 2, in <module> 17:03:45 BIOCONDA INFO (OUT) import ctxcore 17:03:45 BIOCONDA INFO (OUT) File "/opt/conda/conda-bld/ctxcore_1762966867340/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.13/site-packages/ctxcore/__init__.py", line 5, in <module> 17:03:45 BIOCONDA INFO (OUT) from pkg_resources import DistributionNotFound, get_distribution 17:03:45 BIOCONDA INFO (OUT) ModuleNotFoundError: No module named 'pkg_resources' ```
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The code uses
import attr:https://github.com/search?q=repo%3Aaertslab%2Fctxcore+attr&type=code
And from the syntax (for example
attr.sandattr.ib()), I conclude that this must be using theattrspython package, see for example: https://www.attrs.org/en/stable/api-attr.html#attr.ibThis came up, because this dependency is also missing from the bioconda package and caused a
ModuleNotFoundError: No module named 'attr'error in a downstream package. I'll also go and fix this there.If I'm wrong with the package dependency, please correct me!