isnady 0.1.9 → 0.2.1

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 +39 -15
  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/badge/PyPI-v0.1.9-1D4777?style=for-the-badge&logo=pypi&logoColor=white" alt="PyPI">
11
+ <img src="https://img.shields.io/badge/PyPI-v0.2.1-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/badge/npm-v0.1.9-14304F?style=for-the-badge&logo=npm" alt="npm">
16
+ <img src="https://img.shields.io/badge/npm-v0.2.1-14304F?style=for-the-badge&logo=npm" alt="npm">
17
17
  </a>
18
18
  <a href="https://github.com/bayramkotan/isnady-data">
19
19
  <img src="https://img.shields.io/badge/data-isnady--data-2E6B4F?style=for-the-badge&logo=github" alt="isnady-data">
@@ -45,7 +45,7 @@
45
45
  <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">
46
46
  </p>
47
47
 
48
- > **Pre-alpha (0.1.9).** Search, chains of transmission, narrators, books, scholars, statistics and
48
+ > **Pre-alpha (0.2.1).** Search, chains of transmission, narrators, books, scholars, statistics and
49
49
  > the glossary work today, Sunni and Shia, on data you import in one click. Everything is built in
50
50
  > the open, one piece at a time.
51
51
 
@@ -194,8 +194,11 @@ when its chain reader has changed (a minute or two, once).
194
194
 
195
195
  `iy doctor` lists every copy and which one each command really starts — an older copy in the user
196
196
  folder can start before a newer one elsewhere, so every copy is kept at the same version. The same
197
- report is under **Help → Check Installation**. If an old copy starts even for `iy update`, run
198
- `python3 -s -m isnady update` (Windows: `py -s -m isnady update`).
197
+ report is under **Help → Check Installation** (and the ⚠ button in the sidebar when something is behind), with an
198
+ **Update** button that does what `iy update` does: every copy updated where it is, the output shown as it comes; a
199
+ copy installed for all users asks for the administrator password in the system's own window (pkexec on Linux, the
200
+ administrator prompt on Windows). If an old copy starts even for `iy update`, run `python3 -s -m isnady update`
201
+ (Windows: `py -s -m isnady update`).
199
202
 
200
203
  ---
201
204
 
@@ -329,7 +332,7 @@ without authentication (credentials are never stored), are read as well.
329
332
  | **Match** | All words, any word, the exact phrase — or by meaning (AI, below) |
330
333
  | **Books** | All books, all Sunni, all Shia, or any few ticked one by one |
331
334
  | **Order** | Book by book in the order of the book lists — Sahih al-Bukhari, Sahih Muslim, Sunan Abi Dawud … then the Shia books — and within a book by its numbering |
332
- | **Language** | One language to search in; the languages you do not read are folded behind an arrow on each hadith, a click opens them |
335
+ | **Language** | One language to search in; the languages you do not read are folded behind an arrow on each hadith, a click opens them. The list holds the languages imported; the languages the same books have in isnady-data (Urdu, Indonesian, Bengali, French, Russian, Tamil) are named at its end — choosing them opens **File → Data Sources** to import them |
333
336
  | **Active books** | A book can be switched off in **Settings → Books and languages**: it stays imported but is left out of searches, book lists and statistics until switched on |
334
337
  | **Grades** | Shown under each hadith with the scholar's name, exactly as given, and explained when you point at them |
335
338
  | **Highlighting** | On the original, diacritised text, diacritics included |
@@ -483,6 +486,12 @@ al-Najashi's *Rijal* read entry by entry, each narrator a click away. Find withi
483
486
  the previous or next one, and isnady remembers where you were. From any search result, **In its
484
487
  book** opens the hadith where it stands, among the hadith of its chapter.
485
488
 
489
+ Book and chapter titles follow the interface language: the sources give chapter titles in English only, so
490
+ isnady carries its own — all 642 chapter titles of the 33 books in Turkish and in Arabic ("Vahyin Başlangıcı",
491
+ "كتاب بدء الوحي" for "Revelation"), and the Arabic titles a source gives itself where it has them (al-Adab
492
+ al-Mufrad, Bulugh al-Maram, Mishkat, Riyad al-Salihin, al-Shama'il). The book titles too: *Sahîh-i Buhârî*,
493
+ *صحيح البخاري*.
494
+
486
495
  The shelf holds the Sunni and the Shia books together, each under its own heading — *All*, *Sunni*
487
496
  or *Shia* at the top shows one of them alone — and every Shia book carries a gold *Shia* tag. Books
488
497
  are not tied to hadith collections: a work is a tree of any depth (volume, book, chapter, section)
@@ -508,7 +517,10 @@ The scholars whose work is in the imported data, and what the data measures of i
508
517
  (their collection, the teachers their chains begin with, the Companions they end with), **graders**
509
518
  (how they grade, and how far they agree with each other on the same hadith — agreement, Cohen's
510
519
  kappa, and a strictness index: the classical *mutashaddid* / *mutasahil*, measured), and **critics**
511
- of narrators. On Sunan Abi Dawud, for example, Zubair 'Ali Za'i grades most strictly (−0.21) and
520
+ of narrators — Sunni and Shia on one page (*All / Sunni / Shia*), each by his own road: al-Kulayni,
521
+ al-Saduq, al-Mufid and al-Tusi with their chains counted to a Ma'sum; al-Majlisi and al-Behbudi compared
522
+ only with each other on the four Imami grades (sahih, hasan, muwaththaq, da'if); al-Najashi's verdicts in
523
+ the Imami terms. On Sunan Abi Dawud, for example, Zubair 'Ali Za'i grades most strictly (−0.21) and
512
524
  agrees with al-Albani on 70% of the hadith; the page also flags a pair of graders whose 98%
513
525
  agreement suggests the source did not keep them independent.
514
526
 
@@ -520,7 +532,10 @@ agreement suggests the source did not keep them independent.
520
532
 
521
533
  ## 📊 Statistics
522
534
 
523
- Measured in depth, each figure with what it means in plain words and how sure it is. Grades are
535
+ Measured in depth, each figure with what it means in plain words and how sure it is — on two roads:
536
+ *All Sunni books* (Ibn Hajar's ranks, chains to the Prophet ﷺ) and *All Shia books* (al-Najashi's Imami
537
+ categories, chains to a Ma'sum; al-Majlisi's and al-Behbudi's grades in the four Imami categories —
538
+ sahih, hasan, muwaththaq, da'if), never mixed. Every section is measured on both roads. Grades are
524
539
  ordered categories, so they are never turned into numbers or averaged, and no figure is read
525
540
  against the science of hadith: the statistics measure what the scholars did, they do not overrule
526
541
  it. Every result is computed once and saved as JSON in your data folder (`derived/`).
@@ -563,9 +578,9 @@ chain (mutawatir, mursal, munqati', mu'allaq, mudallas …), chain and text (mut
563
578
  takhrij, madar), the ways of receiving (sama', ijaza, haddathana, 'an), judging narrators (the
564
579
  twelve ranks of Ibn Hajar, thiqa, saduq, majhul, matruk, mudallis), generations, the parts of an
565
580
  Arabic name, the Imami grades (sahih, hasan, muwaththaq, da'if), the books, and isnady's own
566
- measures. Each with its Arabic, a one-line and a longer definition in **English or Turkish**,
567
- related terms one click away, and its source. The grades on every result explain themselves when
568
- you point at them. `iy term mursal --lang tr`.
581
+ measures. Each with its Arabic, a one-line and a longer definition in **English, Turkish or Arabic** — in the interface language when the glossary
582
+ has it — related terms one click away, and its source. The grades on every result explain themselves
583
+ when you point at them. `iy term mursal --lang tr`, `iy term mursal --lang ar`.
569
584
 
570
585
  <p align="center">
571
586
  <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">
@@ -615,6 +630,15 @@ Bengali and Tamil today. The light and the dark theme each keep their own colour
615
630
  font can be changed too. **Edit → Preferences** (Ctrl + ,) applies every change at once; each row
616
631
  has its own Default button.
617
632
 
633
+ **Interface language** (sidebar, or **View → Interface Language**): menus, pages, buttons, messages and the
634
+ statistics are in **English, Türkçe and العربية** — Arabic right to left, the whole window mirrored. The list
635
+ already names 24 languages, each in its own name with how much of it is translated (Deutsch, Français,
636
+ Español, Português, Русский, Bahasa Indonesia, Bahasa Melayu, हिन्दी, اردو, বাংলা, 中文, 日本語, 한국어,
637
+ فارسی, دری, پښتو, Azərbaycanca, Oʻzbekcha, Bosanski, Kiswahili, Hausa); a text not translated yet is shown in
638
+ English, and the translations follow release by release. The window is rebuilt in the new language at once,
639
+ nothing to restart. `iy config set view.ui_language tr`. The hadith texts keep their own languages
640
+ (**Content languages**), the command line stays in English.
641
+
618
642
  <p align="center">
619
643
  <img src="https://raw.githubusercontent.com/bayramkotan/isnady/main/assets/screenshots/preferences.png" alt="Preferences — font, size, line spacing and colour for each script" width="760">
620
644
  </p>
@@ -665,7 +689,7 @@ command line never loads Qt. Every command that takes a book accepts its full na
665
689
  | `iy scholar [NAME]` | `iy scholar albani` | The scholars in the data, or one of them with his measured statistics |
666
690
  | `iy tahric BOOK NUMBER` | `iy tahric bukhari 1` | Other narrations of a hadith in the imported books (takhrij) |
667
691
  | `iy stats [SECTION]` | `iy stats graders --book abudawud` | `corpus`, `narrators`, `chains`, `grades`, `books`, `graders`, `model`, `lab`; `--csv DIR`, `--recompute` |
668
- | `iy term [NAME]` | `iy term --search tadlis` | The glossary, English or Turkish (`--lang tr`) |
692
+ | `iy term [NAME]` | `iy term --search tadlis` | The glossary, English, Turkish or Arabic (`--lang tr`, `--lang ar`) |
669
693
  | `iy ai build` | `iy ai status` | Learn the meaning index from the imported texts |
670
694
  | `iy catalog list` | `iy catalog list --repo lk-hadith-corpus` | The books of the repository in use, and your own, with what is imported |
671
695
  | `iy catalog import ID` | `iy catalog import sahih_muslim --language tur` | Import a book; `--all` imports every one; `remove`, `add`, `delete` manage the list |
@@ -713,8 +737,7 @@ Sunan Abu Dawud #472
713
737
  ## 🗺️ Roadmap
714
738
 
715
739
  - **Shia narrators, further** — al-Tusi's *Rijal* and *Fihrist* and al-Kashshi's reports; names
716
- resolved by teacher and student; the Shia books' statistics by the Imami scholars' grades, and a
717
- Sunni–Shia comparison.
740
+ resolved by teacher and student; a Sunni–Shia comparison.
718
741
  - **More in isnady-data** — al-Tusi's *Tahdhib al-Ahkam* and *al-Istibsar*, al-Saduq's *Man la
719
742
  yahduruhu al-faqih*; al-Hakim's *Mustadrak*, al-Bayhaqi's *Sunan*, the *Mu'jam*s.
720
743
  - **Narrators** — the other half of the names identified through teachers and students (al-Mizzi's
@@ -723,7 +746,8 @@ Sunan Abu Dawud #472
723
746
  - **Statistics in plain words** — every finding said simply first, the method after.
724
747
  - **Settings and export** — every setting in one place, export in every common format (named by the
725
748
  books' full names), reset and remove from inside the window.
726
- - **Twenty interface languages.**
749
+ - **Every interface language in full** — the 21 listed after English, Türkçe and العربية; the command line
750
+ and the glossary in them too.
727
751
  - **isnady.net** — the same engine on the web.
728
752
 
729
753
  ---
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.9";
9
+ export const version = "0.2.1";
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.9",
3
+ "version": "0.2.1",
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",