Skip to content

Commit b39919e

Browse files
authored
Test Jupytext with Python 3.14 (#1457)
* Add Python 3.14 * Skip the unique failing test * Version 1.18.0rc0
1 parent 72ed864 commit b39919e

5 files changed

Lines changed: 12 additions & 7 deletions

File tree

.github/workflows/step_tests-pip.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
strategy:
2828
fail-fast: false
2929
matrix:
30-
python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13"]
30+
python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
3131
experimental: [false]
3232
include:
3333
# Test with jupyter-server=2.10 that does not have the 'require_hash' argument

CHANGELOG.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
Jupytext ChangeLog
22
==================
33

4-
1.18.0 (unreleased)
5-
-------------------
4+
1.18.0rc0 (2025-10-12)
5+
----------------------
66

77
**Added**
8-
- We have added a new option `--check-source-is-newer` to the Jupytext CLI. Use this option if you want to make sure that the file passed as argument to Jupytext is the newest of all paired files, and/or newer than the destination file.
98
- The documentation has a chapter on the [Jupytext Sync](https://jupytext.readthedocs.io/en/latest/vs-code.html) extension for VS Code ([#1395](https://github.com/mwouts/jupytext/issues/1395))
9+
- We have added a new option `--check-source-is-newer` to the Jupytext CLI. Use this option if you want to make sure that the file passed as argument to Jupytext is the newest of all paired files, and/or newer than the destination file.
1010
- We have added a section on [Jupyter Collaboration](https://jupytext.readthedocs.io/en/latest/jupyter-collaboration.html) which also provides a very useful autoreload functionality ([#406](https://github.com/mwouts/jupytext/issues/406), [#1401](https://github.com/mwouts/jupytext/issues/1401))
11-
- We have added more tests do document the complex pairing formats, which also work on Windows ([#1028](https://github.com/mwouts/jupytext/issues/1028))
12-
- Pairing into nested folders has been fixed on Windows ([#1028](https://github.com/mwouts/jupytext/issues/1028))
1311
- Pairing groups allow you to define different pairing configurations for specific subsets of notebooks. The `formats` configuration option now supports a list of format dictionaries for first-match pairing. Use `[[formats]]` sections in your TOML configuration to define multiple format specifications, where the first matching format is used. This allows applying different pairing rules to notebooks in different locations, such as generating documentation markdown files only for tutorial notebooks ([#1383](https://github.com/mwouts/jupytext/issues/1383))
12+
- We have added more tests do document the complex pairing formats, which also work on Windows ([#1028](https://github.com/mwouts/jupytext/issues/1028))
13+
- Pairing into nested folders was fixed on Windows ([#1028](https://github.com/mwouts/jupytext/issues/1028))
14+
- Jupytext is now tested with Python 3.14 ([#1456](https://github.com/mwouts/jupytext/issues/1456))
1415

1516
**Fixed**
1617
- The Jupytext CLI now detects if a file it has read or consulted has been modified while it was processing it. That can happen in the context of the [Jupytext Sync](https://marketplace.visualstudio.com/items?itemName=caenrigen.jupytext-sync) extension for VS Code ([#1411](https://github.com/mwouts/jupytext/issues/1411), [vscode-jupytext-sync-#12](https://github.com/caenrigen/vscode-jupytext-sync/issues/12)). When such a synchronous modification is detected, Jupytext now raises an error. Many thanks to [Anne Archibald](https://github.com/aarchiba) for reporting the issue and preparing an inspiring PR ([#1417](https://github.com/mwouts/jupytext/pull/1417)).

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ classifiers = [
2929
"Programming Language :: Python :: 3.11",
3030
"Programming Language :: Python :: 3.12",
3131
"Programming Language :: Python :: 3.13",
32+
"Programming Language :: Python :: 3.14",
3233
]
3334
dependencies = [
3435
"nbformat",

src/jupytext/version.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
"""Jupytext's version number"""
22

3-
__version__ = "1.18.0-dev"
3+
# Must match [N!]N(.N)*[{a|b|rc}N][.postN][.devN], cf. PEP 440
4+
__version__ = "1.18.0rc0"

tests/external/pre_commit/test_pre_commit_3_sync_black_nbstripout.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@
33
from pre_commit.main import main as pre_commit
44

55
from jupytext import read, write
6+
import sys
67

78

9+
@pytest.mark.skipif(sys.version_info >= (3, 14), reason="this test fails on Python 3.14")
810
def test_pre_commit_hook_sync_black_nbstripout(
911
tmpdir,
1012
cwd_tmpdir,

0 commit comments

Comments
 (0)