{"id":50684661,"url":"https://github.com/bsesic/hebrewcal","last_synced_at":"2026-06-08T22:00:30.670Z","repository":{"id":362693659,"uuid":"1257165695","full_name":"bsesic/hebrewcal","owner":"bsesic","description":"A python library for the Hebrew calendar.","archived":false,"fork":false,"pushed_at":"2026-06-05T12:58:06.000Z","size":38,"stargazers_count":1,"open_issues_count":12,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-05T14:23:46.316Z","etag":null,"topics":["hebrew","hebrew-calendar"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bsesic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-02T12:28:34.000Z","updated_at":"2026-06-03T08:34:48.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/bsesic/hebrewcal","commit_stats":null,"previous_names":["bsesic/hebrewcal"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/bsesic/hebrewcal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bsesic%2Fhebrewcal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bsesic%2Fhebrewcal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bsesic%2Fhebrewcal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bsesic%2Fhebrewcal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bsesic","download_url":"https://codeload.github.com/bsesic/hebrewcal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bsesic%2Fhebrewcal/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34082130,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hebrew","hebrew-calendar"],"created_at":"2026-06-08T22:00:20.323Z","updated_at":"2026-06-08T22:00:30.660Z","avatar_url":"https://github.com/bsesic.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# hebrewcal\n\n[![CI](https://github.com/bsesic/hebrewcal/actions/workflows/ci.yml/badge.svg)](https://github.com/bsesic/hebrewcal/actions/workflows/ci.yml)\n[![Documentation Status](https://readthedocs.org/projects/hebrewcal/badge/?version=latest)](https://hebrewcal.readthedocs.io/en/latest/?badge=latest)\n[![PyPI version](https://img.shields.io/pypi/v/hebrewcal.svg)](https://pypi.org/project/hebrewcal/)\n[![Python versions](https://img.shields.io/pypi/pyversions/hebrewcal.svg)](https://pypi.org/project/hebrewcal/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.20583972.svg)](https://doi.org/10.5281/zenodo.20583972)\n\nA pure-Python library for the Hebrew calendar.\n\n`hebrewcal` makes the Hebrew calendar usable programmatically and converts it\nbidirectionally against the Gregorian and Julian calendars. Every computation is\nperformed locally — the library never issues network calls to any external service.\n\nIt is built for two audiences:\n\n- **Religious use** — holidays (Israel and the Diaspora, including minority feasts and\n  Shushan Purim), Shabbat candle lighting and Havdalah, zmanim, Torah readings, the Omer\n  count, yahrzeit, and the sabbatical and jubilee cycle.\n- **Academic use** — historical, medieval and ancient dates, Babylonian and biblical\n  month names, proleptic calendars, the Julian/Gregorian reform, and the documented\n  \"missing years\" of the Anno Mundi count.\n\n\u003e **Project status.** Early development. The calendar core, conversion and date handling\n\u003e (Phase 1) are implemented. Astronomy, holidays and religious times follow on the\n\u003e [roadmap](docs/specs/2026-06-03-architecture-roadmap.md).\n\n## Installation\n\n```bash\npip install hebrewcal\n```\n\n`hebrewcal` requires Python 3.11+ and has **no runtime dependencies** (standard library\nonly).\n\n## Quick start\n\n```python\nfrom hebrewcal import GregorianDate, HebrewDate, to_hebrew, to_gregorian, weekday\n\n# What Hebrew date and weekday corresponds to 31 October 1867?\ng = GregorianDate(1867, 10, 31)\nh = to_hebrew(g)\nprint(h)            # HebrewDate(year=5628, month=8, day=2)  -\u003e 2 Marheshvan 5628\nprint(weekday(g).name)   # THURSDAY\n\n# Convert a Hebrew date back to Gregorian.\nprint(to_gregorian(HebrewDate(5785, 7, 1)))   # GregorianDate(year=2024, month=10, day=3)\n```\n\nEvery calendar reduces a date to an integer **Rata Die (RD)** day count and rebuilds a\ndate from it, so any two calendars are interconvertible through RD:\n\n```python\nfrom hebrewcal import GregorianDate, to_julian\n\nGregorianDate(2026, 6, 26).to_rd()     # 739793\nto_julian(GregorianDate(2026, 6, 26))  # JulianDate(year=2026, month=6, day=13)\n```\n\n## Features\n\n- Proleptic **Gregorian** and **Julian** calendars, with an explicit, configurable\n  Julian/Gregorian reform helper.\n- A complete **Hebrew** calendar: molad and halakim, the dechiyot (\"four gates\"), year\n  typing (deficient / regular / complete), the keviah signature, and the Metonic cycle.\n- Bidirectional **conversion** between any supported calendars through Rata Die.\n- **Parsing** of Gregorian input (ISO 8601, DIN 5008 and slash form) and **formatting**\n  in numeric and named styles.\n- A **gematria** converter between integers and Hebrew numerals.\n- Month and weekday **name tables** (transliteration, Babylonian, biblical).\n- The **Anno Mundi** era with a documented \"missing years\" notice.\n\n## Documentation\n\nFull documentation, including a user guide with many examples, lives at\n**[hebrewcal.readthedocs.io](https://hebrewcal.readthedocs.io)**.\n\n## Development\n\n```bash\ngit clone https://github.com/bsesic/hebrewcal.git\ncd hebrewcal\npython -m venv .venv \u0026\u0026 source .venv/bin/activate\npip install -e \".[dev]\"\npre-commit install\n```\n\nRun the lint gate and the test suite:\n\n```bash\nflake8\nruff check .\nmypy\npytest\n```\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for the branching strategy and conventions.\n\n## Citation\n\nIf you use `hebrewcal` in academic work, please cite it. Citation metadata is provided in\n[`CITATION.cff`](CITATION.cff), and each release is archived on Zenodo.\n\n- **Concept DOI** (always resolves to the latest version): [10.5281/zenodo.20583972](https://doi.org/10.5281/zenodo.20583972)\n- Each release also has its own version-specific DOI on the Zenodo record.\n\n## License\n\n[MIT](LICENSE) © Benjamin Schnabel\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbsesic%2Fhebrewcal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbsesic%2Fhebrewcal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbsesic%2Fhebrewcal/lists"}