Metadata-Version: 2.1
Name: kolibri-dynamic-collections-plugin
Version: 1.5.1
Summary: Kolibri plugin to add a Zim file viewer
Home-page: https://github.com/endlessm/kolibri-dynamic-collections-plugin
Author: Endless OS Foundation
Author-email: dylan@endlessos.org
License: MIT
Keywords: kolibri
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: Implementation :: PyPy
Description-Content-Type: text/markdown
License-File: LICENSE

# Kolibri Dynamic Collections plugin

This is a Kolibri plugin for dynamic collections, which are a new way to
bundle together content across multiple Kolibri channels. The plugin includes
database models and utilities to manage dynamic collections, as well as an
editor to create collections from a selection of channels and content nodes.

## Usage

Install a release from pypi:

    pip install kolibri-dynamic-collections-plugin

Enable the plugin in Kolibri:

    kolibri plugin enable kolibri_dynamic_collections_plugin

## Development

### Getting started

Create a pipenv shell and then install additional dependencies using `bootstrap.sh`:

    pipenv shell
    ./scripts/bootstrap.sh

Install kolibri-dynamic-collections-plugin in editable mode:

    pip install -e .

To build front end code:

    yarn build

Refer to the [Usage instructions](#Usage) to enable the plugin.

### Submitting changes

Before submitting changes, please be sure to run the pre-commit checks:

    pre-commit run

If you can configure git to run these checks automatically:

    pre-commit install -f --install-hooks

## Creating a release

If you are releasing a new version, use `bump-version` with with `major`, `minor`, or `patch`. For example:

    yarn bump-version patch

This creates a new commit and a git tag. Push this to the remote:

    git push
    git push --tags

Create a `.whl` file:

    yarn dist

The file will be placed in the `dist/` directory.

Finally, upload the `.whl` file to PyPi:

    yarn release
