Descriptively reference time ranges in Python. `ONE_DAY` instead of `86400`.
Project description
A small helper package for working with time intervals.
This package provides a single class called Seconds
(a subclass of int
) that
represents a time interval in seconds. It also provides a number of constants that
represent common time intervals, such as ONE_SECOND
and ONE_DAY
.
The intended use of this package is to provide a more readable alternative to using
raw numbers for time intervals. For example, instead of writing time.sleep(86400)
to sleep for one day, you can write time.sleep(ONE_DAY)
. This makes the code more
readable and easier to understand.
The Seconds
class also provides attributes for accessing the interval in other
units of time, such as minutes
and hours
.
Shoot me an email if you use it and find it useful, or if you have any suggestions!
Usage
>>> from times import THREE_MINUTES
>>> import time
>>> time.sleep(THREE_MINUTES)
>>> import times
>>> times.ONE_DAY
86400
>>> times.THREE_HOURS.years
0.00034223866072692215
>>> times.FIVE_MONTHS.minutes
219145.25
from times import Seconds, TEN_YEARS
>>> century = Seconds(TEN_YEARS * 10)
>>> century
3155692500
>>> century.hours
876581.25
Installation
pip install pytimes
Reference
The Seconds
class is a subclass of int
that represents a time interval in seconds. It usually won't be instantiated directly, but rather used via the constants defined in this module. It offers the following
attributes:
seconds
: The interval in seconds.minutes
: The interval in minutes.hours
: The interval in hours.days
: The interval in days.weeks
: The interval in weeks.months
: The interval in months. A month is defined as 1/12 of a year.years
: The interval in years. A year is defined as 365.242196 days.
The following constants are defined in this module:
ONE_SECOND
ONE_MINUTE
ONE_HOUR
ONE_DAY
ONE_WEEK
ONE_MONTH
ONE_YEAR
- ... And many more, in variations like
TWO_DAYS
,THREE_WEEKS
,FOUR_MONTHS
, etc.
Requirements
Python 3.6+
License
MIT
Changelog
1.12.0
Added shorthand methods for all the time fractions, like times.ONE_DAY.m
for times.ONE_DAY.minutes
.
1.11.0
Now fully typed and compatible with mypy.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pytimes-1.13.0.tar.gz
.
File metadata
- Download URL: pytimes-1.13.0.tar.gz
- Upload date:
- Size: 3.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.11.7 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28a592576059ac77d18ed2fc9f593181b2e0dcd71b3ce3e6610941735b3bc368 |
|
MD5 | 64a979e2d2669a4dedea789c42904426 |
|
BLAKE2b-256 | 04c5f72bcbb8a067fe0bab68bc97fba4566a81a5241306eaa7a2eab0d1085101 |
File details
Details for the file pytimes-1.13.0-py3-none-any.whl
.
File metadata
- Download URL: pytimes-1.13.0-py3-none-any.whl
- Upload date:
- Size: 4.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.11.7 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05b2b8cf08dc69f33525f2c457204cc7b87c381470608f74290c3b5c112da74b |
|
MD5 | f47e0cd6bc2d3e7b31601284d857c2cf |
|
BLAKE2b-256 | b5a574c4919b74e1915d1c60a0c1d8b18eaeb838495af97c18dbb77979483a8f |