Metadata-Version: 2.1
Name: propertime
Version: 0.1.1
Summary: An attempt at proper time management in Python.
Home-page: https://github.com/sarusso/Propertime
Author: Stefano Alberto Russo
Author-email: stefano.russo@gmail.com
License: Apache License 2.0
Platform: UNKNOWN
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: python-dateutil <3.0.0,>=2.8.2
Requires-Dist: pytz


Propertime is an attempt at proper time management in Python.

In a nutshell, it provides two main classes: ``Time`` for representing time (similar to a datetime) 
and ``TimeUnit`` for representing units of time (similar to timedelta). 

Such classes are implement assuming two strict and opinionated base hypotheses:

- Time is a floating point number representing the number of seconds passed after the zero on the time axis, 
  which is set to 1st January 1970 UTC, any other representations (as date/hours, time zones, daylight saving times) 
  are built on top of it, and:

- Time units can be of both fixed and *variable* length, if defined with calendar time units as days, weeks, months and years.
  This means that the length (i.e. the duration in seconds) of a one-day time unit is not defined *unless* it it put in context, 
  which means to know on which time it is applied.

These two assumptions allows Propertime to solve by design many issues in manipulating time that are still present in Python's
built-in datetime module as well as in most third-party libraries.

Propertime provides a simple and neat API, and its objects play nice with Python datetimes so that you can mix and match and use it
only when needed. Implementing "proper" time comes indeed at a price: it optimizes for consistency over performance and it is quite
strict, meaning that its suitability heavily depends on the use-case.

You can get started by having a look at the [quickstart notebook](https://github.com/sarusso/Propertime/blob/main/Quickstart.ipynb),
or by reading the [reference documentation](https://propertime.readthedocs.io).
      

