diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md
index 4667f4ee1..a03de5506 100644
--- a/.github/copilot-instructions.md
+++ b/.github/copilot-instructions.md
@@ -4,7 +4,7 @@ This document provides guidelines for working with GitHub Copilot when contribut
## Project Overview
-RustPython is a Python 3 interpreter written in Rust, implementing Python 3.13.0+ compatibility. The project aims to provide:
+RustPython is a Python 3 interpreter written in Rust, implementing Python 3.14.0+ compatibility. The project aims to provide:
- A complete Python-3 environment entirely in Rust (not CPython bindings)
- A clean implementation without compatibility hacks
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index b8263026d..7fc4c6531 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -115,7 +115,7 @@ env:
test.test_multiprocessing_spawn.test_processes
ENV_POLLUTING_TESTS_WINDOWS: >-
# Python version targeted by the CI.
- PYTHON_VERSION: "3.13.1"
+ PYTHON_VERSION: "3.14.2"
X86_64_PC_WINDOWS_MSVC_OPENSSL_LIB_DIR: C:\Program Files\OpenSSL\lib\VC\x64\MD
X86_64_PC_WINDOWS_MSVC_OPENSSL_INCLUDE_DIR: C:\Program Files\OpenSSL\include
diff --git a/.github/workflows/cron-ci.yaml b/.github/workflows/cron-ci.yaml
index d48c5e4cf..9d549602b 100644
--- a/.github/workflows/cron-ci.yaml
+++ b/.github/workflows/cron-ci.yaml
@@ -13,7 +13,7 @@ name: Periodic checks/tasks
env:
CARGO_ARGS: --no-default-features --features stdlib,importlib,encodings,ssl-rustls,jit
- PYTHON_VERSION: "3.13.1"
+ PYTHON_VERSION: "3.14.2"
jobs:
# codecov collects code coverage data from the rust tests, python snippets and python test suite.
diff --git a/.github/workflows/update-doc-db.yml b/.github/workflows/update-doc-db.yml
index c580e7d0e..37cf56504 100644
--- a/.github/workflows/update-doc-db.yml
+++ b/.github/workflows/update-doc-db.yml
@@ -9,7 +9,7 @@ on:
python-version:
description: Target python version to generate doc db for
type: string
- default: "3.13.9"
+ default: "3.14.2"
ref:
description: Branch to commit to (leave empty for current branch)
type: string
diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md
index 82364e9b8..f515bef1a 100644
--- a/DEVELOPMENT.md
+++ b/DEVELOPMENT.md
@@ -25,7 +25,7 @@ RustPython requires the following:
stable version: `rustup update stable`
- If you do not have Rust installed, use [rustup](https://rustup.rs/) to
do so.
-- CPython version 3.13 or higher
+- CPython version 3.14 or higher
- CPython can be installed by your operating system's package manager,
from the [Python website](https://www.python.org/downloads/), or
using a third-party distribution, such as
diff --git a/README.md b/README.md
index b3ddbe4e7..c4f7bfb1d 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
# [RustPython](https://rustpython.github.io/)
-A Python-3 (CPython >= 3.13.0) Interpreter written in Rust :snake: :scream:
+A Python-3 (CPython >= 3.14.0) Interpreter written in Rust :snake: :scream:
:metal:.
[](https://github.com/RustPython/RustPython/actions?query=workflow%3ACI)
diff --git a/crates/venvlauncher/src/main.rs b/crates/venvlauncher/src/main.rs
index fe147ce7f..7087e791e 100644
--- a/crates/venvlauncher/src/main.rs
+++ b/crates/venvlauncher/src/main.rs
@@ -114,12 +114,12 @@ mod tests {
let cfg_path = temp_dir.join("test_pyvenv.cfg");
let mut file = fs::File::create(&cfg_path).unwrap();
- writeln!(file, "home = C:\\Python313").unwrap();
+ writeln!(file, "home = C:\\Python314").unwrap();
writeln!(file, "include-system-site-packages = false").unwrap();
- writeln!(file, "version = 3.13.0").unwrap();
+ writeln!(file, "version = 3.14.0").unwrap();
let home = read_home(&cfg_path).unwrap();
- assert_eq!(home, "C:\\Python313");
+ assert_eq!(home, "C:\\Python314");
fs::remove_file(&cfg_path).unwrap();
}
diff --git a/crates/vm/src/version.rs b/crates/vm/src/version.rs
index 2b5e82a8d..bd42341ef 100644
--- a/crates/vm/src/version.rs
+++ b/crates/vm/src/version.rs
@@ -4,9 +4,9 @@ use chrono::{Local, prelude::DateTime};
use core::time::Duration;
use std::time::UNIX_EPOCH;
-// = 3.13.0alpha
+// = 3.14.0alpha
pub const MAJOR: usize = 3;
-pub const MINOR: usize = 13;
+pub const MINOR: usize = 14;
pub const MICRO: usize = 0;
pub const RELEASELEVEL: &str = "alpha";
pub const RELEASELEVEL_N: usize = 0xA;
diff --git a/crates/vm/src/vm/mod.rs b/crates/vm/src/vm/mod.rs
index 8233df43a..27b70e321 100644
--- a/crates/vm/src/vm/mod.rs
+++ b/crates/vm/src/vm/mod.rs
@@ -523,7 +523,7 @@ impl VirtualMachine {
/// ```no_run
/// use rustpython_vm::Interpreter;
/// Interpreter::without_stdlib(Default::default()).enter(|vm| {
- /// let bytes = std::fs::read("__pycache__/.rustpython-313.pyc").unwrap();
+ /// let bytes = std::fs::read("__pycache__/.rustpython-314.pyc").unwrap();
/// let main_scope = vm.new_scope_with_main().unwrap();
/// vm.run_pyc_bytes(&bytes, main_scope);
/// });
diff --git a/whats_left.py b/whats_left.py
index c5b0be6ea..3ae2d2c0f 100755
--- a/whats_left.py
+++ b/whats_left.py
@@ -1,6 +1,6 @@
#!/usr/bin/env -S python3 -I
# /// script
-# requires-python = ">=3.13"
+# requires-python = ">=3.14"
# ///
# This script generates Lib/snippets/whats_left_data.py with these variables defined:
@@ -37,9 +37,9 @@ GENERATED_FILE = "extra_tests/not_impl.py"
implementation = platform.python_implementation()
if implementation != "CPython":
sys.exit(f"whats_left.py must be run under CPython, got {implementation} instead")
-if sys.version_info[:2] < (3, 13):
+if sys.version_info[:2] < (3, 14):
sys.exit(
- f"whats_left.py must be run under CPython 3.13 or newer, got {implementation} {sys.version} instead. If you have uv, try `uv run python -I whats_left.py` to select a proper Python interpreter easier."
+ f"whats_left.py must be run under CPython 3.14 or newer, got {implementation} {sys.version} instead. If you have uv, try `uv run python -I whats_left.py` to select a proper Python interpreter easier."
)