Skip to content

new collection based on easy_list#226

Draft
rozyczko wants to merge 5 commits intodevelopfrom
collection_base_easylist
Draft

new collection based on easy_list#226
rozyczko wants to merge 5 commits intodevelopfrom
collection_base_easylist

Conversation

@rozyczko
Copy link
Member

@rozyczko rozyczko commented Mar 9, 2026

CollectionBase derived from EasyList

  • Derives from EasyList rather than re-implementing MutableSequence from scratch.
  • Removes all functionality now owned by EasyList (sequence operations, type protection, deduplication, serialization).
  • Assumes legacy collection-specific concerns such as graph edges, interface propagation,
    and NotarizedDict have already been removed before this class is introduced.

Inheritance Hierarchy

NewBase
  └── EasyList[T]                   ← full MutableSequence, serialization, type protection
        └── CollectionBase[T]       ← adds aggregation methods only

content:

  1. Parameter / Variable Aggregation

get_all_variables(self)
get_all_parameters(self)
get_parameters(self)
get_fittable_parameters(self)
get_free_parameters(self)
get_fit_parameters(self)

These mirror the methods on ModelBase, but aggregate across the list of items rather than
across the attribute names of a single object.

  1. data Property

  2. Legacy Serialization (_convert_to_dict)
    Support for the legacy encoder-based serialization path.
    Serializes all items in _data under the 'data' key, consistent with the old CollectionBase._convert_to_dict signature.

@rozyczko rozyczko marked this pull request as draft March 9, 2026 14:04
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']

@rozyczko rozyczko mentioned this pull request Mar 9, 2026
@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 Mar 10, 2026
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.

1 participant