deprecate __version__ (#2098)

This commit is contained in:
David Lord 2025-05-28 11:43:08 -07:00 committed by GitHub
commit 9e49736ae0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 24 additions and 2 deletions

View File

@ -8,6 +8,8 @@ Unreleased
- Drop support for Python 3.7, 3.8, and 3.9.
- Update minimum MarkupSafe version to >= 3.0.
- Update minimum Babel version to >= 2.17.
- Deprecate the ``__version__`` attribute. Use feature detection or
``importlib.metadata.version("jinja2")`` instead.
- Use modern packaging metadata with ``pyproject.toml`` instead of ``setup.cfg``.
:pr:`1793`
- Use ``flit_core`` instead of ``setuptools`` as build backend.

View File

@ -1,5 +1,6 @@
[project]
name = "Jinja2"
version = "3.2.0.dev"
description = "A very fast and expressive template engine."
readme = "README.md"
license = "BSD-3-Clause"
@ -17,7 +18,6 @@ classifiers = [
]
requires-python = ">=3.10"
dependencies = ["MarkupSafe>=3.0"]
dynamic = ["version"]
[project.urls]
Donate = "https://palletsprojects.com/donate"

View File

@ -3,6 +3,10 @@ non-XML syntax that supports inline expressions and an optional
sandboxed environment.
"""
from __future__ import annotations
import typing as t
from .bccache import BytecodeCache as BytecodeCache
from .bccache import FileSystemBytecodeCache as FileSystemBytecodeCache
from .bccache import MemcachedBytecodeCache as MemcachedBytecodeCache
@ -35,4 +39,19 @@ from .utils import pass_environment as pass_environment
from .utils import pass_eval_context as pass_eval_context
from .utils import select_autoescape as select_autoescape
__version__ = "3.2.0.dev0"
def __getattr__(name: str) -> t.Any:
if name == "__version__":
import importlib.metadata
import warnings
warnings.warn(
"The `__version__` attribute is deprecated and will be removed in"
" Werkzeug 3.3. Use feature detection or"
' `importlib.metadata.version("werkzeug")` instead.',
DeprecationWarning,
stacklevel=2,
)
return importlib.metadata.version("werkzeug")
raise AttributeError(name)

1
uv.lock generated
View File

@ -313,6 +313,7 @@ wheels = [
[[package]]
name = "jinja2"
version = "3.2.0.dev0"
source = { editable = "." }
dependencies = [
{ name = "markupsafe" },