-
Notifications
You must be signed in to change notification settings - Fork 1
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
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request