# Core runtime dependencies (always required).
# Quantum SDKs (Qibo / Qiskit / CUDA-Q) are OPTIONAL and live in
# pyproject.toml [project.optional-dependencies]; install at least one, e.g.
#   pip install "qdislib[qibo]"      # or [qiskit], [cudaq], or [all]
# The numpy<2.0 cap that used to be here existed because Qibo's collapse_state
# (mid-circuit measurement, used by wire/gate cutting) does `int(shot)` on the
# 1-element array `sample_shots` returns; numpy 1.x allowed that (deprecated),
# numpy >= 2.4 made it a hard TypeError -- "only 0-dimensional arrays can be
# converted to Python scalars". Fixed upstream via
# https://github.com/qiboteam/qibo/pull/1871, released in qibo 0.3.5 on PyPI
# (2026-09-16) -- see the qibo extra in pyproject.toml, which pins that floor.
numpy>=1.17
networkx>=3.1
matplotlib>=3.4.3
# pymetis publishes no wheel for Linux on arm64 or for Windows, where installing it needs a
# C compiler and fails without one. find_cut runs without it, so it stays out there and
# the "metis" extra adds it.
pymetis>=2023.1; sys_platform != "win32" and platform_machine != "aarch64"
scikit-learn
typing-extensions
