Skip to content

Commit 65d8feb

Browse files
authored
Merge pull request #2466 from DanielNoord/python315
Add initial support for Python 3.15
2 parents 2fb94e1 + 80b86e0 commit 65d8feb

12 files changed

Lines changed: 389 additions & 45 deletions

File tree

.github/workflows/continuous-integration.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ jobs:
6565
strategy:
6666
fail-fast: false
6767
matrix:
68-
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
68+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"]
6969
os: [ubuntu-latest, macos-latest, windows-latest]
7070
runs-on: ${{ matrix.os }}
7171
env:

isort/stdlibs/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from . import all as _all
2-
from . import py2, py3, py27, py36, py37, py38, py39, py310, py311, py312, py313, py314
2+
from . import py2, py3, py27, py36, py37, py38, py39, py310, py311, py312, py313, py314, py315
33

44
__all__ = (
55
"_all",
@@ -15,4 +15,5 @@
1515
"py312",
1616
"py313",
1717
"py314",
18+
"py315",
1819
)

isort/stdlibs/py3.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from . import py36, py37, py38, py39, py310, py311, py312, py313, py314
1+
from . import py36, py37, py38, py39, py310, py311, py312, py313, py314, py315
22

33
stdlib = (
44
py36.stdlib
@@ -10,4 +10,5 @@
1010
| py312.stdlib
1111
| py313.stdlib
1212
| py314.stdlib
13+
| py315.stdlib
1314
)

isort/stdlibs/py315.py

Lines changed: 327 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,327 @@
1+
"""
2+
File contains the standard library of Python 3.15.
3+
4+
DO NOT EDIT. If the standard library changes, a new list should be created
5+
using the mkstdlibs.py script.
6+
"""
7+
8+
stdlib = {
9+
"__future__",
10+
"__hello__",
11+
"__hello_alias__",
12+
"__hello_only__",
13+
"__phello__",
14+
"__phello_alias__",
15+
"_abc",
16+
"_aix_support",
17+
"_android_support",
18+
"_apple_support",
19+
"_ast",
20+
"_ast_unparse",
21+
"_asyncio",
22+
"_bisect",
23+
"_blake2",
24+
"_bz2",
25+
"_codecs",
26+
"_codecs_cn",
27+
"_codecs_hk",
28+
"_codecs_iso2022",
29+
"_codecs_jp",
30+
"_codecs_kr",
31+
"_codecs_tw",
32+
"_collections",
33+
"_collections_abc",
34+
"_colorize",
35+
"_compat_pickle",
36+
"_contextvars",
37+
"_csv",
38+
"_ctypes",
39+
"_ctypes_test",
40+
"_curses",
41+
"_curses_panel",
42+
"_datetime",
43+
"_dbm",
44+
"_decimal",
45+
"_elementtree",
46+
"_frozen_importlib",
47+
"_frozen_importlib_external",
48+
"_functools",
49+
"_gdbm",
50+
"_hashlib",
51+
"_heapq",
52+
"_hmac",
53+
"_imp",
54+
"_interpchannels",
55+
"_interpqueues",
56+
"_interpreters",
57+
"_io",
58+
"_ios_support",
59+
"_json",
60+
"_locale",
61+
"_lsprof",
62+
"_lzma",
63+
"_markupbase",
64+
"_math_integer",
65+
"_md5",
66+
"_multibytecodec",
67+
"_multiprocessing",
68+
"_opcode",
69+
"_opcode_metadata",
70+
"_operator",
71+
"_osx_support",
72+
"_overlapped",
73+
"_pickle",
74+
"_posixshmem",
75+
"_posixsubprocess",
76+
"_py_abc",
77+
"_py_warnings",
78+
"_pydatetime",
79+
"_pydecimal",
80+
"_pyio",
81+
"_pylong",
82+
"_pyrepl",
83+
"_queue",
84+
"_random",
85+
"_remote_debugging",
86+
"_scproxy",
87+
"_sha1",
88+
"_sha2",
89+
"_sha3",
90+
"_signal",
91+
"_sitebuiltins",
92+
"_socket",
93+
"_sqlite3",
94+
"_sre",
95+
"_ssl",
96+
"_stat",
97+
"_statistics",
98+
"_string",
99+
"_strptime",
100+
"_struct",
101+
"_suggestions",
102+
"_symtable",
103+
"_sysconfig",
104+
"_testbuffer",
105+
"_testcapi",
106+
"_testcapi_datetime",
107+
"_testclinic",
108+
"_testclinic_limited",
109+
"_testconsole",
110+
"_testimportmultiple",
111+
"_testinternalcapi",
112+
"_testlimitedcapi",
113+
"_testmultiphase",
114+
"_testsinglephase",
115+
"_thread",
116+
"_threading_local",
117+
"_tkinter",
118+
"_tokenize",
119+
"_tracemalloc",
120+
"_types",
121+
"_typing",
122+
"_uuid",
123+
"_warnings",
124+
"_weakref",
125+
"_weakrefset",
126+
"_winapi",
127+
"_wmi",
128+
"_xxtestfuzz",
129+
"_zoneinfo",
130+
"_zstd",
131+
"abc",
132+
"annotationlib",
133+
"antigravity",
134+
"argparse",
135+
"array",
136+
"ast",
137+
"asyncio",
138+
"atexit",
139+
"base64",
140+
"bdb",
141+
"binascii",
142+
"bisect",
143+
"builtins",
144+
"bz2",
145+
"cProfile",
146+
"calendar",
147+
"cmath",
148+
"cmd",
149+
"code",
150+
"codecs",
151+
"codeop",
152+
"collections",
153+
"colorsys",
154+
"compileall",
155+
"compression",
156+
"concurrent",
157+
"configparser",
158+
"contextlib",
159+
"contextvars",
160+
"copy",
161+
"copyreg",
162+
"csv",
163+
"ctypes",
164+
"curses",
165+
"dataclasses",
166+
"datetime",
167+
"dbm",
168+
"decimal",
169+
"difflib",
170+
"dis",
171+
"doctest",
172+
"email",
173+
"encodings",
174+
"ensurepip",
175+
"enum",
176+
"errno",
177+
"faulthandler",
178+
"fcntl",
179+
"filecmp",
180+
"fileinput",
181+
"fnmatch",
182+
"fractions",
183+
"ftplib",
184+
"functools",
185+
"gc",
186+
"genericpath",
187+
"getopt",
188+
"getpass",
189+
"gettext",
190+
"glob",
191+
"graphlib",
192+
"grp",
193+
"gzip",
194+
"hashlib",
195+
"heapq",
196+
"hmac",
197+
"html",
198+
"http",
199+
"idlelib",
200+
"imaplib",
201+
"importlib",
202+
"inspect",
203+
"io",
204+
"ipaddress",
205+
"itertools",
206+
"json",
207+
"keyword",
208+
"linecache",
209+
"locale",
210+
"logging",
211+
"lzma",
212+
"mailbox",
213+
"marshal",
214+
"math",
215+
"mimetypes",
216+
"mmap",
217+
"modulefinder",
218+
"msvcrt",
219+
"multiprocessing",
220+
"netrc",
221+
"nt",
222+
"ntpath",
223+
"nturl2path",
224+
"numbers",
225+
"opcode",
226+
"operator",
227+
"optparse",
228+
"os",
229+
"pathlib",
230+
"pdb",
231+
"pickle",
232+
"pickletools",
233+
"pkgutil",
234+
"platform",
235+
"plistlib",
236+
"poplib",
237+
"posix",
238+
"posixpath",
239+
"pprint",
240+
"profile",
241+
"profiling",
242+
"pstats",
243+
"pty",
244+
"pwd",
245+
"py_compile",
246+
"pyclbr",
247+
"pydoc",
248+
"pydoc_data",
249+
"pyexpat",
250+
"queue",
251+
"quopri",
252+
"random",
253+
"re",
254+
"readline",
255+
"reprlib",
256+
"resource",
257+
"rlcompleter",
258+
"runpy",
259+
"sched",
260+
"secrets",
261+
"select",
262+
"selectors",
263+
"shelve",
264+
"shlex",
265+
"shutil",
266+
"signal",
267+
"site",
268+
"smtplib",
269+
"socket",
270+
"socketserver",
271+
"sqlite3",
272+
"ssl",
273+
"stat",
274+
"statistics",
275+
"string",
276+
"stringprep",
277+
"struct",
278+
"subprocess",
279+
"symtable",
280+
"sys",
281+
"sysconfig",
282+
"syslog",
283+
"tabnanny",
284+
"tarfile",
285+
"tempfile",
286+
"termios",
287+
"textwrap",
288+
"this",
289+
"threading",
290+
"time",
291+
"timeit",
292+
"tkinter",
293+
"token",
294+
"tokenize",
295+
"tomllib",
296+
"trace",
297+
"traceback",
298+
"tracemalloc",
299+
"tty",
300+
"turtle",
301+
"turtledemo",
302+
"types",
303+
"typing",
304+
"unicodedata",
305+
"unittest",
306+
"urllib",
307+
"uuid",
308+
"venv",
309+
"warnings",
310+
"wave",
311+
"weakref",
312+
"webbrowser",
313+
"winreg",
314+
"winsound",
315+
"wsgiref",
316+
"xml",
317+
"xmlrpc",
318+
"xx",
319+
"xxlimited",
320+
"xxlimited_35",
321+
"xxsubtype",
322+
"zipapp",
323+
"zipfile",
324+
"zipimport",
325+
"zlib",
326+
"zoneinfo",
327+
}

pyproject.toml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ classifiers = [
2222
"Programming Language :: Python :: 3.12",
2323
"Programming Language :: Python :: 3.13",
2424
"Programming Language :: Python :: 3.14",
25+
"Programming Language :: Python :: 3.15",
2526
"Programming Language :: Python :: 3 :: Only",
2627
"Programming Language :: Python :: Implementation :: CPython",
2728
"Programming Language :: Python :: Implementation :: PyPy",
@@ -103,15 +104,15 @@ dev = [
103104
"hatch>=1.14.0",
104105
"httpx>=0.13.3",
105106
"hypothesis>=6.140.3",
106-
"hypothesmith>=0.3.3",
107-
"libcst>=1.8.5",
107+
"hypothesmith>=0.3.3; python_version < '3.15'",
108+
"libcst>=1.8.5; python_version < '3.15'",
108109
"mypy>=1.18.2",
109110
"pep8-naming>=0.15.1",
110111
"pip>=21.1.1",
111112
"pytest>=8.4.2",
112113
"pytest-benchmark>=5.1.0",
113114
"ruff>=0.13.3",
114-
"stdlibs>=2024.10.21.16",
115+
"stdlibs>=2026.2.26",
115116
"toml>=0.10.2",
116117
"tox>=4.30.3",
117118
"tox-uv>=1.28.0",
@@ -206,4 +207,6 @@ filterwarnings = [
206207
"ignore::UserWarning",
207208
# We don't really care about randomizing paths and don't want to add another hypothesis dependency
208209
"ignore:.*from_type\\(thing=Path\\).*:hypothesis.errors.SmallSearchSpaceWarning",
210+
# See https://github.com/pygments/pygments/issues/3039
211+
"ignore:os.path.commonprefix().*:DeprecationWarning",
209212
]

0 commit comments

Comments
 (0)