isnady 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +56 -6
  2. package/index.js +1 -1
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -8,12 +8,12 @@
8
8
 
9
9
  <p align="center">
10
10
  <a href="https://pypi.org/project/isnady/">
11
- <img src="https://img.shields.io/pypi/v/isnady?style=for-the-badge&color=1D4777&logo=pypi&logoColor=white" alt="PyPI">
11
+ <img src="https://img.shields.io/badge/PyPI-v0.1.4-1D4777?style=for-the-badge&logo=pypi&logoColor=white" alt="PyPI">
12
12
  </a>
13
13
  <img src="https://img.shields.io/pypi/pyversions/isnady?style=for-the-badge&color=A47E24&logo=python&logoColor=white" alt="Python">
14
14
  <img src="https://img.shields.io/badge/Platform-Windows%20%7C%20Linux%20%7C%20macOS-5B6878?style=for-the-badge" alt="Platform">
15
15
  <a href="https://www.npmjs.com/package/isnady">
16
- <img src="https://img.shields.io/npm/v/isnady?style=for-the-badge&color=14304F&logo=npm&label=npm" alt="npm">
16
+ <img src="https://img.shields.io/badge/npm-v0.1.4-14304F?style=for-the-badge&logo=npm" alt="npm">
17
17
  </a>
18
18
  <img src="https://img.shields.io/badge/License-MIT-D6B25E?style=for-the-badge" alt="License">
19
19
  </p>
@@ -27,6 +27,8 @@
27
27
  <a href="#-hadith-scholars">Scholars</a> •
28
28
  <a href="#-books">Books</a> •
29
29
  <a href="#-shia-rijal">Shia Rijal</a> •
30
+ <a href="#-statistics">Statistics</a> •
31
+ <a href="#-learn">Learn</a> •
30
32
  <a href="#-search-by-meaning-ai">Meaning (AI)</a> •
31
33
  <a href="#-chains-of-transmission">Chains</a> •
32
34
  <a href="#-educational-by-design">Educational</a> •
@@ -41,7 +43,7 @@
41
43
  <img src="https://raw.githubusercontent.com/bayramkotan/isnady/main/assets/screenshots/search-arabic.png" alt="Searching النيات finds بالنيات in Sahih al-Bukhari 1, with the chain above the text" width="850">
42
44
  </p>
43
45
 
44
- > **Pre-alpha (0.1.2).** Search and chains of transmission work today, on data you import
46
+ > **Pre-alpha (0.1.4).** Search and chains of transmission work today, on data you import
45
47
  > in one command. Narrators, scholars, gradings and the rest are being built, in the open.
46
48
 
47
49
  ---
@@ -88,9 +90,12 @@ everything included, the AI features too:
88
90
 
89
91
  | System | File |
90
92
  |---|---|
91
- | Windows 10/11 | `isnady-<version>-windows-setup.exe` — Windows may say the publisher is unknown (the app is not signed): *More info → Run anyway* |
93
+ | Windows 10/11 | `isnady-<version>-windows-portable.exe` — Windows may say the publisher is unknown (the app is not signed): *More info → Run anyway* |
92
94
  | Linux | `isnady-<version>-linux-x86_64.AppImage` — make it executable (`chmod +x`) and run it |
93
- | macOS, Apple silicon / Intel | `isnady-<version>-macos-arm64.dmg` / `…-macos-x86_64.dmg` — the first time, right-click the app and choose *Open* (it is not notarized) |
95
+ | macOS, Apple silicon / Intel | `isnady-<version>-macos-arm64.zip` / `…-macos-x86_64.zip` — unzip and run `isnady.app`; the first time, right-click it and choose *Open* (it is not notarized) |
96
+
97
+ All three are **portable**: nothing is installed, each runs from wherever it is. Put a folder named
98
+ `isnady-data` beside the file and isnady keeps its databases and settings there — isnady on a USB stick.
94
99
 
95
100
  Put isnady on the desktop and in the applications menu with **Tools → Create Desktop Shortcut** (or
96
101
  `iy shortcut`): the shortcut starts isnady the way it is installed — the AppImage, the application, or the
@@ -290,6 +295,43 @@ the Shia narrators are kept apart from the (Sunni) chains: no chain link is matc
290
295
  Next: al-Tusi's *Rijal* and *Fihrist*, al-'Allama al-Hilli's *Khulasat al-aqwal*, Ibn Dawud's
291
296
  *Rijal*, al-Kashshi's reports, and the Four Books with their chains.
292
297
 
298
+ ### 📊 Statistics
299
+
300
+ Measured in depth, each figure with what it means and how sure it is. Grades are ordered
301
+ categories, so they are never turned into numbers or averaged. The first tab, **Graders**, takes
302
+ the scholars who graded a book (al-Albani, Shu'ayb al-Arna'ut, Zubair 'Ali Za'i, Muhammad Muhyi
303
+ al-Din 'Abd al-Hamid on Sunan Abi Dawud) and shows:
304
+
305
+ - agreement of every pair — same grade, Cohen's kappa and the ordinal kappa — with 95% intervals,
306
+ and Krippendorff's alpha for all of them together;
307
+ - a **Dawid–Skene model** of each hadith's true grade: each grader's confusion matrix (how he grades
308
+ a hadith of each true grade) and, for every hadith, how sure the model is;
309
+ - **strictness** — the classical *mutashaddid* and *mutasahil*, measured by order only, with intervals;
310
+ - the **disputed hadith**, where the scholars are furthest apart — a double-click opens one in its book.
311
+
312
+ Two graders who agree far too often to be independent (98.1%) count as one voice in the model,
313
+ and the page says so. Results are computed once and kept in a file. `iy stats graders`.
314
+ Narrators, books, hadith, chains, correlations and the models follow, tab by tab.
315
+
316
+ <p align="center">
317
+ <img src="https://raw.githubusercontent.com/bayramkotan/isnady/main/assets/screenshots/statistics.png" alt="Statistics — the graders of Sunan Abi Dawud: Krippendorff's alpha, agreement with intervals, the model's certainty" width="850">
318
+ </p>
319
+
320
+ ### 🎓 Learn
321
+
322
+ The terms of hadith and its sciences, written for isnady with their classical sources: 81 terms —
323
+ the grades (sahih, hasan, da'if, mawdu', shadhdh, munkar, mu'allal), the kinds of hadith by their
324
+ chain (mutawatir, mursal, munqati', mu'allaq, mudallas …), chain and text (mutaba'a, shahid,
325
+ takhrij, madar), the ways of receiving (sama', ijaza, haddathana, 'an), judging narrators (the
326
+ twelve ranks of Ibn Hajar, thiqa, saduq, majhul, matruk, mudallis), generations, the parts of an
327
+ Arabic name, Imami rijal, the books, and isnady's own measures. Each with its Arabic, a one-line
328
+ and a longer definition in **English or Turkish**, related terms one click away, and its source.
329
+ The grades on every result explain themselves when you point at them. `iy term mursal --lang tr`.
330
+
331
+ <p align="center">
332
+ <img src="https://raw.githubusercontent.com/bayramkotan/isnady/main/assets/screenshots/learn.png" alt="Learn — the term mursal: Arabic, definition, related terms and source" width="850">
333
+ </p>
334
+
293
335
  ### 🧠 Search by meaning (AI)
294
336
 
295
337
  Choose **Match → By meaning (AI)** to find hadith that say the same thing in other words or in
@@ -404,6 +446,12 @@ each shown on real hadith and real chains — is on the roadmap.
404
446
 
405
447
  ## 🎨 Appearance
406
448
 
449
+ Seven themes, chosen in **Edit → Preferences → Themes** — each shown as a small live isnady window —
450
+ or in **View → Theme**: *Lapis* (lapis and gold of illuminated manuscripts) and *Lapis Night*, which
451
+ "Follow system" switches between; *Paper* (warm cream and ink, for long reading); *Slate* (quiet and
452
+ modern, with a light sidebar); *Emerald*; *Midnight* (deep dark with teal); and *High Contrast*
453
+ (black, white and yellow, for low vision). `iy config set view.theme paper`.
454
+
407
455
  Every script has its own reading font, size, colour and line spacing — Arabic, Latin,
408
456
  Cyrillic, Bengali and Tamil today, more as sources in other scripts arrive. The light and
409
457
  the dark theme each keep their own colours, and the interface font can be changed too.
@@ -464,6 +512,8 @@ script. The command line never loads Qt.
464
512
  | `iy ai build` | `isnady ai build` | Learn the meaning index from the imported texts (`iy ai status` to check) |
465
513
  | `iy import najashi FILE` | `isnady catalog import najashi` | al-Najashi's Rijal: Shia narrators read on the Imami scale, and the book |
466
514
  | `iy shortcut` | `isnady shortcut --no-desktop` | A desktop and applications-menu shortcut, with isnady's icon |
515
+ | `iy term [NAME]` | `isnady term --search tadlis` | The glossary: a term's meaning, English or Turkish (`--lang tr`) |
516
+ | `iy stats graders` | `isnady stats graders --book abudawud` | The graders of a book in depth: agreement, model, strictness |
467
517
  | `iy book [KEY [CHAPTER]]` | `isnady book bukhari 2` | The books; a book's chapters; a chapter read in order |
468
518
  | `iy scholar [NAME]` | `isnady scholar albani` | The scholars in the data, or one of them with his measured statistics |
469
519
  | `iy tahric BOOK NUMBER` | `isnady tahric bukhari 1` | Other narrations of a hadith in the imported books (takhrij) |
@@ -551,7 +601,7 @@ Python 3.10 or newer and PySide6. The command line alone needs no PySide6.
551
601
 
552
602
 
553
603
  The desktop application of your own system: `pip install ".[ai]" pyinstaller`, then
554
- `python packaging/build_app.py linux|windows|macos VERSION` (Windows also needs Inno Setup).
604
+ `python packaging/build_app.py linux|windows|macos VERSION`.
555
605
 
556
606
  ## 📝 License
557
607
 
package/index.js CHANGED
@@ -6,7 +6,7 @@
6
6
  * database (used by both the Python and JavaScript packages) exists.
7
7
  */
8
8
 
9
- export const version = "0.1.2";
9
+ export const version = "0.1.4";
10
10
  export const name = "isnady";
11
11
 
12
12
  /** Returns basic package information. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isnady",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Hadith search with full isnad chains, narrator biographies, jarh wa ta'dil verdicts and reliability scores",
5
5
  "type": "module",
6
6
  "main": "./index.js",