django-reversion-compare
Add compare view to django-reversion for comparing two versions of a reversion model.
Decision gist · record as of 2026-08-14
Yes, if your project is open-source or GPL-compatible and you need to show model change history to users. The package is actively maintained, has low install friction, and solves a real problem for Django projects using django-reversion. Not suitable for proprietary applications without a commercial license agreement.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires django-reversion to be installed and configured first; django-reversion itself requires a database backend and Django admin setup.
- Low friction install with four runtime dependencies.
- Active maintenance with last commit 2026-08-10.
License · maintenance · safety
GPL-3.0-or-later (copyleft) — GPL-3.0-or-later copyleft license. Using this package requires you to license derivative works under GPL-3.0 or a compatible open-source license; proprietary applications cannot use it without obtaining an alternative license.
last release 2026-08-03 (11 days) · last repo commit 2026-08-10 · 321 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 87,626 downloads/mo, #13,781 on PyPI
Alternatives
Verify before relying
pip install django-reversion-compare
# In settings.py INSTALLED_APPS:
INSTALLED_APPS = [
'reversion',
'reversion_compare',
]
# In admin.py:
from reversion_compare.admin import CompareVersionAdmin
from django.contrib import admin
class MyModelAdmin(CompareVersionAdmin):
pass- Whether the package supports all field types in modern Django versions or has known gaps in comparison rendering.
- Performance characteristics when comparing models with large text fields or many-to-many relationships.
- Whether customization via method overrides works reliably across Django version upgrades.
What it is and what it does
django-reversion-compare extends django-reversion to display a visual diff when comparing two versions of a model. It provides both an admin interface enhancement (via CompareVersionAdmin) and a standalone class-based view for showing what changed between revisions. The package renders field-by-field comparisons with support for text diffs, foreign keys, and many-to-many relationships, and allows customization by overriding comparison methods per field or field type.
The package depends on django-reversion for underlying revision tracking, diff-match-patch for computing text diffs, rich for output formatting, and Django itself. It is actively maintained and compatible with recent Django and Python versions. The GPL-3.0-or-later license means it is suitable only for open-source projects or those willing to license their code under GPL.
Use it for
- Display a detailed audit trail in Django admin showing exactly which fields changed between model revisions.
- Build a custom history page showing what was modified in a document or record over time.
- Compare two specific versions of a model to understand the sequence of edits.
- Customize diff rendering for domain-specific fields by overriding comparison methods.
- Add version comparison to third-party Django models without modifying their source code.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if your project is open-source or GPL-compatible and you need to show model change history to users.
The package is actively maintained, has low install friction, and solves a real problem for Django projects using django-reversion. Not suitable for proprietary applications without a commercial license agreement.
Install
django-reversion-compare on PyPI
Before you install
Low friction install with four runtime dependencies. Active maintenance with last commit 2026-08-10. Requires Python >=3.12.
Requires django-reversion to be installed and configured first; django-reversion itself requires a database backend and Django admin setup.
License in practice
GPL-3.0-or-later copyleft license. Using this package requires you to license derivative works under GPL-3.0 or a compatible open-source license; proprietary applications cannot use it without obtaining an alternative license.
Quickstart
pip install django-reversion-compare
# In settings.py INSTALLED_APPS:
INSTALLED_APPS = [
'reversion',
'reversion_compare',
]
# In admin.py:
from reversion_compare.admin import CompareVersionAdmin
from django.contrib import admin
class MyModelAdmin(CompareVersionAdmin):
pass
Verify before relying
- Whether the package supports all field types in modern Django versions or has known gaps in comparison rendering.
- Performance characteristics when comparing models with large text fields or many-to-many relationships.
- Whether customization via method overrides works reliably across Django version upgrades.
Package facts
| License | GPL-3.0-or-later copyleft |
| Python support | Supports the current Python release >=3.12 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesdiff-match-patchdjangodjango-reversionrich |
| Maintenance | Actively maintained 11 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 87,626 / month, #13,781 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: django_reversion_compare-0.20.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “django model version comparison”
- django-reversion-compareAdds a side-by-side version comparison view to Django admin for…
- django-nineProvides version checking utilities for Django, allowing code to…
- django-reversiondjango-reversion adds version control to Django model instances,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Dynamic Content packages
MarkupSafe provides a text object that escapes special characters so untrusted strings can be safely embedded in HTML and XML without injection attacks.
Jinja2 is a templating engine that renders dynamic content by combining templates with Python-like syntax and data, supporting template inheritance, macros, autoescaping, and sandboxed execution.
Soupsieve is a CSS selector library designed to work with Beautiful Soup 4 to select, match, and filter HTML and XML elements using modern CSS selectors from CSS level 1 through CSS level 4 specifications.
Install it if you use Beautiful Soup for HTML or XML parsing and want modern CSS selector support.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
Flask is a lightweight WSGI web application framework for building web applications in Python, from simple single-page sites to complex multi-route applications.
Mako compiles Python-embedded templates into Python modules for fast rendering, supporting layout inheritance, custom functions, and direct Python expressions within template syntax.
See also django-reversion · django-reverse-admin · django-linear-migrations · django-admin-sortable2 · django-adminplus · django-admin-extra-buttons · django-ajax-selects