Kronos makes date ranges easier.
Project description
Kronos
Kronos makes dateranges easier.
- GitHub repo: https://github.com/nat5142/kronos.git
- Documentation: https://nat5142-kronos.readthedocs.io/
- Free software: BSD
Quickstart
Install from pip:
pip install kronos-daterange
Import & basic init:
from kronos import Kronos
kronos = Kronos(start_date='2022-01-01', end_date='2022-01-31')
Feature Demo
# import
from kronos import Kronos
# init --> defaults to range of <yesterday, today> unless otherwise specified by `KRONOS_DATERANGE` environment variable
kronos = Kronos()
# manually set dates
kronos = Kronos(start_date='2022-10-17', end_date='2022-10-23')
# set timezone
kronos = Kronos(timezone='America/New_York')
# specify date format
kronos = Kronos(start_date='10/20/2022', end_date='10/31/2022', date_format='%m/%d/%Y')
# access start, end dates
kronos = Kronos()
kronos.start_date
# 2022-10-19
kronos.end_date
# 2022-10-20
# `date_format` carries over to properties:
kronos = Kronos(date_format='%m/%d/%Y')
kronos.start_date
# 10/19/2022
kronos.end_date
# 10/20/2022
# get the current date in specified timezone
kronos = Kronos('America/Los_Angeles')
kronos.current_date
# 2022-10-20
# overwrite your object's timezone without altering the time
kronos = Kronos(timezone='UTC')
kronos.change_timezone(tz='America/New_York')
# relative shift forward/back
kronos = Kronos()
kronos.shift_range(weeks=-1)
# Kronos(start_date='2022-10-12', end_date='2022-10-13', ... )
Defaults/Environment Variables
Kronos is prepared to accept the following environment variables:
KRONOS_TIMEZONE
, which defaults to UTC if not set. Can often be overridden at method-levels for one-off timezone conversions.KRONOS_FORMAT
, the strptime date format string for your dates.KRONOS_DATERANGE
(see below)
Note that both KRONOS_TIMEZONE
and KRONOS_FORMAT
can be set during init as timezone=
and date_format=
arguments, respectively.
KRONOS_TIMEZONE
:
Can be any valid timezone name (find them at pytz.all_timezones
)
KRONOS_DATERANGE
:
List of accepted values:
LATEST
: start/end dates of yesterady/todayYESTERDAY_TODAY
: same asLATEST
LAST_MONTH
: previous calendar monthMTD
: month-to-dateLAST_{X}_DAYS
: relative range where end_date is today, start date is set X days behind.THIS_WEEK__{X}
: week-to-date starting on previous day of week specified by X. Valid values for X:SUN, MON, TUES, WED, THURS, FRI, SAT
Credits
This package was created with Cookiecutter and the fedejaure/cookiecutter-modern-pypackage project template.
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
kronos-daterange-0.0.5.tar.gz
(10.7 kB
view details)
Built Distribution
File details
Details for the file kronos-daterange-0.0.5.tar.gz
.
File metadata
- Download URL: kronos-daterange-0.0.5.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.9.7 Darwin/21.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ade293006bb629a99add818874717688c1143abf998a16f628a07ab7c533cc3 |
|
MD5 | 5b4be5f7142dffae7b3834ad5b239253 |
|
BLAKE2b-256 | 18d0100b4a2f21a704d62ca570d46145989b839beb8632149cc53a8517aa6ce5 |
File details
Details for the file kronos_daterange-0.0.5-py3-none-any.whl
.
File metadata
- Download URL: kronos_daterange-0.0.5-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.9.7 Darwin/21.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9e82c3ddb9bbe23fa232b4afdab19e047724656e14a06d3030719612c64ca54 |
|
MD5 | 379bd76e187518712311c5af761ddd11 |
|
BLAKE2b-256 | 6f3cb7d677dc76f38aacaea42b708e363fbe05bf4e871999cdfb978c77a39103 |