Metadata-Version: 2.4
Name: kalesh-pdf-library
Version: 2.1.1
Summary: A cross-platform interactive PDF library with offline search
Author: Kalesh contributors
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: Topic :: Text Processing :: Indexing
Classifier: Topic :: Utilities
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pypdf>=4.0
Provides-Extra: dev
Requires-Dist: pytest>=7; extra == "dev"
Requires-Dist: build>=1; extra == "dev"
Requires-Dist: twine>=5; extra == "dev"
Dynamic: license-file

# Kalesh v2.1.0

Kalesh is a cross-platform Python library and numbered-menu CLI for searching PDFs offline. Six IMAP backend-development and Docker PDFs are bundled by default.

## Install for development / from this project
```bash
python -m venv .venv
# macOS/Linux:
source .venv/bin/activate
# Windows PowerShell:
# .\.venv\Scripts\Activate.ps1
python -m pip install -e .
python -m kalesh
```

## After publishing to PyPI
The distribution name is `kalesh-pdf-library`; the import/module name is `kalesh`.
```bash
python -m pip install kalesh-pdf-library
python -m kalesh
```
`python -m kalesh` works after installation. Standard Python does not automatically install a missing module when `-m` is used.

## Menu
Main menu: `1` browse documents, `2` search all PDFs, `3` statistics, `4` rebuild index, `5` health check, `6` configure an additional PDF folder, `7` show paths, `0` exit.

Inside a document: browse pages entirely in the terminal, inspect an embedded PDF outline if available, read the full extracted text in chunks, search within the selected PDF, or export extracted text to a `.txt` file. Kalesh never opens an external PDF viewer.

## Import from Python
```python
import kalesh
results = kalesh.search("Docker", limit=5)
for result in results:
    print(result["document"], result["page"], result["snippet"])
```

## Direct commands
```bash
python -m kalesh list
python -m kalesh search Docker -n 5
python -m kalesh index
python -m kalesh where
```

Search is local text search using `pypdf`; scanned PDFs without a text layer need OCR. Kalesh doesn't upload your files or queries.


## Added in version 2.1.1

- `IMAP_Unit2_Unit5_Exam_Notes.pdf` — combined Unit 2 Back End Development and Unit 5 Docker exam notes.
