diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b35ac514..69dace2e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] fail-fast: false runs-on: ${{ matrix.os }} steps: diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index f168f598..fad4b226 100644 --- a/.github/workflows/format.yml +++ b/.github/workflows/format.yml @@ -12,7 +12,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - python-version: ["3.12"] + python-version: ["3.13"] fail-fast: false runs-on: ${{ matrix.os }} steps: diff --git a/CHANGELOG.md b/CHANGELOG.md index 1dde4766..64205a64 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ * Removed dependency on `attrs` and replaced with [dataclasses](https://docs.python.org/3/library/dataclasses.html) * add `allow_clipboard` initialization parameter and attribute to disable ability to add output to the operating system clipboard - * Updated unit tests to be Python 3.12 compliant. + * Updated unit tests to be Python 3.12 and 3.13 compliant. * Fall back to bz2 compression of history file when lzma is not installed. * Added settable called `scripts_add_to_history` which determines whether scripts and pyscripts add commands to history. diff --git a/noxfile.py b/noxfile.py index 9ec2ce16..5fa91e61 100644 --- a/noxfile.py +++ b/noxfile.py @@ -17,7 +17,7 @@ def docs(session): ) -@nox.session(python=['3.8', '3.9', '3.10', '3.11', '3.12']) +@nox.session(python=['3.8', '3.9', '3.10', '3.11', '3.12', '3.13']) @nox.parametrize('plugin', [None, 'ext_test', 'template', 'coverage']) def tests(session, plugin): if plugin is None: diff --git a/plugins/ext_test/build-pyenvs.sh b/plugins/ext_test/build-pyenvs.sh index 20f5c8d4..4781f10a 100644 --- a/plugins/ext_test/build-pyenvs.sh +++ b/plugins/ext_test/build-pyenvs.sh @@ -18,12 +18,12 @@ # build pythons # -# Make a array of the python minor versions we want to install. +# Make an array of the python minor versions we want to install. # Order matters in this list, because it's the order that the # virtualenvs will be added to '.python-version'. Feel free to modify # this list, but note that this script intentionally won't install # dev, rc, or beta python releases -declare -a pythons=("3.8" "3.9", "3.10", "3.11", "3.12") +declare -a pythons=("3.8" "3.9", "3.10", "3.11", "3.12", "3.13") # function to find the latest patch of a minor version of python function find_latest_version { diff --git a/plugins/ext_test/noxfile.py b/plugins/ext_test/noxfile.py index 25a95067..02b36ff7 100644 --- a/plugins/ext_test/noxfile.py +++ b/plugins/ext_test/noxfile.py @@ -1,7 +1,7 @@ import nox -@nox.session(python=['3.8', '3.9', '3.10', '3.11', '3.12']) +@nox.session(python=['3.8', '3.9', '3.10', '3.11', '3.12', '3.13']) def tests(session): session.install('invoke', './[test]') session.run('invoke', 'pytest', '--junit', '--no-pty') diff --git a/plugins/ext_test/setup.py b/plugins/ext_test/setup.py index 45110413..57637a14 100644 --- a/plugins/ext_test/setup.py +++ b/plugins/ext_test/setup.py @@ -48,6 +48,7 @@ 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', + 'Programming Language :: Python :: 3.13', ], # dependencies for development and testing # $ pip install -e .[dev] diff --git a/plugins/template/README.md b/plugins/template/README.md index 8617acd7..625edd65 100644 --- a/plugins/template/README.md +++ b/plugins/template/README.md @@ -287,7 +287,7 @@ unit tests found in the `tests` directory. ### Use nox to run unit tests in multiple versions of python The included `noxfile.py` is setup to run the unit tests in python 3.8, 3.9 -3.10, 3.11, and 3.12 You can run your unit tests in all of these versions +3.10, 3.11, 3.12, and 3.13 You can run your unit tests in all of these versions of python by: ``` $ nox diff --git a/plugins/template/build-pyenvs.sh b/plugins/template/build-pyenvs.sh index 4a6e1578..a31c02bf 100644 --- a/plugins/template/build-pyenvs.sh +++ b/plugins/template/build-pyenvs.sh @@ -18,12 +18,12 @@ # build pythons # -# Make a array of the python minor versions we want to install. +# Make an array of the python minor versions we want to install. # Order matters in this list, because it's the order that the # virtualenvs will be added to '.python-version'. Feel free to modify # this list, but note that this script intentionally won't install # dev, rc, or beta python releases -declare -a pythons=("3.8" "3.9" "3.10" "3.11", "3.12") +declare -a pythons=("3.8" "3.9" "3.10" "3.11", "3.12", "3.13") # function to find the latest patch of a minor version of python function find_latest_version { diff --git a/plugins/template/noxfile.py b/plugins/template/noxfile.py index 25a95067..02b36ff7 100644 --- a/plugins/template/noxfile.py +++ b/plugins/template/noxfile.py @@ -1,7 +1,7 @@ import nox -@nox.session(python=['3.8', '3.9', '3.10', '3.11', '3.12']) +@nox.session(python=['3.8', '3.9', '3.10', '3.11', '3.12', '3.13']) def tests(session): session.install('invoke', './[test]') session.run('invoke', 'pytest', '--junit', '--no-pty') diff --git a/plugins/template/setup.py b/plugins/template/setup.py index 7e872cd8..e2c95927 100644 --- a/plugins/template/setup.py +++ b/plugins/template/setup.py @@ -39,6 +39,7 @@ 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', + 'Programming Language :: Python :: 3.13', ], # dependencies for development and testing # $ pip install -e .[dev] diff --git a/setup.py b/setup.py index ce46c17d..32e43e6c 100755 --- a/setup.py +++ b/setup.py @@ -33,6 +33,7 @@ Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 Programming Language :: Python :: 3.12 +Programming Language :: Python :: 3.13 Programming Language :: Python :: Implementation :: CPython Topic :: Software Development :: Libraries :: Python Modules """.splitlines(),