Add Wind Turbine bindings#34
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds Wind Turbine component bindings to the microgrid component graph library, addressing issue #33. The implementation follows the established patterns for other component types (EV chargers, CHPs, etc.) and includes formula generation capabilities for wind turbines.
Key Changes:
- Implements
wind_turbine_formula()method for generating wind turbine power formulas - Adds Wind Turbine category recognition in the Rust component category mapping
- Updates project version from 0.2.0 to 0.3.0 with corresponding dependency updates
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/test_microgrid_component_graph.py | Adds comprehensive test coverage for wind turbine graph creation, component retrieval, formula generation, and topology validation |
| src/graph.rs | Implements the wind_turbine_formula method with optional component ID filtering, consistent with existing formula methods |
| src/category.rs | Adds WindTurbine class binding and category mapping to recognize wind turbine components from Python |
| python/frequenz/microgrid_component_graph/init.pyi | Adds type stub documentation for the wind_turbine_formula method with detailed parameter descriptions |
| RELEASE_NOTES.md | Documents the addition of wind turbine bindings as a new feature |
| Cargo.toml | Updates package version to 0.3.0 and bumps dependency to matching version |
| Cargo.lock | Updates lock file to reflect new version and dependency checksums |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
b51524a to
c22c80e
Compare
Fixes frequenz-floss#33 Signed-off-by: Nicolás Hatcher <nicolas.hatcher@frequenz.com>
|
Unfortunately the tests only cover the microgrid api cases. But this can be used with the assets client as well:
This PR no longer breaks the microgrid usecases, but could you do the assets client as well, before we take this in? frequenz-floss/frequenz-client-assets-python#58 |
c22c80e to
b9ce551
Compare
Signed-off-by: Nicolás Hatcher <nicolas.hatcher@frequenz.com>
b9ce551 to
ab257cc
Compare
Fixes #33