Skip to content

Conversation

@rozyczko
Copy link
Member

  • Add ModelCollection class extending ModelBase with MutableSequence
  • Provides list-like functionality with EasyScience features
  • Supports interface propagation to collection items (via InterfaceFactoryTemplate)
  • Export ModelCollection from base_classes module
  • Add comprehensive unit tests (102 tests)

andped10 and others added 18 commits September 18, 2024 15:18
Fix for setup-python@v5 expecting string now
- Add ModelCollection class extending ModelBase with MutableSequence
- Provides list-like functionality with EasyScience features
- Supports interface propagation to collection items (via InterfaceFactoryTemplate)
- Add NewBase to CollectionBase type checking
- Export ModelCollection from base_classes module
- Add comprehensive unit tests (102 tests)
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

This pull request does not contain a valid label. Please add one of the following labels: ['[scope] bug', '[scope] enhancement', '[scope] documentation', '[scope] significant', '[scope] maintenance']

@codecov
Copy link

codecov bot commented Dec 19, 2025

Codecov Report

❌ Patch coverage is 99.15254% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 81.77%. Comparing base (366e324) to head (7f3f45a).
⚠️ Report is 4 commits behind head on develop.

Files with missing lines Patch % Lines
src/easyscience/base_classes/model_collection.py 99.13% 0 Missing and 1 partial ⚠️
Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #180      +/-   ##
===========================================
+ Coverage    80.80%   81.77%   +0.96%     
===========================================
  Files           52       53       +1     
  Lines         4261     4427     +166     
  Branches       739      790      +51     
===========================================
+ Hits          3443     3620     +177     
+ Misses         633      625       -8     
+ Partials       185      182       -3     
Flag Coverage Δ
unittests 81.77% <99.15%> (+0.96%) ⬆️

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

Files with missing lines Coverage Δ
src/easyscience/base_classes/__init__.py 100.00% <100.00%> (ø)
src/easyscience/base_classes/collection_base.py 91.26% <100.00%> (+0.06%) ⬆️
src/easyscience/base_classes/model_collection.py 99.13% <99.13%> (ø)

... and 1 file with indirect coverage changes

@rozyczko rozyczko added [scope] enhancement Adds/improves features (major.MINOR.patch) [priority] medium Normal/default priority [area] base classes Changes to or creation of new base classes labels Dec 19, 2025
Copilot AI added a commit that referenced this pull request Jan 5, 2026
Co-authored-by: rozyczko <8266281+rozyczko@users.noreply.github.com>
Copilot AI added a commit that referenced this pull request Jan 5, 2026
Co-authored-by: rozyczko <8266281+rozyczko@users.noreply.github.com>
Copy link
Contributor

@damskii9992 damskii9992 left a comment

Choose a reason for hiding this comment

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

First few comments, anything related to the soon-to-be legacy interface class should be removed, as we don't want this functionality anymore, secondly anything related to the global_object should be removed, we don't care about the map and edges anymore and want to remove it. The existence of the old base_collection is the only reason these features haven't been removed already . . .

@rozyczko
Copy link
Member Author

rozyczko commented Jan 8, 2026

First few comments, anything related to the soon-to-be legacy interface class should be removed, as we don't want this functionality anymore, secondly anything related to the global_object should be removed, we don't care about the map and edges anymore and want to remove it. The existence of the old base_collection is the only reason these features haven't been removed already . . .

These have been removed in the larger PR (#172) but you wanted that PR split into two separate PRs, so this one has ONLY the new base collection functionality. The other PR (#181) incorporates removal of the legacy interfaces

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

Labels

[area] base classes Changes to or creation of new base classes [priority] medium Normal/default priority [scope] enhancement Adds/improves features (major.MINOR.patch)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants