delta

Human friendly context aware duration parsing library


Keywords
date, durations, timedelta
License
MIT
Install
pip install delta==0.4.2

Documentation

delta

Build Status Coverage Status

Human friendly context aware duration parsing library that can translate expressions such as '1 hour' to a timedelta object. The context aware notion comes from the ability to parse a duration of months or years but taking into account the current date (ie context) from where to start calculating the delta.

installation

from pypi

pip install delta

from source

pip install -e git+git://github.com/rlgomes/delta.git#egg=delta

usage

syntax

delta only exports a single parse() function that accepts a duration string and returns the timedelta object that duration represents. The duration expression consists of a number followed by a unit and separated by a comma, space or 'and' keyword. So the following are valid duration expression:

1 year 2 months and 3 weeks
2 months, 3 weeks and 12 days
1y 2m 3w 4d
3.5 years and 2.7 days

Units include:

  • y, year, years
  • m, month, months
  • w, week, weeks
  • d, day, days
  • h, hour, hours
  • min, minute, minutes
  • s, second, seconds
  • ms, millis, millisecond, milliseconds

code sample

import delta

tdelta = delta.parse('1 day')

Context aware parsing that can calculate months and years based on the datetime object provided as context:

import delta
from datetime import datetime

tdelta = delta.parse('2 months', context=datetime(2016, 1, 1))

The above delta calculated will take into account that the context is set to the first day of 2016 which means 2 months is 31 days from January and 29 days from February.

tests

Tests can be run using tox.

pip install tox
tox