A backport of Python 3.7's
datetime.fromisoformat methods to earlier versions of Python 3.
Tested against Python 3.4, 3.5 and 3.6.
backports.datetime_fromisoformat is under active development, and should be considered pre-alpha.
pip install backports-datetime-fromisoformat
>>> from datetime import date, datetime, time >>> from backports.datetime_fromisoformat import MonkeyPatch >>> MonkeyPatch.patch_fromisoformat() >>> datetime.fromisoformat("2014-01-09T21:48:00-05:30") datetime.datetime(2014, 1, 9, 21, 48, tzinfo=-05:30) >>> date.fromisoformat("2014-01-09") datetime.date(2014, 1, 9) >>> time.fromisoformat("21:48:00-05:30") datetime.time(21, 48, tzinfo=-05:30)
In Python 3.7, datetime.fromisoformat was added. It is the inverse of datetime.isoformat.
Similar methods were added to the
time types as well.
For those who need to support earlier versions of Python, a backport of these methods was needed.
backports.datetime_fromisoformat is a C implementation of
fromisoformat based on the upstream cPython 3.7 code.
For timezone objects, it uses a custom
timezone C implementation (originally from Pendulum).
Usage in Python 3.7+
NOTE: in Python 3.7 and later, the
fromisoformat methods exist in the stdlib, and installing this package has NO EFFECT.
Goal / Project Scope
The purpose of this project is to provide a perfect backport of the
fromisoformat methods to earlier versions of Python, while still providing comparable performance.