Skip to content
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

Minuit.interactive outside of Jupyter notebooks #1056

Merged
merged 62 commits into from
Feb 6, 2025

Conversation

adryyan
Copy link
Contributor

@adryyan adryyan commented Nov 1, 2024

Implementation of a PyQt6 widget for minuit.interactive (Issue #771 ). In order to make the plotting work properly, I changed the API for the visualize methods of the build-in cost functions so that they optionally accept matplotlib Axes objects (and for CostSums a Figure). If these arguments don't receive a value, pyplot is used. This should keep the disruption of existing code as minimal as I could manage.

pre-commit-ci bot and others added 13 commits October 25, 2024 09:31
<!--pre-commit.ci start-->
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.6.9 →
v0.7.0](astral-sh/ruff-pre-commit@v0.6.9...v0.7.0)
- [github.com/pre-commit/mirrors-clang-format: v19.1.1 →
v19.1.2](pre-commit/mirrors-clang-format@v19.1.1...v19.1.2)
- [github.com/pre-commit/mirrors-mypy: v1.11.2 →
v1.12.1](pre-commit/mirrors-mypy@v1.11.2...v1.12.1)
- [github.com/python-jsonschema/check-jsonschema: 0.29.3 →
0.29.4](python-jsonschema/check-jsonschema@0.29.3...0.29.4)
- [github.com/henryiii/validate-pyproject-schema-store: 2024.09.23 →
2024.10.14](henryiii/validate-pyproject-schema-store@2024.09.23...2024.10.14)
<!--pre-commit.ci end-->

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Bumps the actions group with 3 updates:
[astral-sh/setup-uv](https://github.com/astral-sh/setup-uv),
[pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) and
[actions/attest-build-provenance](https://github.com/actions/attest-build-provenance).

Updates `astral-sh/setup-uv` from 3 to 4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/setup-uv/releases">astral-sh/setup-uv's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.0 🌈 Fail when cache local path does not exist when trying to
cache</h2>
<h1>🚨 Breaking change 🚨</h1>
<p>By default, the action will now fail if caching is enabled but there
is nothing to upload (the uv cache directory does not exist).
If you want to ignore this, set the <code>ignore-nothing-to-cache</code>
input to <code>true</code>.</p>
<pre lang="yaml"><code>- name: Ignore nothing to cache
  uses: astral-sh/setup-uv@v3
  with:
    enable-cache: true
    ignore-nothing-to-cache: true
</code></pre>
<hr />
<p>In previous releases only an error got logged when saving the cache
failed. In most cases users did not realize something was wrong with
their config.</p>
<!-- raw HTML omitted -->
<h2>Changes</h2>
<h2>🚨 Breaking changes</h2>
<ul>
<li>Fail when cache local path does not exist when trying to cache <a
href="https://github.com/eifinger"><code>@​eifinger</code></a> (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/163">#163</a>)</li>
</ul>
<h2>🐛 Bug fixes</h2>
<ul>
<li>Fail when cache local path does not exist when trying to cache <a
href="https://github.com/eifinger"><code>@​eifinger</code></a> (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/163">#163</a>)</li>
<li>Remove working dir from cacheDependencyGlob error message <a
href="https://github.com/eifinger"><code>@​eifinger</code></a> (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/162">#162</a>)</li>
</ul>
<h2>📚 Documentation</h2>
<ul>
<li>Change some formulations in README.md <a
href="https://github.com/eifinger"><code>@​eifinger</code></a> (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/164">#164</a>)</li>
<li>Add comment to clarify process.exit(0) <a
href="https://github.com/eifinger"><code>@​eifinger</code></a> (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/161">#161</a>)</li>
</ul>
<h2>v3.2.4 🌈 Expand <code>~</code> tilde in input paths</h2>
<p>This release adds support for expanding the <code>~</code> character
to the user's home directory for the following inputs:</p>
<ul>
<li><code>cache-local-path</code></li>
<li><code>tool-dir</code></li>
<li><code>tool-bin-dir</code></li>
<li><code>cache-dependency-glob</code></li>
</ul>
<pre lang="yaml"><code>- name: Expand the tilde character
  uses: astral-sh/setup-uv@v3
  with:
    cache-local-path: &quot;~/path/to/cache&quot;
&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/astral-sh/setup-uv/commit/38f3f104447c67c051c4a08e39b64a148898af3a"><code>38f3f10</code></a>
Resolve latest version instead of downloading latest release (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/178">#178</a>)</li>
<li><a
href="https://github.com/astral-sh/setup-uv/commit/8bdd012be50ea391c968b486f6510cfe82922108"><code>8bdd012</code></a>
Add test for python-version (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/177">#177</a>)</li>
<li><a
href="https://github.com/astral-sh/setup-uv/commit/5f42d5af6c403a722299fda36d451c39f302a433"><code>5f42d5a</code></a>
Replace v3 with v4 in README.md (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/176">#176</a>)</li>
<li><a
href="https://github.com/astral-sh/setup-uv/commit/26ddfef6e1ae64783f1f3b5227362e4c024732cf"><code>26ddfef</code></a>
Add matrix example for python-version (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/175">#175</a>)</li>
<li><a
href="https://github.com/astral-sh/setup-uv/commit/ee4fa33003f3367d2ce38897d73042bd77c51a3c"><code>ee4fa33</code></a>
Add input python-version (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/174">#174</a>)</li>
<li><a
href="https://github.com/astral-sh/setup-uv/commit/420915557ece42591269f71651dc30ec0389261c"><code>4209155</code></a>
Reduce test matrices (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/173">#173</a>)</li>
<li><a
href="https://github.com/astral-sh/setup-uv/commit/9839fa9fb5f32f6d3d5571d8070a1c2964e89e6d"><code>9839fa9</code></a>
chore: update known checksums for 0.5.5 (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/170">#170</a>)</li>
<li><a
href="https://github.com/astral-sh/setup-uv/commit/196fe5f09868e07f4162735fb2456ee36cc1da1d"><code>196fe5f</code></a>
Speed up updating known checksums (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/166">#166</a>)</li>
<li><a
href="https://github.com/astral-sh/setup-uv/commit/49d8a3d9a881f1ce1e20a028ee845acbab45fbfb"><code>49d8a3d</code></a>
Clarify caching will only fail when enabled and nothing to cache (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/165">#165</a>)</li>
<li><a
href="https://github.com/astral-sh/setup-uv/commit/d8db0a86d3d88f3017a4e6b8a1e2b234e7a0a1b5"><code>d8db0a8</code></a>
Change some formulations in README.md (<a
href="https://redirect.github.com/astral-sh/setup-uv/issues/164">#164</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/setup-uv/compare/v3...v4">compare
view</a></li>
</ul>
</details>
<br />

Updates `pypa/cibuildwheel` from 2.21 to 2.22
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/cibuildwheel/releases">pypa/cibuildwheel's
releases</a>.</em></p>
<blockquote>
<h2>Version 2.22.0</h2>
<ul>
<li>🌟 Added a new <code>CIBW_ENABLE</code>/<code>enable</code> feature
that replaces
<code>CIBW_FREETHREADED_SUPPORT</code>/<code>free-threaded-support</code>
and <code>CIBW_PRERELEASE_PYTHONS</code> with a system that supports
both. In cibuildwheel 3, this will also include a PyPy setting and the
deprecated options will be removed. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2048">#2048</a>)</li>
<li>🌟 <a href="https://peps.python.org/pep-0735/">Dependency groups</a>
are now supported for tests. Use
<code>CIBW_TEST_GROUPS</code>/<code>test-groups</code> to specify groups
in <code>[dependency-groups]</code> for testing. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2063">#2063</a>)</li>
<li>🌟 Support for the experimental Ubuntu-based ARMv7l manylinux image
(<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2052">#2052</a>)</li>
<li>✨ Show a warning when cibuildwheel is run from Python 3.10 or older;
cibuildwheel 3.0 will require Python 3.11 or newer as host (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2050">#2050</a>)</li>
<li>🐛 Fix issue with stderr interfering with checking the docker version
(<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2074">#2074</a>)</li>
<li>🛠 Python 3.9 is now used in
<code>CIBW_BEFORE_ALL</code>/<code>before-all</code> on linux, replacing
3.8, which is now EoL (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2043">#2043</a>)</li>
<li>🛠 Error messages for producing a pure-Python wheel are slightly more
informative (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2044">#2044</a>)</li>
<li>🛠 Better error when <code>uname -m</code> fails on ARM (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2049">#2049</a>)</li>
<li>🛠 Better error when repair fails and docs for abi3audit on Windows
(<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2058">#2058</a>)</li>
<li>🛠 Better error when <code>manylinux-interpreters ensure</code> fails
(<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2066">#2066</a>)</li>
<li>🛠 Update Pyodide to 0.26.4, and adapt to the unbundled pyodide-build
(now 0.29) (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2090">#2090</a>)</li>
<li>🛠 Now cibuildwheel uses dependency-groups for development
dependencies (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2064">#2064</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2085">#2085</a>)</li>
<li>📚 Docs updates and tidy ups (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2061">#2061</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2067">#2067</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2072">#2072</a>)</li>
</ul>
<h2>v2.21.3</h2>
<ul>
<li>🛠 Update CPython 3.13 to 3.13.0 final release (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2032">#2032</a>)</li>
<li>📚 Docs updates and tidy ups (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2035">#2035</a>)</li>
</ul>
<h2>v2.21.2</h2>
<ul>
<li>✨ Adds support for building 32-bit armv7l wheels on musllinux. On a
Linux system with emulation set up, set <a
href="https://cibuildwheel.pypa.io/en/stable/options/#archs">CIBW_ARCHS</a>
to <code>armv7l</code> to try it out if you're interested! (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2017">#2017</a>)</li>
<li>🐛 Fix Linux Podman builds on some systems (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2016">#2016</a>)</li>
<li>✨ Adds official support for running on Python 3.13 (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2026">#2026</a>)</li>
<li>🛠 Update CPython 3.13 to 3.13.0rc3 (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2029">#2029</a>)</li>
</ul>
<p>Note: the default <a
href="https://cibuildwheel.pypa.io/en/stable/options/#linux-image">manylinux
image</a> is <strong>scheduled to change</strong> from
<code>manylinux2014</code> to <code>manylinux_2_28</code> in a
cibuildwheel release on or after <strong>6th May 2025</strong> - you can
set the value now to avoid getting upgraded if you want. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/1992">#1992</a>)</p>
<h2>Version 2.21.1</h2>
<ul>
<li>🐛 Fix a bug in the Linux build, where files copied to the container
would have invalid ownership permissions (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2007">#2007</a>)</li>
<li>🐛 Fix a bug on Windows where cibuildwheel would call upon
<code>uv</code> to install dependencies for versions of CPython that it
does not support (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2005">#2005</a>)</li>
<li>🐛 Fix a bug where <code>uv 0.4.10</code> would not use the right
Python when testing on Linux. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2008">#2008</a>)</li>
<li>🛠 Bump our documentation pins, fixes an issue with a missing package
(<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2011">#2011</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md">pypa/cibuildwheel's
changelog</a>.</em></p>
<blockquote>
<hr />
<h2>title: Changelog</h2>
<h1>Changelog</h1>
<h3>v2.22.0</h3>
<p><em>23 November 2024</em></p>
<ul>
<li>🌟 Added a new <code>CIBW_ENABLE</code>/<code>enable</code> feature
that replaces
<code>CIBW_FREETHREADED_SUPPORT</code>/<code>free-threaded-support</code>
and <code>CIBW_PRERELEASE_PYTHONS</code> with a system that supports
both. In cibuildwheel 3, this will also include a PyPy setting and the
deprecated options will be removed. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2048">#2048</a>)</li>
<li>🌟 <a href="https://peps.python.org/pep-0735/">Dependency groups</a>
are now supported for tests. Use
<code>CIBW_TEST_GROUPS</code>/<code>test-groups</code> to specify groups
in <code>[dependency-groups]</code> for testing. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2063">#2063</a>)</li>
<li>🌟 Support for the experimental Ubuntu-based ARMv7l manylinux image
(<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2052">#2052</a>)</li>
<li>✨ Show a warning when cibuildwheel is run from Python 3.10 or older;
cibuildwheel 3.0 will require Python 3.11 or newer as host (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2050">#2050</a>)</li>
<li>🐛 Fix issue with stderr interfering with checking the docker version
(<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2074">#2074</a>)</li>
<li>🛠 Python 3.9 is now used in
<code>CIBW_BEFORE_ALL</code>/<code>before-all</code> on linux, replacing
3.8, which is now EoL (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2043">#2043</a>)</li>
<li>🛠 Error messages for producing a pure-Python wheel are slightly more
informative (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2044">#2044</a>)</li>
<li>🛠 Better error when <code>uname -m</code> fails on ARM (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2049">#2049</a>)</li>
<li>🛠 Better error when repair fails and docs for abi3audit on Windows
(<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2058">#2058</a>)</li>
<li>🛠 Better error when <code>manylinux-interpreters ensure</code> fails
(<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2066">#2066</a>)</li>
<li>🛠 Update Pyodide to 0.26.4, and adapt to the unbundled pyodide-build
(now 0.29) (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2090">#2090</a>)</li>
<li>🛠 Now cibuildwheel uses dependency-groups for development
dependencies (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2064">#2064</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2085">#2085</a>)</li>
<li>📚 Docs updates and tidy ups (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2061">#2061</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2067">#2067</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2072">#2072</a>)</li>
</ul>
<h3>v2.21.3</h3>
<p><em>9 October 2024</em></p>
<ul>
<li>🛠 Update CPython 3.13 to 3.13.0 final release (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2032">#2032</a>)</li>
<li>📚 Docs updates and tidy ups (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2035">#2035</a>)</li>
</ul>
<h3>v2.21.2</h3>
<p><em>2 October 2024</em></p>
<ul>
<li>✨ Adds support for building 32-bit armv7l wheels on musllinux. On a
Linux system with emulation set up, set <a
href="https://cibuildwheel.pypa.io/en/stable/options/#archs">CIBW_ARCHS</a>
to <code>armv7l</code> on Linux to try it out if you're interested! (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2017">#2017</a>)</li>
<li>🐛 Fix Linux Podman builds on some systems (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2016">#2016</a>)</li>
<li>✨ Adds official support for running on Python 3.13 (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2026">#2026</a>)</li>
<li>🛠 Update CPython 3.13 to 3.13.0rc3 (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2029">#2029</a>)</li>
</ul>
<p>Note: the default <a
href="https://cibuildwheel.pypa.io/en/stable/options/#linux-image">manylinux
image</a> is <strong>scheduled to change</strong> from
<code>manylinux2014</code> to <code>manylinux_2_28</code> in a
cibuildwheel release on or after <strong>6th May 2025</strong> - you can
set the value now to avoid getting upgraded if you want. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/1992">#1992</a>)</p>
<h3>v2.21.1</h3>
<p><em>16 September 2024</em></p>
<ul>
<li>🐛 Fix a bug in the Linux build, where files copied to the container
would have invalid ownership permissions (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2007">#2007</a>)</li>
<li>🐛 Fix a bug on Windows where cibuildwheel would call upon
<code>uv</code> to install dependencies for versions of CPython that it
does not support (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2005">#2005</a>)</li>
<li>🐛 Fix a bug where <code>uv 0.4.10</code> would not use the right
Python when testing on Linux. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2008">#2008</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/ee63bf16da6cddfb925f542f2c7b59ad50e93969"><code>ee63bf1</code></a>
Bump version: v2.22.0</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/d3eeba79672a0a2eb2881d547ec1366129c236ab"><code>d3eeba7</code></a>
chore: bump Ruff to 0.8.0 (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2092">#2092</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/109020ed2d0b528335ac75cb0cf2a3ff2e25fa61"><code>109020e</code></a>
Updates for Pyodide builds after <code>pyodide-build</code> was
unvendored (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2090">#2090</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/fd990007be2cc7eb1beb5501970039bf4e1dde57"><code>fd99000</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2087">#2087</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/e158f22d511580ea7e1c2853fdb002555c15e993"><code>e158f22</code></a>
ci: update gitlab for dependency-groups (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2089">#2089</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/8f21eb17be321024854494f69d8b45610e791c65"><code>8f21eb1</code></a>
chore: use dependency-groups (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2064">#2064</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/aac31ae2fb6f1bd1224a90f60f2e65cd419a54a3"><code>aac31ae</code></a>
docs: fix update scripts usage (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2067">#2067</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/b882b84e470860fb5fa558f32edad35e1d8f6bf1"><code>b882b84</code></a>
fix: update the macOS image used on Cirrus CI (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2085">#2085</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/243085f047937c9fe7d228bcaf0e684a64053a22"><code>243085f</code></a>
[Bot] Update dependencies (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2086">#2086</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/df6f8863900b4519a8dfee992548b11b4329d12b"><code>df6f886</code></a>
feat: add manylinux armv7l (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2052">#2052</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/cibuildwheel/compare/v2.21...v2.22">compare
view</a></li>
</ul>
</details>
<br />

Updates `actions/attest-build-provenance` from 1.4.3 to 1.4.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/attest-build-provenance/releases">actions/attest-build-provenance's
releases</a>.</em></p>
<blockquote>
<h2>v1.4.4</h2>
<h2>What's Changed</h2>
<ul>
<li>Bump predicate action from 1.1.3 to 1.1.4 by <a
href="https://github.com/bdehamer"><code>@​bdehamer</code></a> in <a
href="https://redirect.github.com/actions/attest-build-provenance/pull/310">actions/attest-build-provenance#310</a>
<ul>
<li>Bump <code>@​actions/core</code> from 1.10.1 to 1.11.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/attest-build-provenance/pull/275">actions/attest-build-provenance#275</a></li>
<li>Bump <code>@​actions/attest</code> from 1.4.2 to 1.5.0 by <a
href="https://github.com/bdehamer"><code>@​bdehamer</code></a> in <a
href="https://redirect.github.com/actions/attest-build-provenance/pull/309">actions/attest-build-provenance#309</a>
<ul>
<li>Fix SLSA provenance bug related to <code>workflow_ref</code> OIDC
token claims containing the &quot;@&quot; symbol in the tag name (<a
href="https://redirect.github.com/actions/toolkit/pull/1863">actions/toolkit#1863</a>)</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/attest-build-provenance/compare/v1.4.3...v1.4.4">https://github.com/actions/attest-build-provenance/compare/v1.4.3...v1.4.4</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/attest-build-provenance/commit/ef244123eb79f2f7a7e75d99086184180e6d0018"><code>ef24412</code></a>
bump predicate from 1.1.3 to 1.1.4 (<a
href="https://redirect.github.com/actions/attest-build-provenance/issues/310">#310</a>)</li>
<li><a
href="https://github.com/actions/attest-build-provenance/commit/36fa7d009e22618ca7cd599486979b8150596c74"><code>36fa7d0</code></a>
bump <code>@​actions/attest</code> from 1.4.2 to 1.5.0 (<a
href="https://redirect.github.com/actions/attest-build-provenance/issues/309">#309</a>)</li>
<li><a
href="https://github.com/actions/attest-build-provenance/commit/390c0bb1a35248f1131918ae2ff5fbebb9c49da4"><code>390c0bb</code></a>
Bump <code>@​types/node</code> from 22.8.1 to 22.8.7 in the
npm-development group (<a
href="https://redirect.github.com/actions/attest-build-provenance/issues/305">#305</a>)</li>
<li><a
href="https://github.com/actions/attest-build-provenance/commit/21da615079f466933bace548cfb08958dd87adbb"><code>21da615</code></a>
Bump the npm-development group with 3 updates (<a
href="https://redirect.github.com/actions/attest-build-provenance/issues/299">#299</a>)</li>
<li><a
href="https://github.com/actions/attest-build-provenance/commit/0704961b8bd76c74543032539a4b87550ca97441"><code>0704961</code></a>
Bump actions/publish-immutable-action in the actions-minor group (<a
href="https://redirect.github.com/actions/attest-build-provenance/issues/298">#298</a>)</li>
<li><a
href="https://github.com/actions/attest-build-provenance/commit/d01b0709fadd560939726341a0459eef1833df34"><code>d01b070</code></a>
Bump the npm-development group with 3 updates (<a
href="https://redirect.github.com/actions/attest-build-provenance/issues/278">#278</a>)</li>
<li><a
href="https://github.com/actions/attest-build-provenance/commit/b1d65e4607685bd199bc1fa97811cbac797bd0ab"><code>b1d65e4</code></a>
Add workflow file for publishing releases to immutable action package
(<a
href="https://redirect.github.com/actions/attest-build-provenance/issues/277">#277</a>)</li>
<li><a
href="https://github.com/actions/attest-build-provenance/commit/3a2769405e23849cccd820e7eab22ac9e0f57754"><code>3a27694</code></a>
Bump <code>@​actions/core</code> from 1.10.1 to 1.11.1 (<a
href="https://redirect.github.com/actions/attest-build-provenance/issues/275">#275</a>)</li>
<li><a
href="https://github.com/actions/attest-build-provenance/commit/dff1ae69a71254b807bee9e2f72c7ab0eed66e60"><code>dff1ae6</code></a>
prevent e2e workflows on forks (<a
href="https://redirect.github.com/actions/attest-build-provenance/issues/272">#272</a>)</li>
<li><a
href="https://github.com/actions/attest-build-provenance/commit/e5892d032c30c69d4973a976c8bf77e9e470abdf"><code>e5892d0</code></a>
Bump the npm-development group with 3 updates (<a
href="https://redirect.github.com/actions/attest-build-provenance/issues/263">#263</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/actions/attest-build-provenance/compare/1c608d11d69870c2092266b3f9a6f3abbf17002c...ef244123eb79f2f7a7e75d99086184180e6d0018">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
src/iminuit/qtwidget.py Outdated Show resolved Hide resolved
src/iminuit/minuit.py Outdated Show resolved Hide resolved
src/iminuit/qtwidget.py Outdated Show resolved Hide resolved
src/iminuit/qtwidget.py Outdated Show resolved Hide resolved
src/iminuit/qtwidget.py Outdated Show resolved Hide resolved
src/iminuit/qtwidget.py Outdated Show resolved Hide resolved
<!--pre-commit.ci start-->
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.7.0 →
v0.8.1](astral-sh/ruff-pre-commit@v0.7.0...v0.8.1)
- [github.com/pre-commit/mirrors-clang-format: v19.1.2 →
v19.1.4](pre-commit/mirrors-clang-format@v19.1.2...v19.1.4)
- [github.com/pre-commit/mirrors-mypy: v1.12.1 →
v1.13.0](pre-commit/mirrors-mypy@v1.12.1...v1.13.0)
- [github.com/kynan/nbstripout: 0.7.1 →
0.8.1](kynan/nbstripout@0.7.1...0.8.1)
- [github.com/python-jsonschema/check-jsonschema: 0.29.4 →
0.30.0](python-jsonschema/check-jsonschema@0.29.4...0.30.0)
- [github.com/henryiii/validate-pyproject-schema-store: 2024.10.14 →
2024.11.25](henryiii/validate-pyproject-schema-store@2024.10.14...2024.11.25)
<!--pre-commit.ci end-->

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
@HDembinski
Copy link
Member

@adryyan I reviewed this PR, but you also made another where you don't change the plotting API. I prefer the other one, as expressed here.

I think we need a few iterations, but I generally appreciate your effort very much. This is a significant contribution.

@adryyan
Copy link
Contributor Author

adryyan commented Dec 6, 2024

@HDembinski Thank you for your comments; I will go through them in the next weeks.

src/iminuit/qtwidget.py Outdated Show resolved Hide resolved
tests/test_draw.py Outdated Show resolved Hide resolved
@HDembinski
Copy link
Member

This one looks a bit tricky https://github.com/scikit-hep/iminuit/actions/runs/12353782099/job/34473645329?pr=1056#step:9:41
INTERNALERROR> ImportError: libEGL.so.1: cannot open shared object file: No such file or directory

If you cannot figure it out, I will handle that one.

@adryyan
Copy link
Contributor Author

adryyan commented Dec 16, 2024

Thank you for all your input, I learned some new things and I feel like the code is much cleaner now.

I don't really have any experience with nox, but the problems look to me like there are issues with the installed packages and importskips. I moved all tests regarding the qtwidget into one file and put the importskip of pyqt6 before the test functions, because of the qtbot (pytest-qt). I did the same with the ipywidget tests, because the mock_ipython fixture fails if there is no IPython. But I think the actions would also need to be updated to install the necessary packages, so that the qtwidget can be tested (PyQt6, pytest-qt), but I am not sure how to do that.

@HDembinski
Copy link
Member

I don't really have any experience with nox, but the problems look to me like there are issues with the installed packages

Yes, it should not have anything to do with nox. This looks like the image is missing a dependency. In fact, that error occurs in the doc build as well, but does not cause a failure:
https://github.com/scikit-hep/iminuit/actions/runs/12360486430/job/34524584092?pr=1056#step:8:80

The Test / X tests only check the basic functionality, that's why they do not expose this issue.

HDembinski and others added 11 commits December 17, 2024 11:34
<!--pre-commit.ci start-->
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.8.2 →
v0.8.3](astral-sh/ruff-pre-commit@v0.8.2...v0.8.3)
- [github.com/pre-commit/mirrors-clang-format: v19.1.4 →
v19.1.5](pre-commit/mirrors-clang-format@v19.1.4...v19.1.5)
<!--pre-commit.ci end-->

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
@HDembinski
Copy link
Member

HDembinski commented Dec 19, 2024

Fixing the CI issue turns out to be difficult. I am getting segfaults when the PyQt code is executed, presumably because there is a mismatch between the versions of libraries that Qt links to at run-time and those which the PyQt Python package was build against. I found this nice install qt action, which should avoid exactly that issue, but it does not work. It is always annoying when the error only appears on CI, that makes debugging difficult.

One way to fix this is to install all the required packages with conda/mamba, then all the external libs should be consistent with the libs used to build the python package.

Another idea is to port this all to PySide, which is now officially supported by Qt. Although it is not clear whether that would avoid the issue.

@adryyan
Copy link
Contributor Author

adryyan commented Dec 19, 2024

Changing from PyQt6 to PySide6 is quite easy in the code, so it doesn't hurt to try (a817bc9).

@adryyan
Copy link
Contributor Author

adryyan commented Jan 17, 2025

I am not very familiar with GitHub actions and nox; so changing to conda in coverage.yml would entail installing conda from for example miniforge and then changing the nox options for cov in the noxfile?
I can't start the workflows, so could you please approve the pending ones to see if changing to PySide already fixed the problem?

pre-commit-ci bot and others added 2 commits February 4, 2025 16:41
<!--pre-commit.ci start-->
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.8.3 →
v0.9.4](astral-sh/ruff-pre-commit@v0.8.3...v0.9.4)
- [github.com/pre-commit/mirrors-clang-format: v19.1.5 →
v19.1.7](pre-commit/mirrors-clang-format@v19.1.5...v19.1.7)
- [github.com/pre-commit/mirrors-mypy: v1.13.0 →
v1.14.1](pre-commit/mirrors-mypy@v1.13.0...v1.14.1)
- [github.com/python-jsonschema/check-jsonschema: 0.30.0 →
0.31.1](python-jsonschema/check-jsonschema@0.30.0...0.31.1)
- [github.com/henryiii/validate-pyproject-schema-store: 2024.11.25 →
2025.02.03](henryiii/validate-pyproject-schema-store@2024.11.25...2025.02.03)
<!--pre-commit.ci end-->

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
@adryyan
Copy link
Contributor Author

adryyan commented Feb 5, 2025

I found this documentation of pytest-qt and added pytest-xvfb to the installed packages in pyproject.toml and added the action to which they link (I copied the workflow from the develop branch and only added the action). After that it ran succesfully in my fork. So I hope this fixes it now.

@HDembinski
Copy link
Member

Very impressive, thanks for tracking this down.

@HDembinski HDembinski merged commit 859f252 into scikit-hep:develop Feb 6, 2025
9 checks passed
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.

3 participants