Skip to main content

Backport of Python 3.7's datetime.fromisoformat

Project description

https://circleci.com/gh/movermeyer/backports.datetime_fromisoformat.svg?style=svg

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

Installation:

pip install backports-datetime-fromisoformat

Usage:

>>> 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)

Explanation

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 details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
backports-datetime-fromisoformat-1.0.0.tar.gz (10.8 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page