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.
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).