Skip to main content

 jami-al-tirmidhi

The complete Jami al-Tirmidhi — 3,956 hadiths, full Arabic & English.
Offline-first · zero dependencies · published on both npm and PyPI.


   

     


✨ Features

Feature Details
📚 Complete Collection All 3,956 authentic hadiths from Jami al-Tirmidhi
🌐 Bilingual Full Arabic text + English translation
⚡ Offline-first Data bundled — no CDN needed
🔧 Zero Dependencies Nothing extra to install
🔍 Full-text Search Search English text and narrator names instantly
🖥️ CLI Terminal access with Arabic/English/both flags
⚛️ React Hook One command generates useTirmidhi()
🐍 Python Identical API — same camelCase method names
📘 TypeScript Full type definitions included

🚀 Installation

npm install jami-al-tirmidhi       # JS local
npm install -g jami-al-tirmidhi    # JS global CLI
pip install jami-al-tirmidhi       # Python

🟨 JavaScript / Node.js

const tirmidhi = require('jami-al-tirmidhi');  // CJS
import tirmidhi from 'jami-al-tirmidhi';       // ESM

tirmidhi.get(1)
tirmidhi.getByChapter(1)
tirmidhi.search('prayer')
tirmidhi.search('prayer', 5)
tirmidhi.getRandom()
tirmidhi[0]
tirmidhi.length
tirmidhi.metadata
tirmidhi.chapters
tirmidhi.find(h => h.id === 23)
tirmidhi.filter(h => h.chapterId === 1)
tirmidhi.slice(0, 10)

⚛️ React

cd my-react-app
tirmidhi --react    # generates src/hooks/useTirmidhi.js
import { useTirmidhi } from '../hooks/useTirmidhi';

function HadithOfTheDay() {
  const tirmidhi = useTirmidhi();
  if (!tirmidhi) return <p>Loading...</p>;
  const h = tirmidhi.getRandom();
  return <div><strong>{h.english.narrator}</strong><p>{h.english.text}</p></div>;
}

🐍 Python

from jami_al_tirmidhi import Tirmidhi

tirmidhi = Tirmidhi()

tirmidhi.get(1)
tirmidhi.getByChapter(1)
tirmidhi.search("prayer")
tirmidhi.search("prayer", limit=5)
tirmidhi.getRandom()
tirmidhi[0]
tirmidhi.length
tirmidhi.find(lambda h: h.id == 23)
tirmidhi.filter(lambda h: h.chapterId == 1)
tirmidhi.slice(0, 10)

# Custom path
tirmidhi = Tirmidhi(data_path="/path/to/tirmidhi.json")

🖥️ CLI

tirmidhi 1
tirmidhi 2345 -a           # Arabic only
tirmidhi 2345 -b           # Arabic + English
tirmidhi 23 34             # Hadith 34 within chapter 23
tirmidhi --search "prayer"
tirmidhi --search "fasting" --all
tirmidhi --chapter 1
tirmidhi --random
tirmidhi --react
tirmidhi --version

📂 Structure

jami-al-tirmidhi/
├── data/
│   ├── tirmidhi.json          ← source of truth (replace with your real data)
│   ├── tirmidhi.json.gz       ← generated (shipped in packages)
│   └── chapters/              ← generated (gitignored)
├── bin/index.js               ← CLI
├── src/                       ← JS source
├── types/index.d.ts
├── python/jami_al_tirmidhi/   ← Python package
├── scripts/build.mjs
├── examples/
├── docs/
└── tests/

🔧 Development

# Place your real tirmidhi.json in data/
node scripts/build.mjs    # compress, generate chapters/, copy to python/

# Test locally before publishing
python -m build --wheel
python -m zipfile -l dist\jami_al_tirmidhi-1.0.0-py3-none-any.whl | findstr "tirmidhi.json.gz"
pip install dist\jami_al_tirmidhi-1.0.0-py3-none-any.whl --force-reinstall
tirmidhi 23

Publishing is automatic via GitHub Actions on every GitHub Release.


📄 License

GNU Affero General Public License v3.0 (AGPL-3.0)


Made with ❤️ for the Muslim community · Seeking knowledge together

Stars

Metadata

Release files for jami-al-tirmidhi 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jami-al-tirmidhi 1.0.0
File Size Uploaded
jami_al_tirmidhi-1.0.0.tar.gz 1.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for jami-al-tirmidhi 1.0.0
File Interpreter ABI Platform
jami_al_tirmidhi-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 3.0 MB

Release files / jami_al_tirmidhi-1.0.0.tar.gz

Download URL jami_al_tirmidhi-1.0.0.tar.gz
Size 1.5 MB
Tags Source
SHA-256 checksum
How to use checksums
ac76a74a3f18c23af1bdf84920dc182885f7e82e5de588305a498653d5bbce1b
BLAKE2b-256 checksum
How to use checksums
fac544fb54b5706f007c9bc0e5253e64b5f8f286d44cb0a277e1c392b0400767
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / jami_al_tirmidhi-1.0.0-py3-none-any.whl

Download URL jami_al_tirmidhi-1.0.0-py3-none-any.whl
Size 1.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
b09f8a834f4a47e5e9ec2649c7333592322fdee32d4a2e8fb31eabcdf600e142
BLAKE2b-256 checksum
How to use checksums
4bcaa3c09d0f3b8c8d173445bba759c50eac31a17c2957bcb0f3f6a1f8773666
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page