diff --git a/.github/workflows/canary.yml b/.github/workflows/canary.yml
index 17be60da7d8..d1ed6a8dca8 100644
--- a/.github/workflows/canary.yml
+++ b/.github/workflows/canary.yml
@@ -17,7 +17,7 @@ jobs:
timeout-minutes: 75
strategy:
matrix:
- python-version: ["3.13"]
+ python-version: ["3.14"]
steps:
- name: Checkout code
uses: actions/checkout@v4
diff --git a/.github/workflows/merge.yml b/.github/workflows/merge.yml
index 05ccbef4838..dccf886a853 100644
--- a/.github/workflows/merge.yml
+++ b/.github/workflows/merge.yml
@@ -26,7 +26,7 @@ jobs:
- name: Build Basilisk
uses: ./.github/actions/build
with:
- python-version: 3.13
+ python-version: 3.14
conan-args: --opNav True --allOptPkg --mujoco True --mujocoReplay True
- name: Build docs
uses: ./.github/actions/docs
diff --git a/.github/workflows/publish-wheels.yml b/.github/workflows/publish-wheels.yml
index 7cfdb6de28a..55a4594ddba 100644
--- a/.github/workflows/publish-wheels.yml
+++ b/.github/workflows/publish-wheels.yml
@@ -66,7 +66,7 @@ jobs:
- uses: actions/setup-python@v5
with:
- python-version: 3.13
+ python-version: 3.14
- name: Build SDist
run: pipx run build --sdist
@@ -87,7 +87,7 @@ jobs:
- uses: actions/setup-python@v5
with:
- python-version: 3.13
+ python-version: 3.14
- name: Download sdist
uses: actions/download-artifact@v4
diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml
index fbf97719ed7..35ec115a68b 100644
--- a/.github/workflows/pull-request.yml
+++ b/.github/workflows/pull-request.yml
@@ -22,7 +22,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- python: ["3.13"]
+ python: ["3.14"]
name: Linux (${{ matrix.python }})
steps:
- uses: actions/checkout@v4
@@ -48,7 +48,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- python: ["3.13"]
+ python: ["3.14"]
name: Windows (${{ matrix.python }})
env:
MPLBACKEND: agg
@@ -90,7 +90,7 @@ jobs:
conan_args: ["--opNav True --mujoco True --mujocoReplay True"]
include:
# An extra Basilisk build to test building without visualization enabled
- - python: "3.13"
+ - python: "3.14"
pytest_flags: -n auto -m "not ciSkip" -rs --timeout=300 --timeout-method=thread -v
conan_args: --opNav True --mujoco True --mujocoReplay True --vizInterface False
job_suffix: "--vizInterface False"
@@ -129,7 +129,7 @@ jobs:
- name: Build Basilisk
uses: ./.github/actions/build
with:
- python-version: 3.13
+ python-version: 3.14
conan-args: --opNav True --allOptPkg --mujoco True --mujocoReplay True
- name: Build docs
uses: ./.github/actions/docs
diff --git a/docs/source/Build/installOnLinux.rst b/docs/source/Build/installOnLinux.rst
index f342c67857e..2e41dc5173b 100644
--- a/docs/source/Build/installOnLinux.rst
+++ b/docs/source/Build/installOnLinux.rst
@@ -12,7 +12,7 @@ Software setup
In order to run Basilisk, the following software will be necessary. This document outline how to install this support software.
-- `Python `__ 3.8 to 3.13. Version 3.8 is deprecated and will be removed April 2026.
+- `Python `__ 3.8 to 3.14. Version 3.8 is deprecated and will be removed April 2026.
- `GCC `__
- (Optional) Get the `GitKraken `__
application to be able to pull and manage a copy of Basilisk
diff --git a/docs/source/Build/installOnMacOS.rst b/docs/source/Build/installOnMacOS.rst
index 3050a7674a6..d1ff126cb94 100644
--- a/docs/source/Build/installOnMacOS.rst
+++ b/docs/source/Build/installOnMacOS.rst
@@ -8,7 +8,7 @@ Setup On macOS
==============
These instruction outline how to install Basilisk (BSK) on a clean version of macOS.
-Basilisk requires the use of Python 3.8 to 3.13. Version 3.8 is deprecated and will be removed April 2026.
+Basilisk requires the use of Python 3.8 to 3.14. Version 3.8 is deprecated and will be removed April 2026.
The following python package dependencies are automatically checked and installed in the steps below.
diff --git a/docs/source/Build/installOnWindows.rst b/docs/source/Build/installOnWindows.rst
index 9ca712ccef7..6075dc96d74 100644
--- a/docs/source/Build/installOnWindows.rst
+++ b/docs/source/Build/installOnWindows.rst
@@ -13,7 +13,7 @@ Software setup
In order to run Basilisk, the following software will be necessary:
-- `Python `__ 3.8 to 3.13.
+- `Python `__ 3.8 to 3.14.
Version 3.8 is deprecated and will be removed April 2026.
- `pip `__
- Default compiler is Visual Studios 17 2022
diff --git a/docs/source/Support/bskReleaseNotesSnippets/1313-python-314-support.rst b/docs/source/Support/bskReleaseNotesSnippets/1313-python-314-support.rst
new file mode 100644
index 00000000000..382319c5bd4
--- /dev/null
+++ b/docs/source/Support/bskReleaseNotesSnippets/1313-python-314-support.rst
@@ -0,0 +1,2 @@
+- Added Python 3.14 support across packaging and CI.
+- Updated platform install guides to document Basilisk support for Python 3.14.
diff --git a/pyproject.toml b/pyproject.toml
index 1f35f379abe..93f8f6b3b5d 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -19,7 +19,7 @@ requires = [
[project]
name = 'bsk'
dynamic = ["version", "dependencies"]
-requires-python = ">=3.8, <3.14"
+requires-python = ">=3.8, <3.15"
readme = "README.md"
license = {file = "LICENSE"}
@@ -54,7 +54,7 @@ test = [
]
[tool.cibuildwheel]
-build = ["cp39-*", "cp310-*", "cp311-*", "cp312-*", "cp313-*"]
+build = ["cp39-*", "cp310-*", "cp311-*", "cp312-*", "cp313-*", "cp314-*"]
skip = ["*-win32", "cp38-macosx_arm64", "*-musllinux_*"]
build-verbosity = 1
test-extras = ["test"]