Skip to content

Use schema unification for item lists and improve support for empty item lists#1053

Merged
mdekstrand merged 7 commits intolenskit:mainfrom
mdekstrand:fix/empty-item-list
Mar 27, 2026
Merged

Use schema unification for item lists and improve support for empty item lists#1053
mdekstrand merged 7 commits intolenskit:mainfrom
mdekstrand:fix/empty-item-list

Conversation

@mdekstrand
Copy link
Copy Markdown
Member

This fixes and simplifies support for empty item lists by more thoroughly using Arrow schemas and schema unification, removing some special-case logic for empty item lists, and adding tests for the case where all lists in an item list collection are empty (#1051).

Closes #1051.

@mdekstrand mdekstrand added this to the 2026.1 milestone Mar 24, 2026
@mdekstrand mdekstrand self-assigned this Mar 24, 2026
@mdekstrand mdekstrand added breaking backport Backporting features to old release series. labels Mar 24, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 24, 2026

Codecov Report

❌ Patch coverage is 85.36585% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 89.69%. Comparing base (2b50f02) to head (ab99e29).
⚠️ Report is 8 commits behind head on main.

Files with missing lines Patch % Lines
src/lenskit/data/collection/_base.py 75.00% 3 Missing ⚠️
src/lenskit/data/items.py 88.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1053      +/-   ##
==========================================
+ Coverage   89.67%   89.69%   +0.01%     
==========================================
  Files         223      223              
  Lines       15476    15476              
==========================================
+ Hits        13878    13881       +3     
+ Misses       1598     1595       -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.

@mdekstrand mdekstrand removed the backport Backporting features to old release series. label Mar 27, 2026
@mdekstrand mdekstrand removed their assignment Mar 27, 2026
@mdekstrand mdekstrand added the data Data management support. label Mar 27, 2026
@mdekstrand mdekstrand self-assigned this Mar 27, 2026
@mdekstrand mdekstrand merged commit a06c741 into lenskit:main Mar 27, 2026
40 of 41 checks passed
@mdekstrand mdekstrand deleted the fix/empty-item-list branch March 27, 2026 23:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking data Data management support.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ItemListCollection.save_parquet fails when item lists are empty

1 participant