A backport of Python 3.7's `datetime.fromisoformat` methods to earlier versions of Python

License: MIT

Language: C


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.

Current Status

backports.datetime_fromisoformat is under active development, and should be considered pre-alpha.

Quick Start


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"), 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 date and 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.

Project Statistics

Sourcerank 3
Repository Size 75.2 KB
Stars 4
Forks 0
Watchers 2
Open issues 2
Dependencies 0
Contributors 1
Tags 3
Last updated
Last pushed

Top Contributors See all

Michael Overmeyer

Packages Referencing this Repo

Backport of Python 3.7's datetime.fromisoformat
Latest release 1.0.0 - Updated - 4 stars

Recent Tags See all

v1.0.0 November 15, 2018
v0.0.2 October 05, 2018
v0.0.1 July 05, 2018

Something wrong with this page? Make a suggestion

Last synced: 2018-11-15 21:41:02 UTC

Login to resync this repository