Skip to main content

Quran CLI, A tool to generate the most sophisticated Quran data.

Project description

Qur'an CLI

CI CD Code Style: Black Ruff

Overview

The Qur'an CLI is a sophisticated command-line interface tool designed to facilitate advanced interactions with Qur'an data. It provides a comprehensive set of features for data exploration, manipulation, and exportation, making it an indispensable resource for scholars, researchers, and enthusiasts.

Key Features

  • Intuitive User Interface: Designed with ease-of-use in mind, offering intuitive commands and options.
  • Advanced Visualization: Utilizes enhanced styling to improve readability and user experience.
  • CI/CD Integration: Supports continuous integration and deployment pipelines to ensure reliability and consistency.
  • Automated Code Quality Assurance: Employs automated linting and formatting tools to maintain high code quality standards.
  • Data Exportation: Capable of exporting data into various formats, including CSV, JSON, and XML.
  • Database Initialization and Normalization: Provides commands for initializing and maintaining Qur'an databases.

Installation

To install the Qur'an CLI tool, execute the following command:

pip install quran-cli

Usage

The Qur'an CLI offers a variety of commands to interact with and manage Qur'an data:

General Command Syntax

quran-cli [OPTIONS] COMMAND [ARGS]...

Options

  • --install-completion: Installs shell completion for the current shell environment.
  • --show-completion: Displays shell completion for the current shell environment.
  • --help: Displays help information for the tool and exits.

Available Commands

  • init: Initializes a new Qur'an database.
  • normalize: Normalizes the structure and content of an existing database.
  • export: Exports Qur'an data in various formats, such as CSV, JSON, and XML.
  • clear: Drops unused tables after normalization.
  • explore: Enables SQL-based querying of the Qur'an database.

init

Creates a new Qur'an database.

Command Syntax:

quran-cli init [OPTIONS] DATABASE

Arguments:

  • DATABASE: Specifies the name and path of the new database file. required

Examples:

# Create a new database
quran-cli init db.sqlite3

# Init new db and generate SQL statements
quran-cli init -g db.sqlite3

normalize

Normalizes the structure and content of an existing Qur'an database.

Command Syntax:

quran-cli normalize [OPTIONS] DATABASE

Arguments:

  • DATABASE: Specifies the database file to normalize. required

Examples:

# Normalize an existing database
quran-cli normalize db.sqlite3

# Normalize an existing database and adds arabic diacritics to chapter names
quran-cli normalize -g db.sqlite3

# Normalize an existing database with SQL statement generation
quran-cli normalize -g db.sqlite3

clear

Drops unused tables after normalization.

Command Syntax:

quran-cli clear DATABASE

Arguments:

  • DATABASE: Specifies the database file to clear. required

Examples:

# Initialize a new database
quran-cli init db.sqlite3

# Normalize the database
quran-cli normalize db.sqlite3

quran-cli clear db.sqlite3

export

Export Qur'an data to selected file formats.

Command Syntax:

quran-cli export [OPTIONS] DATABASE

Arguments:

  • DATABASE: Specifies the database file to export. required

Options:

  • -o, --output DIRECTORY: Defines the output directory for the exported files. default: json

Examples:

# Initialize a new database
quran-cli init db.sqlite3

# Normalize the database
quran-cli normalize db.sqlite3

# Export the normalized data to JSON format
quran-cli export db.sqlite3 -f json

explore

Interact with the Qur'an database using SQL queries.

Command Syntax:

quran-cli explore [OPTIONS] DATABASE

Arguments:

  • DATABASE: Specifies the database file to query. required

Examples:

# Initialize a new database
quran-cli init db.sqlite3

# Explore the database using SQL queries
quran-cli explore db.sqlite3

Contributing

We welcome contributions from the community. For guidelines on how to contribute, please refer to our Contributing Guide.

Code of Conduct

Please see our Code of Conduct for details on our standards for interactions within our project.

License

The Qur'an CLI project is licensed under the MIT License. For detailed license information, please refer to the LICENSE file in this repository.

Contact

For any inquiries, issues, or feedback, please contact us via:

We value your input and contributions to enhance the Qur'an CLI tool further.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quran_cli-0.1.9.tar.gz (310.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quran_cli-0.1.9-py3-none-any.whl (328.6 kB view details)

Uploaded Python 3

File details

Details for the file quran_cli-0.1.9.tar.gz.

File metadata

  • Download URL: quran_cli-0.1.9.tar.gz
  • Upload date:
  • Size: 310.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.13.2 Windows/11

File hashes

Hashes for quran_cli-0.1.9.tar.gz
Algorithm Hash digest
SHA256 467d71a44833fd753cfde700c4cc4f757b4eadc1e5a1b1b310a25b87d5e43698
MD5 625b35624740ea398fbd0d1a5a82e1ca
BLAKE2b-256 94eeb6790a3530aedf29074db9e7bc8f06b4ee37d828383cf363bde49571f22a

See more details on using hashes here.

File details

Details for the file quran_cli-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: quran_cli-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 328.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.13.2 Windows/11

File hashes

Hashes for quran_cli-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 3e068de04752aee0496629f2d091a784a5abf29db1e19344c8f1cf6395ef4e64
MD5 b3e7188a47412c1f1c9bfd1099a4ea5c
BLAKE2b-256 d3822b2a18d34cdd5e9e098f82641362d4b92670966e77aa65c7225c6ff308bb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page