Skip to main content

A Python package for dealing with Hebrew (Jewish) calendar dates.

Project description

Documentation Status https://github.com/simlist/pyluach/actions/workflows/testing-and-coverage.yml/badge.svg?branch=master https://coveralls.io/repos/github/simlist/pyluach/badge.svg?branch=master

Pyluach is a Python package for dealing with Hebrew (Jewish) calendar dates.

Features

  • Conversion between Hebrew and Gregorian dates

  • Finding the difference between two dates

  • Finding a date at a given duration from the given date

  • Rich comparisons between dates

  • Finding the weekday of a given date

  • Finding the weekly Parsha reading of a given date

  • Getting the holiday occuring on a given date

  • Generating html and text Hebrew calendars

Installation

Use pip install pyluach.

Documentation

Documentation for pyluach can be found at https://readthedocs.org/projects/pyluach/.

Examples

>>> from pyluach import dates, hebrewcal, parshios

>>> today = dates.HebrewDate.today()
>>> lastweek_gregorian = (today - 7).to_greg()
>>> lastweek_gregorian < today
    True
>>> today - lastweek_gregorian
7
>>> greg = dates.GregorianDate(1986, 3, 21)
>>> heb = dates.HebrewDate(5746, 13, 10)
>>> greg == heb
True

>>> purim = dates.HebrewDate(5781, 12, 14)
>>> purim.hebrew_day()
'י״ד'
>>> purim.hebrew_date_string()
'י״ד אדר תשפ״א'
>>> purim.hebrew_date_string(True)
'י״ד אדר ה׳תשפ״א'

>>> rosh_hashana = dates.HebrewDate(5782, 7, 1)
>>> rosh_hashana.holiday()
'Rosh Hashana'
>>> rosh_hashana.holiday(hebrew=True)
'ראש השנה'
>>> (rosh_hashana + 3).holiday()
None

>>> month = hebrewcal.Month(5781, 10)
>>> month.month_name()
'Teves'
>>> month.month_name(True)
'טבת'
>>> month + 3
Month(5781, 1)
>>> for month in hebrewcal.Year(5774).itermonths():
...     print(month.month_name())
Tishrei Cheshvan ...

>>> date = dates.GregorianDate(2010, 10, 6)
>>> parshios.getparsha(date)
[0]
>>> parshios.getparsha_string(date, israel=True)
'Beraishis'
>>> parshios.getparsha_string(date, hebrew=True)
'בראשית'
>>> new_date = dates.GregorianDate(2021, 3, 10)
>>> parshios.getparsha_string(new_date)
'Vayakhel, Pekudei'
>>> parshios.getparsha_string(new_date, hebrew=True)
'ויקהל, פקודי'

Contact

For questions and comments please raise an issue in github or contact me at simlist@gmail.com.

License

Pyluach is licensed under the MIT license.

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

pyluach-2.3.0.tar.gz (26.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyluach-2.3.0-py3-none-any.whl (25.9 kB view details)

Uploaded Python 3

File details

Details for the file pyluach-2.3.0.tar.gz.

File metadata

  • Download URL: pyluach-2.3.0.tar.gz
  • Upload date:
  • Size: 26.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.28.2

File hashes

Hashes for pyluach-2.3.0.tar.gz
Algorithm Hash digest
SHA256 ec6e30669d1df50c9ca160486da44a8195bb4c7a5d3d533990d0c5b03accd281
MD5 543b65c6d917616d83756312eb0f46ec
BLAKE2b-256 111142568c1568a75f8803c59f26d29af01a0890352b7a8e03d41ecda8bfb5dd

See more details on using hashes here.

File details

Details for the file pyluach-2.3.0-py3-none-any.whl.

File metadata

  • Download URL: pyluach-2.3.0-py3-none-any.whl
  • Upload date:
  • Size: 25.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.28.2

File hashes

Hashes for pyluach-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4497b731aef59508b079dbf5f00bc5bf4329ac45090a6cd37b5a83756f0e69ab
MD5 b4125d3ce493ef5b9c1a7da7608c99a8
BLAKE2b-256 8ac8f96208ade3ca4c23b372497d0788bcf0f2e0ff4310e5ee693366bc33fdf0

See more details on using hashes here.

Supported by

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