Skip to main content

Relative weekday/date utilities useful for finding public holidays

Project description

Relative weekday/date utilities useful for finding public holidays

Installation

pip install blackskirt

After installation is complete, try the following import statements to make sure it’s working.

from blackskirt import (WEEKDAY_MON, WEEKDAY_TUE, WEEKDAY_WED,
                        WEEKDAY_THU, WEEKDAY_FRI, WEEKDAY_SAT,
                        WEEKDAY_SUN,)
from blackskirt.ops import (mondayise, next_weekday, prev_weekday,
                            nearest_weekday, nth_weekday, last_weekday,
                            next_date, prev_date, nearest_date,)

Examples

mondayise

  1. New Year’s Day: 1 January (or the following Monday if it falls on a Saturday or Sunday)
# 2011-01-01 is Saturday
assert mondayise(year=2011, month=1, day=1,
                 cases=((WEEKDAY_SAT, WEEKDAY_MON),
                        (WEEKDAY_SUN, WEEKDAY_MON),)) == "2011-01-03"
  1. Day after New Year’s Day: 2 January (or the following Monday if it falls on a Saturday, or the following Tuesday if it falls on a Sunday)
# 2011-01-02 is Sunday
assert mondayise(year=2011, month=1, day=2,
                 cases=((WEEKDAY_SAT, WEEKDAY_MON),
                        (WEEKDAY_SUN, WEEKDAY_TUE),)) == "2011-01-04"

nth_weekday

Labour Day: The fourth Monday in October

assert nth_weekday(year=2014, month=10, n=4, weekday=WEEKDAY_MON) == "2014-10-27"

next_weekday

Marlborough provincial anniversary day: First Monday after Labour Day

assert next_weekday(year=2014, month=10, day=27, weekday=WEEKDAY_MON) == "2014-11-03"

nearest_weekday

Wellington provincial anniversary day: 22 January (Monday nearest to the actual day)

# 2014-01-22 is Wednesday
assert nearest_weekday(year=2014, month=1, day=22, weekday=WEEKDAY_MON) == "2014-01-20"

last_weekday

Memorial Day: Last Monday in May

assert last_weekday(year=2014, month=5, weekday=WEEKDAY_MON) == "2014-05-26"

next_date

Inauguration Day: First January 20 following a Presidential election

# 2012-11-06 was the previous presidential election day in US
assert next_date(month=1, day=20, offset=(2012, 11, 6)) == "2013-01-20"

License

All the code is licensed under the GNU Lesser General Public License (v3+).

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
Blackskirt-0.1.1.tar.gz (4.0 kB) Copy SHA256 hash SHA256 Source None Apr 15, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page