Add multilayered inheritance structure to DataConcepts[Collection]#269
Conversation
bfolie
left a comment
There was a problem hiding this comment.
I think this is an improvement. A few questions.
- Are you also going to use this PR to fix the
filter_by_attribute_boundsissue that instigated the change? - Is there a need to have the abstract
get_typemethod in each abstract collection class? Since they implementDataConceptsCollectionand the method is abstractly defined there, it seems redundant. - Should we create separate classes for specs and runs? On the one hand it doesn't necessarily hurt, and we could always define the two classes and if we don't make use of them that's ok. But I also don't necessarily view specs and runs as being different types of objects, and can't think of a method we'd want to do to one but not the other. Do you have a distinction in mind?
I was planning to do that as a separate PR for convenience of review. I intended to do it prior to adding another non-template endpoint (which is how I found this issue in the first place) |
It removed a warning in intellij. If we're cool with the warning, I can remove the abstract method. Apparently having these classes extend ABC also fixes the warning, if that sounds better |
I do actually - consider |
Yeah I think it makes the most sense to extend ABC |
Citrine Python PR
Description
Add multilayered inheritance structure to DataConcepts[Collection]. Allows for more fine-grained control of which classes have access to shared methods/values
PR Type:
Adherence to team decisions