Compatibility Matrix:
| Py/Dj | 3.9 | 3.10 | 3.11 | 3.12 | 3.13 | 3.14 |
|---|---|---|---|---|---|---|
| 4.2 (LTS) | ✓ | ✓ | ✓ | ✓ | ✓ | |
| 5.0 | ✓ | ✓ | ✓ | ✓ | ||
| 5.1 | ✓ | ✓ | ✓ | ✓ | ||
| 5.2 (LTS) | ✓ | ✓ | ✓ | ✓ | ✓ |
django-wakawaka
django-wakawaka is a super simple wiki system written in Python using the Django framework.
-
Links between Wiki pages are automatically resolved by their CamelCase naming scheme.
-
It automatically keeps track of revision changes of a Page, while providing the ability to revert to earlier states.
-
It also has a quite comprehensive permission integration, taking care of Django's default create/edit/delete permissions.
-
Wakawaka is an application and indented to be placed in an existing project.
Some screenshots from the Example Project:
Installation:
- Put
wakawakato your INSTALLED_APPS in your settings.py within your django project. - Add
(r'^wiki/', include('wakawaka.urls')),to your urls.py.
That's all. Wakawaka has no other dependencies than Django 3.2 or later.
Configuration:
Wakawaka takes care of Django's permission system. Grant your users always a
pair of wikipage and revision permissions either what they should do.
(Adding, changing or deleting WikiPages)
Optional Settings:
The name of your first wiki page is defined as WikiIndex. You can change
this by adding a setting WAKAWAKA_DEFAULT_INDEX to your settings.py.
Example:
WAKAWAKA_DEFAULT_INDEX = 'Home'
Words that are written in CamelCase (a pair of one upper letter followed by
n lower letters) are automatically treated as internal wiki links. You can
change this behaviour by adding a setting WAKAWAKA_SLUG_REGEX to your
settings.py. This holds a regular expression of the wiki name format. Default:
WAKAWAKA_SLUG_REGEX = r'((([A-Z]+[a-z]+){2,})(/([A-Z]+[a-z]+){2,})*)'
Attachments:
Wakawaka does not provide the ability to store file attachments to wiki pages. To do so, have a look on the side project django-attachments which provides a unobstrusive way to add attachments to models.
Testing and Development:
The project comes with a test library which can be simply invoked by Tox, which tests the project under all current Python and Django versions:
$ pip install tox
$ tox
To run the testsuite manually in your development environment, install the project using Poetry:
$ poetry install
$ pipenv run pytest
Example Project:
The application comes with a sample project. This gives you a brief overview about the Wiki features, and can help you with the integration of the application into an existing project. It's alo used for the test suite:
$ poetry install
$ poetry run ./manage.py migrate
$ poetry run ./manage.py createsuperuser
$ poetry run ./manage.py runserver
Changelog:
v1.7 (2026-02-07)
- Added support for Python 3.14.
- Added support for Django 5.2.
- Updated ruff config for ruff 0.15.
v1.6 (2024-11-19)
- Added support for Python 3.13.
- Added support for Django 5.1.
- Drop support for Django <= 4.1.
- Drop support for Python 3.8.
v1.5 (2024-07-10):
- Switch from pipenv to a Poetry build system
- The IP Address field is now optional
v1.4 (2023-12-15):
- Added support for Django 5.0.
- Added support for Python 3.12
- Type Annotations
v1.3 (2022-04-30):
- Added support for Django 3.2 to 4.2.
- Added support for Python 3.8 to 3.11.
v1.2 (2020-01-08):
- Dropped support for Python 2.7.
- Added support for Python 3.8.
- Added support for Django 2.2 and 3.0.
v1.1 (2019-01-21):
- Django 2.1 compatibility and and further cleanup.
- Dropped support for Django <v1.11.
- Dropped "authenticated" url patterns which were not functional since a while.
v1.0 (2016-11-26):
- Django 1.10 compatibility and total cleanup.
- Full Python 3 compatibility.
- Removed Pinax Group support.
- Tests.
v0.3: (2009-08-06):
- If a wikipage was not found, the view now raises a proper Http404 instead of a (silent) HttpResponseNotFound. This gives you the ability to display a proper 404 page.
- All templates are now translatable using gettext.
v0.2 (2009-07-22):
- Edit-forms are now replaceable
Metadata
Release files for django-wakawaka 1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| django_wakawaka-1.7.tar.gz | 24.2 kB | Without provenance | Details for django_wakawaka-1.7.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| django_wakawaka-1.7-py3-none-any.whl | Python 3 | none | any | Details for django_wakawaka-1.7-py3-none-any.whl |
Total release size: 61.2 kB
Release files / django_wakawaka-1.7.tar.gz
| Download URL | django_wakawaka-1.7.tar.gz |
|---|---|
| Size | 24.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b3832713716f8d48717c5127beca2c5afe054094fdf9db8fe6c8b0ef85928ec3
|
|
BLAKE2b-256 checksum How to use checksums |
bee4c55071437060fa19b20f66fe47a0c9a083817350795ea3a7e1c126dd3b4d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.3.2 CPython/3.14.3 Darwin/25.2.0
|
Release files / django_wakawaka-1.7-py3-none-any.whl
| Download URL | django_wakawaka-1.7-py3-none-any.whl |
|---|---|
| Size | 37.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b06d0d71725d8f990852db257417e6aa200935e91019a27277956a36ed9ab36c
|
|
BLAKE2b-256 checksum How to use checksums |
c2a9d76996fa7c54e1e03b46a80a835f36093817f21397f47a1c73679cc10b5e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.3.2 CPython/3.14.3 Darwin/25.2.0
|
Security for django-wakawaka 1.7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.