MCPcopy Index your code
hub / github.com/KosherJava/zmanim

github.com/KosherJava/zmanim @2.5.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 2.5.0 ↗ · + Follow
646 symbols 1,954 edges 28 files 614 documented · 95%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

KosherJava Zmanim API

The Zmanim library is an API for a specialized calendar that can calculate different astronomical times including sunrise and sunset and Jewish zmanim or religious times for prayers and other Jewish religious duties.

These classes extend GregorianCalendar and can therefore use the standard Calendar functionality to change dates etc. For non religious astronomical / solar calculations use the AstronomicalCalendar.

The ZmanimCalendar contains the most common zmanim or religious time calculations. For a much more extensive list of zmanim use the ComplexZmanimCalendar. This class contains the main functionality of the Zmanim library.

For a basic set of instructions on the use of the API, see How to Use the Zmanim API, zmanim code samples and the KosherJava FAQ. See the KosherJava Zmanim site for additional information.

Get Started

To add KosherJava as a dependency to your project, add the following dependency:

Maven

Add the following to your pom.xml file:

<dependency>
  <groupId>com.kosherjava</groupId>
  <artifactId>zmanim</artifactId>
  <version>2.4.0</version>
</dependency>

Gradle

Add the following to your build.gradle file:

implementation group: 'com.kosherjava', name: 'zmanim', version: '2.4.0'

License

The library is released under the LGPL 2.1 license.

Ports to Other Languages

The KosherJava Zmanim API has been ported to: * Objective-C / Swift - https://github.com/MosheBerman/KosherCocoa * .NET - https://github.com/Yitzchok/Zmanim * JavaScript / TypeScript - https://github.com/BehindTheMath/KosherZmanim and https://github.com/yparitcher/zmanJS * Ruby - https://github.com/pinnymz/ruby-zmanim * Scala - https://github.com/nafg/jewish-date * C - https://github.com/yparitcher/libzmanim * Python - https://github.com/pinnymz/python-zmanim & https://pypi.org/project/zmanim/ * PHP - https://github.com/zachweix/PhpZmanim/ * Dart / Flutter - https://github.com/yakir8/kosher_dart * Go - https://github.com/vlipovetskii/go-zmanim

Web Api

There is a web api that returns json or xml and is based on the .NET port. It is available at https://wyrezmanim.herokuapp.com

Source code for the web api if you would like to self host is at https://github.com/greatjack1/dotnetcoreZmanim

ZmanCode Desktop App

The .NET port was used to create a desktop app that is available at https://github.com/NykUser/MyZman.

Disclaimer:

While I did my best to get accurate results, please double check before relying on these zmanim for halacha lemaaseh.


GitHub release (latest SemVer) GitHub GitHub last commit CodeQL Run unit tests Snyk Vulnerabilities for GitHub Repo

Core symbols most depended-on inside this repo

getJewishDayOfMonth
called by 103
src/main/java/com/kosherjava/zmanim/hebrewcalendar/JewishDate.java
getJewishMonth
called by 73
src/main/java/com/kosherjava/zmanim/hebrewcalendar/JewishDate.java
getTimeOffset
called by 42
src/main/java/com/kosherjava/zmanim/AstronomicalCalendar.java
getCalendar
called by 35
src/main/java/com/kosherjava/zmanim/AstronomicalCalendar.java
getTime
called by 35
src/main/java/com/kosherjava/zmanim/util/Time.java
getSunsetOffsetByDegrees
called by 31
src/main/java/com/kosherjava/zmanim/AstronomicalCalendar.java
setDate
called by 30
src/main/java/com/kosherjava/zmanim/hebrewcalendar/JewishDate.java
getGregorianMonth
called by 30
src/main/java/com/kosherjava/zmanim/hebrewcalendar/JewishDate.java

Shape

Method 620
Class 25
Enum 1

Languages

Java100%

Modules by API surface

src/main/java/com/kosherjava/zmanim/ComplexZmanimCalendar.java186 symbols
src/main/java/com/kosherjava/zmanim/hebrewcalendar/JewishCalendar.java66 symbols
src/main/java/com/kosherjava/zmanim/hebrewcalendar/JewishDate.java63 symbols
src/main/java/com/kosherjava/zmanim/hebrewcalendar/TefilaRules.java39 symbols
src/main/java/com/kosherjava/zmanim/AstronomicalCalendar.java36 symbols
src/main/java/com/kosherjava/zmanim/hebrewcalendar/HebrewDateFormatter.java35 symbols
src/main/java/com/kosherjava/zmanim/ZmanimCalendar.java28 symbols
src/main/java/com/kosherjava/zmanim/util/NOAACalculator.java25 symbols
src/main/java/com/kosherjava/zmanim/util/GeoLocation.java25 symbols
src/main/java/com/kosherjava/zmanim/util/SunTimesCalculator.java18 symbols
src/main/java/com/kosherjava/zmanim/hebrewcalendar/Daf.java18 symbols
src/main/java/com/kosherjava/zmanim/util/ZmanimFormatter.java16 symbols

For agents

$ claude mcp add zmanim \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact