Skip to content

Commit

Permalink
🔥 drop Python 3.8 support (#427)
Browse files Browse the repository at this point in the history
  • Loading branch information
burgholzer authored Sep 6, 2024
1 parent 4409d5d commit 4b51d54
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 16 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ if(BUILD_MQT_DDSIM_BINDINGS)

# top-level call to find Python
find_package(
Python 3.8 REQUIRED
Python 3.9 REQUIRED
COMPONENTS Interpreter Development.Module
OPTIONAL_COMPONENTS Development.SABIModule)
endif()
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ If you have any questions, feel free to contact us via [[email protected]]

## Getting Started

DDSIM bundled with the provider and backends for Qiskit is available via [PyPI](https://pypi.org/project/mqt.ddsim/) for Linux, macOS, and Windows and supports Python 3.8 to 3.12.
DDSIM bundled with the provider and backends for Qiskit is available via [PyPI](https://pypi.org/project/mqt.ddsim/) for Linux, macOS, and Windows and supports Python 3.9 to 3.13.

```console
(venv) $ pip install mqt.ddsim
Expand Down
6 changes: 3 additions & 3 deletions docs/source/Installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@ In most practical cases (under 64-bit Linux, MacOS, and Windows), this requires
(venv) $ pip install --upgrade pip setuptools wheel
.. warning::
Python 3.7 will reach end-of-life in June 2023 and MQT phases out support starting now.
We strongly recommend that users upgrade to a more recent version of Python to ensure compatibility and continue receiving updates and support.
Thank you for your understanding.
As of version 2.0.0, support for Python 3.8 has been officially dropped.
We strongly recommend that users upgrade to a more recent version of Python to ensure compatibility and continue receiving updates and support.
Thank you for your understanding.


A Detailed Walk Through
Expand Down
9 changes: 4 additions & 5 deletions noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

nox.options.sessions = ["lint", "tests", "minimums"]

PYTHON_ALL_VERSIONS = ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
PYTHON_ALL_VERSIONS = ["3.9", "3.10", "3.11", "3.12", "3.13"]

# The following lists all the build requirements for building the package.
# Note that this includes transitive build dependencies of package dependencies,
Expand Down Expand Up @@ -102,18 +102,17 @@ def docs(session: nox.Session) -> None:
extra_installs = ["sphinx-autobuild"] if serve else []
session.install(*BUILD_REQUIREMENTS, *extra_installs)
session.install("--no-build-isolation", "-ve.[docs]", "--reinstall-package", "mqt.ddsim")
session.chdir("docs")

if args.builder == "linkcheck":
session.run("sphinx-build", "-b", "linkcheck", "source", "_build/linkcheck", *posargs)
session.run("sphinx-build", "-b", "linkcheck", "docs", "docs/_build/linkcheck", *posargs)
return

shared_args = (
"-n", # nitpicky mode
"-T", # full tracebacks
f"-b={args.builder}",
"source",
f"_build/{args.builder}",
"docs",
f"docs/_build/{args.builder}",
*posargs,
)

Expand Down
7 changes: 3 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,14 @@ classifiers = [
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Development Status :: 5 - Production/Stable",
]
requires-python = ">=3.8"
requires-python = ">=3.9"
dependencies = [
"qiskit[qasm3-import]>=1.0.0"
]
Expand Down Expand Up @@ -171,7 +170,7 @@ report.exclude_also = [
[tool.mypy]
files = ["src/mqt", "test/python", "noxfile.py"]
mypy_path = ["$MYPY_CONFIG_FILE_DIR/src"]
python_version = "3.8"
python_version = "3.9"
warn_unused_configs = true
enable_error_code = ["ignore-without-code", "redundant-expr", "truthy-bool"]
strict = true
Expand Down Expand Up @@ -286,7 +285,7 @@ build = "cp3*"
skip = "*-musllinux_*"
archs = "auto64"
test-command = "python -c \"from mqt import ddsim\""
test-skip = ["cp38-macosx_arm64", "cp313*"] # skip testing on Python 3.13 until our dependencies are ready
test-skip = ["cp313*"] # skip testing on Python 3.13 until our dependencies are ready
build-frontend = "build[uv]"
free-threaded-support = true
manylinux-x86_64-image = "manylinux_2_28"
Expand Down
4 changes: 2 additions & 2 deletions src/mqt/ddsim/provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from __future__ import annotations

from typing import TYPE_CHECKING, Any, List, cast
from typing import TYPE_CHECKING, Any, cast

from qiskit.providers import BackendV2
from qiskit.providers.exceptions import QiskitBackendNotFoundError
Expand Down Expand Up @@ -70,7 +70,7 @@ def backends(
backends = [
backend_cls() for backend_name, backend_cls in self._BACKENDS if name is None or backend_name == name
]
return cast(List[BackendV2], filter_backends(backends, filters=filters, **kwargs))
return cast(list[BackendV2], filter_backends(backends, filters=filters, **kwargs))

def __str__(self) -> str:
"""Return the provider name."""
Expand Down

0 comments on commit 4b51d54

Please sign in to comment.