hdate
Jewish/Hebrew date and Zmanim in native Python 2.7/3.x
What it is and what it does
hdate is a Python library that converts Gregorian dates to the Hebrew calendar and calculates Zmanim—the precise times of Jewish prayer services and daily events based on solar position and location. It wraps the C library libhdate and serves as the backend for Home Assistant's Jewish Calendar integration.
The library takes a Gregorian date and a geographic location (latitude, longitude, timezone, elevation) and returns Hebrew date information in multiple languages plus detailed prayer times. It handles both the calendar conversion and astronomical calculations needed for accurate Zmanim, making it suitable for applications that need to display Hebrew dates or alert users to prayer times.
Use it for:
- Display the Hebrew date and day of the week in a Jewish calendar or scheduling application.
- Calculate prayer times (Zmanim) for a synagogue or religious organization's schedule.
- Build a Hebrew calendar widget or integration for home automation or calendar software.
- Convert between Gregorian and Hebrew dates for historical or genealogical research.
- Provide multilingual Hebrew date output in applications serving Hebrew-speaking users.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Hebrew date information and Jewish prayer times (Zmanim) for any given Gregorian date and location, with support for multiple languages including Hebrew and English.
Yes. The package is actively maintained, production-stable, has low install friction, and fills a specific niche for Hebrew date and Zmanim calculations. The copyleft GPL-3.0-or-later license requires careful review if you plan to distribute proprietary software, but is standard for this type of library. No known security vulnerabilities.
Install
hdate on PyPI
pip
pip install hdateuv
uv add hdatepoetry
poetry add hdateInstalling hdate
Before you install
Low friction installation with a single runtime dependency (num2words). Actively maintained with recent commits and marked as production-stable; last release was 117 days ago.
License in practice
Licensed under GPL-3.0-or-later (copyleft). Any code that links or distributes this library must be made available under compatible open-source terms; proprietary or closed-source projects should review compatibility before use.
Quickstart
import hdate
import datetime
c = hdate.Location("פתח תקוה", 32.08707, 34.88747, "Asia/Jerusalem", 54)
z = hdate.Zmanim(date=datetime.date(2016, 4, 18), location=c)
print(z)
h = hdate.HDateInfo(datetime.date(2016, 4, 18))
print(h)
Requires Python 3.10 or later.
Verify before relying
- Accuracy of Zmanim calculations relative to other Jewish calendar libraries or authoritative sources.
- Performance characteristics when computing times for many dates or locations in sequence.
- Whether the library handles edge cases like dates near the Arctic Circle or during polar day/night.
Package facts
| License | GPL-3.0-or-later (copyleft) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — num2words |
| Maintenance | actively maintained — 117 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 81,259/month — #14,239 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: hdate-1.2.1-py3-none-any.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
pyluachConverts between Hebrew and Gregorian calendar…
permissive · top 5,000 on PyPI
convertdateConverts dates between the Gregorian calendar…
permissive · top 5,000 on PyPI
hijri-converterConverts between Hijri (Islamic) and Gregorian…
permissive · top 5,000 on PyPI
hijridateConverts dates between the Hijri (Islamic) and…
permissive · top 5,000 on PyPI
pyCalverterConverts between different calendar systems,…
copyleft · top 15,000 on PyPI
exchange_calendarsProvides trading calendars for more than 50…
permissive · top 5,000 on PyPI
businesstimedeltaCalculates elapsed working time between two…
permissive · top 5,000 on PyPI
lunardateConverts between Gregorian (solar) and Chinese…
copyleft · top 5,000 on PyPI
zhdateConverts between Chinese lunar calendar dates…
copyleft · top 15,000 on PyPI