Skip to content

Commit

Permalink
deprecate __version__ attribute (#5242)
Browse files Browse the repository at this point in the history
  • Loading branch information
davidism authored Aug 29, 2023
2 parents 153433f + 293041a commit faef9a0
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 2 deletions.
2 changes: 2 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ Version 3.0.0
Unreleased

- Remove previously deprecated code. :pr:`5223`
- Deprecate the ``__version__`` attribute. Use feature detection, or
``importlib.metadata.version("flask")``, instead. :issue:`5230`
- Restructure the code such that the Flask (app) and Blueprint
classes have Sans-IO bases. :pr:`5127`

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
[project]
name = "Flask"
version = "3.0.0.dev"
description = "A simple framework for building complex web applications."
readme = "README.rst"
license = {file = "LICENSE.rst"}
Expand All @@ -26,7 +27,6 @@ dependencies = [
"blinker>=1.6.2",
"importlib-metadata>=3.6.0; python_version < '3.10'",
]
dynamic = ["version"]

[project.urls]
Donate = "https://palletsprojects.com/donate"
Expand Down
21 changes: 20 additions & 1 deletion src/flask/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
from __future__ import annotations

import typing as t

from . import json as json
from .app import Flask as Flask
from .blueprints import Blueprint as Blueprint
Expand Down Expand Up @@ -38,4 +42,19 @@
from .wrappers import Request as Request
from .wrappers import Response as Response

__version__ = "3.0.0.dev"

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"
" Flask 3.1. Use feature detection or"
" 'importlib.metadata.version(\"flask\")' instead.",
DeprecationWarning,
stacklevel=2,
)
return importlib.metadata.version("flask")

raise AttributeError(name)

0 comments on commit faef9a0

Please sign in to comment.