Unify gurobipy version across runtime and dev dependencies
Description
There is a version mismatch for the gurobipy dependency in pyproject.toml:
-
Runtime dependency (line 36):
gurobipy>=11.0.3 -
Dev dependency (line 198):
gurobipy>=12.0.3
This mismatch can cause environment conflicts where dev tests may pass with features from version 12.0.3, but runtime environments may fail or behave unexpectedly with version 11.0.3.
Recommended Solutions
-
Option 1 (Simple): Update the runtime dependency at line 36 to
gurobipy>=12.0.3to match the dev dependency. -
Option 2 (Alternative): Move gurobipy to
[project.optional-dependencies]as a newsolvergroup (e.g.,[project.optional-dependencies.solver]), since it appears to be used as an optional Pyomo solver backend rather than a core runtime requirement. If choosing this route:- Remove gurobipy from runtime dependencies
- Add it to a new optional dependency group
- Update documentation to note the new extra installation method
- Verify Pyomo handles optional solver backends gracefully
Context
- Original PR: #165
- Comment thread: https://github.com/TemoaProject/temoa/pull/165#discussion_r2440606786
- No direct gurobipy imports were found in the source code, suggesting it's a Pyomo solver backend dependency
Priority
Medium - Should be addressed in a follow-up PR to prevent potential runtime issues in production environments.