Summary
Decide whether fluxopt-plot should inline xarray_plotly or keep it as a declared ~= dependency. Both packages are maintained by the same author, so either approach is viable.
Options
Option A: Keep as dependency
dependencies = ["xarray_plotly~=0.0.13"]
- Simpler maintenance — changes to xarray_plotly automatically propagate
- Users who use xarray_plotly directly get a consistent version
- Risk: breaking changes in xarray_plotly affect fluxopt-plot
Option B: Inline (vendor)
- Copy relevant modules into
fluxopt_plot/_vendored/
- Full control over behavior
- No transitive dependency risk
- More maintenance burden for updates
Recommendation
Keep as declared dependency with ~= pin. Same author, controlled release cadence. Inline only if xarray_plotly's API proves unstable.
Refs
Part of #47 — Architecture: Package Separation, SolutionResult Design, and Stability Tiers
Related: #51
Summary
Decide whether
fluxopt-plotshould inlinexarray_plotlyor keep it as a declared~=dependency. Both packages are maintained by the same author, so either approach is viable.Options
Option A: Keep as dependency
Option B: Inline (vendor)
fluxopt_plot/_vendored/Recommendation
Keep as declared dependency with
~=pin. Same author, controlled release cadence. Inline only if xarray_plotly's API proves unstable.Refs
Part of #47 — Architecture: Package Separation,
SolutionResultDesign, and Stability TiersRelated: #51