Metadata-Version: 2.4
Name: ckanext-better-stats
Version: 0.2.0
Summary: Flexible CKAN extension for defining and displaying custom metrics with support for caching, access control, and multiple output formats
Author-email: Oleksandr Cherniavskiy <cherniavskyi.alexandr@linkdigital.com.au>
License: AGPL
Project-URL: Homepage, https://github.com/DataShades/ckanext-better-stats
Keywords: CKAN
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: psutil>=7.0.0
Requires-Dist: openpyxl>=3.1.2
Provides-Extra: docs
Requires-Dist: mkdocs; extra == "docs"
Requires-Dist: mkdocs-material; extra == "docs"
Requires-Dist: mkdocstrings; extra == "docs"
Requires-Dist: mkdocstrings-python; extra == "docs"
Requires-Dist: mkdocs-macros-plugin; extra == "docs"
Dynamic: license-file

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

# ckanext-better-stats

The `ckanext-better-stats` is a modular CKAN extension that provides a flexible metrics framework for collecting, processing, and visualizing platform statistics. Each metric encapsulates its own data retrieval logic, access control, caching strategy, and rendering, enabling scalable and customizable analytics without tight coupling to specific visualization backends.

See the [documentation](https://datashades.github.io/ckanext-better-stats/) for more details.

![dashboard image](https://datashades.github.io/ckanext-better-stats/image/dashboard.png)

## Tests

To run the tests, do:
```sh
pytest --ckan-ini=test.ini
```

## License

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