Metadata-Version: 2.4
Name: ckanext-event-audit
Version: 2.0.0
Summary: Capture and retain a record of API, model and custom events in a CKAN app
Author-email: DataShades <datashades@linkdigital.com.au>, Oleksandr Cherniavskyi <mutantsan@gmail.com>
License-Expression: AGPL-3.0-or-later
Project-URL: Homepage, https://github.com/DataShades/ckanext-event-audit
Project-URL: Documentation, https://datashades.github.io/ckanext-event-audit/
Keywords: CKAN
Classifier: Development Status :: 4 - Beta
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: Programming Language :: Python :: 3.14
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pydantic<3.0.0,>=2.3.0
Requires-Dist: boto3>=1.28.35
Requires-Dist: openpyxl>=3.1.2
Provides-Extra: dashboard
Requires-Dist: ckanext-tables>=2.0.1; extra == "dashboard"
Provides-Extra: dev
Requires-Dist: ckanext-event-audit[dashboard]; extra == "dev"
Requires-Dist: boto3-stubs[logs]<2.0.0,>=1.35.0; extra == "dev"
Requires-Dist: pytest-ckan; extra == "dev"
Provides-Extra: docs
Requires-Dist: mkdocs<1.7,>=1.6.1; extra == "docs"
Requires-Dist: mkdocs-material; extra == "docs"
Requires-Dist: mkdocstrings[python]; extra == "docs"
Dynamic: license-file

[![Tests](https://github.com/DataShades/ckanext-event-audit/actions/workflows/test.yml/badge.svg)](https://github.com/DataShades/ckanext-event-audit/actions/workflows/test.yml)

# ckanext-event-audit

This extension will capture and retain a comprehensive record of all changes within a CKAN app.

Read the [documentation](https://datashades.github.io/ckanext-event-audit/) for a full user guide.

## Quick start

1. Install the extension from `PyPI`. The events dashboard is optional and needs
   [ckanext-tables](https://github.com/DataShades/ckanext-tables), which the `dashboard` extra
   installs.
    `pip install -e '.[dashboard]'`

2. Enable the plugin in your CKAN configuration file (e.g. `ckan.ini` or `production.ini`). The
   events dashboard is built on [ckanext-tables](https://github.com/DataShades/ckanext-tables),
   so `tables` must be enabled as well, or the dashboard page will fail with a
   `TemplateNotFound` error:

    `ckan.plugins = ... tables event_audit ...`

3. Run DB migrations:

    `ckan db upgrade -p event_audit`

    `ckan db pending-migrations` only lists the pending migrations, unless you add `--apply`.

4. Configure the extension up to your needs and you're ready to go. See the [documentation](https://datashades.github.io/ckanext-event-audit/) for more details about the configuration options, and read the [security notes](https://datashades.github.io/ckanext-event-audit/security/) before storing payloads and results.

## Developer installation

To install ckanext-event-audit for development, activate your CKAN virtualenv and
do:

    pip install -e '.[dev]'

To build the documentation, install the docs extras and run mkdocs:

    pip install -e '.[docs,dev]'
    mkdocs serve

## Tests

To run the tests, do:

    pytest --ckan-ini=test.ini

## License

[AGPL](https://www.gnu.org/licenses/agpl-3.0.en.html)
