Welcome to Alfanous’s documentation!

Contents:

note This project needs more contributors and/or funding. If you like it, see how you can help?.
  • Join the chat at https://gitter.im/Alfanous-team/alfanous 'Stories in Ready'
  • https://img.shields.io/pypi/v/alfanous.svg https://travis-ci.org/Alfanous-team/alfanous.png?branch=master https://landscape.io/github/Alfanous-team/alfanous/master/landscape.svg Requirements Status Code issues
  • https://img.shields.io/pypi/dm/alfanous.svg https://img.shields.io/sourceforge/dm/alfanous.svg

Alfanous Project

What is Alfanous?

Alfanous is a functional, dynamic, comprehensive Qur’an search engine that has been effectively designed to carry out simple or advanced Quranic searches. Alfanous uses a contemporary, highly developed approach to retrieve vital information, enabling stable efficient, speedy searches to be conducted. Alfanous aims to implement additional features such as highlight, site suggestions, scoring …etc to further improve your search experience. Alfanous understands the complex nature of the Arabic language and thus offers effective Arabic language processing, allowing the stemming and successful elimination of ambiguities. The Application Programming Interface can be used as a fundamental base for developers to build and enhance interface types within different systems, ex: Desktop GUI, Web-based UI…etc.

Authors:Authors.rst
Release:0.7.10 Kahraman
License:AGPL
Tracker:Alfanous-team/alfanous/Issues
Mailinglist:alfanous@googlegroups.com
IRC:#alfanous @ freenode
Website:Alfanous.org
Doc:Readthedocs
Feedbacks:Alfanous Community Feedbacks
Accounts:@Facebook @Twitter @GooglePlus | @Sourceforge @Launchpad

Usage

Install it from Pypi:

$ sudo pip install alfanous

You can use it from console:

$ alfanous-console -a search -q الله
$ alfanous-console -a search -q Allh

or from Python:

>>> import alfanous
>>> alfanous.search(u"الله")
>>> alfanous.do({"action":"search","query":u"الله"})
>>> alfanous.do({"action":"search","query":u"Allh"}) # Buckwalter transliteration

You can use it also from the web service:

http://alfanous.org/jos2 ? action=search & query=الله

http://alfanous.org/jos2 ? action=search & query=Allh

Contacts

  • If you have a concrete bug report for Alfanous please go to the Issues Tracker, submit your report and tag it “bug”.
  • If you want to participate in actively developing Alfanous,by testing read this How to help with testing? and by coding read this How to contribute?.
  • If you want to help in Alfanous somehow, read this How you can help?.
  • If you have a feature request, a proposition or a question for the project, you may use the mailing list or the IRC channel.
  • If you want to criticize the project, we’ll be thankful if you resume your criticism and send it to the mailing list.

For anything else, you can contact us via the mailing list: alfanous@googlegroups.com.

Why Alfanous?

  • Alfanous is FREE LIBRE OPEN SOURCE: Any one can use it and any one can contribute in coding, translating, design...etc. Alfanous will die only if his community dies!
  • Alfanous is a Python API: that allows anyone to create independently a web interface, desktop interface , Android/Iphone/Windows phone interfaces , facebook/twitter/G+ applications ...and so on. The search process is too fast and too stable
  • Alfanous is a research project : so we figure out features not only do what other websites/applications do.
  • Alfanous has lot of features: see Search Features.
  • Alfanous has many interfaces for many platforms: see Interfaces.
  • Alfanous is FREE GRATIS: no payment, no ads.

see FAQ

Research Foundation

Interfaces

  1. Alfanous Python API, source.
  2. JSON web interface 2, link, source.
  3. Django web interface [Multi-language], link , source.
  4. Web User interface for mobiles [Multi-language], link , source.
  5. Alfanous Desktop application (Windows: [Arabic] [English]; Ubuntu/Sabily), source.
  6. Alfanous Firefox toolbar, link, source.
  7. Alfanous Firefox search bar addon, link.
  8. Chrome extension (alpha), source.
  9. App for Nokia S60 (prototype), source.
  10. Facebook app (prototype), source.
  11. Third party:

note: you can find the perspective interfaces under the milestone: Extra Interfaces.

Search Features

This is the list of search features already implemented, preview links use Alfanous web user interface: www.alfanous.org.

  1. Exact Word: that is the simple search, eg: فأسقيناكموه

  2. Phrase: for searching a whole phrase rather then independent words, eg:“رسول الله”

  3. Logical relations

    • Conjuction: for searching only the ayahs that contains two terms or more, eg: الصلاة + الزكاة.
    • Disjunction (default): for searching all the ayahs that contains one of two terms or more, eg:الصلاة | الزكاة.
    • Exception: for eleminating a term from search results, eg:الصلاة - الزكاة. You can understand it as “Ayahs that contains الصلاة but doesn’t contain الزكاة”.
  4. Wildcards or Jokers: for search all words that share many letters, we have:

    • Asterisk: replace zero or many undefined letters, eg: *نبي*
    • Interogation mark: replace one undefined letter, eg: نعم؟
  5. Fielded search: to search in more information of Quran , not only ayahs’text, we cite here the most significant fields for users:

    • aya_id or رقم_الآية (Aya local ID): that’s the number of ayah inside its sura, use it for example to search all first ayahs (رقم_الآية:1).
    • sura_id or رقم_السورة (Sura ID): use it with aya_id to specify an exact ayah,for example the first ayah of surate an-nass will be : aya_id:1 + sura_id:114.
    • subject or موضوع (Topics): thats field contains all topics information, it will be helpful to search for a topic,eg: موضوع:الشيطان

    for more fields, see: Fields

  6. Intervals: this will be helpful in statistics or positions, for example search the divine name only in the first surahs: رقم_السورة :[1 الى 5 ] + الله

  7. Partial vocalization: to consider given diacritics and ignore the others, eg: آية_ :’مَن’.

  8. Word Properties: to search using root and type of words, type could be اسم, فعل or أداة,eg: {قول،اسم}.

  9. Derivations

    • light (using lemma): to search all the words having the same lemma of the given word,eg: >ملك.
    • heavy (using root): to search all the words having the same root of the given word,eg: >>ملك.

note: you can find the perspective search features under the milestones: Quranic Search Features Pack 1, Quranic Search Features Pack 2.

History

  • 4 Mar2015: Launching “GUI 0.7.20 Kahraman release” of the GUI: clean, uptodate technologies, localization, translation search.
  • 25 November 2013: Launching “API 0.7.01 BlackStone release” of the API: Extensible, More stable, and has Many features.
  • 4 August 2013: Launching “WEB 0.7.5 alyaqoot release” of the web interface: based on Twitter Bootstrap, Responsive , Simple, Clean , Accept skins, and has many improvements and bug fixes. kacemb2
  • 10 June 2013: Launching the django web interface, localizable, indexable, and has many search features, improvements and bug fixes. kacemb
  • 26 June 2012: Launching the clickable feature, making most of results information searchable. chiffra1
  • 02 January 2012: Launching new web interface for mobiles, uses: json_web_service, link: http://m.alfanous.org/, wiki: mobile_web_interface
  • 19 September 2011: Launching a new web interface with a new design based on the json_web_service, the link is: http://wui.alfanous.org
  • 26 July 2011: Launching json_web_service of Alfanous ,this service is available in the link: http://www.alfanous.org/json
  • 06 March 2011:A Symposium in Riyadh - Saudi Arabia called NITS2011 or Third National Information Technology Symposium “Arabic an d Islamic Contents on the Internet”,the search paper published in Arabic with the name “Indexation/Search API in Holy Qur’an”
  • 17 January 2010: Launching the arabic web-interface and reserving the domain alfanous.org_
  • 29 November 2010: Uploading the english_interface of alfanous-Desktop version 0.4 beta for Windows and Linux
  • 19 October 2010: A workshop in Damascus called “.......”,the search paper published in Arabic with the name “Indexation/Search API in Holy Qur’an”
  • 21 July 2010: Uploading the arabic_interface of alfanous-Desktop version 0.3 beta for Windows
  • 30 September 2009 - 6 July 2010: Graduation project for obtaining State-Engineer degree in National higher school of computer science (ESI ,ex.INI) - Algiers. The project was entitled “Developpement d’un moteur d’indexation et de recherche dans les documents coranique”.

Frequently.Asked.Questions

What is Alfanous?

see what-is-alfanous.

Why Alfanous?

see why-alfanous.

Why we called it Alfanous?

Alfanous is an arabic word “الفانوس” that means the Lantern. The name was inspired from a picture that contains a Mushaf, a chronometer and a lantern.

How to contact us?

see contacts.

It didnt find the word X while I checked it exists!

Alfanous use the exact matching for words as default, so if you look for alzaytoon (الزيتون), you will not find it because it occurs in Quran as wazzaytoon (والزيتون). Yet, you will find it in suggestions or derivations. You can activate fuzzy search to search all close words to searched words.

  • Why we use exact match?
  • It is better for statistical search.

How you can help?

You can help us by:

  • Spreading the word
    • Following and sharing our social network pages : @Facebook @Twitter @GooglePlus
    • Sharing a link to our website via your accounts in Social networks.
    • Pointing skilled developers and Quranic researchers to the importance of the project.
    • Writing articles about the project in blogs, newspapers.
    • Showing a banner on your Blog/Website.
    • creating an ad for alfanous links using Google adwords or facebook if you’re familiar with that (btw,it needs money)
  • Managing and Animating our social network pages with news and daily posts [Arabic, English]: @Facebook @Twitter @GooglePlus
  • Translating project interfaces to your language , we are using Launchpad platform for translation, link here.
  • Testing the modules and releases, Reporting bugs , see How to report a bug? and How to help by testing? .
  • Fixing bugs , Coding new features or Developing new interfaces , See: `How to Contribute?`_ .
  • Designing Icons, Logoes , Banners.
  • Packaging the project for different systems: Windows, Linux distributions, MacOs.
  • Donating/Supporting to the project: We’re stuck looking for possible ways for donations/Funding. Any help is appreciated!

For more discussion, you can contact us via the mailing list : alfanous@googlegroups.com

How to report a bug?

If you have a concrete bug report for Alfanous please go to the Issues Tracker, submit your report and tag it “bug”.

How to contribute by translation?

  • Contact us to confirm the translation need into your language and to request the PO file.
  • Use Use Poedit or Virtaal to edit it and complete the translation.
  • Send us the update po file so we can include it in the website.

How to contribute by donation?

Funding is a critical point for our project. Whereas we’re stuck looking for possible ways to get. Donations as far as we tried is so restricted in our home country so Any help in that is appreciated!

Any way you can:

  • Pay our web hosting monthly bills directly, we create an account for you in the host to do that.
  • Lead an advertising compaign for the project website through Google adwords or Facebook.
  • Incubate the whole project in another country.

How to contribute by coding?

If you are a coder, and want to participate in actively developing Alfanous :

  1. Learning Git is essential, read about Set up Git and you can also try it online here!
  2. Browse a milestone and choose an open issue (or more) that fits your skills.
  3. To get more information about any issue you can contact us on mailing list: or leave a comment on the issue.
  4. Start with forking the repository and preparing your development environment, see How to prepare your development environment to contribute?.
  5. Prepare your changes, test them and then make a pull request to alfanous-team when you think your code is ready.
  6. The project is not well documented but you may find helpful information in Readme files:

See also How you can help?

How to help by testing?

If you want to help us testing the project modules, just follow these steps and Sooner as you encounter a problem, stop testing and submit it as an issue in our issue tracker and then send about it to the mailing list (alfanous@googlegroups.com):

  1. Get the code source:

  2. Run the build:

    • Install all building dependencies: pyparsing, pyside, epydoc, sphinx, Babel.

    • Go to the root path of the code source and execute this command

      $ make build
      

      Possible Problems:

      1. /bin/sh: python2: not found : if you dont have the command “python2”, create one using a symbolic link

        $ python --version
        Python 2.7.4
        $ sudo ln -s /usr/bin/python2.7 /usr/bin/python2
        
      2. ImportError: No module named pyparsing : you need to install pyparsing python library

        $ sudo pip pyparsing
        
  3. Install the API:

    • Also in the root path of the code source, execute the command

      $ make install_api_no_arguments
      
  4. Test the console interface, it provides results in Json format:

    $ alfanous-console -h
    $ alfanous-console -a search -q qawol
    $ alfanous-console -a search -q الصلاة+الزكاة
    $ ...
    
  5. Test the basic script:

    $ cd src/alfanous-tests
    $ python sample.py
    
  6. Test the desktop interface:

    $ cd src/alfanous-desktop
    $ python Gui.py
    
  7. Test the installation of alfanous-desktop as a library

    $ sudo python setup.py install
    $ alfanous-desktop
    
  8. Test the json output system II

  9. Test Django app (don’t forget to install django)

    • run the server

      $ cd src/alfanous-django
      $ python manage.py runserver
      
    • test it in browser by checking this link

  10. Test Firefox toolbar

    • package it

      $ make dist_xpi
      
    • use it, you’ll find the package in output folder with the extension .xpi

  11. Test Ubuntu/Sabily package

    • run the command of packaging

      $ make dist_deb
      
    • Add sabily repository and test the package

  12. Test Windows Installer script (later)

  13. Test MacOs package (later)

  14. Test PyCorpus (later)

See also How you can help?

How to prepare your development environment to contribute?

Best OS for that is Ubuntu (>11.10).

  1. First at all, create an account in Github and make your own fork of alfanous-team/alfanous (Fork button is top-right).

  2. Secondly, install git-scm and then clone locally your fork :

    git clone LINK_OF_GITHUB_FORK.
    
  3. Third, install building dependencies : pyparsing, pyside, epydoc,

    sphinx.

    • then run in the root of your local repo:

      $ make build
      
    • then run also in the same path:

      $ sudo make install_api_no_arguments
      
    • test the installation with this command:

      $ alfanous-console -h
      
  4. Forth, prepare your dev tool :

    • if you want work on web tasks, install aptana with pydev plugin (install apache2 also for local tests).
    • else install eclipse with pydev plugin.
    • or you can just use a simple text editor.

    You can also use git with eclipse, by installing EGit.

How API works?

TODO

Install python API

$ sudo pip install alfanous

or

$ sudo easy_install alfanous

or from source code:

$ make build
$ sudo make install_api_no_argument

Install Desktop Application

  1. Windows XP/VISTA/SEVEN:

    Download the installer from sourceforge: last version

  2. Ubuntu-Based:
    you can add Alfanous ppa repo on Launchpad and install alfanous from it:
    add-apt-repository ppa:team4alfanous/alfanous && sudo apt-get -q update
    apt-get install alfanous
    
  3. Fedora-Based:

    For Fedora 21 run the following as root:

    cd /etc/yum.repos.d/
    wget http://download.opensuse.org/repositories/home:Kenzy:tahadz/Fedora_21/home:Kenzy:tahadz.repo
    yum install alfanous
    

    For Fedora 20 run the following as root:

    cd /etc/yum.repos.d/
    wget http://download.opensuse.org/repositories/home:Kenzy:tahadz/Fedora_20/home:Kenzy:tahadz.repo
    yum install alfanous
    
  4. OpenSuse-Based:

    For openSUSE 13.2 run the following as root:

    zypper addrepo http://download.opensuse.org/repositories/home:Kenzy:tahadz/openSUSE_13.2/home:Kenzy:tahadz.repo
    zypper refresh
    zypper install alfanous
    
  5. Archlinux-Based:

    yaourt alfanous
    yaourt alfanous-git  # nightly build
    
  6. Other:

    Install from the source by downloading the tarbal and executing those commands carefully:

    // ====> install build dependencies: pyparsing, pyside, epydoc, sphinx, Babel.
    $ make build
    $ sudo make install_api_no_arguments # to install the api and alfanous-console.
    $ sudo make install_desktop_no_arguments # to install alfanous-desktop.
    

Code Structure

This is a quick view of the source code structure of Alfanous project explaining the different packages and modules.

Packages

alfanous:the main API of the project, offers the search features.
alfanous-import:
 a library responsible of all management tasks of Quranic & Linguistic resources.
alfanous-cgi:a small script to execute the API in a web CGI environment.
alfanous-desktop:
 a desktop interface made by QT & PyQt.
alfanous-django:
 a django app replaces the old web user interface and also the cgi script.
alfanous-labs:all related libraries that still in alpha phase.
alfanous-tests:scripts used to test the different modules of the API.
PyCorpus:a library used to parse & understand Arabic Quranic Corpus.
PyZekrModels:a library used to parse Zekr Translations Models.

API Modules, Files (alfanous)

main.py:the main module that relay all the modules.
console.py:a console interface for the API.
Outputs.py:the programming interface, responsible of the output of all results.
Data.py:the manager of paths and Data reading and loading.
TextProcessing.py:
 the module responsible of searched/indexed text processing.
QueryProcessing.py:
 the module responsible of search query processing.
ResultsProcessing.py:
 the module responsible of results processing.
Indexing.py:the manager of the indexes reading.
Searching.py:the module responsible of the basic search operation.
Suggestions.py:the module responsible of suggestions.
Romanization.py:
 the module responsible of romanization systems.
Threading.py:the module responsible of multi-processing during the search.
Constants.py:a module that contains some constants used in the API.
Exceptions.py:a module that contains some exceptions used in the API.
Misc.py:a pre-implementing test module.
Support.*:Some third-party libraries.
configs.*:Configuration files in a Json format.
resources.*:Quranic & Lingustic data in a Json format to replace the binary sqlite database.
dynamic_resources.*:
 Compiled linguistic data to python modules to gain speed.
indexes.*:All needed indexes on Whoosh indexes format.
setup.py:the script of installation & packaging (setuptools)
ez_setup.py:an alternatif for setuptools library.

Importer Modules (alfanous-import)

main.py:the main module that relays all the modules and offers a console interface.
Downloader.py:download online resources.
Parser.py:parse the resources.
Standardizer.py:
 convert the resources to a standard format (not implemented).
Importer.py:import the resources into the main database.
Transformer.py:transfer&convert the resources from the main database into Whoosh indexes.
Updater.py:update the data in API based on actual resources.
initial_importing.py:
 a script used the first-time to load many resources (deprecated).
setup.py:the script of installation & packaging (setuptools).

Alfanous API

Build

The API uses many critical resources that must be downloaded and/or prepared to be used. To do that, just run this command in the root path of the project

  1. Install all building dependencies: pyparsing, epydoc, sphinx.

    • (ubuntu 12.04):

      $ sudo apt-get install python-qt4 qt4-dev-tools python-qt4-dev pyqt4-dev-tools
      $ sudo apt-get install python-distutils-extra
      $ sudo easy_install pyparsing epydoc sphinx
      
  2. Run the build command:

    $ cd ../../
    $ make build
    

For more details check Makefile

Install

To install the API from the source (After Build ):

$ sudo python setup.py install

A console interface will be installed automatically with the API:

$ alfanous-console -h
usage: alfanous-console [flags]

Quick Start

# coding: utf-8

# import Output object
from alfanous.Outputs import Raw

# import default Paths
from alfanous.Data import Paths

# Initialize search engines
RAWoutput = Raw(
                    QSE_index = Paths.QSE_INDEX    , # Quranic Main index path
                    TSE_index = Paths.TSE_INDEX,  # Translations index path
                    WSE_index = Paths.WSE_INDEX,  # Quranic words index path
                    Recitations_list_file = Paths.RECITATIONS_LIST_FILE,
                    Translations_list_file = Paths.TRANSLATIONS_LIST_FILE ,
                    Hints_file = Paths.HINTS_FILE,
                    Stats_file = Paths.STATS_FILE,
                    Information_file = Paths.INFORMATION_FILE
                )

 ## prepare a suggestion query
 suggest_flags = {
            "action":"suggest",
            "query": "ابراهيم"
            }
 results = RAWoutput.do( suggest_flags )

 print "number of missed words", len(results["suggest"])


 ## prepare a search query
 search_flags = {
             "action":"search",
             "query": "الحمد لله",
             "sortedby":"mushaf",
             "reverse_order": False,
             "page": 1,
             "word_info": True,
             "highlight": "css",
             "script": "standard",
             "sura_info": True,
             "aya_position_info":  True,
             "aya_theme_info":  False,
             "aya_stat_info":  False,
             "aya_sajda_info":  True,
             "translation": 2,
             }

  results = RAWoutput.do( search_flags )

  print "runtime", results["search"]["runtime"]
  print "total", results["search"]["interval"]["total"]

see sample.py.

Flags

number flag related action related unit description default value accepted values
1 action <none> <none> action to perform “search” search | suggest | show
2 unit search, suggest <none> search unit “aya” aya | word | translation
2 ident <all> <all> identifier of requester [experimental] “undefined” undefined
3 platform <all> <all> platform used by requester “undefined” undefined | wp7 | s60 | android | ios | linux | window
4 domain <all> <all> web domain of requester if applicable “undefined” *
5a query search,suggest <all> query attached to action “” *
5b query show <all> query attached to action “” all | translations |recitations | information | hints | surates | chapters | defaults | flags | fields | fields_reverse | errors | domains | help_messages | roots
6 highlight search <all> highlight method “css” css | html | genshi | bold | bbcode
7 script search aya, word script of aya text “standard” standard | uthmani
8 vocalized search aya, word enable vocalization of aya text “True” True | False
9 recitation search aya recitation id “1” 1 to 30
10 translation search aya, trans translation id “None” *
11 romanization search aya, word type of romanization “none” none | buckwalter | iso | arabtex
12a view search aya, word pre-defined configuration for view “custom” minimal | normal | full | statistic | linguistic | custom
12b view search translation pre-defined configuration for view “custom” minimal | normal | full | custom
13 prev_aya search aya enable previous aya retrieving “False” True | False
14 next_aya search aya enable next aya retrieving “False” True | False
15 sura_info search aya enable sura information retrieving “True” True | False
16 sura_stat_info search aya enable sura stats retrieving “False” True | False
17 word_info search aya, word enable word information retrieving “True” True | False
17a word_synonyms search aya enable retrieving of keyword synonyms “False” True | False
17b word_derivations search aya enable retrieving of keyword derivations “True” True | False
17c word_vocalizations search aya enable retrieving of keyword vocalizations “True” True | False
18 aya_position_info search aya enable aya position information retrieving “True” True | False
19 aya_theme_info search aya enable aya theme information retrieving “True” True | False
20 aya_stat_info search aya enable aya stat information retrieving “True” True | False
21 aya_sajda_info search aya enable aya sajda information retrieving “True” True | False
22 annotation_word search aya, word enable query terms annotations retrieving “False” True | False
23 annotation_aya search aya enable aya words annotations retrieving “False” True | False
24 sortedby search aya sorting order of results “score” total | score | mushaf | tanzil | subject
25 offset search <all> starting offset of results “1” 1 to 6236
26 range search <all> range of results “10” 1 to 25
27 page search <all> page number [override offset] “1” 1 to 6236
28 perpage search <all> results per page [override range] “10” 1 to 25
29 fuzzy search aya fuzzy search [exprimental] “False” True | False
30 aya search word,trans enable retrieving of aya text “True” True | False

Advanced Query Examples

Aya Search:

  • Simple search: الحمد
  • Phrases : “الحمد لله”
  • Logical relations - ANDNOT : (الصلاة - الزكاة)
  • Logical relations - AND : الصلاة + الزكاة
  • Logical relations - OR : الصلاة | الزكاة
  • Joker * : *نبي*
  • Joker ? : نعم؟
  • Fielded search : سورة:يس ( look for other Fields_ )
  • Fielded search (2) : سجدة:نعم
  • Intervals : رقم_السورة:[1 الى 5] و الله
  • Partial vocalization : آية_:’مَن’
  • Tuples (root,type= أداة | اسم | فعل) as: {قول،اسم}
  • Derivations - lemma : >مالك
  • Derivations - root : >>مالك

Translation Search:

  • Exact search: god
  • Phrase search: “seven heavens”
  • Logical relations - OR: prayer ANDNOT charity
  • Logical relations - AND: prayer AND charity
  • Logical relations - OR: prayer OR charity
  • Wildcards - Joker *: pray*
  • Wildcards - Joker ?: produc?
  • Fielded search: lang:fr
  • Fielded search (2) : author:Shakir

Fields

  • Aya Search Fields:
n عربي English Values Description
1 رقم gid 1 to 6236 Global order of Aya in the whole Quran
2 رقم_الآية aya_id 1 to 300 order of Aya inside its Sura
3 آية aya Text Aya non-vocalized standard text ( used for search)
4 آية_ aya_ Text Aya vocalized standard text ( used for show/search)
5 عثماني uth Text Aya vocalized uthmani text ( used for show/search)
6 عثماني_ uth_ Text Aya vocalized uthmani text ( used for show)
7 موضوع subject Text Thematic Division: Chapter > Topic > Subtopic
8 فصل chapter Text Thematic Division: Chapter > Topic > Subtopic
9 فرع topic Text Thematic Division: Chapter > Topic > Subtopic
10 باب subtopic Text Thematic Division: Chapter > Topic > Subtopic
11 رقم_السورة sura_id 1 to 114 Order of Sura in Mus-haf
12 سورة sura_arabic Text Arabic Name of Sura
12+ سورة_إنجليزي sura_english Text English Name of Sura
12+ سورة_تهجئة sura Text Romanized Name of Sura
13 نوع_السورة sura_type_arabic مدنية|مكية Revelation place of Sura [Arabic]
13+ نوع_السورة_إنجليزي sura_type Meccan|Medinan Revelation place of Sura [English]
14 ترتيب_السورة sura_order 1 to 114 Revelation order of Sura
15 جزء juz 1 to 30 Structural Division : Juz > Hizb > Rub
16 حزب hizb 1 to 60 Structural Division : Juz > Hizb > Rub
17 نصف nisf 1 to 2 Deprecated
18 ربع rub 1 to 4 Structural Division : Juz > Hizb > Rub
19 صفحة page Number Structural Division : Page
19+ صفحة_هندي page_IN Number Structural Division : Page (INDIAN MUSHAF)
20 منزل manzil 1 to 7 Structural Division : Manzil > Ruku
21 ركوع ruku Number Structural Division : Manzil > Ruku
22 سجدة sajda نعم | لا Test existence of a Sajda
23 رقم_السجدة sajda_id 1 | 14 Order of the Sajda if exist
24 نوع_السجدة sajda_type واجبة|مستحبة Type of the Sajda if exist
25 ح_س s_l Number Number of letters in Sura
26 ك_س s_w Number Number of words in Sura
27 ج_س s_g Number Number of God’s names in Sura
28 آ_س s_a Number Number of Ayas in Sura
29 ر_س s_r Number Number of Ruku-s in Sura
30 ح_آ a_l Number Number of letters in Aya
31 ك_آ a_w Number Number of words in Aya
32 ج_آ a_g Number Number of God’s names in Aya

SortedBy Options

  • Aya Search:
Option Description
score The relevance of the results compared to the query keywords
mushaf The default order of ayas in Mus-haf
tanzil The revelation order
subject The alphabetic order of the values for subjects fields
ayalenght The length of ayah from the shortest to the longest
FIELD The numerical order or alphabetic order of a costum field (see Fields_ )

Schema Samples

  • Aya Search:

Suggestions

flags:

{
    "action"="suggest",
    "query"="مءصدة"
}

response:

{
"suggest": [
              ["\u0645\u0621\u0635\u062f\u0629",
                  ["\u0645\u0642\u062a\u0635\u062f\u0629", "\u0645\u0624\u0635\u062f\u0629"]
              ]
            ],
"error": {
            "msg": "success ## action=suggest ; query=\u0645\u0621\u0635\u062f\u0629",
            "code": 0
           }
}

Results

flags:

{
   "action":"search",
   "query": "الكوثر",
   "sortedby":"score",
   "page": 1,
   "word_info":True,
   "highlight":"css",
   "script": "standard",
   "prev_aya": True,
   "next_aya": True,
   "sura_info": True,
   "aya_position_info":  True,
   "aya_theme_info":  True,
   "aya_stat_info":  True,
   "aya_sajda_info":  True,
   "annotation_word": True,
   "annotation_aya": True,
   "translation":"None",
   "recitation": 1

 }

response:

{

    "search": {
                "runtime": 1.0951571464538574,
                "interval": {
                                "start": 1,
                                "total": 1,
                                "end": 1
                            }
                "words": {
                            "global": {
                                        "nb_words": 1,
                                        "nb_matches": 1,
                                        "nb_vocalizations": 1,
                                        },
                            "individual": {

                                                            "1": {
                                                                    "word": "\u0627\u0644\u0643\u0648\u062b\u0631",
                                                                    "nb_matches": 1,
                                                                    "nb_ayas": 1,
                                                                    "nb_vocalizations": 1,
                                                                    "vocalizations": ["\u0627\u0644\u0652\u0643\u064e\u0648\u0652\u062b\u064e\u0631\u064e"],
                                                                  },
                                                           },

                         },

                "ayas": {
                            "1": {

                                        "identifier": {
                                                            "gid": 6205,
                                                            "aya_id": 1,
                                                            "sura_id": 108,
                                                            "sura_name": "\u0627\u0644\u0643\u0648\u062b\u0631",

                                                         },
                                        "aya": {
                                                "id": 1,
                                                "text": "\u0625\u0650\u0646\u0651\u064e\u0627 \u0623\u064e\u0639\u0652\u0637\u064e\u064a\u0652\u0646\u064e\u0627\u0643\u064e <span class=\"match term0\">\u0627\u0644\u0652\u0643\u064e\u0648\u0652\u062b\u064e\u0631\u064e</span>",
                                                "recitation": "http://www.everyayah.com/data/Abdul_Basit_Murattal_64kbps/108001.mp3",
                                                "translation": null,
                                                "prev_aya": {
                                                                "id": 7,
                                                                "sura": "\u0627\u0644\u0645\u0627\u0639\u0648\u0646",
                                                                "text": "\u0648\u064e\u064a\u064e\u0645\u0652\u0646\u064e\u0639\u064f\u0648\u0646\u064e \u0627\u0644\u0652\u0645\u064e\u0627\u0639\u064f\u0648\u0646\u064e",
                                                            },
                                                "next_aya": {
                                                                "id": 2,
                                                                "sura": "\u0627\u0644\u0643\u0648\u062b\u0631",
                                                                "text": "\u0641\u064e\u0635\u064e\u0644\u0651\u0650 \u0644\u0650\u0631\u064e\u0628\u0651\u0650\u0643\u064e \u0648\u064e\u0627\u0646\u0652\u062d\u064e\u0631\u0652",
                                                            },
                                                },


                                        "sura": {
                                                    "id": 108,
                                                    "name": "\u0627\u0644\u0643\u0648\u062b\u0631",
                                                    "type": "\u0645\u0643\u064a\u0629",
                                                    "order": 15,
                                                    "ayas": 3,
                                                    "stat": {
                                                                "words": 10,
                                                                "letters": 42,
                                                                "godnames": 0,

                                                              },
                                                },
                                        "theme": {
                                                            "chapter": "\u0623\u0631\u0643\u0627\u0646 \u0627\u0644\u0625\u0633\u0644\u0627\u0645 ",
                                                            "topic": "\u0627\u0644\u062d\u062c \u0648\u0627\u0644\u0639\u0645\u0631\u0629 ",
                                                            "subtopic": null
                                                  },


                                        "position": {
                                                        "rub": 0,
                                                        "manzil": 7,
                                                        "ruku": 550,
                                                        "hizb": 60,
                                                        "page": 602
                                                    },
                                        "sajda": {
                                                    "exist": false,
                                                    "id": null,
                                                    "type": null
                                                 },

                                        "stat": {
                                                    "letters": 16,
                                                    "godnames": 0,
                                                    "words": 3
                                                },
                                        "annotations": {
                                                            "1": {
                                                                    "arabicroot": null,
                                                                    "arabicmood": null,
                                                                    "number": null,
                                                                    "spelled": "\u0627\u0646\u0627\u0653",
                                                                    "aspect": null,
                                                                    "word_gid": 75871,
                                                                    "word_id": 1,
                                                                    "mood": null,
                                                                    "arabicspecial": "\u0625\u0650\u0646\u0651",
                                                                    "state": null,
                                                                    "arabiclemma": "\u0625\u0650\u0646\u0651",
                                                                    "gid": 116333,
                                                                    "type": "Particles",
                                                                    "aya_id": 1,
                                                                    "arabictoken": null,
                                                                    "form": null,
                                                                    "pos": "Accusative particle",
                                                                    "arabiccase": "\u0645\u0646\u0635\u0648\u0628",
                                                                    "part": "\u062c\u0630\u0639",
                                                                    "normalized": "\u0625\u0646\u0627\u0653",
                                                                    "case": "Accusative case",
                                                                    "sura_id": 108,
                                                                    "word": "\u0625\u0650\u0646\u0651\u064e\u0627\u0653",
                                                                    "derivation": null,
                                                                    "arabicpos": "\u062d\u0631\u0641 \u0646\u0635\u0628",
                                                                    "person": null,
                                                                    "token": null,
                                                                    "gender": null,
                                                                    "voice": null,
                                                                    "order": 1
                                                                 },
                                                            "2": {
                                                                    "arabicroot": "\u0639\u0637\u0648",
                                                                    "arabicmood": null,
                                                                    "number": "\u062c\u0645\u0639",
                                                                    "spelled": "\u0627\u0639\u0637\u064a\u0646\u0670\u0643",
                                                                    "aspect": "Perfect verb",
                                                                    "word_gid": 75872,
                                                                    "word_id": 2,
                                                                    "mood": null,
                                                                    "arabicspecial": null,
                                                                    "state": null,
                                                                    "arabiclemma": null,
                                                                    "gid": 116335,
                                                                    "type": "Verbs",
                                                                    "aya_id": 1,
                                                                    "arabictoken": null,
                                                                    "form": "Fourth form",
                                                                    "pos": "Verb",
                                                                    "arabiccase": null,
                                                                    "part": "\u062c\u0630\u0639",
                                                                    "normalized": "\u0623\u0639\u0637\u064a\u0646\u0670\u0643",
                                                                    "case": null,
                                                                    "sura_id": 108,
                                                                    "word": "\u0623\u064e\u0639\u0652\u0637\u064e\u064a\u0652\u0646\u064e\u0670\u0643\u064e",
                                                                    "derivation": null,
                                                                    "arabicpos": "\u0641\u0639\u0644",
                                                                    "person": "\u0645\u062a\u0643\u0644\u0645",
                                                                    "token": null,
                                                                    "gender": "\u0645\u0630\u0651\u0643\u0631",
                                                                    "voice": null,
                                                                    "order": 1
                                                                 },
                                                            "3": {
                                                                    "arabicroot": null,
                                                                    "arabicmood": null,
                                                                    "number": null,
                                                                    "spelled": "\u0671\u0644\u0643\u0648\u062b\u0631",
                                                                    "aspect": null,
                                                                    "word_gid": 75873,
                                                                    "word_id": 3,
                                                                    "mood": null,
                                                                    "arabicspecial": null,
                                                                    "state": null,
                                                                    "arabiclemma": null,
                                                                    "gid": 116337,
                                                                    "type": "determiner",
                                                                    "aya_id": 1,
                                                                    "arabictoken": "\u0627\u0644",
                                                                    "form": null,
                                                                    "pos": null,
                                                                    "arabiccase": null,
                                                                    "part": "\u0633\u0627\u0628\u0642",
                                                                    "normalized": "\u0671\u0644\u0643\u0648\u062b\u0631",
                                                                    "case": null,
                                                                    "sura_id": 108,
                                                                    "word": "\u0671\u0644\u0652\u0643\u064e\u0648\u0652\u062b\u064e\u0631\u064e",
                                                                    "derivation": null,
                                                                    "arabicpos": null,
                                                                    "person": null,
                                                                    "token": "al",
                                                                    "gender": null,
                                                                    "voice": null,
                                                                    "order": 1
                                                                 }
                                                        },
                                            },
                        },
                "translation_info": {},
                },

    "error": {
                "code": 0,
                "msg": "success ## action=search ; query=\u0627\u0644\u0643\u0648\u062b\u0631",
             }
    }

Translations

TODO

Information

flags:

{
    "action"="show",
    "query"="information"
}

response:

{
    "show": {
        "information": {
            "engine": "Alfanous",
            "wiki": "http://wiki.alfanous.org/doku.php?id=json_web_service",
            "description": "Alfanous is a Quranic search engine provides simple and advanced search services in the diverse information of the Holy Quran .",
            "author": "Assem chelli",
            "version": "0.5",
            "contact": "assem.ch@gmail.com",
            "console_note": "this is console interface of Alfanous, try -h to get help ",
            "json_output_system_note": "\n    This is the <a href='http://json.org/'>JSON</a> output system of <a href=\"http://wiki.alfanous.org\">Alfanous</a> project .This feature is in Alpha test and the Json schema may be it's not stable . We are waiting for real feadbacks and suggestions to improve its efficacity,quality and stability. To contact the author ,please send a direct email to <b> assem.ch[at]gmail.com</b> or to the mailing list <b>alfanous [at] googlegroups.com</b>\n    <br/><br/> For more details  visit the page of this service <a href=\"http://wiki.alfanous.org/doku.php?id=json_web_service\">here</a>\n    "
        }
    },
    "error": {
        "msg": "success ## action=show ; query=information",
        "code": 0
    }
}

Recitations

flags:

{
    "action"="show",
    "query"="recitations"
}

response (sample):

{
    "show": {
        "recitations": {
            "45": {
                "bitrate": "192kbps",
                "name": "English/Ibrahim Walk TEST",
                "subfolder": "English/Ibrahim_Walk_192kbps_TEST"
            },
            "54": {
                "bitrate": "128kbps",
                "name": "Salah Al Budair",
                "subfolder": "Salah_Al_Budair_128kbps"
            }


        }
    },
    "error": {
        "msg": "success ## action=show ; query=recitations",
        "code": 0
    }
}

Fields

flags:

{
    "action"="show",
    "query"="fields"
}

response:

{
    "show": {
        "fields": {
            "جزء": "juz",
            "عثماني ": "uth",
            "نوع_السورة": "sura_type",
            "رقم_السجدة": "sajda_id",
            "صفحة": "page",
            "ربع": "rub",
            "ر_س": "s_r",
            "ركوع": "ruku",
            "رقم_السورة": "sura_id",
            "آ_س": "s_a",
            "آية_": "aya_",
            "موضوع": "subject",
            "ج_س": "s_g",
            "ك_آ": "a_w",
            "فصل": "chapter",
            "ح_آ": "a_l",
            "سورة": "sura",
            "فرع": "topic",
            "آية": "aya",
            "رقم_الآية": "aya_id",
            "عثماني_": "uth_",
            "ك_س": "s_w",
            "نوع_السجدة": "sajda_type",
            "رقم": "gid",
            "باب": "subtopic",
            "نصف": "nisf",
            "ح_س": "s_l",
            "حزب": "hizb",
            "منزل": "manzil",
            "ج_آ": "a_g",
            "سجدة": "sajda",
            "ترتيب_السورة": "sura_order"
        }
    },
    "error": {
        "msg": "success ## action=show ; query=fields",
        "code": 0
    }
}

JSON Web Service II

This is the JSON output system version 2 of Alfanous project. This feature is in Alpha test and the JSON schema may be it’s not stable. We are waiting for real feadbacks and suggestions to improve its efficacy, quality and stability. To contact us, please send an email to the mailing list <alfanous@googlegroups.com>. If you don’t know what is JSON, See: Wikipedia or the Official_Website_of_JSON. It contains many JSON parsing libraries for most programming languages.

Terms of use

  • This service is free to use.
  • Don’t name your application “Alfanous” before we are okey about that.
  • We highly recommend to refer Alfanous engine somewhere in your pages using icons or texts like “Alfanous engine”, “Powered by Alfanous.org”, or “Based on Alfanous.org” linked to “http://www.alfanous.org” or “http://www.alfanous.org/jos2”.
  • We highly recommend to describe clearly somewhere in your application the relation to the whole Alfanous project, such as an about button.
  • Art works you may need are available here, the Art is licenced with AGPL license.

Limitations

  1. 100 keywords at most
  2. Ayah word annotations are enabled for only one ayah

Quering Syntax

To get JSON information , use this syntax : http://www.alfanous.org/jos2?ARGUMENT such as ARGUMENT is compound of those flags: API flags.

Examples

Response Samples

See API Schema Samples.

Advanced Query Examples

  • Simple search: query=الحمد
  • Phrases : query=”الحمد لله”
  • Logical relations - ANDNOT : query=(الصلاة - الزكاة)
  • Logical relations - AND : query=الصلاة + الزكاة
  • Logical relations - OR : query=الصلاة | الزكاة
  • Joker * : query=*نبي*
  • Joker ? : query=نعم؟
  • Fielded search : query=سورة:يس , look for Fields
  • Fielded search (2) : query=سجدة:نعم ,
  • Intervals : query=رقم_السورة:[1 الى 5] و الله
  • Partial vocalization : query=آية_:’مَن’
  • Tuples (root,type=أداة | اسم | فعل): query={قول،اسم}
  • Derivations - lemma : query=>مالك
  • Derivations - root : query=>>مالك

Demoes

(No demoes yet! if you have a demo, we’ll be happy to refer it here)

Who use this?

If you are using this service, We want to make Alfanous more helpful. We will be happy to know about your applications.
  • Official web interface by AlfanousTeam - alfanous.org
  • Application for Android by FenyLab - link
  • Application for iPhone/iPad by iPhoneIslam - link
  • Qoogle - Application for Android by Amr Ebada - link
  • aQuran by Muhammad Fawwaz Orabi link

AlfanousDesktop Interface

A PyQt GUI interface for alfanous Quranic search engine API.

How to contribute?

Building systems

notes:

  1. The UI folder contains forms and dialogs , you can open them with Qt designer.
  2. Run the command “make qt_all” in project root to compile qt resources to a python module.
  3. Gui.py contains the main code, it’s unclean and need cleaning or rewriting from the scratch.

Web User Interface [Django]

This is the source code for alfanous.org, it is a django app that use Alfanous API.

how to contribute on it?
contact mailing list alfanous [at] googlegroups [dot] [com]

Highlights

screen shots and features , used technologies

  • Django
  • JSON
  • XHTML, CSS2 + Some CSS3 for web font
  • JS, jQuery
  • Hash
  • OpenSearch
  • OpenGraph

Test

  1. Install the requirements: Django, Alfanous API .

  2. Use the manage.py script to synchronize the database and run the local server:

    $ python manage.py syncdb
    $ python manage.py runserver
    
changes made by zsmahi
url in action attribut changed from “http://www.alfanous.org/json” to “http://www.alfanous.org/” attribut target=”_blank” added to show results in new tab // without this attribut results won’t be showen

Firefox Toolbar for Alfanous

Version:#.#.#
Links:Download, Statistics

Changes

See CHANGELOG

Abandoned.

Alfanous - Advanced Quranic Search Engine

We gratefully acknowledge contributions from the following. Please let us know if we missed anyone, thanks :)

Maintainers

  • Assem BigOther @assem-ch (API)

  • Muhammad Shaban @MuhammadShaban (packaging to Fedora Linux)

  • Zaki Smahi @zsmahi (Firefox toolbar)

  • Muslih Aqqad @muslih (Design)

  • Zineb Laouici @Zinebl (Facebook/G+ pages)

    We are looking for maintainers for those:
    • Android app(Java)
    • Desktop application (PyQt)
    • Website (Django)
    • Packaging to Ubuntu/Debian
    • Packaging to Archlinux
    • Windows Installer(py2exe, nsis)
    • Twitter account

    If you are interested, contact @assem-ch or mailing list <alfanous[at]googlegroups[dotcom]>

Contributors

Coding

Research

  • 2009-2010: Engineer Thesis
    • Title: Développement d’un moteur de recherche et d’indexation dans les documents coraniques
    • University: ESI - Algiers
    • Collaborators: A~CH (Student), Merouane Dahmani (Student), Taha Zerrouki ( Supervisor), Pr. Amar Balla ( Supervisor)
  • March 2011: Arabic Research paper
    • Title: An Application Programming Interface for indexing and search in Noble Quran
    • Original title: مكتبة برمجية للفهرسة والبحث في القرآن الكريم
    • Conference: NITS 2011 KSA
    • Collaborators: A~CH, Merouane Dahmani, Taha Zerrouki, Pr. Amar Balla
  • May 2012: English Research paper
    • Title:. Advanced Search in Quran: Classification and Proposition of All Possible Features
    • Conference: A pre-conference workshop in LREC 2012 Turkey which is about ”LRE-Rel: Language Resource and Evaluation for Religious Texts”
    • Collaborators: A~CH, Taha Zerrouki, Pr. Amar Balla

Graphics & Design

  • Icons,Logos: Abdellah Chelli, Muslih Al-Aqaad, Ahmed Ramadan, Moussa Drihem, Salaheddine Chelli
  • Wallpapers: Aji Fatwa, Abd Madjid Kemari, Walid Boumaza
  • Joomla Template: Muslih Al-aqaad

Packaging

  • Windows NSIS installer: A~CH
  • Ubuntu/Sabily DEB package: Ahmed Almahmoudy
  • Fedora/OpenSuse/Ojuba RPM package: Muhammad Shaban
  • Arch-linux package: Walid Ziouche, Sohaib Afifi

Resource Enriching

  • Word index: Taha Zerrouki, A~CH, Asmaa Mhimeh, Rahma Maaref
  • Aya index: {Tanzil Project}, Taha Zerrouki (Subjects), Muhi-uddin (Indian mushaf pages)
  • Translations: {Tanzil Project},

Documentation

  • Wiki: A~CH, Abdellah Chelli

Writing

  • News : Mohamed M Sayed, Yasser Ghemit, Kacem Boukraa, Asmaa Mhimeh,
  • Blog posts: Muslih Al-aqaad, Ahmed Jumal, Aji Fatwa

Community Management

  • Yasmine Hoadjli
  • Zineb Laouici
  • Meriem Bounif

Translation

To help in translation, contact us in the mailing list <alfanous[at]googlegroups[dotcom]>
  • Desktop application
    • Arabic: Abdelmonam Kouka, Assem Chelli, LionArt (ghazi.nocturne), Karim Oulad Chalha, Zarrabi
    • Indonesian: Amy Sidra, Arif Rahman Hakim, Muslih Al aqaad
    • Malay: Muhammad Fariz
    • Spanish: Ricardo Hermosilla
    • French: Mohamed Nadjib Mami, Mahmoud Halit
    • Albanian: ‘lavhal’
  • Main Web Interface
    • Arabic: A~CH, Yasmine Houadjli, Merwan Ali
    • French: Zineb Pub, Yasmine Houadjli, Abdelkarim Aries, Nassim rehali, Nasreddine Cheniki
    • Indonesian: Ahmed Jumal , Amy Sidra, Mahyuddin Susanto
    • Japanese: Abdelkarim Aries
    • Spanish: Khireddine Chekraoui
    • Portuguese: Jonathan Da Fonseca
    • German: Dennis Baudys
    • Malay: ‘abuyop’
    • Kurdish:
    • Malayalam: ‘STyM Alfazz’ <https://launchpad.net/~alfasst>
  • Old Mobile Web interface
    • Bosnian: Armin Kazi
    • Brazilian Portuguese: Aieon.corp(LP)
    • French: Karim Oulad Chalha, ‘yass-pard’
    • Indonesian: Mahyuddin Susanto,
    • Italian: ‘Guybrush88’
    • Japanese: Abdelkarim Aries
    • Malay: ‘abuyop’

Test & Support

  • Test: Walid Ziouche, Zakaria Smahi, Muslih Alaqaad,
  • Bugs: Oussama Chammam, Ahmed Salem, xsoh, Yacer~, Jounathan~, BenSali~ , Many persons from the community, thanks to all.
  • Vulns: Jalil~

Acknowledgment

See THANKS.rst

Packages

alfanous Package

alfanous Package

Constants Module

Data Module

Exceptions Module

Indexing Module

Misc Module

Outputs Module

QueryProcessing Module

ResultsProcessing Module

Romanization Module

Searching Module

Suggestions Module

TextProcessing Module

Threading Module

console Module

ez_setup Module

main Module

setup Module

Subpackages

Support Package
Support Package
Subpackages
PyArabic Package
PyArabic Package
Araby_Statistics Module
araby Module
araby_constants Module
araby_normalizers Module
araby_predicates Module
araby_strip_functions Module
whoosh Package
whoosh Package
analysis Module
classify Module
fields Module
formats Module
highlight Module
index Module
postings Module
query Module
reading Module
scoring Module
searching Module
spelling Module
store Module
system Module
util Module
writing Module
Subpackages
filedb Package
fileindex Module
filepostings Module
filereading Module
filestore Module
filetables Module
filewriting Module
postpool Module
structfile Module
lang Package
lovins Module
morph_en Module
paicehusk Module
porter Module
porter2 Module
wordnet Module
qparser Package
qparser Package
default Module
ngram Module
simple Module
support Package
bitstream Module
bitvector Module
charset Module
filelock Module
levenshtein Module
dynamic_resources Package
dynamic_resources Package
arabicnames_dyn Module
derivations_dyn Module
std2uth_dyn Module
stopwords_dyn Module
synonymes_dyn Module
vocalizations_dyn Module
word_props_dyn Module

alfanous-cgi Package

alfanous_json2 Module

salam Module

alfanous-desktop Package

Gui Module

Templates Module

aboutDlg_ui Module

main_rc Module

mainform_ui Module

preferencesDlg_ui Module

setup Module

alfanous-django Package

manage Module

settings Module

settings_prod.sample Module

urls Module

Subpackages

wui Package
admin Module
models Module
tests Module
views Module
Subpackages
templatetags Package
templatetags Package
custom_filters Module
kwacros Module
languages Module
meta Module
query Module
share Module

alfanous-import Package

Downloader Module

Importer Module

Parser Module

Standardizer Module

Transformer Module

Updater Module

initial_importing Module

main Module

setup Module

alfanous-tests Package

alfanous-tests Package

QueryProcessing Module

ResultsProcessing Module

Searching Module

TextProcessing Module

main Module

sample Module

PyZekrModels Package

Models Module

setup Module

PyCorpus Package

QuranyCorpus Module

QuranyCorpusConstantes Module

setup Module

alfanous-labs

PyTanzil Package

Tanzil Module
setup Module

Qrawler Package

MuslimChildrenQrawler Module
QuranicCrawler Module
setup Module
test Module

Indices and tables