Skip to content

NicheNetPy - #371

Open
vmedaert wants to merge 4 commits into
scverse:mainfrom
saeyslab:main
Open

NicheNetPy#371
vmedaert wants to merge 4 commits into
scverse:mainfrom
saeyslab:main

Conversation

@vmedaert

@vmedaert vmedaert commented Jun 2, 2026

Copy link
Copy Markdown

Checklist for adding packages

Mandatory

Name of the tool: NicheNetPy

Short description: The goal of NicheNet is to study intercellular communication from a computational perspective. NicheNet uses human or mouse gene expression data of interacting cells as input and combines this with a prior model that integrates existing knowledge on ligand-to-target signaling paths. This allows to predict ligand-receptor interactions that might drive gene expression changes in cells of interest.

How does the package use scverse data structures (please describe in a few sentences): a NicheNet analysis can take expression data as input in the form of an AnnData object. For an example see the use case in steps.ipynb

  • The code is publicly available under an OSI-approved license
  • The package provides versioned releases
  • The package can be installed from a standard registry (e.g. PyPI, conda-forge, bioconda)
  • Automated tests cover essential functions of the package and a reasonable range of inputs and conditions 1
  • Continuous integration (CI) automatically executes these tests on each push or pull request 2
  • The package provides API documentation via a website or README3
  • The package uses scverse datastructures where appropriate (i.e. AnnData, MuData or SpatialData and their modality-specific extensions)
  • I am an author or maintainer of the tool and agree on listing the package on the scverse website

Recommended

  • Please announce this package on scverse communication channels (zulip, discourse, twitter)

  • Please tag the author(s) these announcements. Handles (e.g. @scverse_team) to include are:

    • Zulip:
    • Discourse:
    • Mastodon:
    • Bluesky:
    • Twitter:
  • The package provides tutorials (or "vignettes") that help getting users started quickly

  • The package uses the scverse cookiecutter template.

Footnotes

  1. We recommend that tests cover at least all user facing (public) functions. Minimal tests ensure that the function does not fail on an example data set. Ideally, tests also ensure the correctness of the results, e.g. by comparing against a snapshot.

  2. Continuous integration means that software tests are automatically executed on every push to the git repository. This guarantees they are always run and that they are run in a clean environment. Scverse ecosystem packages most commonly use GitHub Actions for CI. For an example, check out our cookiecutter template.

  3. By API documentation, we mean an overview of all public functions provided a package, with documentation of their parameters. For an example, see the Scanpy documentation. In simple cases, this can be done manually in a README file. For anything more complex, we recommend the Sphinx Autodoc plugin

@Zethson

Zethson commented Aug 11, 2026

Copy link
Copy Markdown
Member

Hey,

we'll have a look soon. Could you please ensure that the CI is fully green?

@vmedaert

Copy link
Copy Markdown
Author

Hey,

we'll have a look soon. Could you please ensure that the CI is fully green?

I am not sure why the end-of-file-fixer hook fails, could it be because the pr was made from an organization? If so I suppose I should make a new pr?

@Zethson

Zethson commented Aug 11, 2026

Copy link
Copy Markdown
Member

No, you can just set up pre-commit on your branch, run it, and then commit to this branch. It will automatically update this PR. There's no need to create a new one, please.

@muskanhashim
muskanhashim self-requested a review August 17, 2026 09:58
@muskanhashim

Copy link
Copy Markdown
Contributor

Hi @vmedaert, thanks again for the submission. The package looks great: AnnData input, solid tests + CI, comprehensive pdoc API docs, and a well-organized set of tutorial notebooks :)

I'd just request two small things to finish up. Normally I'd make the metadata change for you, but as you've already mentioned that this PR is from an org-owned fork (no maintainer edits), could you make some quick changes to packages/NicheNetPy/meta.yaml? We recently tightened the registry schema (#392: controlled-vocabulary tags + new required primary_category and language fields). Would be great if you could replace the current tags. I'd suggest the following, but of course, feel free to have a look at the allowed list in the repo README.

tags:
- cell-cell communication
- scRNA-seq
primary_category: scRNA-seq
language: Python

Also, while you're on that, a quick new (mandatory) checklist item: could you confirm you agree to abide by the scverse code of conduct on all scverse communication channels? Optional - would you also like to be invited to the scverse GitHub organization? :) Let us know.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants