Skip to content
Open
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
6 changes: 2 additions & 4 deletions .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,8 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ["3.11", "3.12", "3.13", "3.14"]
python-version: ["3.12", "3.13", "3.14"]
exclude:
- os: windows-latest
python-version: 3.11
- os: windows-latest
python-version: 3.13
- os: windows-latest
Expand Down Expand Up @@ -122,7 +120,7 @@ jobs:
- name: Download artifact
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: docs_3.11_ubuntu-latest
name: docs_3.12_ubuntu-latest
path: build_docs

- name: Deploy to gh pages
Expand Down
8 changes: 2 additions & 6 deletions .github/workflows/pytest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,13 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ["3.11", "3.12", "3.13", "3.14"]
python-version: ["3.12", "3.13", "3.14"]
min-version: [false]
include:
- os: ubuntu-latest
python-version: "3.11"
python-version: "3.12"
min-version: true
exclude:
- os: ubuntu-latest
python-version: "3.11"
- os: windows-latest
python-version: "3.11"
- os: windows-latest
python-version: "3.13"
- os: windows-latest
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/upload_to_pypi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: '3.11'
python-version: '3.12'
- name: Install build deps
run: pip install --upgrade pip setuptools wheel build
- name: Build
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"from typing import TYPE_CHECKING\n",
"\n",
"if TYPE_CHECKING:\n",
" from typing_extensions import Unpack\n",
" from typing import Unpack\n",
"\n",
"import numpy as np\n",
"import numpy.typing as npt\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,7 @@
"from typing import TYPE_CHECKING, Any\n",
"\n",
"if TYPE_CHECKING:\n",
" from typing_extensions import (\n",
" Unpack, # can be imported from typing if python >= 3.12\n",
" )\n",
" from typing import Unpack\n",
"\n",
"import numpy as np\n",
"\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@
"from qcodes.instrument.visa import VisaInstrument, VisaInstrumentKWArgs\n",
"\n",
"if TYPE_CHECKING:\n",
" from typing_extensions import Unpack\n",
" from typing import Unpack\n",
"\n",
"\n",
"class Weinschel8320(VisaInstrument):\n",
Expand Down
23 changes: 11 additions & 12 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,28 +13,27 @@ classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Science/Research",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Scientific/Engineering",
]
license = "MIT"
readme = "README.rst"
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"broadbean>=0.11.0",
"h5netcdf>=0.14.1",
"h5py>=3.8.0",
"h5netcdf>=1.3.0",
"h5py>=3.10.0",
"ipywidgets>=8.0.0,<9.0.0",
"ipykernel>=6.12.0", # implicitly required by ipywidgets >=8.0.5
"jsonschema>=4.9.0",
"matplotlib>=3.6.0",
"matplotlib>=3.8.0",
"networkx>=3.1",
"numpy>=1.22.4",
"numpy>=1.26.0",
"packaging>=20.0",
"pandas>=1.5.0",
"pyarrow>=11.0.0", # will become a requirement of pandas. Installing explicitly silences a warning
"pandas>=2.1.1",
"pyarrow>=14.0.0", # will become a requirement of pandas. Installing explicitly silences a warning
"pyvisa>=1.12.0, <1.17.0",
"ruamel.yaml>=0.16.0,!=0.16.6",
"tabulate>=0.9.0",
Expand All @@ -46,7 +45,7 @@ dependencies = [
"xarray>=2023.08.0",
"cf_xarray>=0.8.4",
"opentelemetry-api>=1.17.0",
"pillow>=9.2.0",
"pillow>=10.2.0",
"dask>=2022.1.0", # we are making use of xarray features that requires dask implicitly
]

Expand Down Expand Up @@ -100,7 +99,7 @@ docs = [
"furo>=2024.8.6",
"sphinxcontrib-towncrier>=0.5.0a0",
"towncrier>=24.8.0,<26.0.0", # sphinxcontrib-towncrier is likely to break with new versions
"scipy>=1.10.0", # examples using scipy
"scipy>=1.12.0", # examples using scipy
"qcodes_loop>=0.1.1", # legacy dataset import examples
"intersphinx_registry>=0.2603.16"
]
Expand Down Expand Up @@ -219,7 +218,6 @@ markers = "serial"
# and error on all other warnings
filterwarnings = [
'error',
'ignore:open_binary is deprecated:DeprecationWarning', # pyvisa-sim deprecated in 3.11 un-deprecated in 3.12. Drop filter once we drop support for 3.11
'ignore:unclosed database in:ResourceWarning', # internal should be fixed
'ignore:unclosed\ <socket\.socket:ResourceWarning', # not clear from where this is coming
]
Expand Down Expand Up @@ -260,7 +258,8 @@ select = [
# PLxxxx are pylint lints that generate a fair amount of warnings
# it may be worth fixing some or these in the future
# PYI036 disable until https://github.com/astral-sh/ruff/issues/9794 is fixed
ignore = ["E501", "G004", "PLR2004", "PLR0913", "PLR0911", "PLR0912", "PLR0915", "PLW0602", "PLW0603", "PLW2901", "PYI036"]
# UP040, UP046, UP047: PEP 695 type param conversions deferred — TypeVars use default/covariant features
ignore = ["E501", "G004", "PLR2004", "PLR0913", "PLR0911", "PLR0912", "PLR0915", "PLW0602", "PLW0603", "PLW2901", "PYI036", "UP040", "UP046", "UP047"]

# we want to explicitly use the micro symbol
# not the greek letter
Expand Down
2 changes: 1 addition & 1 deletion src/qcodes/dataset/dond/do_0d.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from .do_nd import DondKWargs, dond

if TYPE_CHECKING:
from typing_extensions import Unpack
from typing import Unpack

from .do_nd_utils import (
AxesTupleListWithDataSet,
Expand Down
2 changes: 1 addition & 1 deletion src/qcodes/dataset/dond/do_1d.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from .sweeps import LinSweep

if TYPE_CHECKING:
from typing_extensions import Unpack
from typing import Unpack

from qcodes.dataset.dond.do_nd_utils import (
AxesTupleListWithDataSet,
Expand Down
4 changes: 1 addition & 3 deletions src/qcodes/instrument/channel.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@
from .instrument_base import InstrumentBase

if TYPE_CHECKING:
from typing import Self

from typing_extensions import Unpack
from typing import Self, Unpack

from .instrument_base import InstrumentBaseKWArgs

Expand Down
4 changes: 1 addition & 3 deletions src/qcodes/instrument/instrument.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,7 @@
from .instrument_meta import InstrumentMeta

if TYPE_CHECKING:
from typing import Self

from typing_extensions import Unpack
from typing import Self, Unpack

from qcodes.logger.instrument_logger import InstrumentLoggerAdapter

Expand Down
3 changes: 1 addition & 2 deletions src/qcodes/instrument/ip.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@
if TYPE_CHECKING:
from collections.abc import Sequence
from types import TracebackType

from typing_extensions import Unpack
from typing import Unpack

from .instrument_base import InstrumentBaseKWArgs

Expand Down
4 changes: 1 addition & 3 deletions src/qcodes/instrument/visa.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,7 @@

if TYPE_CHECKING:
from collections.abc import Mapping, Sequence
from typing import NotRequired

from typing_extensions import Unpack
from typing import NotRequired, Unpack

from qcodes.parameters.parameter import Parameter

Expand Down
2 changes: 1 addition & 1 deletion src/qcodes/instrument_drivers/AimTTi/_AimTTi_PL_P.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from qcodes.parameters import Parameter, create_on_off_val_mapping

if TYPE_CHECKING:
from typing_extensions import Unpack
from typing import Unpack


class NotKnownModel(Exception):
Expand Down
3 changes: 1 addition & 2 deletions src/qcodes/instrument_drivers/AlazarTech/ATS.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@

if TYPE_CHECKING:
from collections.abc import Generator, Sequence

from typing_extensions import Unpack
from typing import Unpack

logger = logging.getLogger(__name__)

Expand Down
2 changes: 1 addition & 1 deletion src/qcodes/instrument_drivers/CopperMountain/_M5065.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from ._M5xxx import CopperMountainM5xxx

if TYPE_CHECKING:
from typing_extensions import Unpack
from typing import Unpack

from qcodes.instrument import VisaInstrumentKWArgs

Expand Down
2 changes: 1 addition & 1 deletion src/qcodes/instrument_drivers/CopperMountain/_M5180.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from ._M5xxx import CopperMountainM5xxx

if TYPE_CHECKING:
from typing_extensions import Unpack
from typing import Unpack

from qcodes.instrument import VisaInstrumentKWArgs

Expand Down
2 changes: 1 addition & 1 deletion src/qcodes/instrument_drivers/CopperMountain/_M5xxx.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from qcodes.validators import Bool, Enum, Ints, Numbers

if TYPE_CHECKING:
from typing_extensions import Unpack
from typing import Unpack


class CopperMountainM5xxx(VisaInstrument):
Expand Down
2 changes: 1 addition & 1 deletion src/qcodes/instrument_drivers/Galil/dmc_41x3.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
from qcodes.validators import Enum, Ints, Multiples

if TYPE_CHECKING:
from typing_extensions import Unpack
from typing import Unpack

from qcodes.parameters import Parameter

Expand Down
2 changes: 1 addition & 1 deletion src/qcodes/instrument_drivers/HP/HP_8133A.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from qcodes.validators import Numbers

if TYPE_CHECKING:
from typing_extensions import Unpack
from typing import Unpack

from qcodes.parameters import Parameter

Expand Down
2 changes: 1 addition & 1 deletion src/qcodes/instrument_drivers/HP/HP_83650A.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from qcodes.utils.deprecate import QCoDeSDeprecationWarning

if TYPE_CHECKING:
from typing_extensions import Unpack
from typing import Unpack

from qcodes.parameters import Parameter

Expand Down
2 changes: 1 addition & 1 deletion src/qcodes/instrument_drivers/HP/HP_8753D.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from qcodes.parameters import ArrayParameter, ParamRawDataType

if TYPE_CHECKING:
from typing_extensions import Unpack
from typing import Unpack

from qcodes.parameters import Parameter

Expand Down
2 changes: 1 addition & 1 deletion src/qcodes/instrument_drivers/Harvard/Decadac.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
)

if TYPE_CHECKING:
from typing_extensions import Unpack
from typing import Unpack

from qcodes.parameters import Parameter

Expand Down
3 changes: 1 addition & 2 deletions src/qcodes/instrument_drivers/Keithley/Keithley_2000.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@

if TYPE_CHECKING:
from collections.abc import Callable

from typing_extensions import Unpack
from typing import Unpack

from qcodes.parameters import Parameter

Expand Down
2 changes: 1 addition & 1 deletion src/qcodes/instrument_drivers/Keithley/Keithley_2400.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from qcodes.validators import Enum, Strings

if TYPE_CHECKING:
from typing_extensions import Unpack
from typing import Unpack

from qcodes.parameters import Parameter

Expand Down
4 changes: 2 additions & 2 deletions src/qcodes/instrument_drivers/Keithley/Keithley_2450.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from typing import TYPE_CHECKING, Any, ClassVar, Self, cast
from typing import TYPE_CHECKING, Any, ClassVar, Self, Unpack, cast

import numpy as np
import numpy.typing as npt
from typing_extensions import TypedDict, Unpack
from typing_extensions import TypedDict

from qcodes.instrument import InstrumentChannel, VisaInstrument, VisaInstrumentKWArgs
from qcodes.parameters import (
Expand Down
2 changes: 1 addition & 1 deletion src/qcodes/instrument_drivers/Keithley/Keithley_3706A.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from qcodes.parameters import Parameter, create_on_off_val_mapping

if TYPE_CHECKING:
from typing_extensions import Unpack
from typing import Unpack


class Keithley3706AUnknownOrEmptySlot(Exception):
Expand Down
3 changes: 1 addition & 2 deletions src/qcodes/instrument_drivers/Keithley/Keithley_6500.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@

if TYPE_CHECKING:
from collections.abc import Callable

from typing_extensions import Unpack
from typing import Unpack

from qcodes.parameters import Parameter

Expand Down
3 changes: 1 addition & 2 deletions src/qcodes/instrument_drivers/Keithley/Keithley_7510.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@
if TYPE_CHECKING:
from collections.abc import Sequence
from types import TracebackType

from typing_extensions import Unpack
from typing import Unpack


class DataArray7510(MultiParameter):
Expand Down
2 changes: 1 addition & 1 deletion src/qcodes/instrument_drivers/Keithley/Keithley_s46.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
from qcodes.parameters import Parameter, ParamRawDataType

if TYPE_CHECKING:
from typing_extensions import Unpack
from typing import Unpack


class KeithleyS46LockAcquisitionError(Exception):
Expand Down
4 changes: 1 addition & 3 deletions src/qcodes/instrument_drivers/Keithley/_Keithley_2600.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,7 @@

if TYPE_CHECKING:
from collections.abc import Callable, Sequence
from typing import assert_never

from typing_extensions import Unpack
from typing import Unpack, assert_never


log = logging.getLogger(__name__)
Expand Down
3 changes: 1 addition & 2 deletions src/qcodes/instrument_drivers/Keysight/Infiniium.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,7 @@

if TYPE_CHECKING:
from collections.abc import Sequence

from typing_extensions import Unpack
from typing import Unpack


class DSOTimeAxisParam(Parameter):
Expand Down
Loading
Loading