isnady 0.4.3 → 0.4.5

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 +29 -9
  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.4.3-1D4777?style=for-the-badge&logo=pypi&logoColor=white" alt="PyPI">
11
+ <img src="https://img.shields.io/badge/PyPI-v0.4.5-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.4.3-14304F?style=for-the-badge&logo=npm" alt="npm">
16
+ <img src="https://img.shields.io/badge/npm-v0.4.5-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.4.3).** Search, chains of transmission, narrators, books, scholars, statistics and
48
+ > **Pre-alpha (0.4.5).** 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
 
@@ -388,10 +388,10 @@ Prophet ﷺ at the end opens his life in the Genealogies (on road B, the Imam th
388
388
  on the cards of Search and Books open the same way, name by name, and every teacher and student named in a life
389
389
  looks for himself among the narrators.
390
390
 
391
- Choose a book and a number, or let isnady choose: the number field shows the book's range ("1 – 7563 · 7,583
392
- hadith"), the arrow keys and the mouse wheel go to the next or the previous hadith, typing lists the numbers that
393
- begin so, a number the book does not have offers the nearest, and **Random hadith** picks one. `iy chain kafi`
394
- prints the range.
391
+ Choose a book and a number, or let isnady choose: beside the number stands the book's last number ("/ 7563") and
392
+ where the hadith stands among the book's ("hadith 36 of 7,467"); ⏮ ‹ › ⏭ go to the first, previous, next and last
393
+ hadith, so do the arrow keys and the mouse wheel; typing lists the numbers that begin so, a number the book does not
394
+ have offers the nearest, and **Random hadith** picks one. `iy chain kafi` prints the range.
395
395
 
396
396
  <p align="center">
397
397
  <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">
@@ -552,8 +552,10 @@ Sunni narrators filter by tabaqa, rank and book; Shia narrators by the Imami ass
552
552
  isnady is not only for searching: the **Books** section opens every imported work and reads it in
553
553
  its own order. A hadith collection reads chapter by chapter, each hadith with its card (chain,
554
554
  narrators, other narrations, grades) and the languages you choose; Ibn Hajar's *Taqrib* and
555
- al-Najashi's *Rijal* read entry by entry, each narrator a click away. Find within a chapter, go to
556
- the previous or next one, and isnady remembers where you were. From any search result, **In its
555
+ al-Najashi's *Rijal* read entry by entry, each narrator a click away. Go to a chapter by its number ("34 / 57")
556
+ or to the first, previous, next or last one; in a hadith collection go to any hadith by its number, with the
557
+ book's last number beside it and the same ⏮ ‹ › ⏭ as on Isnad Chains. Find within a chapter, and isnady remembers
558
+ where you were. From any search result, **In its
557
559
  book** opens the hadith where it stands, among the hadith of its chapter.
558
560
 
559
561
  Book and chapter titles follow the interface language: the sources give chapter titles in English only, so
@@ -781,17 +783,31 @@ A hadith keeps its book and number, chapter, texts in the languages chosen, grad
781
783
  written, then said in Turkish and English. PDF is drawn by Qt, so the Arabic is joined and set right to left as on
782
784
  the screen; Excel, Word and EPUB files are written without any extra package.
783
785
 
786
+ **Several at once, or all:** books are ticked in a list (All, None, Sunni, Shia) and go into one file, or each into
787
+ its own file in a folder; the isnad network is drawn from the books ticked; several profiles each into their own
788
+ file; and Import takes several files at once.
789
+
790
+ **Big exports beside the window:** every export runs in a thread of its own, with a progress bar, the time gone and
791
+ the time left, and a Stop button — in the dialog and in the bar at the bottom of the window, so the dialog can be
792
+ closed and isnady used meanwhile. Hadith are read and written one after another: every book in every language, with
793
+ the chains, as one EPUB (99,567 hadith, 51 MB) takes about a minute and little memory; a stopped export leaves no
794
+ half-written file. `iy export` shows the same bar on the terminal.
795
+
784
796
  ```bash
785
797
  iy export --list # what, and in which formats
786
798
  iy export hadith bukhari:1 bukhari:5-10 -f pdf -o intention.pdf
787
799
  iy export book bukhari --chapter 1 -f docx --language Arabic --language Turkish
788
800
  iy export book nawawi -f isnady-book # imported again with: iy import-data book …
801
+ iy export book bukhari muslim -f xlsx -o two.xlsx # several books in one file
802
+ iy export book sunni -f json --separate -o sunni # every Sunni book, each in its own file (all, sunni, shia)
803
+ iy export network bukhari muslim abudawud -f gexf # the chains of these books together
789
804
  iy export narrators -f xlsx --tradition shia
790
805
  iy export network bukhari -f gexf # open in Gephi
791
806
  iy export search "النيات" -f md
792
807
  iy export backup -o mine.isnady-backup.zip
793
808
  iy import-data bookmarks bookmarks.csv --folder Imported
794
809
  iy import-data book nawawi.isnady-book.zip
810
+ iy import-data bookmarks a.json b.csv # several files at once
795
811
  ```
796
812
 
797
813
  ---
@@ -813,6 +829,10 @@ Statistics, Bookmarks and Learn by default; **Preferences → Sidebar** moves an
813
829
  the arrows), Ctrl+1 … Ctrl+9 and the View menu follow, Default puts isnady's order back.
814
830
  `iy config set view.sidebar books,search,narrators`.
815
831
 
832
+ **The languages in your own order:** Arabic always first, then the others as you put them — **Preferences → Books
833
+ and languages** (drag a language, or the arrows; Default: A to Z). Every hadith card, the chain said in words and
834
+ the language lists follow. `iy config set view.language_order Turkish,English`.
835
+
816
836
  **Fast, with a cache:** whatever costs time to read from the database — the books and their counts, the narrators'
817
837
  lists and readings, each scholar's numbers, the chains' figures per book, the families read from the names, searches
818
838
  — is counted once and kept, in memory and in `cache/*.json` in the data folder, until something is imported or
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.4.3";
9
+ export const version = "0.4.5";
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.4.3",
3
+ "version": "0.4.5",
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",