{"id":26900,"library":"django-compat","title":"Django Compat","description":"A compatibility layer for Django versions 1.4 through 1.11, providing backports and forwards-compatibility for features across major Django releases. Version 1.0.15 is the latest, likely in maintenance mode as Django 2.0+ is supported natively. Release cadence is low, with occasional updates for new Django versions.","status":"maintenance","version":"1.0.15","language":"python","source_language":"en","source_url":"https://github.com/arteria/django-compat","tags":["django","compatibility","backport"],"install":[{"cmd":"pip install django-compat==1.0.15","lang":"bash","label":"Install with pip"}],"dependencies":[{"reason":"Runtime dependency; version range supported: 1.4 to 1.11","package":"Django","optional":false}],"imports":[{"note":"PyPI package name differs from import; use django_compat","wrong":"from compat import compat","symbol":"compat","correct":"from django_compat import compat"},{"note":"","wrong":"","symbol":"include","correct":"from django_compat.urls import include"},{"note":"Use django_compat.urls not compat.urls","wrong":"from compat.urls import patterns","symbol":"patterns","correct":"from django_compat.urls import patterns"}],"quickstart":{"code":"from django_compat.urls import include, patterns\nfrom django_compat import compat\n\n# Example: use compat.atomic to get atomic context manager on older Django\nfrom django_compat import compat\n\nwith compat.atomic():\n    # Your transaction code\n    pass","lang":"python","description":"Import from django_compat instead of compat to avoid import errors."},"warnings":[{"fix":"Use `from django_compat import ...` or `import django_compat` instead of `compat`.","message":"The package is named `django-compat` on PyPI but the import module is `django_compat`. Using `import compat` will raise ModuleNotFoundError.","severity":"breaking","affected_versions":"all"},{"fix":"Upgrade Django and remove django-compat dependency.","message":"Django 1.11 and earlier are end-of-life. django-compat is only useful for projects stuck on old Django versions. For Django 2.0+, use native Django APIs.","severity":"deprecated","affected_versions":"1.0.x"},{"fix":"Consult docs/compatibility.py in the repo to verify feature support for your Django version.","message":"Some backported functions (like `render_to_string` with new signature) only work on specific Django versions. Check the compatibility docs before relying on a feature.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use `from django_compat import ...` or `import django_compat`.","cause":"Trying to import `compat` (the old import path) instead of `django_compat`.","error":"ModuleNotFoundError: No module named 'compat'"},{"fix":"Use `django.urls.re_path` and `django.urls.path` instead, or verify your django-compat version supports patterns.","cause":"The `patterns` function is deprecated/removed in newer Django and may not be available in all versions of django-compat.","error":"ImportError: cannot import name 'patterns' from 'django_compat'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}