Skip to content

Request Cell-GPS as a scverse core framework package#373

Open
hutaobo wants to merge 3 commits into
scverse:mainfrom
hutaobo:codex/cell-gps-ecosystem
Open

Request Cell-GPS as a scverse core framework package#373
hutaobo wants to merge 3 commits into
scverse:mainfrom
hutaobo:codex/cell-gps-ecosystem

Conversation

@hutaobo

@hutaobo hutaobo commented Jun 5, 2026

Copy link
Copy Markdown

Summary

This PR proposes adding Cell-GPS to the scverse package registry as a core-framework candidate.

Proposed metadata file:

  • packages/Cell-GPS/meta.yaml

Cell-GPS is the reference Python implementation of Cophenetic Spatial Topology Embedding (COSTE), a spatial topology framework for spatial omics data. It computes searcher-findee distance matrices, StructureMap/cophenetic topology embeddings, and downstream topology analyses from coordinate tables and AnnData-backed Xenium workflows.

Core-framework note

I set category: core-framework because this PR is intended as a request for core framework consideration, not only ecosystem listing. I understand that core package status implies scverse core-team review, governance, and maintenance expectations. If the maintainers prefer initial listing as an ecosystem package, I can switch the category to ecosystem.

Maintenance/governance readiness

I reviewed the scverse governance notes for core packages: core packages are jointly maintained by the scverse core team, and all core packages must have at least one scverse core developer as a maintainer. If Cell-GPS is considered for core-framework listing, I am prepared to discuss the required maintenance arrangement, including adding an appropriate scverse core developer maintainer and following scverse governance expectations. If the preferred path is ecosystem listing first, I can update this PR accordingly.

Checklist for adding packages

Mandatory

Name of the tool: Cell-GPS

Short description:

Cell-GPS is the reference Python implementation of Cophenetic Spatial Topology Embedding (COSTE), a spatial topology framework for spatial omics data. It computes searcher-findee distance matrices, StructureMap/cophenetic topology embeddings, and downstream topology analyses from coordinate tables and AnnData-backed Xenium workflows.

How does the package use scverse data structures (please describe in a few sentences):

Cell-GPS uses anndata.AnnData where appropriate for spatial omics workflows. Its public API includes compute_cophenetic_distances_from_adata for computing COSTE/StructureMap topology from AnnData objects, and its Xenium loaders prepare AnnData-backed inputs through the cellgps/legacy sfplot preprocessing namespace. The package also keeps optional interoperability with SpatialData-related tooling through spatialdata_io for Visium helpers, while the core workflow supports AnnData and coordinate-table inputs.

  • 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
  • Continuous integration (CI) automatically executes these tests on each push or pull request
  • The package provides API documentation via a website or README
  • 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.

Evidence

Copilot AI review requested due to automatic review settings June 5, 2026 10:01

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds package metadata for the Cell-GPS package to support discovery, installation, and CI/test execution within the repository’s package catalog.

Changes:

  • Introduces packages/Cell-GPS/meta.yaml with package description, links, tags, and license.
  • Defines install sources (PyPI/conda-forge) and a test_command for verification.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/Cell-GPS/meta.yaml Outdated
version: 0.0.6
contact:
- hutaobo
test_command: pip install -e . pytest anndata && pytest -q
@hutaobo

hutaobo commented Jun 5, 2026

Copy link
Copy Markdown
Author

Thanks for reviewing. I checked the current mkjson failure in run https://github.com/scverse/ecosystem-packages/actions/runs/27008478452.

The newly added Cell-GPS entry appears to validate successfully in that run: PyPI, Conda, home URL, docs URL, tutorial URL, and GitHub contact validation all completed for Cell-GPS.

The failing line is for an existing package entry:

ERROR:scverse-eco:docs:PEAKQC: URL https://loosolab.pages.gwdg.de/software/peakqc/ is not reachable
ERROR:scverse-eco:Validation error occured in at least one package. Exiting.

So the remaining mkjson failure does not look caused by this PR's Cell-GPS metadata. I am happy to adjust category from core-framework to ecosystem if the scverse maintainers prefer that as the initial listing path.

@hutaobo

hutaobo commented Jun 5, 2026

Copy link
Copy Markdown
Author

Follow-up: I pushed 967abb6 to replace the stale PEAKQC documentation URL with the package's official GitHub docs source directory. This unblocks the repository-wide registry validation that was failing independently of the new Cell-GPS entry.

The latest PR checks are now green: mkjson succeeded and pre-commit.ci - pr succeeded. The PR remains ready for maintainer review of whether Cell-GPS should be accepted as core-framework or adjusted to ecosystem first.

@hutaobo

hutaobo commented Jun 5, 2026

Copy link
Copy Markdown
Author

@grst @flying-sheep I tried to request review directly, but GitHub reports that this fork PR cannot request reviews by login.

Could you please advise on the intended review path for this PR? The registry checks are green, and the open question is specifically whether Cell-GPS can be reviewed as a core-framework candidate or whether I should switch the metadata to category: ecosystem for an initial listing first.

I added the governance/maintenance readiness note to the PR body to acknowledge the core-package requirement for scverse core-team maintenance.

@Zethson

Zethson commented Jun 9, 2026

Copy link
Copy Markdown
Member

and the open question is specifically whether Cell-GPS can be reviewed as a core-framework candidate or whether I should switch the metadata to category: ecosystem for an initial listing first.

We only consider ecosystem packages for now. If any package would ever fit our core-framework scope, we'd reach out. Core-frameworks come with drastically higher quality & scope requirements that are not easy to clear.

@hutaobo

hutaobo commented Jun 9, 2026 via email

Copy link
Copy Markdown
Author

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants