Remove `sc.external`
Open
@flying-sheep is already working on this.
Since May 26, 2025.
Area – API
Area – External
Meta
- Dominant language
- Python
- Stars
- 2.6k
- Forks
- 779
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 27
Description
External has outlived its usefulness with the emergence of the scverse ecosystem, and should be removed.
Plan:
- Decide on which ones to move into our code: https://scverse.zulipchat.com/#narrow/channel/328272-scanpy/topic/Removing.20.60sc.2Eexternal.60/near/616514023
- Deal with
exporting.{spring_project,cell_browser}: #4296 - Adopt bbknn: #4302
- Move hashsolo: #4304
- Deprecate
sc.external: #4295 - remove it
Adopt code
projects without upstream activity
-
pp.scrublet -
pp.harmony_integrate(harmonypyhas 2.0 depending on Torch so we adopted v1) -
pp.bbknn(implemented in RSC): #4302
already in-tree: move into main namespace
-
hashsolo(upstream has been moved intoscvi-tools): #4304other than scrublet, this operates on hashtags, so both are useful
Maintained: deprecate wrappers and tell the authors
-
tl.phate: https://github.com/KrishnaswamyLab/PHATE/issues/182 -
tl.palantir{,_results}: https://github.com/dpeerlab/Palantir/issues/182 -
tl.trimap(has a JAX implementation by Google): https://github.com/eamid/trimap/issues/31 -
tl.sam(sc-sam): https://github.com/atarashansky/self-assembling-manifold/issues/51 -
exporting.cellbrowser: #4296
maintained-ish, don’t necessarily wait for reply
-
tl.harmony_timeseries(harmonyTS): https://github.com/dpeerlab/Harmony/issues/27 -
pp.magic(magic-impute): see Palantir (the MAGIC algorithm is included in there)
Dead: just deprecate
-
pp.dca: https://github.com/scverse/scanpy/pull/4010 -
exporting.spring_project: #4296 tl.phenograph(PhenoGraph. With #3831 –jaccardconnectivities – only label transfer is missing, which exists in https://github.com/quadbio/cellmapper)pp.scanorama_integrate(scanorama, but is implemented inSnapATAC2)pp.mnn_correct(mnnpy)tl.wishbone(wishbone-dev)tl.sandbag/tl.cyclone(pypairs)
theislab votes to keep:
- phate: 3 (won’t keep as it’s maintained well)
- phenograph: 2 (because of its performance on cancer data)
- magic, palantir, cyclone, cellbrowser: 1 each
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.