django-nine
Version checking library.
Decision gist · record as of 2026-08-14
Yes, if you maintain Django code that must support multiple Django versions. It eliminates boilerplate version checking and is lightweight. No, if you target a single Django version or have already moved to modern Django—the library's last release was December 2022 and it does not yet declare support for Django versions beyond 4.1, so verify compatibility with your target version first.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Django 1.5 or later; Python 3.7 or later.
- Low friction install with only Django and packaging as dependencies.
- Actively maintained as of April 2026, though last release was December 2022.
License · maintenance · safety
copyleft license (copyleft) — Dual-licensed under GPL-2.0-only or LGPL-2.1-or-later (copyleft). Use requires compliance with one of these licenses; derivative works must be released under compatible terms.
last release 2022-12-05 (1348 days) · last repo commit 2026-04-14 · 3 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 174,191 downloads/mo, #10,286 on PyPI
Alternatives
Verify before relying
pip install django-nine
from django_nine import versions
if versions.DJANGO_GTE_2_0:
# Use Django 2.0+ API
pass- Whether version constants are automatically generated or manually maintained as Django releases new versions
- Performance impact of importing the library in hot code paths
- Whether the package works with Django versions beyond 4.1
What it is and what it does
django-nine is a compatibility library that exposes boolean constants for each Django version, letting you write version-aware code without manual version parsing. It provides constants like `DJANGO_1_7`, `DJANGO_GTE_1_8`, and `DJANGO_LTE_2_0` that evaluate to True or False based on the installed Django version, and can be used in Python code or injected into Django templates via a context processor.
The library is designed for projects that need to support multiple Django versions simultaneously—a common requirement during Django upgrades. Instead of checking `django.VERSION` manually, you import pre-defined version flags and use them in conditional logic. It depends only on Django and packaging, making it a lightweight addition to any Django project.
Use it for
- Support multiple Django versions in a single codebase during a gradual Django upgrade
- Conditionally import or use different APIs depending on the installed Django version
- Expose Django version information to templates for version-specific template logic
- Simplify version-gated feature flags in reusable Django packages
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you maintain Django code that must support multiple Django versions.
It eliminates boilerplate version checking and is lightweight. No, if you target a single Django version or have already moved to modern Django—the library's last release was December 2022 and it does not yet declare support for Django versions beyond 4.1, so verify compatibility with your target version first.
Install
django-nine on PyPI
Before you install
Low friction install with only Django and packaging as dependencies. Actively maintained as of April 2026, though last release was December 2022.
Requires Django 1.5 or later; Python 3.7 or later.
License in practice
Dual-licensed under GPL-2.0-only or LGPL-2.1-or-later (copyleft). Use requires compliance with one of these licenses; derivative works must be released under compatible terms.
Quickstart
pip install django-nine
from django_nine import versions
if versions.DJANGO_GTE_2_0:
# Use Django 2.0+ API
pass
Verify before relying
- Whether version constants are automatically generated or manually maintained as Django releases new versions
- Performance impact of importing the library in hot code paths
- Whether the package works with Django versions beyond 4.1
Package facts
| License | copyleft license copyleft |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesDjangopackaging |
| Maintenance | Actively maintained 1,348 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 174,191 / month, #10,286 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaEnvironment :: Web EnvironmentFramework :: DjangoIntended Audience :: DevelopersLicense :: OSI Approved :: GNU General Public License v2 (GPLv2)License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)Operating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9 |
Evidence: django_nine-0.2.7-py2.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 version checking”
- django-nineProvides version checking utilities for Django, allowing code to…
- bridgekeeperBridgekeeper provides a permissions system for Django projects where…
- types-channelsProvides type stubs for the channels package, enabling static type…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.
Install it if you need to build or connect to servers.
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.
See also django-upgrade · update_checker · django-localflavor · numpy-typing-compat · enum-compat · django-contrib-comments · django-waffle · django-settings-export · django-jinja