Skip to content

Commit 4fc39f3

Browse files
robsdedudeMaxAake
andauthored
Python 3.14 (#1264)
Co-authored-by: MaxAake <[email protected]>
1 parent d10d2cd commit 4fc39f3

File tree

15 files changed

+27
-16
lines changed

15 files changed

+27
-16
lines changed

.github/workflows/tests.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ jobs:
2323
tox-factor: 'py312'
2424
- semver: '3.13'
2525
tox-factor: 'py313'
26+
- semver: '3.14'
27+
tox-factor: 'py314'
2628
steps:
2729
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
2830

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
See also https://github.com/neo4j/neo4j-python-driver/wiki for a full changelog.
44

55
## NEXT RELEASE
6-
- No breaking or major changes.
6+
- Python 3.14 support added.
77

88

99
## Version 6.0

README.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Driver upgrades within a major version will never contain breaking API changes.
99
For version compatibility with Neo4j server, please refer to:
1010
https://neo4j.com/developer/kb/neo4j-supported-versions/
1111

12+
+ Python 3.14 supported.
1213
+ Python 3.13 supported.
1314
+ Python 3.12 supported.
1415
+ Python 3.11 supported.

TESTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Neo4j Driver Testing
22
To run driver tests, [Tox](https://tox.readthedocs.io) is required as well as at least one version of Python.
3-
The versions of Python supported by this driver are CPython 3.10 - 3.13
3+
The versions of Python supported by this driver are CPython 3.10 - 3.14
44

55
## Testing with TestKit
66
TestKit is the shared test suite used by all official (and some community contributed) Neo4j drivers to ensure consistent and correct behavior across all drivers.

docs/source/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ See https://neo4j.com/developer/kb/neo4j-supported-versions/ for a driver-server
1919

2020
Python versions supported:
2121

22+
* Python 3.14
2223
* Python 3.13
2324
* Python 3.12
2425
* Python 3.11

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ classifiers = [
3737
"Programming Language :: Python :: 3.11",
3838
"Programming Language :: Python :: 3.12",
3939
"Programming Language :: Python :: 3.13",
40+
"Programming Language :: Python :: 3.14",
4041
"Topic :: Database",
4142
"Topic :: Software Development",
4243
"Typing :: Typed",

src/neo4j/_async/io/_bolt.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
import abc
2020
import asyncio
21+
import inspect
2122
from collections import deque
2223
from logging import getLogger
2324
from time import monotonic
@@ -198,7 +199,7 @@ def __init__(
198199
)
199200

200201
def __del__(self):
201-
if not asyncio.iscoroutinefunction(self.close):
202+
if not inspect.iscoroutinefunction(self.close):
202203
self.close()
203204

204205
@abc.abstractmethod

src/neo4j/_async/io/_common.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616

1717
import asyncio
18+
import inspect
1819
import logging
1920
from contextlib import suppress
2021
from struct import pack as struct_pack
@@ -191,7 +192,7 @@ def inner(*args, **kwargs):
191192
try:
192193
func(*args, **kwargs)
193194
except (Neo4jError, ServiceUnavailable, SessionExpired) as exc:
194-
assert not asyncio.iscoroutinefunction(self.__on_error)
195+
assert not inspect.iscoroutinefunction(self.__on_error)
195196
self.__on_error(exc)
196197
raise
197198

@@ -212,7 +213,7 @@ async def inner(*args, **kwargs):
212213

213214
return inner
214215

215-
if asyncio.iscoroutinefunction(connection_attr):
216+
if inspect.iscoroutinefunction(connection_attr):
216217
return outer_async(connection_attr)
217218
return outer(connection_attr)
218219

src/neo4j/_async_compat/util.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ async def callback(cb, *args, **kwargs):
6767

6868
@staticmethod
6969
def shielded(coro_function):
70-
assert asyncio.iscoroutinefunction(coro_function)
70+
assert inspect.iscoroutinefunction(coro_function)
7171

7272
@wraps(coro_function)
7373
async def shielded_function(*args, **kwargs):

src/neo4j/_sync/io/_bolt.py

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)