Skip to content

Commit 91eeb51

Browse files
committed
feat: Prefer datetime.fromisoformat over dateutil.parse in Python 3.11+
1 parent d2393e0 commit 91eeb51

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

influxdb_client/client/util/date_utils.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
"""Utils to get right Date parsing function."""
22
import datetime
3+
from sys import version_info
34
import threading
45
from datetime import timezone as tz
56

@@ -78,7 +79,8 @@ def get_date_helper() -> DateHelper:
7879
"""
7980
Return DateHelper with proper implementation.
8081
81-
If there is a 'ciso8601' than use 'ciso8601.parse_datetime' else use 'dateutil.parse'.
82+
If there is a 'ciso8601' than use 'ciso8601.parse_datetime' else
83+
use 'datetime.fromisoformat' (Python >= 3.11) or 'dateutil.parse' (Python < 3.11).
8284
"""
8385
global date_helper
8486
if date_helper is None:
@@ -90,7 +92,10 @@ def get_date_helper() -> DateHelper:
9092
import ciso8601
9193
_date_helper.parse_date = ciso8601.parse_datetime
9294
except ModuleNotFoundError:
93-
_date_helper.parse_date = parser.parse
95+
if version_info.major >= 3 and version_info.minor >= 11:
96+
_date_helper.parse_date = datetime.datetime.fromisoformat
97+
else:
98+
_date_helper.parse_date = parser.parse
9499
date_helper = _date_helper
95100

96101
return date_helper

0 commit comments

Comments
 (0)