From bb1403b5e9ec1d467694551faf653ba8639d0406 Mon Sep 17 00:00:00 2001 From: Roman Mogylatov Date: Mon, 10 Aug 2020 22:29:25 -0400 Subject: [PATCH] Update docs index and key features page --- docs/index.rst | 17 ++++++++++++++++- docs/introduction/key_features.rst | 17 +++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index 8ce60902..a4f77569 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -64,7 +64,22 @@ Dependency Injector --- Dependency injection framework for Python ``Dependency Injector`` is a dependency injection framework for Python. -It helps you understand and change the structure of the application. +It stands on two principles: + +- Explicit is better than implicit (PEP20). +- Do no magic to your code. + +How does it different from the other frameworks? + +- **No autowiring.** The framework does NOT do any autowiring / autoresolving of the dependencies. You need to specify everything explicitly. Because *"Explicit is better than implicit" (PEP20)*. +- **Does not pollute your code.** Your application does NOT know and does NOT depend on the framework. No ``@inject`` decorators, annotations, patching or any other magic tricks. + +``Dependency Injector`` makes a simple contract with you: + +- You tell the framework how to build you code +- The framework does it for you + +The power of the ``Dependency Injector`` is in its simplicity and straightforwardness. It is a simple tool for the powerful concept. With the ``Dependency Injector`` you keep **application structure in one place**. This place is called **the container**. You use the container to manage all the components of the diff --git a/docs/introduction/key_features.rst b/docs/introduction/key_features.rst index 9ed30269..c2a1756f 100644 --- a/docs/introduction/key_features.rst +++ b/docs/introduction/key_features.rst @@ -13,6 +13,23 @@ It was designed to be a unified and developer-friendly tool that helps implement a dependency injection design pattern in a formal, pretty, and Pythonic way. +It stands on two principles: + +- Explicit is better than implicit (PEP20). +- Do no magic to your code. + +How does it different from the other frameworks? + +- **No autowiring.** The framework does NOT do any autowiring / autoresolving of the dependencies. You need to specify everything explicitly. Because *"Explicit is better than implicit" (PEP20)*. +- **Does not pollute your code.** Your application does NOT know and does NOT depend on the framework. No ``@inject`` decorators, annotations, patching or any other magic tricks. + +``Dependency Injector`` makes a simple contract with you: + +- You tell the framework how to build you code +- The framework does it for you + +The power of the ``Dependency Injector`` is in its simplicity and straightforwardness. It is a simple tool for the powerful concept. + The key features of the ``Dependency Injector`` framework are: + Easy, smart, and Pythonic style.