From 25b48cb85da2558769cde87e74e857e6310d2bf2 Mon Sep 17 00:00:00 2001 From: sourabhutaniCG Date: Thu, 22 Oct 2026 14:37:52 +0530 Subject: [PATCH 1/7] add supoort for 3.10 to 3.14 --- poetry.lock | 12 ++++++------ pyproject.toml | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/poetry.lock b/poetry.lock index d32bb23..3be83f9 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 2.5.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 2.4.3 and should not be changed by hand. [[package]] name = "colorama" @@ -140,7 +140,7 @@ description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" groups = ["test"] -markers = "python_version < \"3.11\"" +markers = "python_version == \"3.10\"" files = [ {file = "exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598"}, {file = "exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219"}, @@ -353,7 +353,6 @@ description = "A lil' TOML parser" optional = false python-versions = ">=3.8" groups = ["lint", "test"] -markers = "python_version < \"3.11\"" files = [ {file = "tomli-2.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f8f0fc26ec2cc2b965b7a3b87cd19c5c6b8c5e5f436b984e85f486d652285c30"}, {file = "tomli-2.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4ab97e64ccda8756376892c53a72bd1f964e519c77236368527f758fbc36a53a"}, @@ -403,6 +402,7 @@ files = [ {file = "tomli-2.4.1-py3-none-any.whl", hash = "sha256:0d85819802132122da43cb86656f8d1f8c6587d54ae7dcaf30e90533028b49fe"}, {file = "tomli-2.4.1.tar.gz", hash = "sha256:7c7e1a961a0b2f2472c1ac5b69affa0ae1132c39adcb67aba98568702b9cc23f"}, ] +markers = {lint = "python_version == \"3.10\"", test = "python_full_version <= \"3.11.0a6\""} [[package]] name = "typing-extensions" @@ -411,7 +411,7 @@ description = "Backported and Experimental Type Hints for Python 3.9+" optional = false python-versions = ">=3.9" groups = ["test"] -markers = "python_version < \"3.11\"" +markers = "python_version == \"3.10\"" files = [ {file = "typing_extensions-4.16.0-py3-none-any.whl", hash = "sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8"}, {file = "typing_extensions-4.16.0.tar.gz", hash = "sha256:dc983d19a509c94dba722ee6abd33940f7c05a89e243c47e907eb4db6f1a43e5"}, @@ -419,5 +419,5 @@ files = [ [metadata] lock-version = "2.1" -python-versions = ">=3.9,<4.0" -content-hash = "7c17c80c8d1e151903e807d1992a247a9a27da15904bba00983c6f2fab5e9f1c" +python-versions = ">=3.10,<4.0" +content-hash = "c53c68b060f4ac1b9a63aec347518d5ac530fb8b170d761349384804b384acd5" diff --git a/pyproject.toml b/pyproject.toml index 4c14371..66102bf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ name = "nisyscfg" version = "0.2.1" description = "NI System Configuration Python API" readme = "README.md" -requires-python = '>=3.9,<4.0' +requires-python = '>=3.10,<4.0' license = "MIT" authors = [{ name = "National Instruments" }] maintainers = [{ name = "Tyler Krehbiel", email = "tyler.krehbiel@emerson.com" }] @@ -18,11 +18,11 @@ classifiers = [ "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Topic :: System :: Hardware :: Hardware Drivers", ] [project.urls] From f0764596e5c535140b746507007d43723a1bda24 Mon Sep 17 00:00:00 2001 From: sourabhutaniCG Date: Thu, 22 Oct 2026 17:29:49 +0530 Subject: [PATCH 2/7] added matrix version support in workflows. --- .github/workflows/test_package.yml | 33 ++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test_package.yml b/.github/workflows/test_package.yml index d1cb824..bad2214 100644 --- a/.github/workflows/test_package.yml +++ b/.github/workflows/test_package.yml @@ -31,7 +31,7 @@ jobs: fail-fast: false matrix: os: [windows-latest, ubuntu-latest] - python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python-version: ['3.10', '3.11', '3.12', '3.13', '3.14', '3.14t'] name: Run unit tests - ${{ inputs.package-name }} (${{ matrix.python-version }} - ${{ matrix.os }}) needs: get_package_info runs-on: ${{ matrix.os }} @@ -49,6 +49,22 @@ jobs: id: setup-python with: python-version: ${{ matrix.python-version }} + # Display python information to help debug issues with the free-threaded interpreter. + - name: Display Python information + run: | + python -VV + python -c "import sys; print('Executable:', sys.executable)" + python -c "import sysconfig; print('Py_GIL_DISABLED:', sysconfig.get_config_var('Py_GIL_DISABLED'))" + python -c "import sys; print('GIL enabled:', sys._is_gil_enabled() if hasattr(sys, '_is_gil_enabled') else 'Not available')" + shell: bash + - name: Verify Python 3.14t free-threaded interpreter + if: matrix.python-version == '3.14t' + run: | + python -c "import sysconfig; assert sysconfig.get_config_var('Py_GIL_DISABLED') == 1, 'Expected a free-threaded Python build'" + python -c "import sys; assert hasattr(sys, '_is_gil_enabled'), 'GIL status API is unavailable'" + python -c "import sys; assert not sys._is_gil_enabled(), 'Expected the GIL to be disabled'" + echo "Python 3.14t free-threaded interpreter verified." + shell: bash - name: Set up Poetry uses: ni/python-actions/setup-poetry@aa64e60612cb078b0c2ada666becbd70d4817d55 # v0.7.1 - name: Cache ${{ inputs.package-name }} virtualenv @@ -61,6 +77,15 @@ jobs: run: poetry install -v working-directory: ${{ github.workspace }}/${{ needs.get_package_info.outputs.package-basepath }} shell: bash + # Verify GIL remains disabled after package import. + - name: Verify GIL remains disabled after package import + if: matrix.python-version == '3.14t' + env: + PACKAGE_NAME: ${{ inputs.package-name }} + run: | + poetry run python -c "import importlib, os, sys; importlib.import_module(os.environ['PACKAGE_NAME']); assert not sys._is_gil_enabled(), 'The GIL was enabled after importing the package'; print('GIL remains disabled after package import.')" + working-directory: ${{ github.workspace }}/${{ needs.get_package_info.outputs.package-basepath }} + shell: bash - name: Run ${{ inputs.package-name }} unit tests and code coverage env: PACKAGE_NAME: ${{ inputs.package-name }} @@ -74,8 +99,4 @@ jobs: with: name: test_results_unit_${{ inputs.package-name }}_${{ matrix.os }}_py${{ steps.setup-python.outputs.python-version }} path: ${{ github.workspace }}/${{ needs.get_package_info.outputs.package-basepath == '.' && 'test_results/*.xml' || format('{0}/test_results/*.xml', needs.get_package_info.outputs.package-basepath) }} - if: always() - - - - + if: always() \ No newline at end of file From 8714e6ae8d2033369b34500a40d86d50b7d98b66 Mon Sep 17 00:00:00 2001 From: sourabhutaniCG Date: Thu, 22 Oct 2026 17:45:26 +0530 Subject: [PATCH 3/7] added fixes in pyproject.toml --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 66102bf..649c3ba 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", + "Programming Language :: Python :: Implementation :: CPython", "Topic :: System :: Hardware :: Hardware Drivers", ] [project.urls] From 3cee3a940ff64a25df8a415be14725c2f5537a01 Mon Sep 17 00:00:00 2001 From: sourabhutaniCG Date: Thu, 22 Oct 2026 19:25:52 +0530 Subject: [PATCH 4/7] removed extra validation --- .github/workflows/test_package.yml | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/.github/workflows/test_package.yml b/.github/workflows/test_package.yml index bad2214..d938941 100644 --- a/.github/workflows/test_package.yml +++ b/.github/workflows/test_package.yml @@ -49,22 +49,6 @@ jobs: id: setup-python with: python-version: ${{ matrix.python-version }} - # Display python information to help debug issues with the free-threaded interpreter. - - name: Display Python information - run: | - python -VV - python -c "import sys; print('Executable:', sys.executable)" - python -c "import sysconfig; print('Py_GIL_DISABLED:', sysconfig.get_config_var('Py_GIL_DISABLED'))" - python -c "import sys; print('GIL enabled:', sys._is_gil_enabled() if hasattr(sys, '_is_gil_enabled') else 'Not available')" - shell: bash - - name: Verify Python 3.14t free-threaded interpreter - if: matrix.python-version == '3.14t' - run: | - python -c "import sysconfig; assert sysconfig.get_config_var('Py_GIL_DISABLED') == 1, 'Expected a free-threaded Python build'" - python -c "import sys; assert hasattr(sys, '_is_gil_enabled'), 'GIL status API is unavailable'" - python -c "import sys; assert not sys._is_gil_enabled(), 'Expected the GIL to be disabled'" - echo "Python 3.14t free-threaded interpreter verified." - shell: bash - name: Set up Poetry uses: ni/python-actions/setup-poetry@aa64e60612cb078b0c2ada666becbd70d4817d55 # v0.7.1 - name: Cache ${{ inputs.package-name }} virtualenv @@ -77,15 +61,6 @@ jobs: run: poetry install -v working-directory: ${{ github.workspace }}/${{ needs.get_package_info.outputs.package-basepath }} shell: bash - # Verify GIL remains disabled after package import. - - name: Verify GIL remains disabled after package import - if: matrix.python-version == '3.14t' - env: - PACKAGE_NAME: ${{ inputs.package-name }} - run: | - poetry run python -c "import importlib, os, sys; importlib.import_module(os.environ['PACKAGE_NAME']); assert not sys._is_gil_enabled(), 'The GIL was enabled after importing the package'; print('GIL remains disabled after package import.')" - working-directory: ${{ github.workspace }}/${{ needs.get_package_info.outputs.package-basepath }} - shell: bash - name: Run ${{ inputs.package-name }} unit tests and code coverage env: PACKAGE_NAME: ${{ inputs.package-name }} From 7e69cc1acd97ffafd7411fb2e1e4e2f10812ab24 Mon Sep 17 00:00:00 2001 From: sourabhutaniCG Date: Fri, 23 Oct 2026 13:48:40 +0530 Subject: [PATCH 5/7] added reviewer feedbacks --- .github/workflows/test_package.yml | 2 +- .github/workflows/test_wheel_build.yml | 4 +- CHANGELOG.md | 8 +- poetry.lock | 100 +------------------------ pyproject.toml | 4 +- 5 files changed, 14 insertions(+), 104 deletions(-) diff --git a/.github/workflows/test_package.yml b/.github/workflows/test_package.yml index d938941..6d07d38 100644 --- a/.github/workflows/test_package.yml +++ b/.github/workflows/test_package.yml @@ -31,7 +31,7 @@ jobs: fail-fast: false matrix: os: [windows-latest, ubuntu-latest] - python-version: ['3.10', '3.11', '3.12', '3.13', '3.14', '3.14t'] + python-version: ['3.11', '3.12', '3.13', '3.14', '3.14t', '3.15'] name: Run unit tests - ${{ inputs.package-name }} (${{ matrix.python-version }} - ${{ matrix.os }}) needs: get_package_info runs-on: ${{ matrix.os }} diff --git a/.github/workflows/test_wheel_build.yml b/.github/workflows/test_wheel_build.yml index 65adcc8..941de15 100644 --- a/.github/workflows/test_wheel_build.yml +++ b/.github/workflows/test_wheel_build.yml @@ -15,10 +15,10 @@ jobs: with: persist-credentials: false - - name: Set up Python 3.9 + - name: Set up Python 3.11 uses: ni/python-actions/setup-python@dee640bba235ae28fdc6b7337c643bd06358ae90 # v0.9.0 with: - python-version: 3.9 + python-version: 3.11 - name: Set up Poetry uses: ni/python-actions/setup-poetry@aa64e60612cb078b0c2ada666becbd70d4817d55 # v0.7.1 diff --git a/CHANGELOG.md b/CHANGELOG.md index 11bddf3..854650a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,4 +5,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] +#### Unreleased +- Added + - Added support for Python 3.15. +- Changed +- Removed + - Removed support for Python 3.9. + - Removed support for Python 3.10. diff --git a/poetry.lock b/poetry.lock index 3be83f9..75a7277 100644 --- a/poetry.lock +++ b/poetry.lock @@ -127,31 +127,9 @@ files = [ {file = "coverage-7.10.7.tar.gz", hash = "sha256:f4ab143ab113be368a3e9b795f9cd7906c5ef407d6173fe9675a902e1fffc239"}, ] -[package.dependencies] -tomli = {version = "*", optional = true, markers = "python_full_version <= \"3.11.0a6\" and extra == \"toml\""} - [package.extras] toml = ["tomli ; python_full_version <= \"3.11.0a6\""] -[[package]] -name = "exceptiongroup" -version = "1.3.1" -description = "Backport of PEP 654 (exception groups)" -optional = false -python-versions = ">=3.7" -groups = ["test"] -markers = "python_version == \"3.10\"" -files = [ - {file = "exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598"}, - {file = "exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219"}, -] - -[package.dependencies] -typing-extensions = {version = ">=4.6.0", markers = "python_version < \"3.13\""} - -[package.extras] -test = ["pytest (>=6)"] - [[package]] name = "flake8" version = "7.3.0" @@ -182,7 +160,6 @@ files = [ [package.dependencies] Flake8 = ">=5" -TOMLi = {version = "*", markers = "python_version < \"3.11\""} [package.extras] dev = ["Flit (>=3.4)", "pyTest (>=7)", "pyTest-cov (>=7) ; python_version >= \"3.10\""] @@ -304,12 +281,10 @@ files = [ [package.dependencies] colorama = {version = ">=0.4", markers = "sys_platform == \"win32\""} -exceptiongroup = {version = ">=1", markers = "python_version < \"3.11\""} iniconfig = ">=1" packaging = ">=20" pluggy = ">=1.5,<2" pygments = ">=2.7.2" -tomli = {version = ">=1", markers = "python_version < \"3.11\""} [package.extras] dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "requests", "setuptools", "xmlschema"] @@ -346,78 +321,7 @@ files = [ {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, ] -[[package]] -name = "tomli" -version = "2.4.1" -description = "A lil' TOML parser" -optional = false -python-versions = ">=3.8" -groups = ["lint", "test"] -files = [ - {file = "tomli-2.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f8f0fc26ec2cc2b965b7a3b87cd19c5c6b8c5e5f436b984e85f486d652285c30"}, - {file = "tomli-2.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4ab97e64ccda8756376892c53a72bd1f964e519c77236368527f758fbc36a53a"}, - {file = "tomli-2.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96481a5786729fd470164b47cdb3e0e58062a496f455ee41b4403be77cb5a076"}, - {file = "tomli-2.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a881ab208c0baf688221f8cecc5401bd291d67e38a1ac884d6736cbcd8247e9"}, - {file = "tomli-2.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47149d5bd38761ac8be13a84864bf0b7b70bc051806bc3669ab1cbc56216b23c"}, - {file = "tomli-2.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ec9bfaf3ad2df51ace80688143a6a4ebc09a248f6ff781a9945e51937008fcbc"}, - {file = "tomli-2.4.1-cp311-cp311-win32.whl", hash = "sha256:ff2983983d34813c1aeb0fa89091e76c3a22889ee83ab27c5eeb45100560c049"}, - {file = "tomli-2.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:5ee18d9ebdb417e384b58fe414e8d6af9f4e7a0ae761519fb50f721de398dd4e"}, - {file = "tomli-2.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:c2541745709bad0264b7d4705ad453b76ccd191e64aa6f0fc66b69a293a45ece"}, - {file = "tomli-2.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c742f741d58a28940ce01d58f0ab2ea3ced8b12402f162f4d534dfe18ba1cd6a"}, - {file = "tomli-2.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7f86fd587c4ed9dd76f318225e7d9b29cfc5a9d43de44e5754db8d1128487085"}, - {file = "tomli-2.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ff18e6a727ee0ab0388507b89d1bc6a22b138d1e2fa56d1ad494586d61d2eae9"}, - {file = "tomli-2.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:136443dbd7e1dee43c68ac2694fde36b2849865fa258d39bf822c10e8068eac5"}, - {file = "tomli-2.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5e262d41726bc187e69af7825504c933b6794dc3fbd5945e41a79bb14c31f585"}, - {file = "tomli-2.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5cb41aa38891e073ee49d55fbc7839cfdb2bc0e600add13874d048c94aadddd1"}, - {file = "tomli-2.4.1-cp312-cp312-win32.whl", hash = "sha256:da25dc3563bff5965356133435b757a795a17b17d01dbc0f42fb32447ddfd917"}, - {file = "tomli-2.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:52c8ef851d9a240f11a88c003eacb03c31fc1c9c4ec64a99a0f922b93874fda9"}, - {file = "tomli-2.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:f758f1b9299d059cc3f6546ae2af89670cb1c4d48ea29c3cacc4fe7de3058257"}, - {file = "tomli-2.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:36d2bd2ad5fb9eaddba5226aa02c8ec3fa4f192631e347b3ed28186d43be6b54"}, - {file = "tomli-2.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:eb0dc4e38e6a1fd579e5d50369aa2e10acfc9cace504579b2faabb478e76941a"}, - {file = "tomli-2.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c7f2c7f2b9ca6bdeef8f0fa897f8e05085923eb091721675170254cbc5b02897"}, - {file = "tomli-2.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f3c6818a1a86dd6dca7ddcaaf76947d5ba31aecc28cb1b67009a5877c9a64f3f"}, - {file = "tomli-2.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d312ef37c91508b0ab2cee7da26ec0b3ed2f03ce12bd87a588d771ae15dcf82d"}, - {file = "tomli-2.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:51529d40e3ca50046d7606fa99ce3956a617f9b36380da3b7f0dd3dd28e68cb5"}, - {file = "tomli-2.4.1-cp313-cp313-win32.whl", hash = "sha256:2190f2e9dd7508d2a90ded5ed369255980a1bcdd58e52f7fe24b8162bf9fedbd"}, - {file = "tomli-2.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:8d65a2fbf9d2f8352685bc1364177ee3923d6baf5e7f43ea4959d7d8bc326a36"}, - {file = "tomli-2.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:4b605484e43cdc43f0954ddae319fb75f04cc10dd80d830540060ee7cd0243cd"}, - {file = "tomli-2.4.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:fd0409a3653af6c147209d267a0e4243f0ae46b011aa978b1080359fddc9b6cf"}, - {file = "tomli-2.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:a120733b01c45e9a0c34aeef92bf0cf1d56cfe81ed9d47d562f9ed591a9828ac"}, - {file = "tomli-2.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:559db847dc486944896521f68d8190be1c9e719fced785720d2216fe7022b662"}, - {file = "tomli-2.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01f520d4f53ef97964a240a035ec2a869fe1a37dde002b57ebc4417a27ccd853"}, - {file = "tomli-2.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7f94b27a62cfad8496c8d2513e1a222dd446f095fca8987fceef261225538a15"}, - {file = "tomli-2.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ede3e6487c5ef5d28634ba3f31f989030ad6af71edfb0055cbbd14189ff240ba"}, - {file = "tomli-2.4.1-cp314-cp314-win32.whl", hash = "sha256:3d48a93ee1c9b79c04bb38772ee1b64dcf18ff43085896ea460ca8dec96f35f6"}, - {file = "tomli-2.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:88dceee75c2c63af144e456745e10101eb67361050196b0b6af5d717254dddf7"}, - {file = "tomli-2.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:b8c198f8c1805dc42708689ed6864951fd2494f924149d3e4bce7710f8eb5232"}, - {file = "tomli-2.4.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:d4d8fe59808a54658fcc0160ecfb1b30f9089906c50b23bcb4c69eddc19ec2b4"}, - {file = "tomli-2.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7008df2e7655c495dd12d2a4ad038ff878d4ca4b81fccaf82b714e07eae4402c"}, - {file = "tomli-2.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1d8591993e228b0c930c4bb0db464bdad97b3289fb981255d6c9a41aedc84b2d"}, - {file = "tomli-2.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:734e20b57ba95624ecf1841e72b53f6e186355e216e5412de414e3c51e5e3c41"}, - {file = "tomli-2.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8a650c2dbafa08d42e51ba0b62740dae4ecb9338eefa093aa5c78ceb546fcd5c"}, - {file = "tomli-2.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:504aa796fe0569bb43171066009ead363de03675276d2d121ac1a4572397870f"}, - {file = "tomli-2.4.1-cp314-cp314t-win32.whl", hash = "sha256:b1d22e6e9387bf4739fbe23bfa80e93f6b0373a7f1b96c6227c32bef95a4d7a8"}, - {file = "tomli-2.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:2c1c351919aca02858f740c6d33adea0c5deea37f9ecca1cc1ef9e884a619d26"}, - {file = "tomli-2.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:eab21f45c7f66c13f2a9e0e1535309cee140182a9cdae1e041d02e47291e8396"}, - {file = "tomli-2.4.1-py3-none-any.whl", hash = "sha256:0d85819802132122da43cb86656f8d1f8c6587d54ae7dcaf30e90533028b49fe"}, - {file = "tomli-2.4.1.tar.gz", hash = "sha256:7c7e1a961a0b2f2472c1ac5b69affa0ae1132c39adcb67aba98568702b9cc23f"}, -] -markers = {lint = "python_version == \"3.10\"", test = "python_full_version <= \"3.11.0a6\""} - -[[package]] -name = "typing-extensions" -version = "4.16.0" -description = "Backported and Experimental Type Hints for Python 3.9+" -optional = false -python-versions = ">=3.9" -groups = ["test"] -markers = "python_version == \"3.10\"" -files = [ - {file = "typing_extensions-4.16.0-py3-none-any.whl", hash = "sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8"}, - {file = "typing_extensions-4.16.0.tar.gz", hash = "sha256:dc983d19a509c94dba722ee6abd33940f7c05a89e243c47e907eb4db6f1a43e5"}, -] - [metadata] lock-version = "2.1" -python-versions = ">=3.10,<4.0" -content-hash = "c53c68b060f4ac1b9a63aec347518d5ac530fb8b170d761349384804b384acd5" +python-versions = ">=3.11,<4.0" +content-hash = "f9f5654d98b196b6ab7f8201c1d6fcfcc114d656a42c0ade7c03610ee65ae1a8" diff --git a/pyproject.toml b/pyproject.toml index 649c3ba..09a4831 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ name = "nisyscfg" version = "0.2.1" description = "NI System Configuration Python API" readme = "README.md" -requires-python = '>=3.10,<4.0' +requires-python = '>=3.11,<4.0' license = "MIT" authors = [{ name = "National Instruments" }] maintainers = [{ name = "Tyler Krehbiel", email = "tyler.krehbiel@emerson.com" }] @@ -18,11 +18,11 @@ classifiers = [ "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", + "Programming Language :: Python :: 3.15", "Programming Language :: Python :: Implementation :: CPython", "Topic :: System :: Hardware :: Hardware Drivers", ] From e80f36407af740b77c7af3df4bb01d026e23b7ff Mon Sep 17 00:00:00 2001 From: sourabhutaniCG Date: Fri, 23 Oct 2026 18:37:15 +0530 Subject: [PATCH 6/7] added changelog fixes. --- CHANGELOG.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 854650a..b662989 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,8 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 #### Unreleased - Added - - Added support for Python 3.15. + - Added support for Python 3.14, Python 3.14 free-threaded (3.14t), and Python 3.15. - Changed - Removed - - Removed support for Python 3.9. - - Removed support for Python 3.10. + - Removed support for Python 3.9 and Python 3.10. From bddb0d55fd368798718fc5f3ab9a6ac6b2788deb Mon Sep 17 00:00:00 2001 From: sourabhutaniCG Date: Fri, 23 Oct 2026 18:42:20 +0530 Subject: [PATCH 7/7] added changelog fixes. --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b662989..65a9701 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 #### Unreleased - Added - - Added support for Python 3.14, Python 3.14 free-threaded (3.14t), and Python 3.15. + - Python 3.14, Python 3.14 free-threaded (3.14t), and Python 3.15 support. - Changed - Removed - - Removed support for Python 3.9 and Python 3.10. + - Python 3.9 and Python 3.10 support.