isnady 0.3.2 → 0.3.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.
- package/README.md +54 -15
- package/index.js +1 -1
- 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.3.
|
|
11
|
+
<img src="https://img.shields.io/badge/PyPI-v0.3.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/badge/npm-v0.3.
|
|
16
|
+
<img src="https://img.shields.io/badge/npm-v0.3.4-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.3.
|
|
48
|
+
> **Pre-alpha (0.3.4).** 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
|
|
|
@@ -204,9 +204,11 @@ administrator prompt on Windows). If an old copy starts even for `iy update`, ru
|
|
|
204
204
|
|
|
205
205
|
## 🚀 Quick Start
|
|
206
206
|
|
|
207
|
-
1. **Open isnady** — `iy`, or the desktop application.
|
|
207
|
+
1. **Open isnady** — `iy`, or the desktop application. The first time, with no books yet, it offers to import
|
|
208
|
+
isnady-data at once, in the background.
|
|
208
209
|
2. **File → Data Sources.** The repository is already chosen: **isnady-data**. Tick the books and
|
|
209
|
-
the languages you want and press **Import** — or **Import all**.
|
|
210
|
+
the languages you want and press **Import** — or **Import all**. **Languages for every book** adds a language to
|
|
211
|
+
all the books that have it (or takes it out of all of them) in one step.
|
|
210
212
|
3. **Import the narrators too** — Ibn Hajar's *Taqrib* for the Sunni books, al-Najashi's *Rijal*
|
|
211
213
|
for the Shia books — and every name in every chain is matched to its narrator.
|
|
212
214
|
4. **Search**, open a chain, open a narrator, read a book.
|
|
@@ -340,6 +342,8 @@ without authentication (credentials are never stored), are read as well.
|
|
|
340
342
|
| **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 |
|
|
341
343
|
| **Grades** | Shown under each hadith with the scholar's name, exactly as given, and explained when you point at them |
|
|
342
344
|
| **Highlighting** | On the original, diacritised text, diacritics included |
|
|
345
|
+
| **Recent searches** | The last twenty, under the examples on the start page — a click searches again, one link forgets them all; kept with your profile. `iy search --recent`, `iy search --clear-recent` |
|
|
346
|
+
| **Home** | ⌂ beside the box (Alt+Home) brings the page back to how it opens: no words, every filter at its default. Esc empties the box |
|
|
343
347
|
| **Narrators and scholars** | The same box finds narrators — Sunni and Shia, each marked — and scholars, by Arabic or Latin name |
|
|
344
348
|
|
|
345
349
|
Results appear at once and fill in as you read; the window never waits for them.
|
|
@@ -371,7 +375,17 @@ Sahih al-Bukhari 1
|
|
|
371
375
|
In the window, each result shows its chain as a row of names ending at whom it reaches, and
|
|
372
376
|
**View chain** opens it as a timeline from the book to the Prophet ﷺ — or, in a Shia book, to the
|
|
373
377
|
Imam — with the Arabic text below: the chain in lighter ink, the text of the hadith in full ink.
|
|
374
|
-
Every link says who the narrator is and what his critic says of him; a click opens him
|
|
378
|
+
Every link says who the narrator is and what his critic says of him; a click anywhere on him opens him, and pointing
|
|
379
|
+
at him says how he was identified (by his name, by the narrators around him, or as the famous one of that name). A
|
|
380
|
+
name not identified looks for its narrators on Search; the book at the top opens the hadith in its book; the
|
|
381
|
+
Prophet ﷺ at the end opens his life in the Genealogies (on road B, the Imam the chain reaches). The chains drawn
|
|
382
|
+
on the cards of Search and Books open the same way, name by name, and every teacher and student named in a life
|
|
383
|
+
looks for himself among the narrators.
|
|
384
|
+
|
|
385
|
+
Choose a book and a number, or let isnady choose: the number field shows the book's range ("1 – 7563 · 7,583
|
|
386
|
+
hadith"), the arrow keys and the mouse wheel go to the next or the previous hadith, typing lists the numbers that
|
|
387
|
+
begin so, a number the book does not have offers the nearest, and **Random hadith** picks one. `iy chain kafi`
|
|
388
|
+
prints the range.
|
|
375
389
|
|
|
376
390
|
<p align="center">
|
|
377
391
|
<img src="https://raw.githubusercontent.com/bayramkotan/isnady/main/assets/screenshots/chain.png" alt="Isnad Chains — the chain of Sahih al-Bukhari 1 as a timeline from the book to the Prophet" width="850">
|
|
@@ -488,8 +502,15 @@ The **Narrators** page lists every narrator of the imported rijal works — **Al
|
|
|
488
502
|
"al-Hasan" — and isnady reads each name against the Taqrib (or al-Najashi on road B) by the name itself, the
|
|
489
503
|
generation, the books, and then by its neighbours: whom the same pair of teacher and student is in the chains where
|
|
490
504
|
they are named in full; a client named "mawla of X" by his patron; the well-known men a bare name means in a given
|
|
491
|
-
circle (Ibrahim from 'Alqama is al-Nakha'i, Abu Ishaq from al-Bara' is al-Sabi'i
|
|
492
|
-
|
|
505
|
+
circle (Ibrahim from 'Alqama is al-Nakha'i, Abu Ishaq from al-Bara' is al-Sabi'i, al-Humaydi's Sufyan is Ibn
|
|
506
|
+
'Uyayna, Abu Nu'aym's al-Thawri, "Hisham from his father" Hisham b. 'Urwa); and last, a bare name still open is the
|
|
507
|
+
famous man of that name when nothing else excludes him ("Anas" Anas b. Malik, "Malik" Malik b. Anas, "Ibn 'Umar"
|
|
508
|
+
'Abd Allah b. 'Umar). The unnamed men of the Taqrib ("'Ata' b. Yasar from one of the Companions") are never matched
|
|
509
|
+
to a name. On road B the same help reads al-Kulayni's chains: his teachers named short ("'Ali b. Ibrahim" b. Hashim
|
|
510
|
+
al-Qummi, "Muhammad b. Yahya" al-'Attar), the nisbas and kunyas the chains use alone (al-Sakuni, al-Nawfali, Abu
|
|
511
|
+
Basir, al-Halabi, Ibn Faddal) and "from his father" read from the son's full name ("'Ali b. Ibrahim from his father"
|
|
512
|
+
is Ibrahim b. Hashim). About 273,000 links are identified this way — two of every three in the Sunni chains, one in
|
|
513
|
+
two in the Shia ones.
|
|
493
514
|
|
|
494
515
|
Sunni narrators filter by tabaqa, rank and book; Shia narrators by the Imami assessment.
|
|
495
516
|
|
|
@@ -523,7 +544,8 @@ Household of the Prophet ﷺ, the Companions who narrated most, the Companions o
|
|
|
523
544
|
Ansar, the Tribes) and under them the musnad of each Companion — 1,252 in all, Abu Bakr al-Siddiq's first —; al-Darimi
|
|
524
545
|
in its 24 books (Introduction, Purification, Prayer …) and 1,382 chapters (bab). The parts and books are named in
|
|
525
546
|
the interface language; the musnad of every Companion in Turkish and English too ("Hz. Ebû Bekir es-Sıddîk (r.a.)
|
|
526
|
-
müsnedi", "Musnad of Abu Bakr al-Siddiq (RA)"), al-Darimi's chapters
|
|
547
|
+
müsnedi", "Musnad of Abu Bakr al-Siddiq (RA)"), and al-Darimi's 1,382 chapters as well ("Temizlik", "Purification"…
|
|
548
|
+
"Abdestin fazileti", "The virtue of ablution").
|
|
527
549
|
|
|
528
550
|
The shelf holds the Sunni and the Shia books together, each under its own heading — *All*, *Sunni*
|
|
529
551
|
or *Shia* at the top shows one of them alone — and every Shia book carries a gold *Shia* tag. Books
|
|
@@ -667,13 +689,17 @@ Umar"`, `iy tree learning al-Zuhri --depth 2 --width 4`.
|
|
|
667
689
|
|
|
668
690
|
## ⭐ Bookmarks
|
|
669
691
|
|
|
670
|
-
Every hadith card, narrator, scholar, term of Learn
|
|
671
|
-
|
|
692
|
+
Every hadith card, narrator, scholar, term of Learn, chapter of Books and place in the Genealogies has a ☆: one
|
|
693
|
+
click keeps it among your **Bookmarks**, and the star says what it keeps ("Add this narrator to your bookmarks").
|
|
694
|
+
Each bookmark shows its kind — Hadith, Narrator, Scholar, Term, Chapter, Genealogy — and a line on what it is (a
|
|
695
|
+
narrator's road, tabaqa, death and verdict; which tree); the list filters by kind, and a narrator kept as a
|
|
696
|
+
narrator and the same man kept as a place in his family tree are two bookmarks. There they live in folders of your own — nested as deep as you like, one bookmark in as
|
|
672
697
|
many folders as you want, dragged onto a folder to file it — each with a note of your own, found by words or by
|
|
673
698
|
kind, opened with a click where it belongs. They are kept in `bookmarks.json` in isnady's data folder (yours
|
|
674
699
|
alone, never published) and can be exported and imported as a file; a hadith is kept by its book and number, so a
|
|
675
700
|
bookmark survives a new import. `iy bookmark add hadith bukhari:1 --folder "Intention/Deeds" --note "…"`,
|
|
676
|
-
`iy bookmark list`, `iy bookmark
|
|
701
|
+
`iy bookmark list`, `iy bookmark list tree`, `iy bookmark add tree prophets:musa`, `iy bookmark folders`,
|
|
702
|
+
`iy bookmark export file.json`.
|
|
677
703
|
|
|
678
704
|
<p align="center">
|
|
679
705
|
<img src="https://raw.githubusercontent.com/bayramkotan/isnady/main/assets/screenshots/bookmarks.png" alt="Bookmarks — folders on the left, a hadith, a narrator, a scholar and a term with their folders and a note" width="850">
|
|
@@ -754,6 +780,18 @@ nothing to restart. `iy config set view.ui_language tr`. The hadith texts keep t
|
|
|
754
780
|
<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">
|
|
755
781
|
</p>
|
|
756
782
|
|
|
783
|
+
**Back and forward**, as in a browser: ◀ ▶ under the name in the sidebar, Alt+Left / Alt+Right, the mouse's back
|
|
784
|
+
and forward buttons — every narrator, chain, book, scholar, term and tree opened is a step, and pointing at the
|
|
785
|
+
button says where it goes.
|
|
786
|
+
|
|
787
|
+
**A new version starts clean:** what the earlier version computed (`cache/`, `derived/`) is deleted once and computed
|
|
788
|
+
again, and the footer says so; the settings, bookmarks, profiles, recent searches, the database and the downloaded
|
|
789
|
+
works are kept. **Help → Check for Updates** asks PyPI and npm (whichever isnady is installed from — both, ticked,
|
|
790
|
+
when both are behind) and shows what is new; `iy update --check`, `iy update --npm`. A page that cannot be built
|
|
791
|
+
shows a plain card instead of stopping isnady, the details go to `isnady.log` in the data folder, and an import that
|
|
792
|
+
was cut short is named on the Search page at the next start. On the very first start, with no books yet, isnady
|
|
793
|
+
offers to import isnady-data in the background, the progress in the bar at the bottom.
|
|
794
|
+
|
|
757
795
|
**Settings → Books and languages** switches imported books on and off (Sunni and Shia apart) and
|
|
758
796
|
chooses the languages the texts are shown in; the others are folded behind an arrow on each hadith.
|
|
759
797
|
|
|
@@ -798,8 +836,8 @@ command line never loads Qt. Every command that takes a book accepts its full na
|
|
|
798
836
|
| Short | Example | What it does |
|
|
799
837
|
|:------|:-----|:-------------|
|
|
800
838
|
| `iy` | `isnady` | Open the window |
|
|
801
|
-
| `iy search WORDS` | `iy search niyet --book abudawud` | Search; `--mode all\|any\|phrase\|meaning`, `--whole-words`, `--book`, `--language`, `--limit`; `--in narrators\|scholars`, `--tradition sunni\|shia` |
|
|
802
|
-
| `iy chain BOOK NUMBER` | `iy chain kafi 5:1740` | One chain, narrator by narrator, with who each one is and whom it reaches; `--raw` adds the wording |
|
|
839
|
+
| `iy search WORDS` | `iy search niyet --book abudawud` | Search; `--mode all\|any\|phrase\|meaning`, `--whole-words`, `--book`, `--language`, `--limit`; `--in narrators\|scholars`, `--tradition sunni\|shia`; `--recent`, `--clear-recent` |
|
|
840
|
+
| `iy chain BOOK NUMBER` | `iy chain kafi 5:1740` | One chain, narrator by narrator, with who each one is and whom it reaches; `--raw` adds the wording; without a number, the book's range |
|
|
803
841
|
| `iy isnads` | `iy isnads --rebuild` | Read every chain and report per book: split, reaching the Prophet or a Ma'sum, identified |
|
|
804
842
|
| `iy narrator NAME` | `iy narrator "Ibn Umar"` | A narrator: his critic's verdict (Ibn Hajar's rank, or the Imami terms), tabaqa, death year, books; `--limit 1` adds teachers, students and hadith |
|
|
805
843
|
| `iy book [KEY [CHAPTER]]` | `iy book bukhari 2` | The books; a book's chapters; a chapter read in order |
|
|
@@ -814,6 +852,7 @@ command line never loads Qt. Every command that takes a book accepts its full na
|
|
|
814
852
|
| `iy ai build` | `iy ai status` | Learn the meaning index from the imported texts |
|
|
815
853
|
| `iy catalog list` | `iy catalog list --repo lk-hadith-corpus` | The books of the repository in use, and your own, with what is imported |
|
|
816
854
|
| `iy catalog import ID` | `iy catalog import sahih_muslim --language tur` | Import a book; `--all` imports every one; `remove`, `add`, `delete` manage the list |
|
|
855
|
+
| `iy catalog languages` | `iy catalog languages add tr en` | One language for every book: the list, `add`, `remove` (Arabic stays) |
|
|
817
856
|
| `iy repo [list\|use\|show\|add\|remove]` | `iy repo add ~/isnady-data` | The data repositories: isnady-data (default), the optional ones, yours — a GitHub or Hugging Face address, a URL, or a folder |
|
|
818
857
|
| `iy database [use FILE]` | `iy database use isnady-db-<date>.zip` | A ready database from a file; your own is kept beside it |
|
|
819
858
|
| `iy import FORMAT FILE-OR-URL` | `iy import isnady ~/my_book/book.json` | Import a file of your own; `--book`, `--language`, `--license`, `--user`, `--token-env`, `--api-key-env` |
|
|
@@ -823,7 +862,7 @@ command line never loads Qt. Every command that takes a book accepts its full na
|
|
|
823
862
|
| `iy datadir [FOLDER]` | `iy datadir /data/isnady` | Show or move the data folder; `--as-is`, `--default` |
|
|
824
863
|
| `iy config list\|get\|set\|reset` | | Settings — the same as Edit → Preferences |
|
|
825
864
|
| `iy shortcut` | `iy shortcut --no-desktop` | A desktop and applications-menu shortcut |
|
|
826
|
-
| `iy update` | | Update every copy of isnady where it is installed |
|
|
865
|
+
| `iy update` | `iy update --check` | Update every copy of isnady where it is installed; `--check` only looks (PyPI and npm, what is new); `--npm` the npm package |
|
|
827
866
|
| `iy doctor` | | Every copy of isnady on this computer and which one each command starts |
|
|
828
867
|
| `iy -V` / `iy -h` | | Version / help |
|
|
829
868
|
|
package/index.js
CHANGED