Skip to content

Conversation

jkanche
Copy link
Member

@jkanche jkanche commented Aug 27, 2025

No description provided.

@jkanche jkanche self-assigned this Aug 27, 2025
@jkanche jkanche changed the title Switch to types lists from biocutils Switch to typed lists from biocutils Aug 27, 2025
Copy link

codecov bot commented Aug 27, 2025

Codecov Report

❌ Patch coverage is 60.16260% with 49 lines in your changes missing coverage. Please review.
✅ Project coverage is 67.07%. Comparing base (bb2f8aa) to head (8d32fee).

Files with missing lines Patch % Lines
src/compressed_lists/split_generic.py 0.00% 35 Missing ⚠️
src/compressed_lists/bool_list.py 78.57% 2 Missing and 1 partial ⚠️
src/compressed_lists/float_list.py 78.57% 2 Missing and 1 partial ⚠️
src/compressed_lists/string_list.py 81.25% 2 Missing and 1 partial ⚠️
src/compressed_lists/integer_list.py 85.71% 2 Missing ⚠️
src/compressed_lists/numpy_list.py 83.33% 2 Missing ⚠️
src/compressed_lists/base.py 91.66% 1 Missing ⚠️

❗ There is a different number of reports uploaded between BASE (bb2f8aa) and HEAD (8d32fee). Click for more details.

HEAD has 20 uploads less than BASE
Flag BASE (bb2f8aa) HEAD (8d32fee)
30 10
Additional details and impacted files
@@            Coverage Diff             @@
##           master       #5      +/-   ##
==========================================
- Coverage   73.43%   67.07%   -6.36%     
==========================================
  Files           5        9       +4     
  Lines         320      404      +84     
  Branches       30       43      +13     
==========================================
+ Hits          235      271      +36     
- Misses         80      125      +45     
- Partials        5        8       +3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@LTLA
Copy link
Member

LTLA commented Aug 27, 2025

Random thoughts:

Also worth having a CompressedNumpyList so that NumPy columns of a CompressedDataFrameList can be easily extracted while preserving its type.

Make sure that the CompressedList base class is non-abstract so that any underlying concatenated store without its own CompressedList subclass won't just crash when you try to make a CompressedList out of it.

Also make a splitAsCompressedList() generic so that third parties can easily extend it with their own classes. For example, CompressedDataFrameList should call splitAsCompressedList() when extracting a column, which ensures that it will dispatch to the appropriate method.

@jkanche
Copy link
Member Author

jkanche commented Aug 27, 2025

awesome, I already have the compressed numpy list. it'll probably need some work as I work on the other two suggestions.

@jkanche
Copy link
Member Author

jkanche commented Sep 17, 2025

Couple of things

  • from_list needs to be implemented in individual classes
  • implement split generic
  • biocframe compressed list

@jkanche
Copy link
Member Author

jkanche commented Sep 18, 2025

running into limitations of python's singledispatch. It can only dispatch on a single type, not on complex types like Union or parameterized generics like List[List[int]]. Need to rethink how this can be implemented

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.

2 participants