Skip to content

update pyproject.toml to use latest PL ecosystem dependencies #1441

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

Merged
merged 10 commits into from
Jul 16, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ download:
wget --no-verbose -N https://download.pytorch.org/tutorial/hymenoptera_data.zip -P $(DATADIR)
unzip -q -o $(DATADIR)/hymenoptera_data.zip -d $(DATADIR)/

# TODO: Remove numpy installation command on next release. Currently Catalyst 0.11 pins jaxlib to 0.4.8
# TODO: Update flax, or certain tutorials e.g. tutorial_rl_pulse.py will fail due to implicit confliction between jax==0.6.0 and flax==0.9.0
environment:
@command -v $(POETRY_BIN) --version >/dev/null 2>&1 || { echo >&2 "Setting up the environment requires a valid installation of python-poetry. Please install and add poetry to PATH or pass the executable using POETRY_BIN. Aborting."; exit 1; }
Expand All @@ -80,10 +79,8 @@ environment:
$$PYTHON_VENV_PATH/bin/python -m pip install --upgrade git+https://github.com/PennyLaneAI/pennylane-qulacs.git#egg=pennylane-qulacs;\
$$PYTHON_VENV_PATH/bin/python -m pip install --extra-index-url https://test.pypi.org/simple/ PennyLane-Catalyst --pre --upgrade;\
$$PYTHON_VENV_PATH/bin/python -m pip install --extra-index-url https://test.pypi.org/simple/ PennyLane-Lightning --pre --upgrade;\
$$PYTHON_VENV_PATH/bin/python -m pip install --upgrade git+https://github.com/PennyLaneAI/pennylane.git@v0.42.0-rc0#egg=pennylane;\
$$PYTHON_VENV_PATH/bin/python -m pip install --upgrade git+https://github.com/PennyLaneAI/pennylane.git#egg=pennylane;\
$$PYTHON_VENV_PATH/bin/python -m pip install --upgrade git+https://github.com/XanaduAI/iqpopt.git#egg=iqpopt;\
$$PYTHON_VENV_PATH/bin/python -m pip install 'numpy<2';\
$$PYTHON_VENV_PATH/bin/python -m pip install jax==0.6.0 jaxlib==0.6.0 flax==0.10.6;\
fi;\
fi

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
}
],
"dateOfPublication": "2025-02-26T09:00:00+00:00",
"dateOfLastModification": "2025-02-26T09:00:00+00:00",
"dateOfLastModification": "2025-07-15T09:00:00+00:00",
"categories": [
"Algorithms",
"Quantum Computing"
Expand Down
3 changes: 2 additions & 1 deletion demonstrations/linear_equations_hhl_qrisp_catalyst.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@
components easily. We'll demonstrate this later in this demo.

You can install Qrisp to experiment with this implementation yourself, at your own pace, by calling
``pip install qrisp``.
``pip install qrisp``. Please note that `qrisp` is only compatible with PennyLane versions
<= 0.41.1 and Catalyst versions <= 0.11.0.

QuantumVariable
~~~~~~~~~~~~~~~
Expand Down
2 changes: 1 addition & 1 deletion demonstrations/ml_classical_shadows.metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
}
],
"dateOfPublication": "2022-05-02T00:00:00+00:00",
"dateOfLastModification": "2025-07-10T00:00:00+00:00",
"dateOfLastModification": "2025-07-15T00:00:00+00:00",
"categories": [
"Quantum Machine Learning"
],
Expand Down
3 changes: 2 additions & 1 deletion demonstrations/ml_classical_shadows.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@
This demo is compatible with the latest version of PennyLane and ``neural-tangents``.
The latter is required for building the kernel for the infinite network used in training.
As of July 10th, 2025, the latest version of ``neural-tangents`` (v0.6.5) is only compatible
with ``jax<0.6.0``.
with ``jax<0.6.0``. This means that this demo is only compatible with PennyLane versions
<= 0.41.1 and Catalyst versions <= 0.11.0.


Building the 2D Heisenberg model
Expand Down
3,338 changes: 1,600 additions & 1,738 deletions poetry.lock

Large diffs are not rendered by default.

26 changes: 10 additions & 16 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ markupsafe = "2.1.1"
pyyaml = "^6.0.1"
pennylane-sphinx-theme = { git = "https://github.com/PennyLaneAI/pennylane-sphinx-theme.git", branch = "sphinx-update" }
pypandoc = "1.5"
pennylane = "0.41.0"
pennylane = "0.42.0"
uv = "^0.5.25"


Expand All @@ -61,19 +61,19 @@ uv = "^0.5.25"
# These pinned versions of PL are NOT used for Dev builds #
# The latest commit from GitHub is used instead #
###########################################################
pennylane = "0.41.0"
pennylane-cirq = "0.41.0"
pennylane-qiskit = "0.41.0"
pennylane-qulacs = "0.41.0"
pennylane-catalyst = "0.11.0"
pennylane = "0.42.0"
pennylane-cirq = "0.42.0"
pennylane-qiskit = "0.42.0"
pennylane-qulacs = "0.42.0"
pennylane-catalyst = "0.12.0"
##########################################################

scipy = ">=1.12"
numpy = "~1.26.4"
numpyro = "~0.17.0"
matplotlib = "3.7.2"
jax = "0.4.28"
jaxlib = "0.4.28"
jax = "0.6.0"
jaxlib = "0.6.0"
jaxopt = "0.8.5"
seaborn = "0.13.2"
kahypar = "1.1.7"
Expand All @@ -82,12 +82,11 @@ covalent = "0.227.0rc0"
openqaoa-core = "0.2.5"
dwave-ocean-sdk = "7.0.0"
pyzx = "0.7.0"
neural-tangents = "0.6.2"
plotly = ">=4.5.0"
pydantic = "^2.8.2"
ply = "3.11"
optax = "0.2.4"
flax = "0.9.0"
flax = "0.10.6"
qutip = "5.1.0"
mitiq = "0.43.0"
pennylane-qrack = "0.11.1"
Expand All @@ -105,9 +104,8 @@ qiskit = ">=1.0.0"
qiskit-aer = ">=0.14.0,<0.16.0"
sphinxcontrib-applehelp = "1.0.8"
sphinx-gallery = "0.17.1"
qrisp = ">=0.6.1"
iqpopt = { git = "https://github.com/XanaduAI/iqpopt.git" }

tensorflow = "2.19"

# Install a difference version of torch from PyPI as the one from PyTorch repo is not compatible with MacOS
torch = [
Expand All @@ -121,13 +119,9 @@ torchvision = [

# The following packages are platform locked to not install on MacOS as the installation breaks
scikit-learn = { version = "1.3.0", markers = "platform_machine == 'x86_64'" }
tensorflow = { version = "2.16.2", markers = "platform_machine == 'x86_64'" }
flamingpy = { version = ">=0.10.1b1", markers = "platform_machine == 'x86_64'" }
qulacs = { version = "0.6.1", markers = "platform_machine == 'x86_64'" }

# The following packages are only installed on MacOS for compatibility
tensorflow-macos = { version = "2.16.2", markers = "sys_platform == 'darwin' and platform_machine == 'arm64'" }

[tool.poetry.group.metadata-validation]
optional = true

Expand Down