Metadata-Version: 2.4
Name: wagtail-personalisation
Version: 1.0.0
Summary: A Wagtail add-on for showing personalized content
Author-email: Lab Digital BV and others <opensource@labdigital.nl>
License-Expression: MIT
Project-URL: Changelog, https://github.com/wagtail-nest/wagtail-personalisation/blob/main/CHANGELOG.md
Project-URL: Documentation, https://wagtail-nest.github.io/wagtail-personalisation/
Project-URL: Source, https://github.com/wagtail-nest/wagtail-personalisation
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 5.2
Classifier: Framework :: Django :: 6.0
Classifier: Framework :: Django :: 6.1
Classifier: Framework :: Wagtail
Classifier: Framework :: Wagtail :: 7
Classifier: Framework :: Wagtail :: 8
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Internet :: WWW/HTTP :: Site Management
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pycountry
Requires-Dist: user-agents>=1.1
Requires-Dist: wagtail>=7
Requires-Dist: wagtail-font-awesome-svg>=1.0.1
Requires-Dist: wagtail-modeladmin>=1
Provides-Extra: docs
Requires-Dist: mkdocs>=1.6; extra == "docs"
Requires-Dist: mkdocs-llmstxt>=0.5; extra == "docs"
Requires-Dist: mkdocs-material>=9.5; extra == "docs"
Requires-Dist: mkdocs-simple-hooks>=0.1.5; extra == "docs"
Requires-Dist: mkdocstrings[python]>=0.27; extra == "docs"
Provides-Extra: test
Requires-Dist: django-debug-toolbar>=6; extra == "test"
Requires-Dist: factory-boy>=3.3; extra == "test"
Requires-Dist: freezegun>=1.5; extra == "test"
Requires-Dist: pre-commit>=4; extra == "test"
Requires-Dist: pytest>=7.4; extra == "test"
Requires-Dist: pytest-cov>=4; extra == "test"
Requires-Dist: pytest-django>=4.8; extra == "test"
Requires-Dist: pytest-mock>=3.10; extra == "test"
Requires-Dist: pytest-sugar>=0.9.4; extra == "test"
Requires-Dist: wagtail-factories>=4.2; extra == "test"
Dynamic: license-file

# Wagtail Personalisation

> A Wagtail add-on for showing personalized content.

Wagtail Personalisation is a fully-featured personalisation module for [Wagtail CMS](https://wagtail.org/). It enables editors to create customised pages - or parts of pages - based on segments whose rules are configured directly in the admin interface.

![The segment dashboard view](docs/images/segment_dashboard_view.png)

## Instructions

Wagtail Personalisation requires Wagtail 7.0+ and Django 5.2+

To install the package with pip:

```console
pip install wagtail-personalisation
```

Next, include the `wagtail_personalisation`, `wagtail_modeladmin` and `wagtailfontawesomesvg` apps in your project's `INSTALLED_APPS`:

```python
INSTALLED_APPS = [
    # ...
    'wagtail.contrib.modeladmin',  # Don't repeat if it's there already
    'wagtail_personalisation',
    'wagtailfontawesomesvg',
    # ...
]
```

Make sure that `django.contrib.sessions.middleware.SessionMiddleware` has been added in first, this is a prerequisite for this project.

```python
MIDDLEWARE = [
    'django.contrib.sessions.middleware.SessionMiddleware',
    # ...
]
```

## Documentation

The full documentation is available at [wagtail-nest.github.io/wagtail-personalisation](https://wagtail-nest.github.io/wagtail-personalisation/). For LLM-assisted tooling, there is also a concise [`llms.txt`](https://wagtail-nest.github.io/wagtail-personalisation/llms.txt) and a complete [`llms-full.txt`](https://wagtail-nest.github.io/wagtail-personalisation/llms-full.txt).

## Sandbox

To experiment with the package you can use the sandbox provided in this repository. To install this you will need to create and activate a virtualenv and then run `make sandbox`. This will start a fresh Wagtail install, with the personalisation module enabled, on http://localhost:8000 and http://localhost:8000/cms/. The superuser credentials are `superuser@example.com` with the password `testing`.

## Contributing

See anything you like in here? Anything missing? We welcome all support, whether on bug reports, feature requests, code, design, reviews, tests, documentation, and more. Please have a look at our [contribution guidelines](docs/CONTRIBUTING.md).

## Acknowledgements

This project is currently maintained by the Wagtail Nest team.

It was originally developed by Boris Besemer (@blurrah) and Jasper Berghoef (@jberghoef) for Lab Digital (https://labdigital.nl).
