Metadata-Version: 2.4
Name: libaudit
Version: 4.1.0
Summary: Общая библиотека логирования изменений данных в БД
Author-email: BARS Group <education_dev@bars-open.ru>
Project-URL: Repository, https://stash.bars-open.ru/projects/EDUEO/repos/libaudit/
Classifier: Intended Audience :: Developers
Classifier: Environment :: Web Environment
Classifier: Natural Language :: Russian
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Framework :: Django :: 3.2
Classifier: Framework :: Django :: 4.0
Classifier: Framework :: Django :: 4.1
Classifier: Framework :: Django :: 4.2
Classifier: Framework :: Django :: 5.0
Classifier: Framework :: Django :: 5.1
Classifier: Framework :: Django :: 5.2
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: django
Provides-Extra: drf
Requires-Dist: djangorestframework; extra == "drf"
Requires-Dist: django-filter; extra == "drf"
Dynamic: license-file

# Библиотека логирования изменений данных в БД
## Подключение

requirements:

    libaudit>=4.1.0,<5.0

settings:

    INSTALLED_APPS = [
        ...
        'libaudit',
        ...
    ]

    MIDDLEWARE = [
        ...
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'libaudit.middleware.AuditLogMiddleware',
        ...
    ]

    LIBAUDIT = {
        'HANDLER': 'libaudit.handlers.database_table',  # или иной обработчик
        'CONTEXT_RESOLVER_CLS': 'my_app.audit.MyAuditContextResolver',
        'EXCLUDED_TABLES': (),  # опционально
        'SETUP_AUDIT_CONTEXT_FOR_READONLY_REQUESTS': False,  # опционально
	}

Реализовано два обработчика: [хранение в таблице](src/libaudit/handlers/database_table/README.md) и [отправка в стандартный вывод СУБД](src/libaudit/handlers/stdout/README.md).

Дополнения: [contrib](src/libaudit/contrib/README.md)

## Работа над пакетом

### Подготовка среды разработки

Необходимый набор инструментов:

- `tox` — оркестрация окружений и запуск команд
- `tox-uv` — для управления окружениями в tox
- `tox-docker` — для запуска инфраструктурных сервисов, необходимых в тестах.

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

1. Установите необходимые инструменты:

```bash
uv tool install tox --with tox-uv --with tox-docker
```

2. Клонируйте репозиторий и перейдите в директорию проекта:

```bash
git clone ssh://git@stash.bars-open.ru:7999/edueo/libaudit.git
cd libaudit
```

3. Запустите тесты и проверки:

```bash
tox
```

### Проверка качества и форматирование кода

```bash
tox -e lint
```
