maktaba


Namemaktaba JSON
Version 0.1.6 PyPI version JSON
download
home_pageNone
SummaryProduction-ready RAG infrastructure for multilingual applications
upload_time2025-10-26 21:02:03
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT
keywords ai embeddings llm rag retrieval vector-search
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Maktaba

[![CI](https://github.com/nuhatech/maktaba/actions/workflows/ci.yml/badge.svg)](https://github.com/nuhatech/maktaba/actions/workflows/ci.yml)
[![PyPI version](https://badge.fury.io/py/maktaba.svg)](https://badge.fury.io/py/maktaba)
[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/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)

```bash
# 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

```bash
# Basic installation
pip install maktaba

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

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

## Quick Start

```python
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}, ...]
```

## Development

### Running Checks Before Push

Before pushing to the remote repository, run all quality checks:

**Linux/Mac/Git Bash:**
```bash
./scripts/check.sh
```

**Windows CMD:**
```cmd
scripts\check.bat
```

This will run:
- Ruff linting
- MyPy type checking
- Pytest tests

All checks must pass before pushing.

## 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](LICENSE)

## About NuhaTech

Built by [NuhaTech](https://nuhatech.com) - creators of Kutub and Muqabia.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "maktaba",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "ai, embeddings, llm, rag, retrieval, vector-search",
    "author": null,
    "author_email": "NuhaTech <contact@nuhatech.com>",
    "download_url": "https://files.pythonhosted.org/packages/3b/cc/7ef2625b13c234efaf16a7135d334055db50c6d7ad94e3a93d1e01cbf2ae/maktaba-0.1.6.tar.gz",
    "platform": null,
    "description": "# Maktaba\n\n[![CI](https://github.com/nuhatech/maktaba/actions/workflows/ci.yml/badge.svg)](https://github.com/nuhatech/maktaba/actions/workflows/ci.yml)\n[![PyPI version](https://badge.fury.io/py/maktaba.svg)](https://badge.fury.io/py/maktaba)\n[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n**The library for building libraries** - By NuhaTech\n\n> From the Arabic word for library, Maktaba is a modern RAG infrastructure for building intelligent knowledge systems in any language.\n\n## Features\n\n- \ud83d\udd0c **Provider-agnostic**: Works with OpenAI, Cohere, Azure, and more\n- \ud83d\ude80 **Production-ready**: Built for scale with async-first design\n- \ud83e\udde9 **Modular**: Use only what you need\n- \ud83c\udf0d **Multilingual**: Optimized for Arabic and international languages\n- \ud83d\udcca **Type-safe**: Full type hints and Pydantic validation\n- \ud83e\uddea **Well-tested**: Comprehensive test coverage\n\n## Installation\n\n### Using UV (Recommended)\n\n```bash\n# Install UV if you haven't already\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n\n# Add maktaba to your project\nuv add maktaba\n\n# With OpenAI + Qdrant\nuv add \"maktaba[openai,qdrant]\"\n\n# With all providers\nuv add \"maktaba[all]\"\n```\n\n### Using pip\n\n```bash\n# Basic installation\npip install maktaba\n\n# With OpenAI + Qdrant\npip install \"maktaba[openai,qdrant]\"\n\n# With all providers\npip install \"maktaba[all]\"\n```\n\n## Quick Start\n\n```python\nfrom maktaba.pipeline import QueryPipeline\nfrom maktaba.embedding import OpenAIEmbedder\nfrom maktaba.storage import QdrantStore\nfrom maktaba.reranking import CohereReranker\n\n# Create pipeline\npipeline = QueryPipeline(\n    embedder=OpenAIEmbedder(api_key=\"...\"),\n    vector_store=QdrantStore(url=\"http://localhost:6333\", collection_name=\"docs\"),\n    reranker=CohereReranker(api_key=\"...\")\n)\n\n# Search with automatic reranking and citation formatting\nresult = await pipeline.search(\n    query=\"What is Tawhid?\",\n    top_k=10,\n    rerank=True\n)\n\n# Use in your LLM prompt\nprint(result[\"formatted_context\"])  # [1]: content... [2]: content...\nprint(result[\"citations\"])          # [{id: 1, source: \"...\", score: 0.95}, ...]\n```\n\n## Development\n\n### Running Checks Before Push\n\nBefore pushing to the remote repository, run all quality checks:\n\n**Linux/Mac/Git Bash:**\n```bash\n./scripts/check.sh\n```\n\n**Windows CMD:**\n```cmd\nscripts\\check.bat\n```\n\nThis will run:\n- Ruff linting\n- MyPy type checking\n- Pytest tests\n\nAll checks must pass before pushing.\n\n## Documentation\n\n- Overview: docs/Overview.md\n- Quickstart: docs/Quickstart.md\n- Pipelines: docs/Pipelines.md\n- Providers: docs/Providers.md\n- Examples: docs/Examples.md\n- Troubleshooting: docs/Troubleshooting.md\n\nWebsite (coming soon): maktaba.nuhatech.com\n\n## License\n\nMIT License - see [LICENSE](LICENSE)\n\n## About NuhaTech\n\nBuilt by [NuhaTech](https://nuhatech.com) - creators of Kutub and Muqabia.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Production-ready RAG infrastructure for multilingual applications",
    "version": "0.1.6",
    "project_urls": {
        "Documentation": "https://maktaba.nuhatech.com",
        "Homepage": "https://github.com/nuhatech/maktaba",
        "Issues": "https://github.com/nuhatech/maktaba/issues",
        "Repository": "https://github.com/nuhatech/maktaba"
    },
    "split_keywords": [
        "ai",
        " embeddings",
        " llm",
        " rag",
        " retrieval",
        " vector-search"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2393575f53394e66aa850624501f616eb0b60588b15b433d25ba7637086158c9",
                "md5": "97db29e6ae2b7451d279b7c8c82728da",
                "sha256": "1b2b10e027b47644f3ccb4fd66ea5bdf157b79aced3981b9ea361a23b14cc705"
            },
            "downloads": -1,
            "filename": "maktaba-0.1.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "97db29e6ae2b7451d279b7c8c82728da",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 55041,
            "upload_time": "2025-10-26T21:02:02",
            "upload_time_iso_8601": "2025-10-26T21:02:02.237139Z",
            "url": "https://files.pythonhosted.org/packages/23/93/575f53394e66aa850624501f616eb0b60588b15b433d25ba7637086158c9/maktaba-0.1.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3bcc7ef2625b13c234efaf16a7135d334055db50c6d7ad94e3a93d1e01cbf2ae",
                "md5": "612137a00bcf9d801245e9093b02de61",
                "sha256": "dfefb6ce9c19a2d73d41ee73672ff0955088df105608d5b4b4cb43451f73a8a2"
            },
            "downloads": -1,
            "filename": "maktaba-0.1.6.tar.gz",
            "has_sig": false,
            "md5_digest": "612137a00bcf9d801245e9093b02de61",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 472289,
            "upload_time": "2025-10-26T21:02:03",
            "upload_time_iso_8601": "2025-10-26T21:02:03.441174Z",
            "url": "https://files.pythonhosted.org/packages/3b/cc/7ef2625b13c234efaf16a7135d334055db50c6d7ad94e3a93d1e01cbf2ae/maktaba-0.1.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-26 21:02:03",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "nuhatech",
    "github_project": "maktaba",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "maktaba"
}
        
Elapsed time: 0.81849s