diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 9d0ac72b093..ef2d7bc2a61 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -29,16 +29,19 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, windows-latest] - python-version: ["3.10", "3.11", "3.12"] + python-version: ["3.10", "3.11", "3.12","3.13"] exclude: - os: windows-latest python-version: 3.10 - os: windows-latest python-version: 3.11 + - os: windows-latest + python-version: "3.13" env: OS: ${{ matrix.os }} SPHINX_WARNINGS_AS_ERROR: true - SPHINX_OPTS: "-v -j 2" + # SPHINX_OPTS: "-v -j 2" + SPHINX_OPTS: "-v" steps: - name: Harden Runner uses: step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1 @@ -50,7 +53,7 @@ jobs: fetch-depth: '0' - name: set-sphinx-opts run: | - echo "SPHINX_OPTS=-W -v --keep-going -j 2" >> $GITHUB_ENV + echo "SPHINX_OPTS=-W -v --keep-going" >> $GITHUB_ENV if: ${{ fromJSON(env.SPHINX_WARNINGS_AS_ERROR) }} - name: install pandoc linux # add the || true logic to not error in case the index cannot be fetched. diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml index 420febdd135..f3e17447ee9 100644 --- a/.github/workflows/pytest.yaml +++ b/.github/workflows/pytest.yaml @@ -30,7 +30,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, windows-latest] - python-version: ["3.10", "3.11", "3.12"] + python-version: ["3.10", "3.11", "3.12", "3.13"] min-version: [false] include: - os: ubuntu-latest @@ -43,6 +43,8 @@ jobs: python-version: "3.11" - os: windows-latest python-version: "3.12" + - os: windows-latest + python-version: "3.13" env: OS: ${{ matrix.os }} PYTHON: ${{ matrix.python-version }} diff --git a/pyproject.toml b/pyproject.toml index 1b159648916..d4c64400fc1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,6 +17,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Topic :: Scientific/Engineering", ] license = {text = "MIT"} @@ -32,7 +33,7 @@ dependencies = [ "numpy>=1.22.4", "packaging>=20.0", "pandas>=1.4.0", - "pyarrow>=11.0.0", # will become a requirement of pandas. Installing explicitly silences a warning + # "pyarrow>=11.0.0", # will become a requirement of pandas. Installing explicitly silences a warning "pyvisa>=1.11.0, <1.15.0", "ruamel.yaml>=0.16.0,!=0.16.6", "tabulate>=0.9.0", @@ -94,7 +95,7 @@ test = [ "types-tqdm>=4.64.6", "types_pywin32>=305.0.0.7", "qcodes_loop>=0.1.1", - "zhinst.qcodes>=0.5", # typecheck zhinst driver alias + # "zhinst.qcodes>=0.5", # typecheck zhinst driver alias "libcst>=1.2.0", # refactor tests "jinja2>=3.1.3", # transitive dependency pin due to cve in earlier version ] @@ -222,7 +223,9 @@ filterwarnings = [ 'ignore:pkg_resources is deprecated as an API:DeprecationWarning', # pyvisa-sim 'ignore:open_binary is deprecated:DeprecationWarning', # pyvisa-sim 'ignore:datetime.datetime.utcfromtimestamp\(\) is deprecated and scheduled for removal in a future version:DeprecationWarning', # tqdm dateutil - 'ignore:Jupyter is migrating its paths to use standard platformdirs:DeprecationWarning' # jupyter + 'ignore:Jupyter is migrating its paths to use standard platformdirs:DeprecationWarning', # jupyter + 'ignore:Parsing dates involving a day of month without a year specified is ambiguious:DeprecationWarning', # ipykernel 3.13+ + 'ignore:unclosed database in:ResourceWarning' # internal should be fixed ] [tool.ruff] diff --git a/src/qcodes/instrument_drivers/zurich_instruments/hdawg.py b/src/qcodes/instrument_drivers/zurich_instruments/hdawg.py index dea360ecc2f..a941995d5ae 100644 --- a/src/qcodes/instrument_drivers/zurich_instruments/hdawg.py +++ b/src/qcodes/instrument_drivers/zurich_instruments/hdawg.py @@ -5,7 +5,7 @@ try: - from zhinst.qcodes import HDAWG + from zhinst.qcodes import HDAWG # type: ignore[import-not-found] except ImportError: raise ImportError( """ diff --git a/src/qcodes/instrument_drivers/zurich_instruments/hf2.py b/src/qcodes/instrument_drivers/zurich_instruments/hf2.py index b2d5affcf6d..afe62ed0e51 100644 --- a/src/qcodes/instrument_drivers/zurich_instruments/hf2.py +++ b/src/qcodes/instrument_drivers/zurich_instruments/hf2.py @@ -5,7 +5,7 @@ try: - from zhinst.qcodes import HF2 + from zhinst.qcodes import HF2 # type: ignore[import-not-found] except ImportError: raise ImportError( """ diff --git a/src/qcodes/instrument_drivers/zurich_instruments/mfli.py b/src/qcodes/instrument_drivers/zurich_instruments/mfli.py index 5ca70cdec40..bfc6eb1b4da 100644 --- a/src/qcodes/instrument_drivers/zurich_instruments/mfli.py +++ b/src/qcodes/instrument_drivers/zurich_instruments/mfli.py @@ -5,7 +5,7 @@ try: - from zhinst.qcodes import MFLI + from zhinst.qcodes import MFLI # type: ignore[import-not-found] except ImportError: raise ImportError( """ diff --git a/src/qcodes/instrument_drivers/zurich_instruments/pqsc.py b/src/qcodes/instrument_drivers/zurich_instruments/pqsc.py index cf15f3fe6f9..aed43bae515 100644 --- a/src/qcodes/instrument_drivers/zurich_instruments/pqsc.py +++ b/src/qcodes/instrument_drivers/zurich_instruments/pqsc.py @@ -5,7 +5,7 @@ try: - from zhinst.qcodes import PQSC + from zhinst.qcodes import PQSC # type: ignore[import-not-found] except ImportError: raise ImportError( """ diff --git a/src/qcodes/instrument_drivers/zurich_instruments/shfqa.py b/src/qcodes/instrument_drivers/zurich_instruments/shfqa.py index 64095ce3077..f98b50ba688 100644 --- a/src/qcodes/instrument_drivers/zurich_instruments/shfqa.py +++ b/src/qcodes/instrument_drivers/zurich_instruments/shfqa.py @@ -5,7 +5,7 @@ try: - from zhinst.qcodes import SHFQA + from zhinst.qcodes import SHFQA # type: ignore[import-not-found] except ImportError: raise ImportError( """ diff --git a/src/qcodes/instrument_drivers/zurich_instruments/shfsg.py b/src/qcodes/instrument_drivers/zurich_instruments/shfsg.py index 5a4e02c9be5..36416534218 100644 --- a/src/qcodes/instrument_drivers/zurich_instruments/shfsg.py +++ b/src/qcodes/instrument_drivers/zurich_instruments/shfsg.py @@ -5,7 +5,7 @@ try: - from zhinst.qcodes import SHFSG + from zhinst.qcodes import SHFSG # type: ignore[import-not-found] except ImportError: raise ImportError( """ diff --git a/src/qcodes/instrument_drivers/zurich_instruments/uhfli.py b/src/qcodes/instrument_drivers/zurich_instruments/uhfli.py index 634c22d9ceb..45df124b500 100644 --- a/src/qcodes/instrument_drivers/zurich_instruments/uhfli.py +++ b/src/qcodes/instrument_drivers/zurich_instruments/uhfli.py @@ -5,7 +5,7 @@ try: - from zhinst.qcodes import UHFLI + from zhinst.qcodes import UHFLI # type: ignore[import-not-found] except ImportError: raise ImportError( """ diff --git a/src/qcodes/instrument_drivers/zurich_instruments/uhfqa.py b/src/qcodes/instrument_drivers/zurich_instruments/uhfqa.py index f9c99ef0e70..d2cc4c045e4 100644 --- a/src/qcodes/instrument_drivers/zurich_instruments/uhfqa.py +++ b/src/qcodes/instrument_drivers/zurich_instruments/uhfqa.py @@ -5,7 +5,7 @@ try: - from zhinst.qcodes import UHFQA + from zhinst.qcodes import UHFQA # type: ignore[import-not-found] except ImportError: raise ImportError( """