Skip to main content

Kolibri plugin that provides extra features for peer-to-peer syncing

Project description

Kolibri Sync Extras plugin

What is this?

Kolibri is a Learning Management System / Learning App designed to run on low-power devices, targeting the needs of learners and teachers in contexts with limited infrastructure. See learningequality.org/kolibri for more info.

Kolibri supports syncing facility data between two instances. This plugin provides additional sync related features that can be turned on to customize the behavior of those syncs. In particular, these features can enhance Kolibri's syncing mechanism when dealing with a large database or dataset.

How can I install this plugin?

  1. Inside your Kolibri virtual environment: pip install kolibri-sync-extras-plugin

  2. Activate the plugin: kolibri plugin enable kolibri_sync_extras_plugin

  3. Restart Kolibri

Plugin configuration

The following configuration options are available, and should be defined within the [Sync] section of $KOLIBRI_HOME/options.ini or define environment variables with the prefix KOLIBRI_SYNC_.

Option Type Default Description
BACKGROUND_INITIALIZATION Boolean False Whether to enable background initialization of pull syncs
BACKGROUND_INITIALIZATION_STAGES String serializing,queuing Comma separated list of stages for which to enable background initialization
BACKGROUND_FINALIZATION Boolean False Whether to enable background finalization of push syncs
BACKGROUND_FINALIZATION_STAGES String dequeuing,deserializing,cleanup Comma separated list of stages for which to enable background finalization

Example

[Sync]
BACKGROUND_INITIALIZATION = True
BACKGROUND_INITIALIZATION_STAGES = "serializing"
BACKGROUND_FINALIZATION = True
BACKGROUND_FINALIZATION_STAGES = "deserializing,cleanup"

Development

Getting started

$ uv sync
$ uvx prek install
$ KOLIBRI_HOME="$(pwd)/.kolibri" uv run kolibri plugin enable kolibri_sync_extras_plugin

Testing

Getting started

$ uv sync --group test
$ KOLIBRI_HOME="$(pwd)/.kolibri" uv run kolibri plugin enable kolibri_sync_extras_plugin

Running them

$ pytest test/

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

kolibri_sync_extras_plugin-0.3.0.tar.gz (43.0 kB view details)

Uploaded Source

Built Distribution

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

kolibri_sync_extras_plugin-0.3.0-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file kolibri_sync_extras_plugin-0.3.0.tar.gz.

File metadata

  • Download URL: kolibri_sync_extras_plugin-0.3.0.tar.gz
  • Upload date:
  • Size: 43.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for kolibri_sync_extras_plugin-0.3.0.tar.gz
Algorithm Hash digest
SHA256 0eb6bde62c1e9a2072d8aa08b3b0e4e94c4918336d5544860f7f85cc5abf275c
MD5 706fc81e7390cd85dddc2fca2342d4b1
BLAKE2b-256 e4ff2f492d537745e4e5fcd1a1b4211e2dc42c2d77f80c7b9730198e48ed44a0

See more details on using hashes here.

File details

Details for the file kolibri_sync_extras_plugin-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: kolibri_sync_extras_plugin-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for kolibri_sync_extras_plugin-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 71fbb697bfd758fb4bbb0a4dcd876d83b316239385ef0dc8345fc81b1cb162d1
MD5 b69fe4cbc7dd473f016e6e05477c63c8
BLAKE2b-256 1fbdd44bcc9e0db66aa2ed570a35b087a7c7ca9859ab0a67bbb1b4387dd7a713

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