# Zmanim Core Python Bindings
[](https://pypi.org/project/zmanim-core-bindings/)
[](https://pypi.org/project/zmanim-core-bindings/)
[](LICENSE)
High-performance Python bindings for the Zmanim Core library - a comprehensive solution for calculating Jewish religious times (zmanim) and astronomical events.
## 🌟 Features
- **Astronomical Calculations**: Precise sunrise, sunset, and astronomical event calculations
- **Jewish Religious Times**: Complete zmanim calculations including:
- Alos Hashachar (dawn)
- Tzais (nightfall)
- Chatzos (midday)
- Prayer times (Shacharis, Mincha, Maariv)
- Candle lighting times
- **Hebrew Calendar**: Full Jewish calendar support with:
- Date conversions between Gregorian and Jewish dates
- Holiday calculations
- Parsha (weekly Torah portion) information
- Daf Yomi calculations
- **Geolocation Support**: Location-based calculations using coordinates
- **High Performance**: Optimized Rust implementation with minimal overhead
- **Cross-Platform**: Supports Windows, Linux, macOS
## 🚀 Installation
### From PyPI (Recommended)
```bash
pip install zmanim-core-bindings
```
## 📖 Quick Start
### Basic Usage
```python
import zmanim_py.zmanim_core as zmanim
from datetime import datetime
import time
# Get current timestamp (milliseconds since epoch)
now = int(time.time() * 1000)
# Create a location (Jerusalem coordinates)
location = zmanim.new_geolocation(
latitude=31.78, # Jerusalem latitude
longitude=35.22, # Jerusalem longitude
elevation=754.0 # Elevation in meters
)
# Create a zmanim calendar
calendar = zmanim.new_zmanim_calendar(
timestamp=now,
geo_location=location,
use_astronomical_chatzos=True,
use_astronomical_chatzos_for_other_zmanim=True,
candle_lighting_offset=18 * 60 * 1000 # 18 minutes before sunset
)
# Get Alos Hashachar (dawn)
alos_timestamp = calendar.get_alos_hashachar()
if alos_timestamp:
alos_datetime = datetime.fromtimestamp(alos_timestamp / 1000)
print(f"Alos Hashachar: {alos_datetime}")
# Note: This is in UTC, convert to local timezone as needed
```
For more information, see the [Rust API Docs](https://docs.rs/zmanim-core) and the original KosherJava [docs](https://github.com/KosherJava/KosherJava/blob/master/README.md) which this library is based on.
## 📄 License
This project is licensed under the Lesser General Public License v2.1 - see the [LICENSE](LICENSE) file for details.
## 🙏 Acknowledgments
This library is a Rust port of the [KosherJava](https://github.com/KosherJava/KosherJava) library, which provides the reference implementation and testing framework. Special thanks to the KosherJava contributors for their excellent work.
**Testing against KosherJava git hash**: `0ce858258bff15c11235b1f1063d2eb0ef22b994`
## 📞 Support
- **Issues**: [GitHub Issues](https://github.com/dickermoshe/zmanim-core/issues)
- **Discussions**: [GitHub Discussions](https://github.com/dickermoshe/zmanim-core/discussions)
- **Documentation**: [Rust API Docs](https://docs.rs/zmanim-core)
---
**Made with ❤️ for the Jewish community and Python developers**
Raw data
{
"_id": null,
"home_page": null,
"name": "zmanim-core-bindings",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "zmanim, jewish, calendar, astronomy, time, zmanim-core",
"author": null,
"author_email": "Moshe Dicker <dickermoshe@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/df/18/84b1684b0a13c3983027dffb8065ab41933d3cd3a55e3b78cadd9a879692/zmanim_core_bindings-0.2.1.tar.gz",
"platform": null,
"description": "# Zmanim Core Python Bindings\n\n[](https://pypi.org/project/zmanim-core-bindings/)\n[](https://pypi.org/project/zmanim-core-bindings/)\n[](LICENSE)\n\nHigh-performance Python bindings for the Zmanim Core library - a comprehensive solution for calculating Jewish religious times (zmanim) and astronomical events.\n\n## \ud83c\udf1f Features\n\n- **Astronomical Calculations**: Precise sunrise, sunset, and astronomical event calculations\n- **Jewish Religious Times**: Complete zmanim calculations including:\n - Alos Hashachar (dawn)\n - Tzais (nightfall)\n - Chatzos (midday)\n - Prayer times (Shacharis, Mincha, Maariv)\n - Candle lighting times\n- **Hebrew Calendar**: Full Jewish calendar support with:\n - Date conversions between Gregorian and Jewish dates\n - Holiday calculations\n - Parsha (weekly Torah portion) information\n - Daf Yomi calculations\n- **Geolocation Support**: Location-based calculations using coordinates\n- **High Performance**: Optimized Rust implementation with minimal overhead\n- **Cross-Platform**: Supports Windows, Linux, macOS\n\n## \ud83d\ude80 Installation\n\n### From PyPI (Recommended)\n\n```bash\npip install zmanim-core-bindings\n```\n\n## \ud83d\udcd6 Quick Start\n\n### Basic Usage\n\n```python\nimport zmanim_py.zmanim_core as zmanim\nfrom datetime import datetime\nimport time\n\n# Get current timestamp (milliseconds since epoch)\nnow = int(time.time() * 1000)\n\n# Create a location (Jerusalem coordinates)\nlocation = zmanim.new_geolocation(\n latitude=31.78, # Jerusalem latitude\n longitude=35.22, # Jerusalem longitude\n elevation=754.0 # Elevation in meters\n)\n\n# Create a zmanim calendar\ncalendar = zmanim.new_zmanim_calendar(\n timestamp=now,\n geo_location=location,\n use_astronomical_chatzos=True,\n use_astronomical_chatzos_for_other_zmanim=True,\n candle_lighting_offset=18 * 60 * 1000 # 18 minutes before sunset\n)\n\n# Get Alos Hashachar (dawn)\nalos_timestamp = calendar.get_alos_hashachar()\nif alos_timestamp:\n alos_datetime = datetime.fromtimestamp(alos_timestamp / 1000)\n print(f\"Alos Hashachar: {alos_datetime}\")\n # Note: This is in UTC, convert to local timezone as needed\n```\n\nFor more information, see the [Rust API Docs](https://docs.rs/zmanim-core) and the original KosherJava [docs](https://github.com/KosherJava/KosherJava/blob/master/README.md) which this library is based on.\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the Lesser General Public License v2.1 - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\ude4f Acknowledgments\n\nThis library is a Rust port of the [KosherJava](https://github.com/KosherJava/KosherJava) library, which provides the reference implementation and testing framework. Special thanks to the KosherJava contributors for their excellent work.\n\n**Testing against KosherJava git hash**: `0ce858258bff15c11235b1f1063d2eb0ef22b994`\n\n## \ud83d\udcde Support\n\n- **Issues**: [GitHub Issues](https://github.com/dickermoshe/zmanim-core/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/dickermoshe/zmanim-core/discussions)\n- **Documentation**: [Rust API Docs](https://docs.rs/zmanim-core)\n\n---\n\n**Made with \u2764\ufe0f for the Jewish community and Python developers**\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Bindings to the zmanim-core rust library",
"version": "0.2.1",
"project_urls": {
"Homepage": "https://github.com/dickermoshe/zmanim-core/blob/main/PYTHON.README.md"
},
"split_keywords": [
"zmanim",
" jewish",
" calendar",
" astronomy",
" time",
" zmanim-core"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "4b22715080f8efeb8a9e0a03d2005aa441362c1e2e79fcb062268c13371b17bb",
"md5": "2e907445c8c8998abbc85a75e4ec023b",
"sha256": "d9f4eff663bebe697d5c809b77fb5b5bcd191ce7c027874ad5c11f19dbd7b82f"
},
"downloads": -1,
"filename": "zmanim_core_bindings-0.2.1-py3-none-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "2e907445c8c8998abbc85a75e4ec023b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 392771,
"upload_time": "2025-08-28T04:06:47",
"upload_time_iso_8601": "2025-08-28T04:06:47.450698Z",
"url": "https://files.pythonhosted.org/packages/4b/22/715080f8efeb8a9e0a03d2005aa441362c1e2e79fcb062268c13371b17bb/zmanim_core_bindings-0.2.1-py3-none-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0964e9157f5ea8a2df67b783b658f6f75b2a0fb4fcc9cf63010ec86bbc2e6f8a",
"md5": "0d5abc04dc79ac57f2d26afb62253078",
"sha256": "2557de0719cf2021f4c462d141b0e626692c31c678024f4f8defbd60b0843f0d"
},
"downloads": -1,
"filename": "zmanim_core_bindings-0.2.1-py3-none-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "0d5abc04dc79ac57f2d26afb62253078",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 369384,
"upload_time": "2025-08-28T04:06:46",
"upload_time_iso_8601": "2025-08-28T04:06:46.148284Z",
"url": "https://files.pythonhosted.org/packages/09/64/e9157f5ea8a2df67b783b658f6f75b2a0fb4fcc9cf63010ec86bbc2e6f8a/zmanim_core_bindings-0.2.1-py3-none-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "887ebb984fbce47c51852da52fc613cbec958990e5f83a170e7ac7c12b770b8d",
"md5": "8589b5c73a901fb8fa982213756561cd",
"sha256": "63cbd05738607d5a54aff5bba0a2c1bf2b07d71f202bd0933a16a0cf81adf01e"
},
"downloads": -1,
"filename": "zmanim_core_bindings-0.2.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "8589b5c73a901fb8fa982213756561cd",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 371830,
"upload_time": "2025-08-28T04:06:38",
"upload_time_iso_8601": "2025-08-28T04:06:38.173366Z",
"url": "https://files.pythonhosted.org/packages/88/7e/bb984fbce47c51852da52fc613cbec958990e5f83a170e7ac7c12b770b8d/zmanim_core_bindings-0.2.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "91ecd7cc2066f57b7aabb3fac0f1e6f9d3cb44ad1eec6c545b984a9a030d7aa5",
"md5": "61dda77fd32e5e023d3b93aff5ed4a02",
"sha256": "ed73f6ca1602dba06739b941ccea0d5fc5a83b179dc8fb30b9a5b0761deea45d"
},
"downloads": -1,
"filename": "zmanim_core_bindings-0.2.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"has_sig": false,
"md5_digest": "61dda77fd32e5e023d3b93aff5ed4a02",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 364704,
"upload_time": "2025-08-28T04:06:39",
"upload_time_iso_8601": "2025-08-28T04:06:39.711963Z",
"url": "https://files.pythonhosted.org/packages/91/ec/d7cc2066f57b7aabb3fac0f1e6f9d3cb44ad1eec6c545b984a9a030d7aa5/zmanim_core_bindings-0.2.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c22c882b1bbb4be5e3eee590e31d7c7176ff83c9a64d9a4b380ad2f60de94d42",
"md5": "9470ac2698be3f058832c63a5bca4443",
"sha256": "e0b44f5c4dd2cd53cff0217027c3cad024a490865cc77d8d165f7ff4fb53f849"
},
"downloads": -1,
"filename": "zmanim_core_bindings-0.2.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "9470ac2698be3f058832c63a5bca4443",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 425503,
"upload_time": "2025-08-28T04:06:42",
"upload_time_iso_8601": "2025-08-28T04:06:42.695734Z",
"url": "https://files.pythonhosted.org/packages/c2/2c/882b1bbb4be5e3eee590e31d7c7176ff83c9a64d9a4b380ad2f60de94d42/zmanim_core_bindings-0.2.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ebe753acf7afdcd3091dcb1002ee97caf1e1b970cac5ab866357580399e6137b",
"md5": "c6ce2fa8306b3849b176879d1b66e2c3",
"sha256": "cd8e2ea3fac25e564dce03695584e6fba1be73be6547ca2c402be6e6a8ad7a95"
},
"downloads": -1,
"filename": "zmanim_core_bindings-0.2.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"has_sig": false,
"md5_digest": "c6ce2fa8306b3849b176879d1b66e2c3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 405499,
"upload_time": "2025-08-28T04:06:41",
"upload_time_iso_8601": "2025-08-28T04:06:41.403858Z",
"url": "https://files.pythonhosted.org/packages/eb/e7/53acf7afdcd3091dcb1002ee97caf1e1b970cac5ab866357580399e6137b/zmanim_core_bindings-0.2.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "92d1c5484baa682b34ae5334343540f7912b970e072b9425c112a44db9c889ca",
"md5": "22d3e5081491be34f74e0a4e6c26ba50",
"sha256": "3dcaddd6f80d6cb028b82fcce1f7a99ded6b8d19684423e3f8d0054fc910dbd4"
},
"downloads": -1,
"filename": "zmanim_core_bindings-0.2.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "22d3e5081491be34f74e0a4e6c26ba50",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 393246,
"upload_time": "2025-08-28T04:06:44",
"upload_time_iso_8601": "2025-08-28T04:06:44.109215Z",
"url": "https://files.pythonhosted.org/packages/92/d1/c5484baa682b34ae5334343540f7912b970e072b9425c112a44db9c889ca/zmanim_core_bindings-0.2.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8b8442d05922774192b5662ec139419e023866222a623ed33e611fbc06a0a9dd",
"md5": "fac842569147b69f6798aa0f21bb2288",
"sha256": "6b5b12f4a45372076b493e4e79428a41d72b7f45c2a7d442b64fa96c1c376b78"
},
"downloads": -1,
"filename": "zmanim_core_bindings-0.2.1-py3-none-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "fac842569147b69f6798aa0f21bb2288",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 529600,
"upload_time": "2025-08-28T04:06:48",
"upload_time_iso_8601": "2025-08-28T04:06:48.712805Z",
"url": "https://files.pythonhosted.org/packages/8b/84/42d05922774192b5662ec139419e023866222a623ed33e611fbc06a0a9dd/zmanim_core_bindings-0.2.1-py3-none-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f48a3cc0ff7be102856671e4af4767ba93b1451e93e760ea8ae21ad85dcac1aa",
"md5": "92dd1da80e2923dca6ebd1d5998207ec",
"sha256": "1eb07f1a8ea47fe1df474a9470c2a58da8e6f1024d4f155afbfa9a0fee37f513"
},
"downloads": -1,
"filename": "zmanim_core_bindings-0.2.1-py3-none-musllinux_1_2_armv7l.whl",
"has_sig": false,
"md5_digest": "92dd1da80e2923dca6ebd1d5998207ec",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 624706,
"upload_time": "2025-08-28T04:06:50",
"upload_time_iso_8601": "2025-08-28T04:06:50.302181Z",
"url": "https://files.pythonhosted.org/packages/f4/8a/3cc0ff7be102856671e4af4767ba93b1451e93e760ea8ae21ad85dcac1aa/zmanim_core_bindings-0.2.1-py3-none-musllinux_1_2_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "572806355bebcb7ff1fff41a4cfd552c7c1d3e7415d8b86ee4ee413e321fce9f",
"md5": "a1874af8834899559b823f273e689e4a",
"sha256": "9c6e1b4b76ddedc27109efb5b144bc5a9e8d444bbb13d6ab960e667d5fd48a5d"
},
"downloads": -1,
"filename": "zmanim_core_bindings-0.2.1-py3-none-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "a1874af8834899559b823f273e689e4a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 580146,
"upload_time": "2025-08-28T04:06:51",
"upload_time_iso_8601": "2025-08-28T04:06:51.709189Z",
"url": "https://files.pythonhosted.org/packages/57/28/06355bebcb7ff1fff41a4cfd552c7c1d3e7415d8b86ee4ee413e321fce9f/zmanim_core_bindings-0.2.1-py3-none-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c4690cb56b82e3ce4ecf15309abd1d277dc0751c0b0f0f45af363d8e9d9e4ae3",
"md5": "f63ce14bbc1eab4ad276b2a9b83827fa",
"sha256": "834ed97eafc9e7a733b035d5664420382e1b54e3bae27a6a32b8f2c747ceb115"
},
"downloads": -1,
"filename": "zmanim_core_bindings-0.2.1-py3-none-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "f63ce14bbc1eab4ad276b2a9b83827fa",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 554016,
"upload_time": "2025-08-28T04:06:52",
"upload_time_iso_8601": "2025-08-28T04:06:52.881483Z",
"url": "https://files.pythonhosted.org/packages/c4/69/0cb56b82e3ce4ecf15309abd1d277dc0751c0b0f0f45af363d8e9d9e4ae3/zmanim_core_bindings-0.2.1-py3-none-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ccabc6b0103872826c3f0eac29d82919010e77685188a6a84fe378a42208315f",
"md5": "233085da5e1ecff1f2e79c70e40ccebe",
"sha256": "bad2f2d54d6701a3de537c4e2698430906c0f4d7932e36446a40014f09e55403"
},
"downloads": -1,
"filename": "zmanim_core_bindings-0.2.1-py3-none-win32.whl",
"has_sig": false,
"md5_digest": "233085da5e1ecff1f2e79c70e40ccebe",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 343764,
"upload_time": "2025-08-28T04:06:56",
"upload_time_iso_8601": "2025-08-28T04:06:56.545722Z",
"url": "https://files.pythonhosted.org/packages/cc/ab/c6b0103872826c3f0eac29d82919010e77685188a6a84fe378a42208315f/zmanim_core_bindings-0.2.1-py3-none-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5ec7d715035b246f0b11446ba62907b6bcc4e4b74e54b5160cde2c8895162742",
"md5": "217ece4d0a5533d9c37d781541bf3de0",
"sha256": "879b6970744f08526b7f3a917d7e8999bca140500ea65bc53032c209f2fc665a"
},
"downloads": -1,
"filename": "zmanim_core_bindings-0.2.1-py3-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "217ece4d0a5533d9c37d781541bf3de0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 393158,
"upload_time": "2025-08-28T04:06:55",
"upload_time_iso_8601": "2025-08-28T04:06:55.474961Z",
"url": "https://files.pythonhosted.org/packages/5e/c7/d715035b246f0b11446ba62907b6bcc4e4b74e54b5160cde2c8895162742/zmanim_core_bindings-0.2.1-py3-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "df1884b1684b0a13c3983027dffb8065ab41933d3cd3a55e3b78cadd9a879692",
"md5": "b5ac3745e09e187b3513cae5a0e16867",
"sha256": "bf7e0a63eac883c7ad052be0be5fd074fb1ba68542be38540e18f188b971e16b"
},
"downloads": -1,
"filename": "zmanim_core_bindings-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "b5ac3745e09e187b3513cae5a0e16867",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 751366,
"upload_time": "2025-08-28T04:06:54",
"upload_time_iso_8601": "2025-08-28T04:06:54.417544Z",
"url": "https://files.pythonhosted.org/packages/df/18/84b1684b0a13c3983027dffb8065ab41933d3cd3a55e3b78cadd9a879692/zmanim_core_bindings-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-28 04:06:54",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "dickermoshe",
"github_project": "zmanim-core",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "zmanim-core-bindings"
}