Code Structure

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


alfanous:the main API of the project, offers the search features.
 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.
 a desktop interface made by QT & PyQt.
 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 module that relay all the modules. console interface for the API. programming interface, responsible of the output of all results. manager of paths and Data reading and loading.
 the module responsible of searched/indexed text processing.
 the module responsible of search query processing.
 the module responsible of results processing. manager of the indexes reading. module responsible of the basic search operation. module responsible of suggestions.
 the module responsible of romanization systems. module responsible of multi-processing during the search. module that contains some constants used in the API. module that contains some exceptions used in the API. 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.
 Compiled linguistic data to python modules to gain speed.
indexes.*:All needed indexes on Whoosh indexes format. script of installation & packaging (setuptools) alternatif for setuptools library.

Importer Modules (alfanous-import) main module that relays all the modules and offers a console interface. online resources. the resources.
 convert the resources to a standard format (not implemented). the resources into the main database. the resources from the main database into Whoosh indexes. the data in API based on actual resources.
 a script used the first-time to load many resources (deprecated). script of installation & packaging (setuptools).