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.2.1.tar.gz (1.4 MB 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.2.1-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: quran_cli-0.2.1.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.13.3 Windows/11

File hashes

Hashes for quran_cli-0.2.1.tar.gz
Algorithm Hash digest
SHA256 56f3ca5e411420c72dcf88822c8abe067a83d85f270249c2cd926569596eead7
MD5 ac267f68f1cd07b6b49c4d4dae08391e
BLAKE2b-256 af53d7fe39979afd721095862dfd0273d5a7e56fd2a2fdf294faf92a243d7805

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quran_cli-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.13.3 Windows/11

File hashes

Hashes for quran_cli-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3536e8063a1dca2c2653698b02d59fd90f74ecbbe37359aa1f44ccfa02c48ba3
MD5 1b921d6db9d854f9d05a2edcef7e9ce0
BLAKE2b-256 59b467c3c3d4a4bb645eddcc75c07764b657a9c93a5396122c0bbaf257243e25

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