Skip to main content

Plug Kinto notifications to a collection endpoint.

Project description

https://img.shields.io/travis/Kinto/kinto-changes.svg https://img.shields.io/pypi/v/kinto-changes.svg https://coveralls.io/repos/Kinto/kinto-changes/badge.svg?branch=master

kinto-changes tracks modifications of records in Kinto and stores the collection timestamps into a specific bucket and collection.

This plugin is useful to allow for polling on several collections changes with one HTTP request.

Install

pip install kinto-changes

Setup

In the Kinto settings:

kinto.includes = kinto_changes

kinto.event_listeners = changes
kinto.event_listeners.changes.use = kinto_changes.listener

Now everytime a record is modified, the list of current timestamps is available at GET /v1/buckets/monitor/collections/changes/records.

Filter collections

It is possible to choose which collections are monitored:

kinto.event_listeners.changes.collections = <list of URIs>

For example, to be notified of record updates in the certificates collection, or every collections of the settings bucket:

kinto.event_listeners.changes.collections =
    /buckets/blocklists/collections/certificates
    /buckets/settings

Permissions

By default the list of timestamps is readable by anonymous users (system.Everyone). But the list of authorized principals can be specified in settings:

kinto.event_listeners.changes.principals =
    system.Authenticated
    group:admins
    twitter:@natim

Advanced options

By default, the list of timestamps is available in the changes collection in the monitor bucket. This can be specified in settings:

kinto.event_listeners.changes.bucket = monitor
kinto.event_listeners.changes.collection = changes

The changes entries will have a host attribute, that can be used to distinguish changes from several Kinto instances.

kinto.event_listeners.changes.http_host = website.domain.tld

By default, it will rely on the global setting kinto.http_host.

Changelog

0.4.0 (2016-11-07)

  • Add the plugin version in the capability (#20)

  • Add collections in the capability (#18)

  • Add a specific setting to override global http_host value (#24)

0.3.0 (2016-05-19)

  • Update to kinto.core for compatibility with Kinto 3.0. This release is no longer compatible with Kinto < 3.0, please upgrade!

0.2.0 (2016-04-25)

  • Addition of the changes capability

0.1.0 (2015-12-22)

  • Initial code.

  • Bucket and collection name configuration.

  • Changes read permissions configuration.

  • Selection of buckets and collections to follow configuration.

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

kinto-changes-0.4.0.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

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

kinto_changes-0.4.0-py2.py3-none-any.whl (6.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file kinto-changes-0.4.0.tar.gz.

File metadata

  • Download URL: kinto-changes-0.4.0.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for kinto-changes-0.4.0.tar.gz
Algorithm Hash digest
SHA256 9186eea34781ff685af5fb42852a22bfba387b7bdc635b6b30bf58fa7c6349f8
MD5 b598ce6c96cf7aa8fa8be763917f0576
BLAKE2b-256 743c5af885ecf69677157b02597d795b24ba6d29ada7683e85779b88f5435673

See more details on using hashes here.

File details

Details for the file kinto_changes-0.4.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for kinto_changes-0.4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 eb1e679e044caffc4d429f39a5a977852a8568db454080485514b531a5feb58d
MD5 6f6933330965bc2db366e594c553276d
BLAKE2b-256 26ec3ee15a190e06f6b17f5ce12dfe02e4eca4aa0facdb9eb874b20b24dc0828

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