Metadata-Version: 2.4
Name: pythondocxx
Version: 1.0.3
Summary: Python library for working with documents: DOCX, XLSX, PDF parsing and processing
License: MIT
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: openai>=1.0.0
Requires-Dist: cryptography>=41.0.0
Requires-Dist: python-docx>=1.1.0
Requires-Dist: pandas>=2.0.0
Requires-Dist: openpyxl>=3.1.0
Requires-Dist: pypdf>=4.0.0

# pythondocxx

инструмент для работы с анализом документов (Word, Excel, PDF)
Команда в терминале — `pdcx`.

## Установка

```bash
pip install pythondocxx
```

С поддержкой документов (Word/Excel/PDF):

```bash
pip install "pythondocxx[docs]"
```

Установка в отдельную папку (для сервера):

```bash
pip install pythondocxx --target ./mytool
```

## Настройка API-ключа

Способы задать (в порядке проверки):

1. Переменная окружения: `export OPENROUTER_API_KEY="sk-or-v1-..."`
2. Файл `./api_key.txt` в текущей рабочей папке.
3. Команда `pdcx --set-key` — спросит ключ и предложит зашифровать паролем.
   Зашифрованный ключ ляжет в `~/.config/pdcx/k.txt`, при запуске спросит пароль.

Посмотреть/удалить сохранённый ключ:

```bash
cat ~/.config/pdcx/api_key.txt
rm ~/.config/pdcx/api_key.txt
```

## Шифрование ключа вручную

Команда `pdcx-crypt` (PBKDF2-HMAC-SHA256, 300k итераций + AES-256-GCM):

```bash
pdcx-crypt encrypt "sk-or-v1-..." -p "пароль"
pdcx-crypt decrypt "<строка>" -p "пароль"
```

Без `-p` пароль запрашивается скрыто.

## Использование

```bash
pdcx -o answer.txt                          # базовый запрос
pdcx -o schema.sql -f data.xlsx -f t.txt    # с файлами
pdcx -o report.txt -f db.xlsx -s strict     # аудит БД
pdcx -u -f script.py                        # обновить файл
pdcx -o out.txt -m anthropic/claude-3.5-sonnet -t 0.2
```

Промпт вводится интерактивно (многострочно, пустая строка — отправка).

## Системные промпты (`-s`)

- `code` — только код, без комментариев и эмодзи
- `general` — универсальный помощник
- `strict` — строгий технический аудит (БД, нормальные формы)

Без `-s` выбирается автоматически по расширению `-o` и тексту запроса
(слова «3НФ», «нормализуй», «проверь базу» включают strict).

## История

6 последних пар «запрос → ответ» хранятся в `~/.config/pdcx/history.json`
и подставляются в следующий запрос. Содержимое файлов в историю не пишется.

```bash
pdcx --clear    # очистить историю
```
