Skip to main content

Invenio module for collecting statistics.

Project description

https://img.shields.io/github/license/inveniosoftware/invenio-stats.svg https://github.com/inveniosoftware/invenio-stats/workflows/CI/badge.svg https://img.shields.io/coveralls/inveniosoftware/invenio-stats.svg https://img.shields.io/pypi/v/invenio-stats.svg

Invenio module for collecting statistics.

This module provides the components for statistical data processing and querying.

The most common statistics measure the occurence of events in an invenio application, e.g. file downloads, record views and others. Invenio-stats provides the tools to transform, register, compress and query those events. However, statistics can be fully customized and directly query the database.

The services it uses are:

  • RabbitMQ for buffering incoming events.

  • Elasticsearch or OpenSearch for aggregating and searching events.

Further documentation is available on: https://invenio-stats.readthedocs.io/

Changes

Version v7.0.0 (released 2026-06-16)

  • chore(setup): bump dependencies

  • chore(git-blame): ignore SPDX license header commit

  • chore(licenses): update license headers to use SPDX

Version v6.1.3 (released 2026-04-30)

  • fix(stats): warm event cache on finalization

Version v6.1.2 (released 2026-03-04)

  • fix(aggregations): make queries backwards-compatible with non timezone aware indices

Version v6.1.1 (released 2026-03-03)

  • fix(queries): make queries backwards-compatible with non timezone aware indices

Version v6.1.0 (released 2026-01-29)

  • feat(config): add STATS_EVENTS_UTC_DATETIME_ENABLED flag Introduce STATS_EVENTS_UTC_DATETIME_ENABLED (default: False) to strip tzinfo from event timestamps at build time. Set to True to opt-in to timezone-aware UTC datetimes.

Version v6.0.0 (released 2026-01-29)

  • chore(setup): bump dependencies

  • chore(black): update formatting to >= 26.0

  • fix(chore): DeprecationWarning stdlib

  • fix: DeprecationWarning warn use warning

  • tests: extend support to Python 3.14

  • i18n:push translations

Version 5.1.1 (release 2025-06-09)

  • tests: fix issues with CI

  • translations: add untranslated strings and add translation workflow

Version 5.1.0 (release 2025-01-20)

  • aggregations: add yearly interval

Version 5.0.0 (release 2024-12-10)

  • tests: remove dependency to invenio-oauth2server

  • setup: bump major dependencies

Version 4.2.1 (release 2024-11-30)

  • setup: change to reusable workflows

  • setup: pin dependencies

Version v4.2.0 (released 2024-08-27)

  • processors: allow filtering out robots/machines

Version 4.1.0 (release 2024-08-14)

  • introduce a new config STATS_REGISTER_INDEX_TEMPLATES to be able to register events and aggregations as index templates (ensure backwards compatibility)

Version 4.0.2 (release 2024-03-04)

  • aggregations: consider updated_timestamp field optional (ensure backwards compatibility)

Version 4.0.1 (release 2023-10-09)

  • aggregations: ensure events are aggregated only once

Version 4.0.0 (release 2023-10-03)

  • introduce new field updated_timestamp` in the events and stats templates and mappings

  • improved calculation of aggregations skipping already aggregated events

  • changed refresh_interval from 1m to 5s

  • changed default events index name from daily to monthly

  • moved BookmarkAPI to a new module

Version 3.1.0 (release 2023-04-20)

  • add extension method for building and caching queries

Version 3.0.0 (release 2023-03-01)

  • Upgrade to invenio-search 2.x

  • Drop support for Elasticsearch 2, 5, and 6

  • Add support for OpenSearch 1 and 2

  • Drop support for Python 2.7 and 3.6

  • Remove function invenio_stats.utils:get_doctype

  • Fix validate_arguments for query classes

  • Add build_event_emitter function for creating an EventEmitter but not registering it as a signal handler

  • Add ext.get_event_emitter(name)` function for caching built EventEmitter objects per name

  • Replace elasticsearch-specific terminology

Version 2.0.0 (release 2023-02-23)

  • add opensearch2 compatibility

Version 1.0.0a18 (release 2020-09-01)

  • Fix isort arguments

  • Filter pytest deprecation warnings

  • Set default values for metrics instead of None, when no index found

Version 1.0.0a17 (release 2020-03-19)

  • Removes Python 2.7 support.

  • Centralizes Flask dependency via invenio-base.

Version 1.0.0a16 (release 2020-02-24)

  • bump celery dependency

  • pin Werkzeug version

Version 1.0.0a15 (release 2019-11-27)

  • Pin celery dependency

Version 1.0.0a14 (release 2019-11-27)

  • Fix get_bucket_size method

Version 1.0.0a13 (release 2019-11-08)

  • Bump invenio-queues

Version 1.0.0a12 (release 2019-11-08)

  • Fixes templates for ElasticSearch 7

  • Updates dependency of invenio-search

Version 1.0.0a11 (release 2019-10-02)

  • Initial public release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

invenio_stats-7.0.0.tar.gz (39.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

invenio_stats-7.0.0-py2.py3-none-any.whl (51.1 kB view details)

Uploaded Python 2Python 3

File details

Details for the file invenio_stats-7.0.0.tar.gz.

File metadata

  • Download URL: invenio_stats-7.0.0.tar.gz
  • Upload date:
  • Size: 39.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for invenio_stats-7.0.0.tar.gz
Algorithm Hash digest
SHA256 649d2d9804d5fe0c8287964e0e7f928c23926ce1c0fb39ab27b6b74e4f228d5e
MD5 39e36a39065ac45ccbba7d440ce94277
BLAKE2b-256 2833239c050c61c8da6eb66d861756a0e69bafaaba24457d166afc4d8bf826c6

See more details on using hashes here.

File details

Details for the file invenio_stats-7.0.0-py2.py3-none-any.whl.

File metadata

  • Download URL: invenio_stats-7.0.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 51.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for invenio_stats-7.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3066520ed5d882618312ada2675d3c21f941e4af1369d830b4e7c472d228f0e1
MD5 f79e29991d4266e52ff69f809a970fe4
BLAKE2b-256 7c0e775c35d5b23db3f952b4fa932948dd0ecca99a519c15031b6539041b7b56

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page