-
Notifications
You must be signed in to change notification settings - Fork 9
Feature/bounds to all deps #331
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
f50ba23
f4eef9f
a80a15f
8526eda
0f16285
b16048b
0aa6153
11d52d3
1c663f0
a34b7d4
319ef58
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -36,73 +36,76 @@ dependencies = [ | |
| # Core scientific computing | ||
| "numpy >= 1.21.5, < 3", | ||
| "pandas >= 2.0.0, < 3", | ||
| "xarray >= 2024.2.0, < 2026.0", # CalVer: allow through next calendar year | ||
| # Optimization and data handling | ||
| "linopy >=0.5.7, <0.5.8", # Update and test regularly | ||
| "linopy >= 0.5.1, < 0.6", # Widened from patch pin to minor range | ||
| "netcdf4 >= 1.6.1, < 2", | ||
| # Utilities | ||
| "PyYAML >= 6.0.0, < 7", | ||
| "rich >= 13.0.0", | ||
| "tomli >= 2.0.1; python_version < '3.11'", # Only needed with python 3.10 or earlier | ||
| "pyyaml >= 6.0.0, < 7", | ||
| "rich >= 13.0.0, < 15", | ||
| "tomli >= 2.0.1, < 3; python_version < '3.11'", # Only needed with python 3.10 or earlier | ||
| # Default solver | ||
| "highspy >= 1.5.3", | ||
| "highspy >= 1.5.3, < 2", | ||
|
|
||
| # Visualization | ||
| "matplotlib >= 3.5.2, < 4.0.0", | ||
| "plotly >=5.15.0, <6.4.0", | ||
| "matplotlib >= 3.5.2, < 4", | ||
| "plotly >= 5.15.0, < 7", | ||
| ] | ||
|
|
||
| [project.optional-dependencies] | ||
| # Interactive network visualization with enhanced color picker | ||
| network-viz = [ | ||
| "dash >= 3.0.0", | ||
| "dash-cytoscape >= 1.0.0", | ||
| "dash-daq >= 0.6.0", | ||
| "networkx >= 3.0.0", | ||
| "werkzeug >= 3.0.0", | ||
| network_viz = [ | ||
| "dash >= 3.0.0, < 4", | ||
| "dash-cytoscape >= 1.0.0, < 2", | ||
| "dash-daq >= 0.6.0, < 1", | ||
| "networkx >= 3.0.0, < 4", | ||
| "werkzeug >= 3.0.0, < 4", | ||
| "flask >= 3.0.0, < 4", # Explicit Flask cap to prevent transitive major bumps | ||
| ] | ||
|
|
||
| # Full feature set (everything except dev tools) | ||
| full = [ | ||
| "pyvis ==0.3.2", # Visualizing FlowSystem Network | ||
| "tsam >= 2.3.1, < 3.0.0", # Time series aggregation | ||
| "scipy >= 1.15.1, < 2.0.0", # Used by tsam. Prior versions have conflict with highspy. See https://github.com/scipy/scipy/issues/22257 | ||
| "gurobipy >= 10.0.0", | ||
| "dash >= 3.0.0", # Visualizing FlowSystem Network as app | ||
| "dash-cytoscape >= 1.0.0", # Visualizing FlowSystem Network as app | ||
| "dash-daq >= 0.6.0", # Visualizing FlowSystem Network as app | ||
| "networkx >= 3.0.0", # Visualizing FlowSystem Network as app | ||
| "werkzeug >= 3.0.0", # Visualizing FlowSystem Network as app | ||
| "pyvis==0.3.2", # Visualizing FlowSystem Network | ||
| "tsam >= 2.3.1, < 3", # Time series aggregation | ||
| "scipy >= 1.15.1, < 2", # Used by tsam. Prior versions have conflict with highspy. See https://github.com/scipy/scipy/issues/22257 | ||
| "gurobipy >= 10.0.0, < 13", | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Don't force proprietary solver into the dev extra. Pinning gurobipy in [dev] makes contributor installs fail without a license. Keep gurobi in feature extras (e.g., full/solvers) and remove it from dev, or gate it behind a separate dev = [
@@
- "gurobipy==12.0.3",
]Optionally add: +[project.optional-dependencies]
+dev-solver = [
+ "gurobipy==12.0.3",
+]Also applies to: 88-88 🤖 Prompt for AI Agents |
||
| "dash >= 3.0.0, < 4", # Visualizing FlowSystem Network as app | ||
| "dash-cytoscape >= 1.0.0, < 2", # Visualizing FlowSystem Network as app | ||
| "dash-daq >= 0.6.0, < 1", # Visualizing FlowSystem Network as app | ||
| "networkx >= 3.0.0, < 4", # Visualizing FlowSystem Network as app | ||
| "werkzeug >= 3.0.0, < 4", # Visualizing FlowSystem Network as app | ||
| "flask >= 3.0.0, < 4", # Explicit Flask cap to prevent transitive major bumps | ||
| ] | ||
|
|
||
| # Development tools and testing | ||
| dev = [ | ||
| "pytest >= 7.0.0", | ||
| "nbformat>=4.2.0", # Related to failing CI with Plotly>6 | ||
| "ruff >= 0.9.0", | ||
| "pre-commit >= 4.0.0", | ||
| "pyvis ==0.3.2", # Visualizing FlowSystem | ||
| "tsam >= 2.3.1, < 3.0.0", # Time series aggregation | ||
| "scipy >= 1.15.1, < 2.0.0", # Used by tsam. Prior versions have conflict with highspy. See https://github.com/scipy/scipy/issues/22257 | ||
| "gurobipy >= 10.0.0", | ||
| "dash >= 3.0.0", | ||
| "dash-cytoscape >= 1.0.0", | ||
| "dash-daq >= 0.6.0", | ||
| "networkx >= 3.0.0", | ||
| "werkzeug >= 3.0.0", | ||
| "pytest==8.4.2", | ||
| "nbformat==5.10.4", | ||
| "ruff==0.13.0", | ||
| "pre-commit==4.3.0", | ||
| "pyvis==0.3.2", | ||
| "tsam==2.3.1", | ||
| "scipy==1.15.1", | ||
| "gurobipy==12.0.3", | ||
| "dash==3.0.0", | ||
| "dash-cytoscape==1.0.0", | ||
| "dash-daq==0.6.0", | ||
| "networkx==3.0.0", | ||
| "werkzeug==3.0.0", | ||
| ] | ||
|
|
||
| # Documentation building | ||
| docs = [ | ||
| "mkdocs-material >= 9.0.0, < 10", | ||
| "mkdocstrings-python >= 1.0.0", | ||
| "mkdocs-table-reader-plugin >= 2.0.0", | ||
| "mkdocs-gen-files >= 0.4.0", | ||
| "mkdocs-include-markdown-plugin >= 6.0.0", | ||
| "mkdocs-literate-nav >= 0.6.0", | ||
| "markdown-include >= 0.8.0", | ||
| "pymdown-extensions >= 10.0.0", | ||
| "pygments >= 2.14.0", | ||
| "mike >= 2.0.0", | ||
| "mkdocs-material==9.6.19", | ||
| "mkdocstrings-python==1.18.2", | ||
| "mkdocs-table-reader-plugin==3.1.0", | ||
| "mkdocs-gen-files==0.5.0", | ||
| "mkdocs-include-markdown-plugin==7.1.7", | ||
| "mkdocs-literate-nav==0.6.2", | ||
| "markdown-include==0.8.1", | ||
| "pymdown-extensions==10.16.1", | ||
| "pygments==2.19.2", | ||
| "mike==2.1.3", | ||
| ] | ||
|
|
||
| [project.urls] | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❓ Verification inconclusive
Resolve Plotly↔nbformat mismatch to prevent CI breakage.
Base allows Plotly < 7 while dev pins nbformat==5.10.4 (<6). If Plotly 6.x needs nbformat≥6 (or vice‑versa), installs with the dev extra will fail. Choose one strategy:
Recommended (A) for this PR’s “bounds” scope:
Also applies to: 81-82
Cap Plotly to <6 in base deps to avoid nbformat mismatch / CI breakage.
Base currently allows "plotly >= 5.15.0, < 7" while dev pins nbformat==5.10.4 (<6). Plotly v6 drops support for older Jupyter and introduced regressions that have broken notebook rendering/HTML export — pin Plotly <6 until CI and notebook integrations are validated. (plotly.com)
Also applies to: 81-82
🤖 Prompt for AI Agents