/shabbat-api

Hebrew Shabbat Java API

Primary LanguageJavaISC LicenseISC

Hebrew Shabbat Java API

Shabbat API sends requests and serialize responses to and fro HebCal's Shabbat Times REST API

<dependency>
  <groupId>info.tomfi.shabbat</groupId>
  <artifactId>shabbat-api</artifactId>
  <version>3.0.4</version>
</dependency>

requires info.tomfi.shabbat; // module-info.java

import info.tomfi.shabbat.APIRequest;
import info.tomfi.shabbat.ShabbatAPI;

var api = new ShabbatAPI();
var request = APIRequest.builder()
    .forGeoId(281184)
    .withDate(LocalDate.parse("2022-03-04")) // omit the withDate step to fetch the next shabbat
    .build();
var response = api.sendAsync(request).get();

System.out.println(response.location.city); // Jerusalem
System.out.println(response.location.country); // Israel
System.out.println(response.getShabbatStart()); // 2022-03-04T16:59+02:00
System.out.println(response.getShabbatEnd()); // 2022-03-05T18:30+02:00
System.out.println(response.getShabbatParasha()); // Parashat Pekudei
System.out.println(response.isRoshChodesh()); // true

HebCal Shabbat REST API
The GeoNames Database





JBang script available!

$ jbang shabbat_times@tomerfi -g 281184 -d 2022-03-04

Shabbat info for Jerusalem, Israel:
- starts on Friday, 4 March 2022, 16:59
- ends on Saturday, 5 March 2022, 18:30
- the parasha is Parashat Pekudei
- shabbat is rosh chodesh

Snapshots access

Snapshots are deployed to OSSRH:

<repository>
  <id>snapshots-repo</id>
  <url>https://oss.sonatype.org/content/repositories/snapshots</url>
  <releases>
    <enabled>false</enabled>
  </releases>
  <snapshots>
    <enabled>true</enabled>
  </snapshots>
</repository>