Metadata-Version: 2.4
Name: seaf-helper-tools
Version: 0.11.7
Summary: CLI tools for working with SEAF assessment data: YAML/XLS conversion, standards surveys, remote NSI sources.
Author: Alexandr Latushkin
License: seaf-helper-tools — CLI tools for working with SEAF assessment data
        Copyright (C) 2024  Alexandr Latushkin
        
        This program is free software: you can redistribute it and/or modify
        it under the terms of the GNU General Public License as published by
        the Free Software Foundation, either version 3 of the License, or
        (at your option) any later version.
        
        This program is distributed in the hope that it will be useful,
        but WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        GNU General Public License for more details.
        
        You should have received a copy of the GNU General Public License
        along with this program.  If not, see <https://www.gnu.org/licenses/>.
        
Project-URL: Repository, https://gitverse.ru/alex314/helper_commands
Keywords: seaf,assessment,yaml,xls,cli
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Classifier: Environment :: Console
Classifier: Topic :: Utilities
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer>=0.9.0
Requires-Dist: rich>=13.0
Requires-Dist: openpyxl>=3.1
Requires-Dist: ruamel.yaml>=0.18
Requires-Dist: requests>=2.31
Requires-Dist: urllib3>=2.0
Requires-Dist: mcp>=1.7.1
Requires-Dist: python-dotenv>=1.0
Provides-Extra: embedder
Requires-Dist: sentence-transformers>=2.0; extra == "embedder"
Requires-Dist: numpy>=1.24; extra == "embedder"
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: mypy>=1.0; extra == "dev"
Requires-Dist: build>=1.0; extra == "dev"
Requires-Dist: twine>=5.0; extra == "dev"
Requires-Dist: types-requests>=2.31; extra == "dev"
Requires-Dist: types-openpyxl>=3.1; extra == "dev"
Dynamic: license-file

# seaf-helper-tools

CLI-инструменты для работы с данными SEAF: конвертация анкет объектов оценки между форматами YAML и XLS, поддержка удалённых источников НСИ через JSONata API.

## Установка

```bash
pip install seaf-helper-tools
```

## Команды

| Команда | Описание |
|---------|----------|
| `survey-standards-yaml2xls` | Конвертировать YAML-анкету объекта оценки в XLS |
| `survey-standards-xls2yaml` | Конвертировать XLS-анкету обратно в YAML |

### Примеры

```bash
# Сгенерировать XLS из YAML
seaf-helper-tools survey-standards-yaml2xls input.yaml output.xlsx --template template.xlsx

# Конвертировать XLS обратно в YAML
seaf-helper-tools survey-standards-xls2yaml input.xlsx output.yaml

# С конфигурационным файлом (для подключения к API)
seaf-helper-tools --config config.yaml survey-standards-yaml2xls input.yaml output.xlsx
```

## Конфигурация

Для подключения к удалённому API NSI создайте `config.yaml` по образцу `config.example.yaml`:

```yaml
api:
  url: https://your-seaf-instance/api
  cert: /path/to/client.crt
  key: /path/to/client.key
```

## Разработка

```bash
git clone https://gitverse.ru/alex314/seaf_helper_tools
cd seaf-helper-tools
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"

pytest -v
ruff check .
mypy src/
```

## Лицензия

GPL-3.0 — см. [LICENSE](LICENSE).
