Skip to main content

Better dates and times for Python

Project description

https://travis-ci.org/crsmithdev/arrow.png

Documentation: crsmithdev.com/arrow.

Arrow is a Python library that provides a sensible, intelligent way of creating, manipulating, formatting and converting dates and times. Arrow is simple, lightweight and heavily inspired by moment.js and requests.

Why?

Python’s standard library and some other low-level modules offer complete functionality but don’t work very well from a usability perspective:

  • Too many modules: datetime, time, calendar, dateutil, pytz

  • Time zones and timestamp conversions are verbose and error-prone

  • Time zones are explicit, naivete is the norm

  • Gaps in functionality: ISO-8601 parsing, timespans, humanization

Features

  • Implements the datetime interface

  • TZ-aware & UTC by default

  • Concise, intelligent interface for creation

  • Easily replace and shift attributes

  • Rich parsing & formatting options

  • Timezone conversion

  • Simple timestamp handling

  • Time spans, ranges, floors and ceilings

  • Humanization, with support for a growing number of locales

Get started

$ pip install arrow
>>> import arrow
>>> utc = arrow.utcnow()
>>> utc
<Arrow [2013-05-11T21:23:58.970460+00:00]>

>>> utc = utc.replace(hours=-1)
>>> utc
<Arrow [2013-05-11T20:23:58.970460+00:00]>

>>> local = utc.to('US/Pacific')
>>> local
<Arrow [2013-05-11T13:23:58.970460-07:00]>

>>> local.timestamp
1368303838

>>> local.format('YYYY-MM-DD HH:mm:ss ZZ')
'2013-05-11 13:23:58 -07:00'

>>> local.humanize()
'an hour ago'

>>> local.humanize(locale='ko_kr')
'1시간 전'

Documentation

Documentation is available at crsmithdev.com/arrow.

History

  • 0.3.2

    • Python 3.0 support / fixes

  • 0.3.1

    • Fix for incorrect timestamp handling in old arrow function (for old API compatibility)

  • 0.3.0

    • Arrow objects are no longer mutable

    • Arrow.replace method

    • Plural attribute name semantics altered: single -> absolute, plural -> relative

    • Plural names no longer supported as properties (e.g. arrow.utcnow().years)

    • Limit parameters are respected in range and span_range

    • Accept timestamps, datetimes and Arrows for datetime inputs, where reasonable

  • 0.2.1

    • Support for localized humanization

    • English, Russian, Greek, Korean, Chinese locales

  • 0.2.0

    • Reimplemented as datetime replacement

    • Added date parsing

    • Added date formatting

    • Added floor, ceil and span methods

    • Added datetime methods for drop-in replacement

    • Added clone method

    • Added get, now and utcnow API methods

  • 0.1.6

    • Added humanized time deltas

    • Fixed numerous issues with conversions related to daylight savings time

    • Fixed some inconsistencies in time zone names

    • __str__ uses ISO formatting

    • __eq__ implemented for basic comparison between Arrow objects

  • 0.1.5

    • Started tracking changes

    • Added parsing of ISO-formatted time zone offsets (e.g. ‘+02:30’, ‘-05:00’)

    • Fixed some incorrect timestamps with delta / olson time zones

    • Fixed formatting of UTC offsets in TimeStamp’s str method

Project details


Download files

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

Source Distribution

arrow-0.3.2.tar.gz (12.0 kB view details)

Uploaded Source

File details

Details for the file arrow-0.3.2.tar.gz.

File metadata

  • Download URL: arrow-0.3.2.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for arrow-0.3.2.tar.gz
Algorithm Hash digest
SHA256 1a7e2a8ffbcc0c70510069661799b7679c5fb87567e1342cd01325569078ab9a
MD5 9a4d35818ca5fd9d7be50512976f3feb
BLAKE2b-256 bffd4e179c4c575be8d9e289e7962760bec6637f5f8e8984935a9b76f069a5ce

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page