How menesard/qurananalysis works
This is a Python CLI for reproducible Quran counting and mathematical, statistical, and structural analysis. The main workflow fetches Diyanet chapter and verse data, normalizes it into a local JSON corpus, then runs analyses against that corpus without needing further API access. The graph includes text processing, numeric tests, descriptive statistics, and mushaf/revelation-structure analysis. Relationships are based on the README and shown source references; unsampled details are not inferred.
Main entry points: cli.py Command interface · corpus.py Local corpus · structure.py Quran structure analysis · client.py API client
Components 13
Data ingestion
- API client
quran_analysis/client.py - Response cache
quran_analysis/cache.py - Corpus conversion
quran_analysis/corpus.py - Local corpus
quran_analysis/corpus.py
Text analysis
- Arabic text processing
quran_analysis/arabic.py - Counts and word search
quran_analysis/analysis/counts.py
Pattern analysis
- Numeric pattern tests
quran_analysis/analysis/numeric.py - Statistical analysis
quran_analysis/analysis/stats.py - Quran structure analysis
quran_analysis/analysis/structure.py
User interface
- Command interface
quran_analysis/cli.py - Runtime settings
quran_analysis/config.py
Other components
- CLI user
- Diyanet Quran API
Connections 20
- CLI user → Command interface: runs commands
README.md - Command interface → Runtime settings: loads settings
quran_analysis/cli.py - Command interface → Corpus conversion: builds corpus
quran_analysis/cli.py - Command interface → API client: creates client
quran_analysis/cli.py - Command interface → Local corpus: loads and saves
quran_analysis/cli.py - API client → Diyanet Quran API: requests chapters
quran_analysis/client.py - API client → Response cache: reads and writes
quran_analysis/client.py - Corpus conversion → API client: fetches verses
quran_analysis/corpus.py - Corpus conversion → Local corpus: produces corpus
quran_analysis/corpus.py - Command interface → Counts and word search: runs count reports
quran_analysis/cli.py - Command interface → Numeric pattern tests: runs numeric reports
quran_analysis/cli.py - Command interface → Statistical analysis: runs statistics
quran_analysis/cli.py - Command interface → Quran structure analysis: runs structure reports
quran_analysis/cli.py - Counts and word search → Arabic text processing: processes text
quran_analysis/analysis/counts.py - Counts and word search → Local corpus: reads corpus
quran_analysis/analysis/counts.py - Numeric pattern tests → Counts and word search: uses count reports
quran_analysis/analysis/numeric.py - Numeric pattern tests → Local corpus: reads corpus
quran_analysis/analysis/numeric.py - Quran structure analysis → Arabic text processing: processes text
quran_analysis/analysis/structure.py - Quran structure analysis → Statistical analysis: uses statistics
quran_analysis/analysis/structure.py - Quran structure analysis → Local corpus: reads corpus
quran_analysis/analysis/structure.py