diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index c5d242f41..0af46e1e2 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -46,4 +46,4 @@ Search open/closed issues before submitting. Someone may have reported the same * OS & Device: [e.g. macOS, Windows, Linux] on [Mac, PC] * `ni-measurement-plugin-sdk-service` version [e.g. 2.0.0] * InstrumentStudio version [e.g. 24.8.0d123] -* Python version [e.g. 3.9] +* Python version [e.g. 3.10] diff --git a/.github/workflows/check_nimg.yml b/.github/workflows/check_nimg.yml index ed49a428b..8863709f1 100644 --- a/.github/workflows/check_nimg.yml +++ b/.github/workflows/check_nimg.yml @@ -8,11 +8,11 @@ jobs: check_nimg: name: Check NIMG env: - oldest-python-version: '3.9' + oldest-python-version: '3.10' strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, 3.14] + python-version: ['3.10', 3.14] runs-on: ${{ matrix.os }} defaults: run: diff --git a/.github/workflows/check_nims.yml b/.github/workflows/check_nims.yml index eb9ee2000..f4d580771 100644 --- a/.github/workflows/check_nims.yml +++ b/.github/workflows/check_nims.yml @@ -8,11 +8,11 @@ jobs: check_nims: name: Check NIMS env: - oldest-python-version: '3.9' + oldest-python-version: '3.10' strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, 3.14] + python-version: ['3.10', 3.14] runs-on: ${{ matrix.os }} defaults: run: diff --git a/.github/workflows/run_unit_tests.yml b/.github/workflows/run_unit_tests.yml index 7574fe14f..6fc8c8e99 100644 --- a/.github/workflows/run_unit_tests.yml +++ b/.github/workflows/run_unit_tests.yml @@ -12,7 +12,7 @@ jobs: matrix: os: [windows-latest, ubuntu-latest] # grpcio does not have binary wheels for pypy or free-threading, as of version 1.75.1. - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14] + python-version: ['3.10', 3.11, 3.12, 3.13, 3.14] # Fail-fast skews the pass/fail ratio and seems to make pytest produce # incomplete JUnit XML results. fail-fast: false diff --git a/README.md b/README.md index ebf5d6a54..467f75fdc 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ InstrumentStudio and automated testing in TestStand. ## Dependencies -- [Python >= 3.9](https://www.python.org/downloads/release/python-3913/) +- [Python >= 3.10](https://www.python.org/downloads/release/python-3100/) - [grpcio >= 1.49.1, < 2.x](https://pypi.org/project/grpcio/1.49.1/) - [protobuf >= 4.21](https://pypi.org/project/protobuf/4.21.0/) - [pywin32 >= 303 (Only for Windows)](https://pypi.org/project/pywin32/303/) diff --git a/examples/game_of_life/pyproject.toml b/examples/game_of_life/pyproject.toml index 141a04267..0214288eb 100644 --- a/examples/game_of_life/pyproject.toml +++ b/examples/game_of_life/pyproject.toml @@ -6,7 +6,7 @@ description = "Measurement plug-in example that displays Conway's Game of Life i authors = ["National Instruments"] [tool.poetry.dependencies] -python = "^3.9" +python = "^3.10" ni-measurement-plugin-sdk-service = {version = ">=2.3.1,<4.0"} click = ">=7.1.2, !=8.1.4" # mypy fails with click 8.1.4: https://github.com/pallets/click/issues/2558 ni-protobuf-types = { version = ">=0.1.0dev2", allow-prereleases = true } diff --git a/examples/nidaqmx_analog_input/NIDAQmxAnalogInput_example.seq b/examples/nidaqmx_analog_input/NIDAQmxAnalogInput_example.seq index 16d2226bb..17fb7d367 100644 --- a/examples/nidaqmx_analog_input/NIDAQmxAnalogInput_example.seq +++ b/examples/nidaqmx_analog_input/NIDAQmxAnalogInput_example.seq @@ -3141,7 +3141,7 @@ 2 - 3.9 + 3.10 .venv @@ -3590,7 +3590,7 @@ 2 - 3.9 + 3.10 .venv diff --git a/examples/nidaqmx_analog_input/pyproject.toml b/examples/nidaqmx_analog_input/pyproject.toml index db24bf3b9..369fb4727 100644 --- a/examples/nidaqmx_analog_input/pyproject.toml +++ b/examples/nidaqmx_analog_input/pyproject.toml @@ -6,7 +6,7 @@ description = "Measurement plug-in example that performs a finite analog input m authors = ["National Instruments"] [tool.poetry.dependencies] -python = "^3.9" +python = "^3.10" nidaqmx = { version = ">=0.8.0", extras = ["grpc"] } ni-measurement-plugin-sdk-service = {version = ">=2.3.1,<4.0"} click = ">=7.1.2, !=8.1.4" # mypy fails with click 8.1.4: https://github.com/pallets/click/issues/2558 diff --git a/examples/nidcpower_source_dc_voltage/NIDCPowerSourceDCVoltage_example.seq b/examples/nidcpower_source_dc_voltage/NIDCPowerSourceDCVoltage_example.seq index 41e9d21d6..26edfc2f6 100644 --- a/examples/nidcpower_source_dc_voltage/NIDCPowerSourceDCVoltage_example.seq +++ b/examples/nidcpower_source_dc_voltage/NIDCPowerSourceDCVoltage_example.seq @@ -3393,7 +3393,7 @@ 2 - 3.9 + 3.10 .venv @@ -3842,7 +3842,7 @@ 2 - 3.9 + 3.10 .venv diff --git a/examples/nidcpower_source_dc_voltage/pyproject.toml b/examples/nidcpower_source_dc_voltage/pyproject.toml index 5575213a7..7c4862afc 100644 --- a/examples/nidcpower_source_dc_voltage/pyproject.toml +++ b/examples/nidcpower_source_dc_voltage/pyproject.toml @@ -6,7 +6,7 @@ description = "Measurement plug-in example that sources and measures a DC voltag authors = ["National Instruments"] [tool.poetry.dependencies] -python = "^3.9" +python = "^3.10" nidcpower = { version = ">=1.4.4", extras = ["grpc"] } ni-measurement-plugin-sdk-service = {version = ">=2.3.1,<4.0"} click = ">=7.1.2, !=8.1.4" # mypy fails with click 8.1.4: https://github.com/pallets/click/issues/2558 diff --git a/examples/nidcpower_source_dc_voltage_with_multiplexer/NIDCPowerSourceDCVoltageWithMultiplexer_example.seq b/examples/nidcpower_source_dc_voltage_with_multiplexer/NIDCPowerSourceDCVoltageWithMultiplexer_example.seq index c21905be0..5a421a677 100644 --- a/examples/nidcpower_source_dc_voltage_with_multiplexer/NIDCPowerSourceDCVoltageWithMultiplexer_example.seq +++ b/examples/nidcpower_source_dc_voltage_with_multiplexer/NIDCPowerSourceDCVoltageWithMultiplexer_example.seq @@ -3285,7 +3285,7 @@ 2 - 3.9 + 3.10 .venv @@ -3730,7 +3730,7 @@ 2 - 3.9 + 3.10 .venv @@ -4179,7 +4179,7 @@ 2 - 3.9 + 3.10 .venv @@ -4576,7 +4576,7 @@ 2 - 3.9 + 3.10 .venv diff --git a/examples/nidcpower_source_dc_voltage_with_multiplexer/pyproject.toml b/examples/nidcpower_source_dc_voltage_with_multiplexer/pyproject.toml index e11ca5e9a..f6d7d2b63 100644 --- a/examples/nidcpower_source_dc_voltage_with_multiplexer/pyproject.toml +++ b/examples/nidcpower_source_dc_voltage_with_multiplexer/pyproject.toml @@ -6,7 +6,7 @@ description = "Measurement plug-in example that sources and measures a DC voltag authors = ["National Instruments"] [tool.poetry.dependencies] -python = "^3.9" +python = "^3.10" nidcpower = { version = ">=1.4.4", extras = ["grpc"] } niswitch = { version = ">=1.4.4", extras = ["grpc"] } ni-measurement-plugin-sdk-service = {version = ">=2.3.1,<4.0"} diff --git a/examples/nidigital_spi/NIDigitalSPI_example.seq b/examples/nidigital_spi/NIDigitalSPI_example.seq index 31aefbf22..ac318b152 100644 --- a/examples/nidigital_spi/NIDigitalSPI_example.seq +++ b/examples/nidigital_spi/NIDigitalSPI_example.seq @@ -3282,7 +3282,7 @@ 2 - 3.9 + 3.10 .venv @@ -3727,7 +3727,7 @@ 2 - 3.9 + 3.10 .venv @@ -4220,7 +4220,7 @@ 2 - 3.9 + 3.10 .venv @@ -4809,7 +4809,7 @@ 2 - 3.9 + 3.10 .venv @@ -5306,7 +5306,7 @@ 2 - 3.9 + 3.10 .venv diff --git a/examples/nidigital_spi/pyproject.toml b/examples/nidigital_spi/pyproject.toml index a0429a933..7e140fb0d 100644 --- a/examples/nidigital_spi/pyproject.toml +++ b/examples/nidigital_spi/pyproject.toml @@ -6,7 +6,7 @@ description = "Measurement plug-in example that tests a SPI device using an NI D authors = ["National Instruments"] [tool.poetry.dependencies] -python = "^3.9" +python = "^3.10" nidigital = { version = ">=1.4.4", extras = ["grpc"] } ni-measurement-plugin-sdk-service = {version = ">=2.3.1,<4.0"} click = ">=7.1.2, !=8.1.4" # mypy fails with click 8.1.4: https://github.com/pallets/click/issues/2558 diff --git a/examples/nidmm_measurement/NIDmmMeasurement_example.seq b/examples/nidmm_measurement/NIDmmMeasurement_example.seq index a118530b4..fe6db7077 100644 --- a/examples/nidmm_measurement/NIDmmMeasurement_example.seq +++ b/examples/nidmm_measurement/NIDmmMeasurement_example.seq @@ -3327,7 +3327,7 @@ 2 - 3.9 + 3.10 .venv @@ -3776,7 +3776,7 @@ 2 - 3.9 + 3.10 .venv diff --git a/examples/nidmm_measurement/pyproject.toml b/examples/nidmm_measurement/pyproject.toml index 446ab4926..d42d92de8 100644 --- a/examples/nidmm_measurement/pyproject.toml +++ b/examples/nidmm_measurement/pyproject.toml @@ -6,7 +6,7 @@ description = "Measurement plug-in example that performs a measurement using an authors = ["National Instruments"] [tool.poetry.dependencies] -python = "^3.9" +python = "^3.10" nidmm = { version = ">=1.4.4", extras = ["grpc"] } ni-measurement-plugin-sdk-service = {version = ">=2.3.1,<4.0"} click = ">=7.1.2, !=8.1.4" # mypy fails with click 8.1.4: https://github.com/pallets/click/issues/2558 diff --git a/examples/nifgen_standard_function/NIFgenStandardFunction_example.seq b/examples/nifgen_standard_function/NIFgenStandardFunction_example.seq index e0693e8c2..6172e3175 100644 --- a/examples/nifgen_standard_function/NIFgenStandardFunction_example.seq +++ b/examples/nifgen_standard_function/NIFgenStandardFunction_example.seq @@ -3220,7 +3220,7 @@ 2 - 3.9 + 3.10 .venv @@ -3669,7 +3669,7 @@ 2 - 3.9 + 3.10 .venv diff --git a/examples/nifgen_standard_function/pyproject.toml b/examples/nifgen_standard_function/pyproject.toml index eb29a5915..c86fe48ef 100644 --- a/examples/nifgen_standard_function/pyproject.toml +++ b/examples/nifgen_standard_function/pyproject.toml @@ -6,7 +6,7 @@ description = "Measurement plug-in example that generates a standard function wa authors = ["National Instruments"] [tool.poetry.dependencies] -python = "^3.9" +python = "^3.10" nifgen = { version = ">=1.4.4", extras = ["grpc"] } ni-measurement-plugin-sdk-service = {version = ">=2.3.1,<4.0"} click = ">=7.1.2, !=8.1.4" # mypy fails with click 8.1.4: https://github.com/pallets/click/issues/2558 diff --git a/examples/niscope_acquire_waveform/NIScopeAcquireWaveform_example.seq b/examples/niscope_acquire_waveform/NIScopeAcquireWaveform_example.seq index d4b395bd4..e8e80f96d 100644 --- a/examples/niscope_acquire_waveform/NIScopeAcquireWaveform_example.seq +++ b/examples/niscope_acquire_waveform/NIScopeAcquireWaveform_example.seq @@ -3628,7 +3628,7 @@ 2 - 3.9 + 3.10 .venv @@ -4077,7 +4077,7 @@ 2 - 3.9 + 3.10 .venv diff --git a/examples/niscope_acquire_waveform/pyproject.toml b/examples/niscope_acquire_waveform/pyproject.toml index 2d00e1655..58a4d0ca3 100644 --- a/examples/niscope_acquire_waveform/pyproject.toml +++ b/examples/niscope_acquire_waveform/pyproject.toml @@ -6,7 +6,7 @@ description = "Measurement plug-in example that acquires a waveform using an NI authors = ["National Instruments"] [tool.poetry.dependencies] -python = "^3.9" +python = "^3.10" niscope = { version = ">=1.4.4", extras = ["grpc"] } ni-measurement-plugin-sdk-service = {version = ">=2.3.1,<4.0"} click = ">=7.1.2, !=8.1.4" # mypy fails with click 8.1.4: https://github.com/pallets/click/issues/2558 diff --git a/examples/niswitch_control_relays/NISwitchControlRelays_example.seq b/examples/niswitch_control_relays/NISwitchControlRelays_example.seq index 84b74fab4..6b10daed3 100644 --- a/examples/niswitch_control_relays/NISwitchControlRelays_example.seq +++ b/examples/niswitch_control_relays/NISwitchControlRelays_example.seq @@ -6813,7 +6813,7 @@ 3 - 3.9 + 3.10 .venv @@ -7262,7 +7262,7 @@ 3 - 3.9 + 3.10 .venv diff --git a/examples/niswitch_control_relays/pyproject.toml b/examples/niswitch_control_relays/pyproject.toml index d8f492747..f4fa13aa7 100644 --- a/examples/niswitch_control_relays/pyproject.toml +++ b/examples/niswitch_control_relays/pyproject.toml @@ -6,7 +6,7 @@ description = "Measurement plug-in example that controls relays using an NI rela authors = ["National Instruments"] [tool.poetry.dependencies] -python = "^3.9" +python = "^3.10" niswitch = { version = ">=1.4.4", extras = ["grpc"] } ni-measurement-plugin-sdk-service = {version = ">=2.3.1,<4.0"} click = ">=7.1.2, !=8.1.4" # mypy fails with click 8.1.4: https://github.com/pallets/click/issues/2558 diff --git a/examples/nivisa_dmm_measurement/NIVisaDmmMeasurement_example.seq b/examples/nivisa_dmm_measurement/NIVisaDmmMeasurement_example.seq index 4d906d2a0..9b2373917 100644 --- a/examples/nivisa_dmm_measurement/NIVisaDmmMeasurement_example.seq +++ b/examples/nivisa_dmm_measurement/NIVisaDmmMeasurement_example.seq @@ -3185,7 +3185,7 @@ 2 - 3.9 + 3.10 .venv @@ -3634,7 +3634,7 @@ 2 - 3.9 + 3.10 .venv diff --git a/examples/nivisa_dmm_measurement/pyproject.toml b/examples/nivisa_dmm_measurement/pyproject.toml index a4f58b347..86fc38377 100644 --- a/examples/nivisa_dmm_measurement/pyproject.toml +++ b/examples/nivisa_dmm_measurement/pyproject.toml @@ -6,7 +6,7 @@ description = "Measurement plug-in example that performs a DMM measurement using authors = ["National Instruments"] [tool.poetry.dependencies] -python = "^3.9" +python = "^3.10" ni-measurement-plugin-sdk-service = {version = ">=2.3.1,<4.0"} PyVISA = "^1.13.0" PyVISA-sim = "^0.5.1" diff --git a/examples/output_voltage_measurement/OutputVoltageMeasurement_example.seq b/examples/output_voltage_measurement/OutputVoltageMeasurement_example.seq index dfca4795f..ad6cb32b3 100644 Binary files a/examples/output_voltage_measurement/OutputVoltageMeasurement_example.seq and b/examples/output_voltage_measurement/OutputVoltageMeasurement_example.seq differ diff --git a/examples/output_voltage_measurement/pyproject.toml b/examples/output_voltage_measurement/pyproject.toml index 37f584e6c..e20cea77c 100644 --- a/examples/output_voltage_measurement/pyproject.toml +++ b/examples/output_voltage_measurement/pyproject.toml @@ -6,7 +6,7 @@ description = "" authors = ["National Instruments"] [tool.poetry.dependencies] -python = "^3.9" +python = "^3.10" ni-measurement-plugin-sdk-service = {version = ">=2.3.1,<4.0"} PyVISA = "^1.13.0" PyVISA-sim = "^0.5.1" diff --git a/examples/sample_measurement/pyproject.toml b/examples/sample_measurement/pyproject.toml index 378b776d8..eea124b3a 100644 --- a/examples/sample_measurement/pyproject.toml +++ b/examples/sample_measurement/pyproject.toml @@ -6,7 +6,7 @@ description = "Measurement plug-in example that performs a loopback measurement authors = ["National Instruments"] [tool.poetry.dependencies] -python = "^3.9" +python = "^3.10" ni-measurement-plugin-sdk-service = {version = ">=2.3.1,<4.0"} click = ">=7.1.2, !=8.1.4" # mypy fails with click 8.1.4: https://github.com/pallets/click/issues/2558 ni-protobuf-types = { version = ">=0.1.0dev2", allow-prereleases = true } diff --git a/packages/generator/README.md b/packages/generator/README.md index 51b06637c..715ab8089 100644 --- a/packages/generator/README.md +++ b/packages/generator/README.md @@ -22,7 +22,7 @@ Measurement Plug-In SDK Generator for Python (`ni-measurement-plugin-sdk-generat ## Dependencies -- [Python >= 3.9](https://www.python.org/downloads/release/python-3913/) +- [Python >= 3.10](https://www.python.org/downloads/release/python-3100/) - [mako >= 1.2.1, < 2.x](https://pypi.org/project/Mako/1.2.1/) - [click >= 8.1.3](https://pypi.org/project/click/8.1.3/) diff --git a/packages/generator/poetry.lock b/packages/generator/poetry.lock index c7c85fb33..d194bd793 100644 --- a/packages/generator/poetry.lock +++ b/packages/generator/poetry.lock @@ -74,19 +74,6 @@ d = ["aiohttp (>=3.10)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] -[[package]] -name = "cachetools" -version = "6.1.0" -description = "Extensible memoizing collections and decorators" -optional = false -python-versions = ">=3.9" -groups = ["dev"] -markers = "python_version == \"3.9\"" -files = [ - {file = "cachetools-6.1.0-py3-none-any.whl", hash = "sha256:1c7bb3cf9193deaf3508b7c5f2a79986c13ea38965c5adcff1f84519cf39163e"}, - {file = "cachetools-6.1.0.tar.gz", hash = "sha256:b4c4f404392848db3ce7aac34950d17be4d864da4b8b66911008e430bc544587"}, -] - [[package]] name = "cachetools" version = "6.2.1" @@ -94,7 +81,6 @@ description = "Extensible memoizing collections and decorators" optional = false python-versions = ">=3.9" groups = ["dev"] -markers = "python_version >= \"3.10\"" files = [ {file = "cachetools-6.2.1-py3-none-any.whl", hash = "sha256:09868944b6dde876dfd44e1d47e18484541eaf12f26f29b7af91b26cc892d701"}, {file = "cachetools-6.2.1.tar.gz", hash = "sha256:3f391e4bd8f8bf0931169baf7456cc822705f4e2a31f840d218f445b9a854201"}, @@ -112,22 +98,6 @@ files = [ {file = "chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"}, ] -[[package]] -name = "click" -version = "8.1.8" -description = "Composable command line interface toolkit" -optional = false -python-versions = ">=3.7" -groups = ["main", "dev"] -markers = "python_version == \"3.9\"" -files = [ - {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, - {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} - [[package]] name = "click" version = "8.2.1" @@ -135,7 +105,6 @@ description = "Composable command line interface toolkit" optional = false python-versions = ">=3.10" groups = ["main", "dev"] -markers = "python_version >= \"3.10\"" files = [ {file = "click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b"}, {file = "click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202"}, @@ -332,7 +301,7 @@ description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" groups = ["dev"] -markers = "python_version < \"3.11\"" +markers = "python_version == \"3.10\"" files = [ {file = "exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10"}, {file = "exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88"}, @@ -344,24 +313,6 @@ typing-extensions = {version = ">=4.6.0", markers = "python_version < \"3.13\""} [package.extras] test = ["pytest (>=6)"] -[[package]] -name = "filelock" -version = "3.18.0" -description = "A platform independent file lock." -optional = false -python-versions = ">=3.9" -groups = ["dev"] -markers = "python_version == \"3.9\"" -files = [ - {file = "filelock-3.18.0-py3-none-any.whl", hash = "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de"}, - {file = "filelock-3.18.0.tar.gz", hash = "sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2"}, -] - -[package.extras] -docs = ["furo (>=2024.8.6)", "sphinx (>=8.1.3)", "sphinx-autodoc-typehints (>=3)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.6.10)", "diff-cover (>=9.2.1)", "pytest (>=8.3.4)", "pytest-asyncio (>=0.25.2)", "pytest-cov (>=6)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.28.1)"] -typing = ["typing-extensions (>=4.12.2) ; python_version < \"3.11\""] - [[package]] name = "filelock" version = "3.20.0" @@ -369,7 +320,6 @@ description = "A platform independent file lock." optional = false python-versions = ">=3.10" groups = ["dev"] -markers = "python_version >= \"3.10\"" files = [ {file = "filelock-3.20.0-py3-none-any.whl", hash = "sha256:339b4732ffda5cd79b13f4e2711a31b0365ce445d95d243bb996273d072546a2"}, {file = "filelock-3.20.0.tar.gz", hash = "sha256:711e943b4ec6be42e1d4e6690b48dc175c822967466bb31c0c293f34334c13f4"}, @@ -1124,7 +1074,7 @@ name = "ni-measurement-plugin-sdk-service" version = "3.1.0.dev0" description = "Measurement Plug-In Support for Python" optional = false -python-versions = "^3.9" +python-versions = "^3.10" groups = ["main", "dev"] files = [] develop = true @@ -1586,24 +1536,6 @@ files = [ [package.dependencies] flake8 = ">=5.0.0" -[[package]] -name = "platformdirs" -version = "4.3.8" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." -optional = false -python-versions = ">=3.9" -groups = ["main", "dev"] -markers = "python_version == \"3.9\"" -files = [ - {file = "platformdirs-4.3.8-py3-none-any.whl", hash = "sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4"}, - {file = "platformdirs-4.3.8.tar.gz", hash = "sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc"}, -] - -[package.extras] -docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.1.3)", "sphinx-autodoc-typehints (>=3)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.4)", "pytest-cov (>=6)", "pytest-mock (>=3.14)"] -type = ["mypy (>=1.14.1)"] - [[package]] name = "platformdirs" version = "4.5.0" @@ -1611,7 +1543,6 @@ description = "A small Python package for determining appropriate platform-speci optional = false python-versions = ">=3.10" groups = ["main", "dev"] -markers = "python_version >= \"3.10\"" files = [ {file = "platformdirs-4.5.0-py3-none-any.whl", hash = "sha256:e578a81bb873cbb89a41fcc904c7ef523cc18284b7e3b3ccf06aca1403b7ebd3"}, {file = "platformdirs-4.5.0.tar.gz", hash = "sha256:70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312"}, @@ -2052,49 +1983,6 @@ files = [ {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, ] -[[package]] -name = "tomli" -version = "2.2.1" -description = "A lil' TOML parser" -optional = false -python-versions = ">=3.8" -groups = ["main", "dev"] -markers = "python_version == \"3.9\"" -files = [ - {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, - {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"}, - {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a"}, - {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee"}, - {file = "tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e"}, - {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4"}, - {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106"}, - {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8"}, - {file = "tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff"}, - {file = "tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b"}, - {file = "tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea"}, - {file = "tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8"}, - {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192"}, - {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222"}, - {file = "tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77"}, - {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6"}, - {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd"}, - {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e"}, - {file = "tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98"}, - {file = "tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4"}, - {file = "tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7"}, - {file = "tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c"}, - {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13"}, - {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281"}, - {file = "tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272"}, - {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140"}, - {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2"}, - {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744"}, - {file = "tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec"}, - {file = "tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69"}, - {file = "tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc"}, - {file = "tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff"}, -] - [[package]] name = "tomli" version = "2.3.0" @@ -2146,33 +2034,7 @@ files = [ {file = "tomli-2.3.0-py3-none-any.whl", hash = "sha256:e95b1af3c5b07d9e643909b5abbec77cd9f1217e6d0bca72b0234736b9fb1f1b"}, {file = "tomli-2.3.0.tar.gz", hash = "sha256:64be704a875d2a59753d80ee8a533c3fe183e3f06807ff7dc2232938ccb01549"}, ] -markers = {main = "python_version == \"3.10\"", dev = "python_version >= \"3.10\" and python_full_version <= \"3.11.0a6\""} - -[[package]] -name = "tox" -version = "4.30.3" -description = "tox is a generic virtualenv management and test command line tool" -optional = false -python-versions = ">=3.9" -groups = ["dev"] -markers = "python_version == \"3.9\"" -files = [ - {file = "tox-4.30.3-py3-none-any.whl", hash = "sha256:a9f17b4b2d0f74fe0d76207236925a119095011e5c2e661a133115a8061178c9"}, - {file = "tox-4.30.3.tar.gz", hash = "sha256:f3dd0735f1cd4e8fbea5a3661b77f517456b5f0031a6256432533900e34b90bf"}, -] - -[package.dependencies] -cachetools = ">=6.1" -chardet = ">=5.2" -colorama = ">=0.4.6" -filelock = ">=3.18" -packaging = ">=25" -platformdirs = ">=4.3.8" -pluggy = ">=1.6" -pyproject-api = ">=1.9.1" -tomli = {version = ">=2.2.1", markers = "python_version < \"3.11\""} -typing-extensions = {version = ">=4.14.1", markers = "python_version < \"3.11\""} -virtualenv = ">=20.31.2" +markers = {main = "python_version == \"3.10\"", dev = "python_full_version <= \"3.11.0a6\""} [[package]] name = "tox" @@ -2181,7 +2043,6 @@ description = "tox is a generic virtualenv management and test command line tool optional = false python-versions = ">=3.10" groups = ["dev"] -markers = "python_version >= \"3.10\"" files = [ {file = "tox-4.32.0-py3-none-any.whl", hash = "sha256:451e81dc02ba8d1ed20efd52ee409641ae4b5d5830e008af10fe8823ef1bd551"}, {file = "tox-4.32.0.tar.gz", hash = "sha256:1ad476b5f4d3679455b89a992849ffc3367560bbc7e9495ee8a3963542e7c8ff"}, @@ -2237,19 +2098,6 @@ files = [ {file = "types_protobuf-6.32.1.20250918.tar.gz", hash = "sha256:44ce0ae98475909ca72379946ab61a4435eec2a41090821e713c17e8faf5b88f"}, ] -[[package]] -name = "typing-extensions" -version = "4.14.1" -description = "Backported and Experimental Type Hints for Python 3.9+" -optional = false -python-versions = ">=3.9" -groups = ["main", "dev"] -markers = "python_version == \"3.9\" or python_version >= \"3.12\"" -files = [ - {file = "typing_extensions-4.14.1-py3-none-any.whl", hash = "sha256:d1e1e3b58374dc93031d6eda2420a48ea44a36c2b4766a4fdeb3710755731d76"}, - {file = "typing_extensions-4.14.1.tar.gz", hash = "sha256:38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36"}, -] - [[package]] name = "typing-extensions" version = "4.15.0" @@ -2257,34 +2105,11 @@ description = "Backported and Experimental Type Hints for Python 3.9+" optional = false python-versions = ">=3.9" groups = ["main", "dev"] -markers = "python_version >= \"3.10\" and python_version < \"3.12\"" files = [ {file = "typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548"}, {file = "typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466"}, ] -[[package]] -name = "virtualenv" -version = "20.32.0" -description = "Virtual Python Environment builder" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version == \"3.9\"" -files = [ - {file = "virtualenv-20.32.0-py3-none-any.whl", hash = "sha256:2c310aecb62e5aa1b06103ed7c2977b81e042695de2697d01017ff0f1034af56"}, - {file = "virtualenv-20.32.0.tar.gz", hash = "sha256:886bf75cadfdc964674e6e33eb74d787dff31ca314ceace03ca5810620f4ecf0"}, -] - -[package.dependencies] -distlib = ">=0.3.7,<1" -filelock = ">=3.12.2,<4" -platformdirs = ">=3.9.1,<5" - -[package.extras] -docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2,!=7.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] -test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8) ; platform_python_implementation == \"PyPy\" or platform_python_implementation == \"GraalVM\" or platform_python_implementation == \"CPython\" and sys_platform == \"win32\" and python_version >= \"3.13\"", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10) ; platform_python_implementation == \"CPython\""] - [[package]] name = "virtualenv" version = "20.35.4" @@ -2292,7 +2117,6 @@ description = "Virtual Python Environment builder" optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version >= \"3.10\"" files = [ {file = "virtualenv-20.35.4-py3-none-any.whl", hash = "sha256:c21c9cede36c9753eeade68ba7d523529f228a403463376cf821eaae2b650f1b"}, {file = "virtualenv-20.35.4.tar.gz", hash = "sha256:643d3914d73d3eeb0c552cbb12d7e82adf0e504dbf86a3182f8771a153a1971c"}, @@ -2310,5 +2134,5 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess [metadata] lock-version = "2.1" -python-versions = "^3.9" -content-hash = "8cf77f5202ec95b0aeb4aa9b00ac410453bf97b3da15f2f88024601e2969b6a6" +python-versions = "^3.10" +content-hash = "efc80fb27607720d37864f6a4ae9f3ad53c901c09761766f9f032c995f8c2289" diff --git a/packages/generator/pyproject.toml b/packages/generator/pyproject.toml index e4f2d9bf9..b987b9c93 100644 --- a/packages/generator/pyproject.toml +++ b/packages/generator/pyproject.toml @@ -19,13 +19,9 @@ classifiers = [ ] [tool.poetry.dependencies] -python = "^3.9" +python = "^3.10" Mako = "^1.2.1" -click = [ - # When dropping support for Python 3.9, remove the version check from tests/conftest.py - {version = ">=8.1.3,<8.2.0", python = ">=3.9,<3.10"}, - {version = ">=8.1.3", python = "^3.10"}, -] +click = ">=8.1.3" grpcio = "^1.49.1" protobuf = ">=4.21" black = ">=24.8.0" @@ -51,7 +47,7 @@ ni-measurement-plugin-sdk-service = {path = "../../packages/service", develop = bandit = { version = ">=1.7", extras = ["toml"] } tox = ">=4.0" grpcio-tools = [ - {version = "1.49.1", python = ">=3.9,<3.12"}, + {version = "1.49.1", python = ">=3.10,<3.12"}, {version = "1.59.0", python = ">=3.12,<3.13"}, {version = "1.67.0", python = ">=3.13,<3.14"}, {version = "1.75.1", python = "^3.14"}, @@ -59,7 +55,7 @@ grpcio-tools = [ # NumPy dropped support for Python 3.8 before adding support for Python 3.12, so # we need to include multiple NumPy versions in poetry.lock. numpy = [ - { version = ">=1.22", python = ">=3.9,<3.12"}, + { version = ">=1.22", python = ">=3.10,<3.12"}, { version = ">=1.26", python = ">=3.12,<3.13"}, { version = ">=2.1", python = "^3.13"}, ] diff --git a/packages/generator/tox.ini b/packages/generator/tox.ini index ad01069cc..b70d207a8 100644 --- a/packages/generator/tox.ini +++ b/packages/generator/tox.ini @@ -5,7 +5,7 @@ [tox] isolated_build = true -envlist = clean, py{39,310,311,312,313,314}, py39-{pb4,pb5,pb6} +envlist = clean, py{310,311,312,313,314}, py310-{pb4,pb5,pb6} [testenv] skip_install = true diff --git a/packages/sdk/poetry.lock b/packages/sdk/poetry.lock index 44d32513a..8f9147075 100644 --- a/packages/sdk/poetry.lock +++ b/packages/sdk/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 2.1.4 and should not be changed by hand. [[package]] name = "black" @@ -6,6 +6,7 @@ version = "25.1.0" description = "The uncompromising code formatter." optional = false python-versions = ">=3.9" +groups = ["main", "dev"] files = [ {file = "black-25.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:759e7ec1e050a15f89b770cefbf91ebee8917aac5c20483bc2d80a6c3a04df32"}, {file = "black-25.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e519ecf93120f34243e6b0054db49c00a35f84f195d5bce7e9f5cfc578fc2da"}, @@ -46,26 +47,13 @@ d = ["aiohttp (>=3.10)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] -[[package]] -name = "click" -version = "8.1.8" -description = "Composable command line interface toolkit" -optional = false -python-versions = ">=3.7" -files = [ - {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, - {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} - [[package]] name = "click" version = "8.2.1" description = "Composable command line interface toolkit" optional = false python-versions = ">=3.10" +groups = ["main", "dev"] files = [ {file = "click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b"}, {file = "click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202"}, @@ -80,6 +68,7 @@ version = "0.5.7" description = "Option groups missing in Click" optional = false python-versions = ">=3.7" +groups = ["main", "dev"] files = [ {file = "click_option_group-0.5.7-py3-none-any.whl", hash = "sha256:96b9f52f397ef4d916f81929bd6c1f85e89046c7a401a64e72a61ae74ad35c24"}, {file = "click_option_group-0.5.7.tar.gz", hash = "sha256:8dc780be038712fc12c9fecb3db4fe49e0d0723f9c171d7cda85c20369be693c"}, @@ -100,6 +89,8 @@ version = "0.4.6" description = "Cross-platform colored terminal text." optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +groups = ["main", "dev"] +markers = "platform_system == \"Windows\"" files = [ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, @@ -111,6 +102,7 @@ version = "2.1.0" description = "A library to handle automated deprecations" optional = false python-versions = "*" +groups = ["main", "dev"] files = [ {file = "deprecation-2.1.0-py2.py3-none-any.whl", hash = "sha256:a10811591210e1fb0e768a8c25517cabeabcba6f0bf96564f8ff45189f90b14a"}, {file = "deprecation-2.1.0.tar.gz", hash = "sha256:72b3bde64e5d778694b0cf68178aed03d15e15477116add3fb773e581f9518ff"}, @@ -125,6 +117,7 @@ version = "1.74.0" description = "HTTP/2-based RPC framework" optional = false python-versions = ">=3.9" +groups = ["main", "dev"] files = [ {file = "grpcio-1.74.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:85bd5cdf4ed7b2d6438871adf6afff9af7096486fcf51818a81b77ef4dd30907"}, {file = "grpcio-1.74.0-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:68c8ebcca945efff9d86d8d6d7bfb0841cf0071024417e2d7f45c5e46b5b08eb"}, @@ -188,6 +181,7 @@ version = "0.2.2" description = "Hightime Python API" optional = false python-versions = "*" +groups = ["main", "dev"] files = [ {file = "hightime-0.2.2-py3-none-any.whl", hash = "sha256:5109a449bb3a75dbf305147777de71634c91b943d47cfbee18ed2f34a8307e0b"}, ] @@ -198,6 +192,7 @@ version = "1.3.10" description = "A super-fast templating language that borrows the best ideas from the existing templating languages." optional = false python-versions = ">=3.8" +groups = ["main", "dev"] files = [ {file = "mako-1.3.10-py3-none-any.whl", hash = "sha256:baef24a52fc4fc514a0887ac600f9f1cff3d82c61d4d700a1fa84d597b88db59"}, {file = "mako-1.3.10.tar.gz", hash = "sha256:99579a6f39583fa7e5630a28c3c1f440e4e97a414b80372649c0ce338da2ea28"}, @@ -217,6 +212,7 @@ version = "3.0.2" description = "Safely add untrusted strings to HTML/XML markup." optional = false python-versions = ">=3.9" +groups = ["main", "dev"] files = [ {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8"}, {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158"}, @@ -287,6 +283,7 @@ version = "1.1.0" description = "Type system extensions for programs checked with the mypy type checker." optional = false python-versions = ">=3.8" +groups = ["main", "dev"] files = [ {file = "mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505"}, {file = "mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558"}, @@ -298,6 +295,7 @@ version = "1.0.0" description = "gRPC Extensions" optional = false python-versions = "<4.0,>=3.9" +groups = ["main", "dev"] files = [ {file = "ni_grpc_extensions-1.0.0-py3-none-any.whl", hash = "sha256:6b8181284370a53546ffd371d334f15e293cae5e9ff06fa2e467d1714bf7a03f"}, {file = "ni_grpc_extensions-1.0.0.tar.gz", hash = "sha256:6e066246ce9a4b4420f5e503769b23c31a49c430be6ebd72324c5b5a15c34ebb"}, @@ -313,6 +311,7 @@ version = "1.0.0" description = "Protobuf generated code for the nidevice_grpc gRPC API" optional = false python-versions = "<4.0,>=3.9" +groups = ["main", "dev"] files = [ {file = "ni_grpcdevice_v1_proto-1.0.0-py3-none-any.whl", hash = "sha256:36dfe9484cc40e8e1c97fb9720555f06563b0180e4837177d1cbf000c3d8988e"}, {file = "ni_grpcdevice_v1_proto-1.0.0.tar.gz", hash = "sha256:62f087f85d390c2932e45ad03d365c750bd55e147b81b66ef853e13ff8538b19"}, @@ -327,16 +326,14 @@ name = "ni-measurement-plugin-sdk-generator" version = "3.1.0.dev0" description = "Measurement Plug-In Code Generator for Python" optional = false -python-versions = "^3.9" +python-versions = "^3.10" +groups = ["main", "dev"] files = [] develop = true [package.dependencies] black = ">=24.8.0" -click = [ - {version = ">=8.1.3,<8.2.0", markers = "python_version >= \"3.9\" and python_version < \"3.10\""}, - {version = ">=8.1.3", markers = "python_version >= \"3.10\" and python_version < \"4.0\""}, -] +click = ">=8.1.3" click-option-group = ">=0.5.6" grpcio = "^1.49.1" Mako = "^1.2.1" @@ -357,7 +354,8 @@ name = "ni-measurement-plugin-sdk-service" version = "3.1.0.dev0" description = "Measurement Plug-In Support for Python" optional = false -python-versions = "^3.9" +python-versions = "^3.10" +groups = ["main", "dev"] files = [] develop = true @@ -374,7 +372,6 @@ ni-protobuf-types = "^1.0.0" protobuf = ">=4.21" python-decouple = ">=3.8" pywin32 = {version = ">=303", markers = "sys_platform == \"win32\""} -traceloggingdynamic = {version = ">=1.0", markers = "sys_platform == \"win32\""} [package.extras] drivers = ["nidaqmx[grpc] (>=0.8.0)", "nidcpower[grpc] (>=1.4.4)", "nidigital[grpc] (>=1.4.4)", "nidmm[grpc] (>=1.4.4)", "nifgen[grpc] (>=1.4.4)", "niscope[grpc] (>=1.4.4)", "niswitch[grpc] (>=1.4.4)"] @@ -396,6 +393,7 @@ version = "1.0.0" description = "gRPC Client for NI Discovery Service" optional = false python-versions = "<4.0,>=3.9" +groups = ["main", "dev"] files = [ {file = "ni_measurementlink_discovery_v1_client-1.0.0-py3-none-any.whl", hash = "sha256:6a4c45d2517a7c6017a3b7dd817a6d7ebc8ebec318243c4f17778115a1a192a6"}, {file = "ni_measurementlink_discovery_v1_client-1.0.0.tar.gz", hash = "sha256:2aa2a0c55f6599ffa3ff05e67e6ff89360f22bf0082e512348a41997ddfde3f8"}, @@ -413,6 +411,7 @@ version = "1.0.0" description = "Protobuf data types for NI discovery gRPC APIs" optional = false python-versions = "<4.0,>=3.9" +groups = ["main", "dev"] files = [ {file = "ni_measurementlink_discovery_v1_proto-1.0.0-py3-none-any.whl", hash = "sha256:093eb4ffd27338fbea4909aea30afbd3090f482f3a1dcc98e63bbaf1a6b4da8b"}, {file = "ni_measurementlink_discovery_v1_proto-1.0.0.tar.gz", hash = "sha256:11353eefdecc49244783d76a332bc855589eb0bb8c882f53c8f9b0a47ca91115"}, @@ -427,6 +426,7 @@ version = "1.0.0" description = "Protobuf data types for NI measurement gRPC APIs" optional = false python-versions = "<4.0,>=3.9" +groups = ["main", "dev"] files = [ {file = "ni_measurementlink_measurement_v1_proto-1.0.0-py3-none-any.whl", hash = "sha256:d9049cbcb25ea3d99f37925989f33bd887352a3a7d217fe0cb900c069a96180d"}, {file = "ni_measurementlink_measurement_v1_proto-1.0.0.tar.gz", hash = "sha256:c896e176cde3038d8d2301977464372589764e70b9de7a2fefa620c0b79ac300"}, @@ -442,6 +442,7 @@ version = "1.0.0" description = "Protobuf data types for NI measurement gRPC APIs" optional = false python-versions = "<4.0,>=3.9" +groups = ["main", "dev"] files = [ {file = "ni_measurementlink_measurement_v2_proto-1.0.0-py3-none-any.whl", hash = "sha256:3c10d8faa7aab46d417bcf040af8742ef2028c0c9974be04058312219a4135bf"}, {file = "ni_measurementlink_measurement_v2_proto-1.0.0.tar.gz", hash = "sha256:ff1e4db003466746fc982ff00a442223d1141f9e2888757f124b0609344d3453"}, @@ -457,6 +458,7 @@ version = "1.0.0" description = "gRPC Client for NI Pin Map Service" optional = false python-versions = "<4.0,>=3.9" +groups = ["main", "dev"] files = [ {file = "ni_measurementlink_pinmap_v1_client-1.0.0-py3-none-any.whl", hash = "sha256:33ac08a927c5f8e8c6a2e045ebbde47ade71bc3c29c27c8ccc43feb69dcc5065"}, {file = "ni_measurementlink_pinmap_v1_client-1.0.0.tar.gz", hash = "sha256:ab3f276f00ae23239b436c154372adce72e6b06f1634527412d42732f4af8562"}, @@ -477,6 +479,7 @@ version = "0.1.0.dev0" description = "Protobuf data types for NI pinmap gRPC APIs" optional = false python-versions = "<4.0,>=3.9" +groups = ["main", "dev"] files = [ {file = "ni_measurementlink_pinmap_v1_proto-0.1.0.dev0-py3-none-any.whl", hash = "sha256:182e0774157457592dd02faf941ec34ebd83d94c9fc915e8f9d2cd14487c02ea"}, {file = "ni_measurementlink_pinmap_v1_proto-0.1.0.dev0.tar.gz", hash = "sha256:c54351cb010d9163865ae65db6fc9731e4d8da22ff4dda7d6ede1ab8e993470e"}, @@ -491,6 +494,7 @@ version = "0.1.0.dev1" description = "Protobuf data types for NI gRPC APIs" optional = false python-versions = "<4.0,>=3.9" +groups = ["main", "dev"] files = [ {file = "ni_measurementlink_proto-0.1.0.dev1-py3-none-any.whl", hash = "sha256:4357baca4822a1f4f8bb6ca10e8c00618ef85fa32da74c98501fb18bb26082ce"}, {file = "ni_measurementlink_proto-0.1.0.dev1.tar.gz", hash = "sha256:a3f3da9f789b72aa327205c4ee9041d6ba99a28e1695bf777cd71540fd60c8f6"}, @@ -505,6 +509,7 @@ version = "1.0.0" description = "Client gRPC APIs for the session management service" optional = false python-versions = "<4.0,>=3.9" +groups = ["main", "dev"] files = [ {file = "ni_measurementlink_sessionmanagement_v1_client-1.0.0-py3-none-any.whl", hash = "sha256:f3cdb614304fd88221120a25cf0f4905264a4b3860a0b8d773b7827edecf5f90"}, {file = "ni_measurementlink_sessionmanagement_v1_client-1.0.0.tar.gz", hash = "sha256:8fac927209f01f76ca1e275cd24b4156de4625c9bd0b1ee845971e054963944f"}, @@ -539,6 +544,7 @@ version = "1.0.0" description = "Protobuf data types for NI session management gRPC APIs" optional = false python-versions = "<4.0,>=3.9" +groups = ["main", "dev"] files = [ {file = "ni_measurementlink_sessionmanagement_v1_proto-1.0.0-py3-none-any.whl", hash = "sha256:d345f9939d9c324477615ec0603c84286f5cd75f50ec2876287c71bb5e9d4f35"}, {file = "ni_measurementlink_sessionmanagement_v1_proto-1.0.0.tar.gz", hash = "sha256:3929e4616298998910846d1ddba2c80a3deaeacb54eae996389ff5b01e4f7d5c"}, @@ -554,6 +560,7 @@ version = "1.0.0" description = "Protobuf data types for NI gRPC APIs" optional = false python-versions = "<4.0,>=3.9" +groups = ["main", "dev"] files = [ {file = "ni_protobuf_types-1.0.0-py3-none-any.whl", hash = "sha256:a88d5e517ef825ef70734aab00e6fb44f78ceb7d40b5c1592af450b87e3745ae"}, {file = "ni_protobuf_types-1.0.0.tar.gz", hash = "sha256:d2b6dfbd57729e80a7f9fa23a446635eee5ad771dbb70045b88412d163e7d732"}, @@ -569,6 +576,7 @@ version = "0.1.0.dev9" description = "Data types for NI Python APIs" optional = false python-versions = "<4.0,>=3.9" +groups = ["main", "dev"] files = [ {file = "nitypes-0.1.0.dev9-py3-none-any.whl", hash = "sha256:1e2928f9a2c57f289f5743433299e09d151ab4951bacffbf67238093a82c3f67"}, {file = "nitypes-0.1.0.dev9.tar.gz", hash = "sha256:bc36861cc4a5ff0cfe74050afeed82bcdd652fc4de36860cd43492beee388b5d"}, @@ -588,6 +596,8 @@ version = "2.0.2" description = "Fundamental package for array computing in Python" optional = false python-versions = ">=3.9" +groups = ["main", "dev"] +markers = "python_version < \"3.13\"" files = [ {file = "numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece"}, {file = "numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04"}, @@ -642,6 +652,8 @@ version = "2.3.2" description = "Fundamental package for array computing in Python" optional = false python-versions = ">=3.11" +groups = ["main", "dev"] +markers = "python_version >= \"3.13\"" files = [ {file = "numpy-2.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:852ae5bed3478b92f093e30f785c98e0cb62fa0a939ed057c31716e18a7a22b9"}, {file = "numpy-2.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7a0e27186e781a69959d0230dd9909b5e26024f8da10683bd6344baea1885168"}, @@ -725,6 +737,7 @@ version = "25.0" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" +groups = ["main", "dev"] files = [ {file = "packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484"}, {file = "packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f"}, @@ -736,6 +749,7 @@ version = "0.12.1" description = "Utility library for gitignore style pattern matching of file paths." optional = false python-versions = ">=3.8" +groups = ["main", "dev"] files = [ {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, @@ -747,6 +761,7 @@ version = "4.3.8" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.9" +groups = ["main", "dev"] files = [ {file = "platformdirs-4.3.8-py3-none-any.whl", hash = "sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4"}, {file = "platformdirs-4.3.8.tar.gz", hash = "sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc"}, @@ -763,6 +778,7 @@ version = "6.31.1" description = "" optional = false python-versions = ">=3.9" +groups = ["main", "dev"] files = [ {file = "protobuf-6.31.1-cp310-abi3-win32.whl", hash = "sha256:7fa17d5a29c2e04b7d90e5e32388b8bfd0e7107cd8e616feef7ed3fa6bdab5c9"}, {file = "protobuf-6.31.1-cp310-abi3-win_amd64.whl", hash = "sha256:426f59d2964864a1a366254fa703b8632dcec0790d8862d30034d8245e1cd447"}, @@ -781,6 +797,7 @@ version = "3.8" description = "Strict separation of settings from code." optional = false python-versions = "*" +groups = ["main", "dev"] files = [ {file = "python-decouple-3.8.tar.gz", hash = "sha256:ba6e2657d4f376ecc46f77a3a615e058d93ba5e465c01bbe57289bfb7cce680f"}, {file = "python_decouple-3.8-py3-none-any.whl", hash = "sha256:d0d45340815b25f4de59c974b855bb38d03151d81b037d9e3f463b0c9f8cbd66"}, @@ -792,6 +809,8 @@ version = "311" description = "Python for Window Extensions" optional = false python-versions = "*" +groups = ["main", "dev"] +markers = "sys_platform == \"win32\"" files = [ {file = "pywin32-311-cp310-cp310-win32.whl", hash = "sha256:d03ff496d2a0cd4a5893504789d4a15399133fe82517455e78bad62efbb7f0a3"}, {file = "pywin32-311-cp310-cp310-win_amd64.whl", hash = "sha256:797c2772017851984b97180b0bebe4b620bb86328e8a884bb626156295a63b3b"}, @@ -821,6 +840,8 @@ version = "2.2.1" description = "A lil' TOML parser" optional = false python-versions = ">=3.8" +groups = ["main", "dev"] +markers = "python_version == \"3.10\"" files = [ {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"}, @@ -862,6 +883,8 @@ version = "1.0.1" description = "Generates Event Tracing for Windows events using TraceLogging" optional = false python-versions = ">=3.6" +groups = ["main", "dev"] +markers = "sys_platform == \"win32\"" files = [ {file = "traceloggingdynamic-1.0.1-py3-none-any.whl", hash = "sha256:0e19da491a8960725b3622366487ae35f49d8f595bb2e4e5ce1795eb5928db7c"}, {file = "traceloggingdynamic-1.0.1.tar.gz", hash = "sha256:d9dd4b291dd04c15e34181eed06f73fdf4ffa7b1f895b78217163def48ab1a52"}, @@ -873,12 +896,13 @@ version = "4.14.1" description = "Backported and Experimental Type Hints for Python 3.9+" optional = false python-versions = ">=3.9" +groups = ["main", "dev"] files = [ {file = "typing_extensions-4.14.1-py3-none-any.whl", hash = "sha256:d1e1e3b58374dc93031d6eda2420a48ea44a36c2b4766a4fdeb3710755731d76"}, {file = "typing_extensions-4.14.1.tar.gz", hash = "sha256:38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36"}, ] [metadata] -lock-version = "2.0" -python-versions = "^3.9" -content-hash = "f5db3a791370916e1f5ad48db61b5418385b0c2cd8c429350e71cae8f434c6f1" +lock-version = "2.1" +python-versions = "^3.10" +content-hash = "5f5f8072a62156f3aa6d1b7441a715f6d33b56a8c8b5a8d68c85dbc3eabc0d9e" diff --git a/packages/sdk/pyproject.toml b/packages/sdk/pyproject.toml index acc51336d..3221fe2b5 100644 --- a/packages/sdk/pyproject.toml +++ b/packages/sdk/pyproject.toml @@ -19,7 +19,7 @@ classifiers = [ ] [tool.poetry.dependencies] -python = "^3.9" +python = "^3.10" ni-measurement-plugin-sdk-service = "*" ni-measurement-plugin-sdk-generator = "*" diff --git a/packages/service/README.md b/packages/service/README.md index 81cfc1fc2..9e6e68c6f 100644 --- a/packages/service/README.md +++ b/packages/service/README.md @@ -34,7 +34,7 @@ InstrumentStudio and automated testing in TestStand. ## Dependencies -- [Python >= 3.9](https://www.python.org/downloads/release/python-3913/) +- [Python >= 3.10](https://www.python.org/downloads/release/python-3100/) - [grpcio >= 1.49.1, < 2.x](https://pypi.org/project/grpcio/1.49.1/) - [protobuf >= 4.21](https://pypi.org/project/protobuf/4.21.0/) - [pywin32 >= 303 (Only for Windows)](https://pypi.org/project/pywin32/303/) diff --git a/packages/service/poetry.lock b/packages/service/poetry.lock index b7a9f3df3..29edcb3b4 100644 --- a/packages/service/poetry.lock +++ b/packages/service/poetry.lock @@ -7,7 +7,7 @@ description = "A light, configurable Sphinx theme" optional = false python-versions = ">=3.9" groups = ["docs"] -markers = "python_version < \"3.11\"" +markers = "python_version == \"3.10\"" files = [ {file = "alabaster-0.7.16-py3-none-any.whl", hash = "sha256:b46733c07dce03ae4e150330b975c75737fa60f0a7c591b6c8bf4928a28e2c92"}, {file = "alabaster-0.7.16.tar.gz", hash = "sha256:75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65"}, @@ -33,7 +33,7 @@ description = "An abstract syntax tree for Python with inference support." optional = false python-versions = ">=3.9.0" groups = ["docs"] -markers = "python_version <= \"3.11\"" +markers = "python_version < \"3.12\"" files = [ {file = "astroid-3.3.11-py3-none-any.whl", hash = "sha256:54c760ae8322ece1abd213057c4b5bba7c49818853fc901ef09719a60dbf9dec"}, {file = "astroid-3.3.11.tar.gz", hash = "sha256:1e5a5011af2920c7c67a53f65d536d65bfa7116feeaf2354d8b94f29573bb0ce"}, @@ -271,22 +271,6 @@ files = [ ] markers = {main = "extra == \"drivers\" or extra == \"nidaqmx\""} -[[package]] -name = "click" -version = "8.1.8" -description = "Composable command line interface toolkit" -optional = false -python-versions = ">=3.7" -groups = ["main", "dev", "docs"] -files = [ - {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, - {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, -] -markers = {main = "python_version == \"3.9\" and (extra == \"drivers\" or extra == \"nidaqmx\")", dev = "python_version == \"3.9\"", docs = "python_version == \"3.9\""} - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} - [[package]] name = "click" version = "8.3.0" @@ -298,7 +282,7 @@ files = [ {file = "click-8.3.0-py3-none-any.whl", hash = "sha256:9b9f285302c6e3064f4330c05f05b81945b2a39544279343e6e7c5f27a9baddc"}, {file = "click-8.3.0.tar.gz", hash = "sha256:e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4"}, ] -markers = {main = "python_version >= \"3.10\" and (extra == \"drivers\" or extra == \"nidaqmx\")", dev = "python_version >= \"3.10\"", docs = "python_version >= \"3.10\""} +markers = {main = "extra == \"drivers\" or extra == \"nidaqmx\""} [package.dependencies] colorama = {version = "*", markers = "platform_system == \"Windows\""} @@ -495,7 +479,7 @@ description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" groups = ["dev"] -markers = "python_version < \"3.11\"" +markers = "python_version == \"3.10\"" files = [ {file = "exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10"}, {file = "exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88"}, @@ -507,19 +491,6 @@ typing-extensions = {version = ">=4.6.0", markers = "python_version < \"3.13\""} [package.extras] test = ["pytest (>=6)"] -[[package]] -name = "filelock" -version = "3.19.1" -description = "A platform independent file lock." -optional = false -python-versions = ">=3.9" -groups = ["dev"] -markers = "python_version == \"3.9\"" -files = [ - {file = "filelock-3.19.1-py3-none-any.whl", hash = "sha256:d38e30481def20772f5baf097c122c3babc4fcdb7e14e57049eb9d88c6dc017d"}, - {file = "filelock-3.19.1.tar.gz", hash = "sha256:66eda1888b0171c998b35be2bcc0f6d75c388a7ce20c3f3f37aa8e96c2dddf58"}, -] - [[package]] name = "filelock" version = "3.20.0" @@ -527,7 +498,6 @@ description = "A platform independent file lock." optional = false python-versions = ">=3.10" groups = ["dev"] -markers = "python_version >= \"3.10\"" files = [ {file = "filelock-3.20.0-py3-none-any.whl", hash = "sha256:339b4732ffda5cd79b13f4e2711a31b0365ce445d95d243bb996273d072546a2"}, {file = "filelock-3.20.0.tar.gz", hash = "sha256:711e943b4ec6be42e1d4e6690b48dc175c822967466bb31c0c293f34334c13f4"}, @@ -540,7 +510,7 @@ description = "the modular source code checker: pep8 pyflakes and co" optional = false python-versions = ">=3.6.1" groups = ["dev"] -markers = "python_version <= \"3.11\"" +markers = "python_version < \"3.12\"" files = [ {file = "flake8-5.0.4-py2.py3-none-any.whl", hash = "sha256:7a1cf6b73744f5806ab95e526f6f0d8c01c66d7bbe349562d22dfca20610b248"}, {file = "flake8-5.0.4.tar.gz", hash = "sha256:6fbe320aad8d6b95cec8b8e47bc933004678dc63095be98528b7bdd2a9f510db"}, @@ -705,7 +675,7 @@ description = "Protobuf code generator for gRPC" optional = false python-versions = ">=3.7" groups = ["dev"] -markers = "python_version <= \"3.11\"" +markers = "python_version < \"3.12\"" files = [ {file = "grpcio-tools-1.49.1.tar.gz", hash = "sha256:84cc64e5b46bad43d5d7bd2fd772b656eba0366961187a847e908e2cb735db91"}, {file = "grpcio_tools-1.49.1-cp310-cp310-linux_armv7l.whl", hash = "sha256:2dfb6c7ece84d46bd690b23d3e060d18115c8bc5047d2e8a33e6747ed323a348"}, @@ -1017,31 +987,6 @@ files = [ {file = "imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a"}, ] -[[package]] -name = "importlib-metadata" -version = "8.7.0" -description = "Read metadata from Python packages" -optional = false -python-versions = ">=3.9" -groups = ["dev", "docs"] -markers = "python_version == \"3.9\"" -files = [ - {file = "importlib_metadata-8.7.0-py3-none-any.whl", hash = "sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd"}, - {file = "importlib_metadata-8.7.0.tar.gz", hash = "sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000"}, -] - -[package.dependencies] -zipp = ">=3.20" - -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=2.2)"] -perf = ["ipython"] -test = ["flufl.flake8", "importlib_resources (>=1.3) ; python_version < \"3.9\"", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] -type = ["pytest-mypy"] - [[package]] name = "iniconfig" version = "2.1.0" @@ -1066,9 +1011,6 @@ files = [ {file = "isort-6.1.0.tar.gz", hash = "sha256:9b8f96a14cfee0677e78e941ff62f03769a06d412aabb9e2a90487b3b7e8d481"}, ] -[package.dependencies] -importlib-metadata = {version = ">=4.6.0", markers = "python_version < \"3.10\""} - [package.extras] colors = ["colorama"] plugins = ["setuptools"] @@ -1107,32 +1049,6 @@ files = [ docutils = ">=0.19" mistune = "0.8.4" -[[package]] -name = "markdown-it-py" -version = "3.0.0" -description = "Python port of markdown-it. Markdown parsing, done right!" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version == \"3.9\"" -files = [ - {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, - {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, -] - -[package.dependencies] -mdurl = ">=0.1,<1.0" - -[package.extras] -benchmarking = ["psutil", "pytest", "pytest-benchmark"] -code-style = ["pre-commit (>=3.0,<4.0)"] -compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] -linkify = ["linkify-it-py (>=1,<3)"] -plugins = ["mdit-py-plugins"] -profiling = ["gprof2dot"] -rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] -testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] - [[package]] name = "markdown-it-py" version = "4.0.0" @@ -1140,7 +1056,6 @@ description = "Python port of markdown-it. Markdown parsing, done right!" optional = false python-versions = ">=3.10" groups = ["dev"] -markers = "python_version >= \"3.10\"" files = [ {file = "markdown_it_py-4.0.0-py3-none-any.whl", hash = "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147"}, {file = "markdown_it_py-4.0.0.tar.gz", hash = "sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3"}, @@ -1642,10 +1557,7 @@ files = [ ] [package.dependencies] -click = [ - {version = ">=8.0.0,<8.2.0", markers = "python_version == \"3.9\""}, - {version = ">=8.0.0", markers = "python_version >= \"3.10\" and python_version < \"4.0\""}, -] +click = {version = ">=8.0.0", markers = "python_version >= \"3.10\" and python_version < \"4.0\""} deprecation = ">=2.1" distro = {version = ">=1.9.0", markers = "sys_platform == \"linux\""} grpcio = {version = ">=1.49.0,<2.0", optional = true, markers = "extra == \"grpc\""} @@ -1828,62 +1740,6 @@ numpy = [ ] typing-extensions = ">=4.13.2" -[[package]] -name = "numpy" -version = "2.0.2" -description = "Fundamental package for array computing in Python" -optional = false -python-versions = ">=3.9" -groups = ["main", "dev"] -markers = "python_version == \"3.9\"" -files = [ - {file = "numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece"}, - {file = "numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04"}, - {file = "numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66"}, - {file = "numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b"}, - {file = "numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd"}, - {file = "numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318"}, - {file = "numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8"}, - {file = "numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326"}, - {file = "numpy-2.0.2-cp310-cp310-win32.whl", hash = "sha256:984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97"}, - {file = "numpy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131"}, - {file = "numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448"}, - {file = "numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195"}, - {file = "numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57"}, - {file = "numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a"}, - {file = "numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669"}, - {file = "numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951"}, - {file = "numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9"}, - {file = "numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15"}, - {file = "numpy-2.0.2-cp311-cp311-win32.whl", hash = "sha256:a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4"}, - {file = "numpy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc"}, - {file = "numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b"}, - {file = "numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e"}, - {file = "numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c"}, - {file = "numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c"}, - {file = "numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692"}, - {file = "numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a"}, - {file = "numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c"}, - {file = "numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded"}, - {file = "numpy-2.0.2-cp312-cp312-win32.whl", hash = "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5"}, - {file = "numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a"}, - {file = "numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c"}, - {file = "numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd"}, - {file = "numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b"}, - {file = "numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729"}, - {file = "numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1"}, - {file = "numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd"}, - {file = "numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d"}, - {file = "numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d"}, - {file = "numpy-2.0.2-cp39-cp39-win32.whl", hash = "sha256:905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa"}, - {file = "numpy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73"}, - {file = "numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8"}, - {file = "numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl", hash = "sha256:312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4"}, - {file = "numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c"}, - {file = "numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385"}, - {file = "numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78"}, -] - [[package]] name = "numpy" version = "2.2.6" @@ -2074,24 +1930,6 @@ files = [ [package.dependencies] flake8 = ">=5.0.0" -[[package]] -name = "platformdirs" -version = "4.4.0" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." -optional = false -python-versions = ">=3.9" -groups = ["dev"] -markers = "python_version == \"3.9\"" -files = [ - {file = "platformdirs-4.4.0-py3-none-any.whl", hash = "sha256:abd01743f24e5287cd7a5db3752faf1a2d65353f38ec26d98e25a6db65958c85"}, - {file = "platformdirs-4.4.0.tar.gz", hash = "sha256:ca753cf4d81dc309bc67b0ea38fd15dc97bc30ce419a7f58d13eb3bf14c4febf"}, -] - -[package.extras] -docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.1.3)", "sphinx-autodoc-typehints (>=3)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.4)", "pytest-cov (>=6)", "pytest-mock (>=3.14)"] -type = ["mypy (>=1.14.1)"] - [[package]] name = "platformdirs" version = "4.5.0" @@ -2099,7 +1937,6 @@ description = "A small Python package for determining appropriate platform-speci optional = false python-versions = ">=3.10" groups = ["dev"] -markers = "python_version >= \"3.10\"" files = [ {file = "platformdirs-4.5.0-py3-none-any.whl", hash = "sha256:e578a81bb873cbb89a41fcc904c7ef523cc18284b7e3b3ccf06aca1403b7ebd3"}, {file = "platformdirs-4.5.0.tar.gz", hash = "sha256:70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312"}, @@ -2133,7 +1970,7 @@ description = "" optional = false python-versions = ">=3.8" groups = ["main", "dev"] -markers = "python_version < \"3.13\"" +markers = "python_version <= \"3.12\"" files = [ {file = "protobuf-4.25.8-cp310-abi3-win32.whl", hash = "sha256:504435d831565f7cfac9f0714440028907f1975e4bed228e58e72ecfff58a1e0"}, {file = "protobuf-4.25.8-cp310-abi3-win_amd64.whl", hash = "sha256:bd551eb1fe1d7e92c1af1d75bdfa572eff1ab0e5bf1736716814cdccdb2360f9"}, @@ -2231,7 +2068,7 @@ description = "Python style guide checker" optional = false python-versions = ">=3.6" groups = ["dev"] -markers = "python_version <= \"3.11\"" +markers = "python_version < \"3.12\"" files = [ {file = "pycodestyle-2.9.1-py2.py3-none-any.whl", hash = "sha256:d1735fc58b418fd7c5f658d28d943854f8a849b01a5d0a1e6f3f3fdd0166804b"}, {file = "pycodestyle-2.9.1.tar.gz", hash = "sha256:2c9607871d58c76354b697b42f5d57e1ada7d261c261efac224b664affdc5785"}, @@ -2275,7 +2112,7 @@ description = "passive checker of Python programs" optional = false python-versions = ">=3.6" groups = ["dev"] -markers = "python_version <= \"3.11\"" +markers = "python_version < \"3.12\"" files = [ {file = "pyflakes-2.5.0-py2.py3-none-any.whl", hash = "sha256:4579f67d887f804e67edb544428f264b7b24f435b263c4614f384135cea553d2"}, {file = "pyflakes-2.5.0.tar.gz", hash = "sha256:491feb020dca48ccc562a8c0cbe8df07ee13078df59813b83959cbdada312ea3"}, @@ -2631,7 +2468,7 @@ description = "Python documentation generator" optional = false python-versions = ">=3.9" groups = ["docs"] -markers = "python_version < \"3.11\"" +markers = "python_version == \"3.10\"" files = [ {file = "sphinx-7.4.7-py3-none-any.whl", hash = "sha256:c2419e2135d11f1951cd994d6eb18a1835bd8fdd8429f9ca375dc1f3281bd239"}, {file = "sphinx-7.4.7.tar.gz", hash = "sha256:242f92a7ea7e6c5b406fdc2615413890ba9f699114a9c09192d7dfead2ee9cfe"}, @@ -2643,7 +2480,6 @@ babel = ">=2.13" colorama = {version = ">=0.4.6", markers = "sys_platform == \"win32\""} docutils = ">=0.20,<0.22" imagesize = ">=1.3" -importlib-metadata = {version = ">=6.0", markers = "python_version < \"3.10\""} Jinja2 = ">=3.1" packaging = ">=23.0" Pygments = ">=2.17" @@ -2719,25 +2555,6 @@ astroid = [ Jinja2 = "*" PyYAML = "*" sphinx = ">=7.4.0" -stdlib_list = {version = "*", markers = "python_version < \"3.10\""} - -[[package]] -name = "sphinx-click" -version = "6.0.0" -description = "Sphinx extension that automatically documents click applications" -optional = false -python-versions = ">=3.8" -groups = ["docs"] -markers = "python_version == \"3.9\"" -files = [ - {file = "sphinx_click-6.0.0-py3-none-any.whl", hash = "sha256:1e0a3c83bcb7c55497751b19d07ebe56b5d7b85eb76dd399cf9061b497adc317"}, - {file = "sphinx_click-6.0.0.tar.gz", hash = "sha256:f5d664321dc0c6622ff019f1e1c84e58ce0cecfddeb510e004cf60c2a3ab465b"}, -] - -[package.dependencies] -click = ">=8.0" -docutils = "*" -sphinx = ">=4.0" [[package]] name = "sphinx-click" @@ -2746,7 +2563,6 @@ description = "Sphinx extension that automatically documents click applications" optional = false python-versions = ">=3.10" groups = ["docs"] -markers = "python_version >= \"3.10\"" files = [ {file = "sphinx_click-6.1.0-py3-none-any.whl", hash = "sha256:7dbed856c3d0be75a394da444850d5fc7ecc5694534400aa5ed4f4849a8643f9"}, {file = "sphinx_click-6.1.0.tar.gz", hash = "sha256:c702e0751c1a0b6ad649e4f7faebd0dc09a3cc7ca3b50f959698383772f50eef"}, @@ -2896,26 +2712,6 @@ lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] standalone = ["Sphinx (>=5)"] test = ["pytest"] -[[package]] -name = "stdlib-list" -version = "0.11.1" -description = "A list of Python Standard Libraries (2.7 through 3.13)." -optional = false -python-versions = ">=3.9" -groups = ["docs"] -markers = "python_version == \"3.9\"" -files = [ - {file = "stdlib_list-0.11.1-py3-none-any.whl", hash = "sha256:9029ea5e3dfde8cd4294cfd4d1797be56a67fc4693c606181730148c3fd1da29"}, - {file = "stdlib_list-0.11.1.tar.gz", hash = "sha256:95ebd1d73da9333bba03ccc097f5bac05e3aa03e6822a0c0290f87e1047f1857"}, -] - -[package.extras] -dev = ["build", "stdlib-list[doc,lint,test]"] -doc = ["furo", "sphinx"] -lint = ["mypy", "ruff"] -support = ["sphobjinv"] -test = ["coverage[toml]", "pytest", "pytest-cov"] - [[package]] name = "stevedore" version = "5.5.0" @@ -2940,49 +2736,6 @@ files = [ {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, ] -[[package]] -name = "tomli" -version = "2.2.1" -description = "A lil' TOML parser" -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version == \"3.9\"" -files = [ - {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, - {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"}, - {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a"}, - {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee"}, - {file = "tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e"}, - {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4"}, - {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106"}, - {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8"}, - {file = "tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff"}, - {file = "tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b"}, - {file = "tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea"}, - {file = "tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8"}, - {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192"}, - {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222"}, - {file = "tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77"}, - {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6"}, - {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd"}, - {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e"}, - {file = "tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98"}, - {file = "tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4"}, - {file = "tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7"}, - {file = "tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c"}, - {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13"}, - {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281"}, - {file = "tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272"}, - {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140"}, - {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2"}, - {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744"}, - {file = "tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec"}, - {file = "tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69"}, - {file = "tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc"}, - {file = "tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff"}, -] - [[package]] name = "tomli" version = "2.3.0" @@ -3036,32 +2789,6 @@ files = [ {file = "tomli-2.3.0.tar.gz", hash = "sha256:64be704a875d2a59753d80ee8a533c3fe183e3f06807ff7dc2232938ccb01549"}, ] -[[package]] -name = "tox" -version = "4.30.3" -description = "tox is a generic virtualenv management and test command line tool" -optional = false -python-versions = ">=3.9" -groups = ["dev"] -markers = "python_version == \"3.9\"" -files = [ - {file = "tox-4.30.3-py3-none-any.whl", hash = "sha256:a9f17b4b2d0f74fe0d76207236925a119095011e5c2e661a133115a8061178c9"}, - {file = "tox-4.30.3.tar.gz", hash = "sha256:f3dd0735f1cd4e8fbea5a3661b77f517456b5f0031a6256432533900e34b90bf"}, -] - -[package.dependencies] -cachetools = ">=6.1" -chardet = ">=5.2" -colorama = ">=0.4.6" -filelock = ">=3.18" -packaging = ">=25" -platformdirs = ">=4.3.8" -pluggy = ">=1.6" -pyproject-api = ">=1.9.1" -tomli = {version = ">=2.2.1", markers = "python_version < \"3.11\""} -typing-extensions = {version = ">=4.14.1", markers = "python_version < \"3.11\""} -virtualenv = ">=20.31.2" - [[package]] name = "tox" version = "4.32.0" @@ -3069,7 +2796,6 @@ description = "tox is a generic virtualenv management and test command line tool optional = false python-versions = ">=3.10" groups = ["dev"] -markers = "python_version >= \"3.10\"" files = [ {file = "tox-4.32.0-py3-none-any.whl", hash = "sha256:451e81dc02ba8d1ed20efd52ee409641ae4b5d5830e008af10fe8823ef1bd551"}, {file = "tox-4.32.0.tar.gz", hash = "sha256:1ad476b5f4d3679455b89a992849ffc3367560bbc7e9495ee8a3963542e7c8ff"}, @@ -3172,7 +2898,7 @@ files = [ {file = "typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548"}, {file = "typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466"}, ] -markers = {docs = "python_version < \"3.11\""} +markers = {docs = "python_version == \"3.10\""} [[package]] name = "tzdata" @@ -3247,27 +2973,6 @@ typing-extensions = {version = ">=4.13.2", markers = "python_version < \"3.11\"" docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2,!=7.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8) ; platform_python_implementation == \"PyPy\" or platform_python_implementation == \"GraalVM\" or platform_python_implementation == \"CPython\" and sys_platform == \"win32\" and python_version >= \"3.13\"", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10) ; platform_python_implementation == \"CPython\""] -[[package]] -name = "zipp" -version = "3.23.0" -description = "Backport of pathlib-compatible object wrapper for zip files" -optional = false -python-versions = ">=3.9" -groups = ["dev", "docs"] -markers = "python_version == \"3.9\"" -files = [ - {file = "zipp-3.23.0-py3-none-any.whl", hash = "sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e"}, - {file = "zipp-3.23.0.tar.gz", hash = "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166"}, -] - -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=2.2)"] -test = ["big-O", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more_itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] -type = ["pytest-mypy"] - [extras] drivers = ["nidaqmx", "nidcpower", "nidigital", "nidmm", "nifgen", "niscope", "niswitch"] nidaqmx = ["nidaqmx"] @@ -3280,5 +2985,5 @@ niswitch = ["niswitch"] [metadata] lock-version = "2.1" -python-versions = "^3.9" -content-hash = "7091c345df588aadc26eabfc78cb203914e250351a535c0579a40705458b439a" +python-versions = "^3.10" +content-hash = "8f231e5d3badcaee7b05d0655cd68642243323b88d63a486ad3ec6918ddd8f57" diff --git a/packages/service/pyproject.toml b/packages/service/pyproject.toml index bd6fcbc18..3d8a5756e 100644 --- a/packages/service/pyproject.toml +++ b/packages/service/pyproject.toml @@ -26,7 +26,7 @@ classifiers = [ ] [tool.poetry.dependencies] -python = "^3.9" +python = "^3.10" # This package includes gRPC stubs that were generated with the version of grpcio-tools specified # below. Please keep the minimum grpcio version in sync with the grpcio-tools version. Otherwise, # the generated gRPC stubs may not work with the minimum grpcio version. @@ -75,7 +75,7 @@ ni-python-styleguide = ">=0.4.1" # When you update the grpcio-tools version, you should update the minimum grpcio version # and regenerate gRPC stubs. grpcio-tools = [ - { version = "1.49.1", python = ">=3.9,<3.12" }, + { version = "1.49.1", python = ">=3.10,<3.12" }, { version = "1.59.0", python = ">=3.12,<3.13" }, { version = "1.67.0", python = ">=3.13,<3.14" }, { version = "1.75.1", python = "^3.14" }, @@ -94,7 +94,7 @@ types-psutil = ">=6.0" # NumPy dropped support for Python 3.8 before adding support for Python 3.12, so # we need to include multiple NumPy versions in poetry.lock. numpy = [ - { version = ">=1.22", python = ">=3.9,<3.12"}, + { version = ">=1.22", python = ">=3.10,<3.12"}, { version = ">=1.26", python = ">=3.12,<3.13"}, { version = ">=2.1", python = "^3.13"}, ] @@ -106,7 +106,7 @@ optional = true [tool.poetry.group.docs.dependencies] # The latest Sphinx requires a recent Python version. Sphinx = [ - { version = "<8.0", python = ">=3.9,<3.11" }, + { version = "<8.0", python = ">=3.10,<3.11" }, { version = ">=8.2", python = ">=3.11,<3.13" }, ] sphinx-rtd-theme = ">=1.0.0" diff --git a/packages/service/tox.ini b/packages/service/tox.ini index 60bdab4d4..25f411147 100644 --- a/packages/service/tox.ini +++ b/packages/service/tox.ini @@ -5,7 +5,7 @@ [tox] isolated_build = true -envlist = clean, py{39,310,311,312,313,314}-all-extras, py39-{pb4,pb5,pb6} +envlist = clean, py{310,311,312,313,314}-all-extras, py310-{pb4,pb5,pb6} [testenv] skip_install = true