Skip to main content

Production-ready RAG infrastructure for Arabic & multilingual applications

Project description

Maktaba

CI PyPI version Python 3.10+ License: MIT

The library for building libraries - By NuhaTech

From the Arabic word for library, Maktaba is a modern RAG infrastructure for building intelligent knowledge systems in any language.

Features

  • 🔌 Provider-agnostic: Works with OpenAI, Cohere, Azure, and more
  • 🚀 Production-ready: Built for scale with async-first design
  • 🧩 Modular: Use only what you need
  • 🌍 Multilingual: Optimized for Arabic and international languages
  • 📊 Type-safe: Full type hints and Pydantic validation
  • 🧪 Well-tested: Comprehensive test coverage

Installation

Using UV (Recommended)

# Install UV if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh

# Add maktaba to your project
uv add maktaba

# With OpenAI + Qdrant
uv add "maktaba[openai,qdrant]"

# With all providers
uv add "maktaba[all]"

Using pip

# Basic installation
pip install maktaba

# With OpenAI + Qdrant
pip install "maktaba[openai,qdrant]"

# With all providers
pip install "maktaba[all]"

Quick Start

from maktaba.pipeline import QueryPipeline
from maktaba.embedding import OpenAIEmbedder
from maktaba.storage import QdrantStore
from maktaba.reranking import CohereReranker

# Create pipeline
pipeline = QueryPipeline(
    embedder=OpenAIEmbedder(api_key="..."),
    vector_store=QdrantStore(url="http://localhost:6333", collection_name="docs"),
    reranker=CohereReranker(api_key="...")
)

# Search with automatic reranking and citation formatting
result = await pipeline.search(
    query="What is Tawhid?",
    top_k=10,
    rerank=True
)

# Use in your LLM prompt
print(result["formatted_context"])  # [1]: content... [2]: content...
print(result["citations"])          # [{id: 1, source: "...", score: 0.95}, ...]

Documentation

  • Overview: docs/Overview.md
  • Quickstart: docs/Quickstart.md
  • Pipelines: docs/Pipelines.md
  • Providers: docs/Providers.md
  • Examples: docs/Examples.md
  • Troubleshooting: docs/Troubleshooting.md

Website (coming soon): maktaba.nuhatech.com

License

MIT License - see LICENSE

About NuhaTech

Built by NuhaTech - creators of Kutub and Muqabia.

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

maktaba-0.1.0.tar.gz (442.4 kB view details)

Uploaded Source

Built Distribution

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

maktaba-0.1.0-py3-none-any.whl (33.3 kB view details)

Uploaded Python 3

File details

Details for the file maktaba-0.1.0.tar.gz.

File metadata

  • Download URL: maktaba-0.1.0.tar.gz
  • Upload date:
  • Size: 442.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for maktaba-0.1.0.tar.gz
Algorithm Hash digest
SHA256 beaa384ec35fa22fa744d2c09b47ca3719cd65d90c830bbb7d97081f03e6db70
MD5 ccab3163faf8b2ed838c3aa325e72049
BLAKE2b-256 3af64b38a7e92ceb59ef8b3a88ff86f184df9998aa4e6b3ee22c0b611adc49f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for maktaba-0.1.0.tar.gz:

Publisher: publish.yml on nuhatech/maktaba

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file maktaba-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: maktaba-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 33.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for maktaba-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 78e01ec133a5c29091a38ba9d7524a4ecb3010e12dd466034cdc89e7a8fe127c
MD5 17e96fb436a52c7cf39fd4e29784cd7c
BLAKE2b-256 e88498a41bc88cf80878d0de5aa49e1ef9fcd64049b06f93aebefcf7755d5859

See more details on using hashes here.

Provenance

The following attestation bundles were made for maktaba-0.1.0-py3-none-any.whl:

Publisher: publish.yml on nuhatech/maktaba

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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