Spaces:
Sleeping
Daily Psalms API
A JSON API for finding daily psalms, quran suras, and bible verses based on name and date inputs.
Overview
The Daily Psalms API provides endpoints to find meaningful religious texts based on a person's name and a specific date. It uses gematria (numerical values assigned to letters) to make these connections.
API Endpoints
GET /api/psalm
Returns a daily psalm based on name and date.
Parameters:
name(optional): The name to use in calculationdate: The date in YYYY-MM-DD format (default: current date)adjusted_sum: Whether to adjust the gematria sum (true/false, default: true)language: Language for translations (default: English)
Example Response:
{
"input": {
"name": "John",
"date": "2025-06-07",
"date_words": "June seventh two thousand twenty-five",
"language": "English",
"language_code": "en",
"initial_gematria_sum": 1234
},
"els_result": {
"text": "exampletext",
"step": 42,
"book": "Genesis",
"gematria_sum": 567
},
"psalm": {
"words": "Example psalm text",
"chapter": 23,
"verse": 1,
"reference": "Psalms 23:1",
"url": "https://www.biblegateway.com/passage/?search=Psalms+23&version=CJB"
}
}
GET /api/sura
Returns a daily Quran sura based on name and date.
Parameters:
name(optional): The name to use in calculationdate: The date in YYYY-MM-DD format (default: current date)adjusted_sum: Whether to adjust the gematria sum (true/false, default: true)language: Language for translations (default: English)
GET /api/bible
Returns a daily Bible verse based on name and date.
Parameters:
name(optional): The name to use in calculationdate: The date in YYYY-MM-DD format (default: current date)adjusted_sum: Whether to adjust the gematria sum (true/false, default: true)language: Language for translations (default: English)
GET /api/all
Returns all results (psalm, sura, bible) in a single request.
Parameters:
name(optional): The name to use in calculationdate: The date in YYYY-MM-DD format (default: current date)adjusted_sum: Whether to adjust the gematria sum (true/false, default: true)language: Language for translations (default: English)
Example Response:
{
"input": {
"name": "John",
"date": "2025-06-07",
"date_words": "June seventh two thousand twenty-five",
"language": "English",
"language_code": "en",
"initial_gematria_sum": 1234
},
"psalm": {
"words": "Example psalm text",
"chapter": 23,
"verse": 1,
"reference": "Psalms 23:1",
"url": "https://www.biblegateway.com/passage/?search=Psalms+23&version=CJB",
"els_result": {
"text": "exampletext",
"step": 42,
"book": "Genesis",
"gematria_sum": 567
}
},
"sura": {
"book": "Al-Fatiha",
"chapter": 1,
"verse": 1,
"words": "Example sura text",
"reference": "Quran 1:1",
"url": "https://quran.com/1/1",
"els_result": {
"text": "exampletext",
"step": 42,
"gematria_sum": 789
}
},
"bible": {
"book_id": 66,
"book_name": "Revelation",
"chapter": 12,
"num_verses": 21,
"reference": "Revelation 12",
"url": "https://www.biblegateway.com/passage/?search=Revelation+12&version=CJB",
"els_result": {
"text": "exampletext",
"step": 42,
"book": "Matthew",
"gematria_sum": 890
}
}
}
GET /api/languages
Returns the list of available languages for translation.
Installation
- Clone the repository
- Install dependencies:
pip install -r requirements.txt
- Make sure you have the necessary database files:
- gematria.db
- els_cache.db
- abjad.db
- bible.db
Usage
Run the API server:
python app.py
The server will start on port 5000 by default.
Structure
app.py: Main API applicationgematria.py: Functions for calculating gematria valuesutils.py: Utility functions for date formatting and translationbible.py: Bible text processing functionstorah.py: Torah text processing functionsquran.py: Quran text processing functionstexts/: Directory containing text files in JSON format
License
This project is open source and available under the MIT License.