-
Notifications
You must be signed in to change notification settings - Fork 1
Refine generated models: additional mixins and optional field review #1
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Overview
While we've made significant improvements to the generated models, there are opportunities for further refinement.
Current State
✅ Completed:
- 22 enum types with 210 values
- 18 field mixins (629 fields eliminated, 52.9% reduction)
- 29 method mixins (~141 helper methods)
- 894 required fields (64%)
- 100% snake_case with aliases
Areas for Further Refinement
1. Additional Field Mixins
Candidate fields for new mixins:
timefield (8 models)idfield (5 models)metadatafield (55 wrapper models)datafield (130 wrapper models)margin,surplusfields
Impact: Could eliminate another ~100-150 field definitions
2. Optional Field Review
Some fields marked as Optional might be required. Use tools/infer_required_fields.py to test actual API responses.
3. Optimize Wrapper Models
Many *_DatasetResponse models are similar - could use generics or shared base class.
Success Metrics
- Field mixin coverage: 50% → 60%+
- Required fields: 64% → 70%+
- Field definitions eliminated: 629 → 750+
Files
elexon_bmrs/generated_models.pyelexon_bmrs/field_mixins.pytools/generate_models.py- See
TODO.mdfor detailed plan
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request