Skip to content

Pin matplotlib==3.10.9 for extra dev dependencies#541

Merged
thierry-martinez merged 4 commits into
TeamGraphix:masterfrom
thierry-martinez:dev-pin-matplotlib-3.10.9
Jun 13, 2026
Merged

Pin matplotlib==3.10.9 for extra dev dependencies#541
thierry-martinez merged 4 commits into
TeamGraphix:masterfrom
thierry-martinez:dev-pin-matplotlib-3.10.9

Conversation

@thierry-martinez

Copy link
Copy Markdown
Collaborator

This commit adds a pin to matplotlib==3.10.9 in the dev extra dependencies.

Matplotlib 3.11.0 introduces visual changes that break our graphical-regression tests. As we do for other packages whose new releases can break the test suite, we pin a precise version in the dev extra to ensure reproducible CI while keeping the package unpinned in the default dependencies so users can choose whichever version they prefer.

We pin 3.10.9 instead of the newer 3.11.0 because the latter drops support for Python 3.11, which we continue to support until its official end-of-life (October 2026):
https://devguide.python.org/versions/

This commit adds a pin to `matplotlib==3.10.9` in the `dev` extra
dependencies.

Matplotlib 3.11.0 introduces visual changes that break our
graphical-regression tests.  As we do for other packages whose new
releases can break the test suite, we pin a precise version in the
`dev` extra to ensure reproducible CI while keeping the package
unpinned in the default dependencies so users can choose whichever
version they prefer.

We pin `3.10.9` instead of the newer `3.11.0` because the latter drops
support for Python 3.11, which we continue to support until its
official end-of-life (October 2026):
https://devguide.python.org/versions/
@codecov

codecov Bot commented Jun 13, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.85%. Comparing base (a2edfbc) to head (f0bc2bd).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #541   +/-   ##
=======================================
  Coverage   88.85%   88.85%           
=======================================
  Files          49       49           
  Lines        7135     7135           
=======================================
  Hits         6340     6340           
  Misses        795      795           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@thierry-martinez

Copy link
Copy Markdown
Collaborator Author

For instance, for test_causal_flow_draw, the figure produced by matplotlib==3.11.0 is the following:
result
and the difference with the baseline is:
result-failed-diff

We cannot run `pytest --mpl` in `test_minimal` (without extra), since
the visualization output depends on the version of Matplotlib, and the
pinning is only in the `dev` extra.
@mgarnier59 mgarnier59 self-requested a review June 13, 2026 09:43
@thierry-martinez thierry-martinez merged commit 6edaaef into TeamGraphix:master Jun 13, 2026
24 checks passed
GrovyleX pushed a commit to GrovyleX/graphix that referenced this pull request Jun 13, 2026
* Pin `matplotlib==3.10.9` for extra `dev` dependencies

This commit adds a pin to `matplotlib==3.10.9` in the `dev` extra
dependencies.

Matplotlib 3.11.0 introduces visual changes that break our
graphical-regression tests.  As we do for other packages whose new
releases can break the test suite, we pin a precise version in the
`dev` extra to ensure reproducible CI while keeping the package
unpinned in the default dependencies so users can choose whichever
version they prefer.

We pin `3.10.9` instead of the newer `3.11.0` because the latter drops
support for Python 3.11, which we continue to support until its
official end-of-life (October 2026):
https://devguide.python.org/versions/

* Restore qiskit constraint in `dev` extra

* Remove `pytest --mpl` in `tests_minimal`

We cannot run `pytest --mpl` in `test_minimal` (without extra), since
the visualization output depends on the version of Matplotlib, and the
pinning is only in the `dev` extra.
thierry-martinez added a commit that referenced this pull request Jun 14, 2026
* Pin `matplotlib==3.10.9` for extra `dev` dependencies

This commit adds a pin to `matplotlib==3.10.9` in the `dev` extra
dependencies.

Matplotlib 3.11.0 introduces visual changes that break our
graphical-regression tests.  As we do for other packages whose new
releases can break the test suite, we pin a precise version in the
`dev` extra to ensure reproducible CI while keeping the package
unpinned in the default dependencies so users can choose whichever
version they prefer.

We pin `3.10.9` instead of the newer `3.11.0` because the latter drops
support for Python 3.11, which we continue to support until its
official end-of-life (October 2026):
https://devguide.python.org/versions/

* Restore qiskit constraint in `dev` extra

* Remove `pytest --mpl` in `tests_minimal`

We cannot run `pytest --mpl` in `test_minimal` (without extra), since
the visualization output depends on the version of Matplotlib, and the
pinning is only in the `dev` extra.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants