From 5d4eeb648a25d0414a767294773b52dd6fe54126 Mon Sep 17 00:00:00 2001 From: Roman Mogylatov Date: Mon, 28 Sep 2020 14:16:05 -0400 Subject: [PATCH] Deprecate ext package modules and remove types module --- docs/main/changelog.rst | 3 +++ src/dependency_injector/ext/aiohttp.py | 8 ++++++++ src/dependency_injector/ext/flask.py | 8 ++++++++ src/dependency_injector/types.py | 17 ----------------- 4 files changed, 19 insertions(+), 17 deletions(-) delete mode 100644 src/dependency_injector/types.py diff --git a/docs/main/changelog.rst b/docs/main/changelog.rst index 64153c71..d7a75f67 100644 --- a/docs/main/changelog.rst +++ b/docs/main/changelog.rst @@ -10,6 +10,9 @@ follows `Semantic versioning`_ 4.0.0 ----- - Add ``wiring`` feature. +- Deprecate ``ext.aiohttp`` module. +- Deprecate ``ext.flask`` module. +- Remove deprecated ``types`` module. - Add ``sanic`` example. - Update ``aiohttp`` example. - Update ``flask`` example. diff --git a/src/dependency_injector/ext/aiohttp.py b/src/dependency_injector/ext/aiohttp.py index f42d95e4..b132f362 100644 --- a/src/dependency_injector/ext/aiohttp.py +++ b/src/dependency_injector/ext/aiohttp.py @@ -3,10 +3,18 @@ from __future__ import absolute_import import functools +import warnings from dependency_injector import providers +warnings.warn( + 'Module "dependency_injector.ext.aiohttp" is deprecated since ' + 'version 4.0.0. Use "dependency_injector.wiring" module instead.', + category=DeprecationWarning, +) + + class Application(providers.Singleton): """Aiohttp application provider.""" diff --git a/src/dependency_injector/ext/flask.py b/src/dependency_injector/ext/flask.py index bcc696c8..f03a6e6a 100644 --- a/src/dependency_injector/ext/flask.py +++ b/src/dependency_injector/ext/flask.py @@ -1,12 +1,20 @@ """Flask extension module.""" from __future__ import absolute_import +import warnings from flask import request as flask_request from dependency_injector import providers, errors +warnings.warn( + 'Module "dependency_injector.ext.aiohttp" is deprecated since ' + 'version 4.0.0. Use "dependency_injector.wiring" module instead.', + category=DeprecationWarning, +) + + request = providers.Object(flask_request) diff --git a/src/dependency_injector/types.py b/src/dependency_injector/types.py deleted file mode 100644 index a03e2353..00000000 --- a/src/dependency_injector/types.py +++ /dev/null @@ -1,17 +0,0 @@ -from typing import TypeVar, Generic, Any -import warnings - - -warnings.warn( - 'Types module is deprecated since version 3.44.0. Use "providers" module instead: ' - 'providers.Provider[SomeClass]', - category=DeprecationWarning, -) - - -Injection = Any -T = TypeVar('T') - - -class Provider(Generic[T]): - def __call__(self, *args: Injection, **kwargs: Injection) -> T: ...