Skip to content

feat: move hashsolo to sc.pp - #4303

Open
flying-sheep wants to merge 11 commits into
mainfrom
hashsolo
Open

feat: move hashsolo to sc.pp#4303
flying-sheep wants to merge 11 commits into
mainfrom
hashsolo

Conversation

@flying-sheep

@flying-sheep flying-sheep commented Aug 18, 2026

Copy link
Copy Markdown
Member

Basically just moving the code over and adding an anndata.acc based version of the API on top.

People had issues with our old API since it only supported obs columns:

The new API of course supports everything! Yay accessors!

@flying-sheep flying-sheep changed the title feat: vendor hashsolo feat: move hashsolo to sc.pp Aug 18, 2026
@flying-sheep flying-sheep added this to the 1.13.0 milestone Aug 18, 2026
@codecov

codecov Bot commented Aug 18, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 92.85714% with 9 lines in your changes missing coverage. Please review.
✅ Project coverage is 80.06%. Comparing base (6b5405d) to head (ece9b6d).
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
src/scanpy/get/get.py 72.22% 5 Missing ⚠️
src/scanpy/preprocessing/_hashsolo.py 96.11% 4 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4303      +/-   ##
==========================================
+ Coverage   80.01%   80.06%   +0.05%     
==========================================
  Files         132      133       +1     
  Lines       13397    13406       +9     
==========================================
+ Hits        10719    10733      +14     
+ Misses       2678     2673       -5     
Flag Coverage Δ
hatch-test.low-vers 77.99% <61.90%> (-0.24%) ⬇️
hatch-test.pre 79.93% <92.85%> (+0.05%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/scanpy/external/pp/_hashsolo.py 100.00% <100.00%> (+11.96%) ⬆️
src/scanpy/get/__init__.py 100.00% <ø> (ø)
src/scanpy/get/_aggregated.py 95.25% <100.00%> (ø)
src/scanpy/preprocessing/__init__.py 100.00% <100.00%> (ø)
src/scanpy/preprocessing/_hashsolo.py 96.11% <96.11%> (ø)
src/scanpy/get/get.py 89.45% <72.22%> (-1.12%) ⬇️

@flying-sheep
flying-sheep marked this pull request as ready for review August 18, 2026 11:15
Comment thread src/scanpy/external/pp/_hashsolo.py Outdated
Comment thread docs/conf.py
Comment thread src/scanpy/preprocessing/_hashsolo.py Outdated
Comment thread src/scanpy/preprocessing/_hashsolo.py Outdated
Comment thread tests/test_hashsolo.py

@selmanozleyen selmanozleyen left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Some edge cases inherited from main and one new behaviour with the pd.unique and loc usage instead of the old np.unique. Plus one nitpick on dead return variables. But the rest seems good

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.

move sc.external.pp.hashsolo into sc.pp

2 participants