pyluach
.. image:: https://readthedocs.org/projects/pyluach/badge/?version=stable
:target: http://pyluach.readthedocs.io/en/latest/?badge=stable
:alt: Documentation Status
.. image:: https://github.com/simlist/pyluach/actions/workflows/testing-and-coverage.yml/badge.svg?branch=master
:target: https://github.com/simlist/pyluach/actions/workflows/testing-and-coverage.yml
.. image:: https://coveralls.io/repos/github/simlist/pyluach/badge.svg?branch=master
:target: https://coveralls.io/github/simlist/pyluach?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 <https://github.com/simlist/pyluach/issues>
_ or contact me at
simlist@gmail.com.
License
Pyluach is licensed under the MIT license.