Complete Sunan Abi Dawud — 5,274 hadiths with full Arabic text and English translations. Offline-first, zero dependencies. CLI + Python library.
Project description
🕌 Sunan Abi Dawud
📚 Complete Sunan Abi Dawud for JavaScript — CLI, Node.js, React, Vue, and every bundler. Tiny package, data served from CDN.
📊 Package Statistics
| Metric | Value | Description |
|---|---|---|
| 📚 Total Hadiths | 5,274 | Complete Sunan Abi Dawud collection |
| 📝 Chapters | 1,871 | Detailed chapter organization |
| 📦 Package Size | ~3KB | Core package — data loads from CDN |
| 🔧 Dependencies | 0 | Zero external dependencies |
| 🌐 Bilingual | ✅ | Full Arabic text + English translations |
| 📘 TypeScript | ✅ | Built-in type definitions |
🚀 Installation
npm install sunan-abi-dawud # local
npm install -g sunan-abi-dawud # global CLI
🖥️ CLI Usage
dawud 1 # First hadith
dawud 2345 # Hadith #2345
dawud 23 34 # 34th hadith of chapter 23
dawud 2345 -a # Arabic only
dawud 2345 -b # Arabic + English
dawud --react # Generate React hook in current project
dawud --help
dawud --version
⚛️ React / Vue / Vite
cd my-react-app
dawud --react
# ✓ Generated: src/hooks/useDawud.js
import { useDawud } from '../hooks/useDawud';
function HadithOfTheDay() {
const dawud = useDawud();
if (!dawud) return <p>Loading...</p>;
const hadith = dawud.getRandom();
return (
<div>
<p><strong>{hadith.english.narrator}</strong></p>
<p>{hadith.english.text}</p>
</div>
);
}
🟩 Node.js Usage
// CommonJS
const dawud = require('sunan-abi-dawud');
console.log(dawud.get(1));
console.log(dawud.search('prayer'));
console.log(dawud.getRandom());
console.log(dawud.getByChapter(1));
console.log(dawud.length);
// ESM
import dawud from 'sunan-abi-dawud';
const hadith = dawud.get(23);
console.log(hadith.english.text);
🛠️ API Reference
| Method / Property | Description |
|---|---|
dawud[0] |
Hadith at index 0 |
dawud.get(id) |
Hadith by ID |
dawud.getByChapter(id) |
All hadiths in a chapter |
dawud.search(query) |
Full-text search |
dawud.getRandom() |
Random hadith |
dawud.length |
Total hadiths |
dawud.metadata |
Book metadata |
dawud.chapters |
All chapters |
All native array methods work: find, filter, map, forEach, slice.
📐 Data Structure
{
"id": 1,
"chapterId": 1,
"arabic": "حَدَّثَنَا...",
"english": {
"narrator": "Abu Huraira",
"text": "The Prophet (ﷺ) said..."
}
}
📄 License
GNU Affero General Public License v3.0 (AGPL-3.0)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sunan_abi_dawud-1.0.3.tar.gz.
File metadata
- Download URL: sunan_abi_dawud-1.0.3.tar.gz
- Upload date:
- Size: 1.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff2d0bb5fa727165965a3f855f9b93b74d90e05116d5c8ddcbea94d8dd8658db
|
|
| MD5 |
1fae2eebc121bed7c19b9e9f746bc47e
|
|
| BLAKE2b-256 |
db1076c042a78abb3621af5f692e2f4e9ccdeebc45f6c506acecd2231e29c003
|
File details
Details for the file sunan_abi_dawud-1.0.3-py3-none-any.whl.
File metadata
- Download URL: sunan_abi_dawud-1.0.3-py3-none-any.whl
- Upload date:
- Size: 1.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c53dd69db2b3baeb61aade176540783a570060c31a8f1eb7e1c2bbf14a9c81f2
|
|
| MD5 |
1ae488441e3d8ef378efdaf456b165b8
|
|
| BLAKE2b-256 |
71aee2c26aa7e72e31a4531a1bfc29320ef51ddbbc662c1cc5125b2ec6484ae9
|