Metadata-Version: 2.4
Name: dap4mkb
Version: 0.2.4
Summary: DataAudit Platform - аудит и аналитика данных для МКБ
Author-email: DAP Team <pm291097@list.ru>
License: MIT
Project-URL: Homepage, https://github.com/pm291097/dap4mkb
Project-URL: Documentation, https://github.com/pm291097/dap4mkb
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Framework :: FastAPI
Classifier: Topic :: Office/Business :: Financial
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: fastapi>=0.104.0
Requires-Dist: uvicorn[standard]>=0.24.0
Requires-Dist: jinja2>=3.1.0
Requires-Dist: python-multipart>=0.0.6
Requires-Dist: ldap3>=2.9
Requires-Dist: itsdangerous>=2.1.0
Requires-Dist: httpx>=0.25.0
Requires-Dist: click>=8.0.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: aiosqlite>=0.19.0
Requires-Dist: sqlalchemy<2,>=1.4
Requires-Dist: asyncpg>=0.29.0
Provides-Extra: oracle
Requires-Dist: oracledb>=2.0.0; extra == "oracle"
Provides-Extra: vertica
Requires-Dist: vertica-python>=1.3.0; extra == "vertica"
Requires-Dist: sqlalchemy-vertica-python>=0.6.0; extra == "vertica"
Provides-Extra: greenplum
Requires-Dist: psycopg2-binary>=2.9.0; extra == "greenplum"
Provides-Extra: postgres
Requires-Dist: psycopg2-binary>=2.9.0; extra == "postgres"
Requires-Dist: asyncpg>=0.29.0; extra == "postgres"
Provides-Extra: databases
Requires-Dist: dap4mkb[greenplum,oracle,postgres,vertica]; extra == "databases"
Provides-Extra: bi
Requires-Dist: dap-bi>=4.1.0; extra == "bi"
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Provides-Extra: all
Requires-Dist: dap4mkb[bi,databases]; extra == "all"

# DAP4MKB

**DataAudit Platform** — платформа аудита и аналитики данных для банков.

## Быстрый старт

### Вариант 1: Командная строка
```bash
pip install dap4mkb[bi]
dap4mkb init
dap4mkb start
```

### Вариант 2: Python / Jupyter / Spyder
```python
import dap4mkb

# Первый запуск (создаёт БД и admin пользователя)
dap4mkb.init()

# Запуск платформы
dap4mkb.start()
```

После запуска:
- **DAP UI:** http://127.0.0.1:8000
- **DAP BI:** http://127.0.0.1:8088
- **Логин:** admin / admin123

## Возможности

- 📊 **DAP BI** — дашборды и визуализация (на базе Apache Superset)
- 🔐 **LDAP/AD** — интеграция с Active Directory
- 📁 **Отчёты** — генерация и управление отчётами
- ⚙️ **Workflows** — интеграция с Camunda BPM

## Установка
```bash
# Только UI (без BI)
pip install dap4mkb

# С BI аналитикой (рекомендуется)
pip install dap4mkb[bi]

# С Oracle
pip install dap4mkb[oracle]

# С PostgreSQL/Greenplum
pip install dap4mkb[postgres,greenplum]

# Всё вместе
pip install dap4mkb[all]
```

## Python API
```python
import dap4mkb

# Инициализация
dap4mkb.init()              # Создать конфиг и БД
dap4mkb.init(force=True)    # Переинициализация

# Запуск
dap4mkb.start()                      # UI + BI на стандартных портах
dap4mkb.start(port=9000)             # UI на порту 9000
dap4mkb.start(bi_port=9088)          # BI на порту 9088
dap4mkb.start(no_bi=True)            # Только UI без BI
dap4mkb.start(host="0.0.0.0")        # Доступ из сети
```

## CLI команды
```bash
dap4mkb --help              # Справка
dap4mkb --version           # Версия
dap4mkb init                # Инициализация
dap4mkb init --force        # Переинициализация
dap4mkb start               # Запуск UI + BI
dap4mkb start --no-bi       # Только UI
dap4mkb start --port 9000   # UI на другом порту
dap4mkb config show         # Показать конфигурацию
dap4mkb config set KEY VAL  # Установить параметр
```

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

Файл: `~/.dap/config.env`
```ini
# Режим разработки (без LDAP)
DAP_DEV_MODE=true

# Порты
DAP_UI_PORT=8000
DAP_BI_PORT=8088

# LDAP (для production)
LDAP_SERVER=ldaps://ad.company.ru:636
LDAP_BASE_DN=DC=company,DC=ru
LDAP_BIND_USER=cn=service,ou=users,dc=company,dc=ru
LDAP_BIND_PASSWORD=secret
```

## Структура файлов
```
~/.dap/
├── config.env              # Конфигурация DAP UI
├── dap.db                  # SQLite база DAP UI (будущее)
└── superset/
    ├── superset_config.py  # Конфигурация DAP BI
    └── superset.db         # SQLite база DAP BI
```

## Требования

- Python 3.9 - 3.11 (3.12 не поддерживается)
- 4 GB RAM (рекомендуется 8 GB)
- Windows / Linux / macOS

## Разработка
```bash
git clone https://github.com/pm291097/dap4mkb.git
cd dap4mkb
pip install -e ".[dev]"
```

## Лицензия

MIT
