Skip to content

Bump the python-packages group with 4 updates#1

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/python-packages-23b5bec551
Open

Bump the python-packages group with 4 updates#1
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/python-packages-23b5bec551

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 22, 2026

Copy link
Copy Markdown

Bumps the python-packages group with 4 updates: pyzx, pyright, pytest and types-networkx.

Updates pyzx from 0.10.0 to 0.10.3

Release notes

Sourced from pyzx's releases.

v0.10.3

Added

  • The circuit generation functions in pyzx.generate now accept an additional optional argument, sigma, allowing a CNOT spread based on a Gaussian distribution rather than a uniform distribution for control over how localised the CNOTs should be. (by @​mjsutcliffe99).

Deprecated

  • Deprecated pyzx.simulate.py as it is starting to get bloated with all the new decompositions and strategies that have been added in recent years. All the functions in this file should still work (with deprecation warnings) but are rerouted to their new homes under the pyzx.simulation folder. (by @​mjsutcliffe99).

Changed

  • Refactored the simulation API to make it more formulaic and extensible. Individual decompositions are no longer included as distinct functions inside pyzx.simulate.py but now are provided their own individual files under pyzx.simulation.decompositions and share a common caller function. For example, pyzx.simulate.apply_cat3(g,v) is instead now pyzx.simulation.apply_decomp(Decomp.CAT_3,g,v), etc. (by @​mjsutcliffe99).
  • Likewise, decomposition strategies are separated into individual files under pyzx.simulation.strategies and called similarly through e.g. zx.simulation.full_decompose(Strategy.BSS,g). (by @​mjsutcliffe99).

Added

  • pyzx.simplify.drop_orphan_reset_discards: opt-in cleanup pass that removes the disconnected boundary -- Z(0) -- X(_rN) components left behind by Circuit.to_graph(elide_initial_resets=False) on circuits with leading resets, matching the elided graph with |0⟩ applied to those inputs (by @​dlyongemallo).

Fixed

  • Multigraph handling of parallel mixed simple/Hadamard edges in tensor contraction, several rewrite rules, and PauliWeb (by @​dlyongemallo).
  • Reset gate representation changed from ground-based to symbolic boolean paradigm, avoiding paradigm-mixing issues that destroyed measurement phases during simplification of circuits with mid-circuit resets. As a side effect, graph_to_circuit now recovers conditional X-type rotations (NOT, XPhase, SX), since X-type vertices on the qubit wire are unambiguous now that measurement outcomes are represented as leaves. Circuit.to_graph gains an opt-in elide_initial_resets flag (default False) that skips the discard chain for a Reset on an unmodified input wire, useful for circuits with OpenQASM-style implicit |0⟩ inputs. Each _rN reset variable is allocated to the lowest name not already in the graph's variable registry to avoid aliasing user-supplied phases, and graph_to_circuit excludes vertices on classical-bit wires (e.g. the Z/X pair from DiscardBit) so hybrid graphs round-trip without extra phantom qubits (by @​dlyongemallo).

v0.10.2

No release notes provided.

v0.10.1

[0.10.1] - 2026-04-28

This is the first automatically pushed release using github actions. PyZX should now have montly minor releases.

Added

  • X-H bialgebra support and tests for both Z-X and X-H bialgebra (by @​dlyongemallo).
  • substitute_variables() methods on BaseGraph and Scalar to substitute values into symbolic variables in graph phases, Z-box labels, and scalars, including symbolic-to-symbolic substitution via Poly values (by @​dlyongemallo).

Fixed

  • Fixed Term.__mul__ not reducing boolean variable exponents, e.g., x^2 = x. (by @​dlyongemallo).
  • Incorrect scalar in the Z-X bialgebra rule when both spiders carry Pauli phases, including symbolic Boolean phases (by @​dlyongemallo).
  • subgraph_from_vertices copies only variables used in the subgraph (by @​dlyongemallo).
  • extract_circuit raises ValueError for graphs containing ground vertices or mismatched input/output counts, instead of a KeyError crash (by @​dlyongemallo).
  • Missed copying _grounds in clone(), incorrectly checking destination is_ground instead of source in tensor() (by @​dlyongemallo).
  • Bialgebra rule to accept parallel edges; spread out the resulting vertices so they don't overlap (by @​dlyongemallo).

Removed

  • Measurement.to_graph_ground; measurements now always use the symbolic boolean representation (by @​dlyongemallo).
  • The galois package dependency. PyZX now uses the internal Mat2 class for computing Pauli webs in pyzx.web.

Changed

  • Migrated project configuration from setup.py to pyproject.toml. Make the galois package an optional dependency, as it is only used in pyzx.web. (by @​dlyongemallo)
  • Dropped support for Python 3.9 (end of life). Added support for Python 3.13. (by @​dlyongemallo)
Changelog

Sourced from pyzx's changelog.

[0.10.3] - 2026-06-01

Added

  • The circuit generation functions in pyzx.generate now accept an additional optional argument, sigma, allowing a CNOT spread based on a Gaussian distribution rather than a uniform distribution for control over how localised the CNOTs should be. (by @​mjsutcliffe99).
  • pyzx.simplify.drop_orphan_reset_discards: opt-in cleanup pass that removes the disconnected boundary -- Z(0) -- X(_rN) components left behind by Circuit.to_graph(elide_initial_resets=False) on circuits with leading resets, matching the elided graph with |0⟩ applied to those inputs (by @​dlyongemallo).

Deprecated

  • Deprecated pyzx.simulate.py as it is starting to get bloated with all the new decompositions and strategies that have been added in recent years. All the functions in this file should still work (with deprecation warnings) but are rerouted to their new homes under the pyzx.simulation folder. (by @​mjsutcliffe99).

Changed

  • Refactored the simulation API to make it more formulaic and extensible. Individual decompositions are no longer included as distinct functions inside pyzx.simulate.py but now are provided their own individual files under pyzx.simulation.decompositions and share a common caller function. For example, pyzx.simulate.apply_cat3(g,v) is instead now pyzx.simulation.apply_decomp(Decomp.CAT_3,g,v), etc. (by @​mjsutcliffe99).
  • Likewise, decomposition strategies are separated into individual files under pyzx.simulation.strategies and called similarly through e.g. zx.simulation.full_decompose(Strategy.BSS,g). (by @​mjsutcliffe99).
  • pivot_boundary_simp and pivot_gadget_simp are now RewriteSimpDoubleVertex instances (previously RewriteSimpGraph), so their is_match and apply methods take two vertices (v, w) rather than a List[VT]. Whole-graph simplification (calling them as a function or via simp()) is unchanged. This is a breaking change for code that relied on the old apply(graph, vertices) signature. (by @​dlyongemallo)

Fixed

  • Multigraph handling of parallel mixed simple/Hadamard edges in tensor contraction, several rewrite rules, and PauliWeb (by @​dlyongemallo).
  • Reset gate representation changed from ground-based to symbolic boolean paradigm, avoiding paradigm-mixing issues that destroyed measurement phases during simplification of circuits with mid-circuit resets. As a side effect, graph_to_circuit now recovers conditional X-type rotations (NOT, XPhase, SX), since X-type vertices on the qubit wire are unambiguous now that measurement outcomes are represented as leaves. Circuit.to_graph gains an opt-in elide_initial_resets flag (default False) that skips the discard chain for a Reset on an unmodified input wire, useful for circuits with OpenQASM-style implicit |0⟩ inputs. Each _rN reset variable is allocated to the lowest name not already in the graph's variable registry to avoid aliasing user-supplied phases, and graph_to_circuit excludes vertices on classical-bit wires (e.g. the Z/X pair from DiscardBit) so hybrid graphs round-trip without extra phantom qubits (by @​dlyongemallo).
  • The boundary and gadget pivot rules now correctly match the (P2) and (P3) rules in the paper arXiv:1903.10477 when applied manually, e.g., from ZXLive (by @​dlyongemallo).

[0.10.2] - 2026-05-01

[0.10.1] - 2026-04-28

Added

  • X-H bialgebra support and tests for both Z-X and X-H bialgebra (by @​dlyongemallo).
  • substitute_variables() methods on BaseGraph and Scalar to substitute values into symbolic variables in graph phases, Z-box labels, and scalars, including symbolic-to-symbolic substitution via Poly values (by @​dlyongemallo).

Fixed

  • Fixed Term.__mul__ not reducing boolean variable exponents, e.g., x^2 = x. (by @​dlyongemallo).
  • Incorrect scalar in the Z-X bialgebra rule when both spiders carry Pauli phases, including symbolic Boolean phases (by @​dlyongemallo).
  • subgraph_from_vertices copies only variables used in the subgraph (by @​dlyongemallo).
  • extract_circuit raises ValueError for graphs containing ground vertices or mismatched input/output counts, instead of a KeyError crash (by @​dlyongemallo).
  • Missed copying _grounds in clone(), incorrectly checking destination is_ground instead of source in tensor() (by @​dlyongemallo).
  • Bialgebra rule to accept parallel edges; spread out the resulting vertices so they don't overlap (by @​dlyongemallo).

Removed

  • Measurement.to_graph_ground; measurements now always use the symbolic boolean representation (by @​dlyongemallo).
  • The galois package dependency. PyZX now uses the internal Mat2 class for computing Pauli webs in pyzx.web.

Changed

  • Migrated project configuration from setup.py to pyproject.toml. Make the galois package an optional dependency, as it is only used in pyzx.web. (by @​dlyongemallo)
  • Dropped support for Python 3.9 (end of life). Added support for Python 3.13. (by @​dlyongemallo)
Commits
  • 8f61268 Bump version: 0.10.2 → 0.10.3
  • ad802d4 Merge pull request #430 from dlyongemallo/check_copy_steane_circuit
  • 23e8ff3 replace ground-based Reset with symbolic boolean paradigm
  • d2361cd Merge pull request #454 from dlyongemallo/reduce_scalar_docstring
  • decd9e7 Note in reduce_scalar docstring that input required to be in graph-like form
  • 4b02cfd Merge pull request #452 from Hope-Alemayehu/master
  • dc69a62 Fix phase negation in push_pauli_rule for Poly phases
  • 88c3aa1 Merge branch 'zxcalc:master' into master
  • 4fc21f6 Fix scalar correction in pivot_rule for Poly phases
  • 88bee86 Merge pull request #451 from Hope-Alemayehu/master
  • Additional commits viewable in compare view

Updates pyright from 1.1.409 to 1.1.410

Commits

Updates pytest from 9.0.3 to 9.1.1

Release notes

Sourced from pytest's releases.

9.1.1

pytest 9.1.1 (2026-06-19)

Bug fixes

  • #14220: Fixed a logic bug in pytest.RaisesGroup which would might cause it to display incorrect "It matches FooError() which was paired with BarError" messages.
  • #14591: Fixed a regression in pytest 9.1.0 which caused overriding a parametrized fixture with an indirect @​pytest.mark.parametrize to fail with "duplicate parametrization of '<fixture name>'".
  • #14606: Fixed list-item typing errors from mypy in @pytest.mark.parametrize <pytest.mark.parametrize ref> argvalues parameter.
  • #14608: Fixed a regression in pytest 9.1.0 where conftest.py files located in <invocation dir>/test* were no longer loaded as initial conftests when invoked without arguments. This could cause certain hooks (like pytest_addoption) in these files to not fire.

9.1.0

pytest 9.1.0 (2026-06-13)

Removals and backward incompatible breaking changes

  • #14533: When using --doctest-modules, autouse fixtures with module, package or session scope that are defined inline in Python test modules (not plugins or conftests) will now possibly execute twice.

    If this is undesirable, move the fixture definition to a conftest.py file if possible.

    Technical explanation for those interested: When using --doctest-modules, pytest possibly collects Python modules twice, once as pytest.Module and once as a DoctestModule (depending on the configuration). Due to improvements in pytest's fixture implementation, if e.g. the DoctestModule collects a fixture, it is now visible to it only, and not to the Module. This means that both need to register the fixtures independently.

Deprecations (removal in next major release)

  • #10819: Added a deprecation warning for class-scoped fixtures defined as instance methods (without @classmethod). Such fixtures set attributes on a different instance than the test methods use, leading to unexpected behavior. Use @classmethod decorator instead -- by yastcher.

    See 10819 and 14011.

  • #12882: Calling request.getfixturevalue() <pytest.FixtureRequest.getfixturevalue> during teardown to request a fixture that was not already requested is now deprecated and will become an error in pytest 10.

    See dynamic-fixture-request-during-teardown for details.

  • #13409: Using non-~collections.abc.Collection iterables (such as generators, iterators, or custom iterable objects) for the argvalues parameter in @pytest.mark.parametrize <pytest.mark.parametrize ref> and metafunc.parametrize <pytest.Metafunc.parametrize> is now deprecated.

    These iterables get exhausted after the first iteration, leading to tests getting unexpectedly skipped in cases such as running pytest.main() multiple times, using class-level parametrize decorators, or collecting tests multiple times.

    See parametrize-iterators for details and suggestions.

  • #13946: The private config.inicfg attribute is now deprecated. Use config.getini() <pytest.Config.getini> to access configuration values instead.

    See config-inicfg for more details.

  • #14004: Passing baseid to ~pytest.FixtureDef or nodeid strings to fixture registration APIs is now deprecated. These are internal pytest APIs that are used by some plugins.

... (truncated)

Commits
  • cf470ec Prepare release version 9.1.1
  • e0c8ce6 Merge pull request #14625 from pytest-dev/patchback/backports/9.1.x/a07c31a97...
  • 1b82d16 Merge pull request #14624 from pytest-dev/patchback/backports/9.1.x/b375b79ec...
  • 501c4bc Merge pull request #14596 from bluetech/doc-classmethod
  • b61f588 Merge pull request #14622 from chrisburr/fix-14608-initial-conftest-test-subdir
  • 9a567e0 [automated] Update plugin list (#14617) (#14618)
  • ef8b299 Merge pull request #14620 from pytest-dev/patchback/backports/9.1.x/680f9f3ed...
  • 66abd07 Merge pull request #14220 from bysiber/fix-stale-iexp-raisesgroup
  • 79fbf93 Merge pull request #14612 from pytest-dev/patchback/backports/9.1.x/974ed48b6...
  • 0d312eb Merge pull request #14611 from bluetech/parametrize-argvalues-typing
  • Additional commits viewable in compare view

Updates types-networkx from 3.6.1.20260518 to 3.6.1.20260612

Commits

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 commands and options

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 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

Bumps the python-packages group with 4 updates: [pyzx](https://github.com/zxcalc/pyzx), [pyright](https://github.com/RobertCraigie/pyright-python), [pytest](https://github.com/pytest-dev/pytest) and [types-networkx](https://github.com/python/typeshed).


Updates `pyzx` from 0.10.0 to 0.10.3
- [Release notes](https://github.com/zxcalc/pyzx/releases)
- [Changelog](https://github.com/zxcalc/pyzx/blob/master/CHANGELOG.md)
- [Commits](zxcalc/pyzx@v0.10.0...v0.10.3)

Updates `pyright` from 1.1.409 to 1.1.410
- [Release notes](https://github.com/RobertCraigie/pyright-python/releases)
- [Commits](RobertCraigie/pyright-python@v1.1.409...v1.1.410)

Updates `pytest` from 9.0.3 to 9.1.1
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@9.0.3...9.1.1)

Updates `types-networkx` from 3.6.1.20260518 to 3.6.1.20260612
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: pyzx
  dependency-version: 0.10.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: pyright
  dependency-version: 1.1.410
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: pytest
  dependency-version: 9.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: types-networkx
  dependency-version: 3.6.1.20260612
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Jun 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants