{"repo":"reagento/dishka","free":true,"listed":false,"github":"https://github.com/reagento/dishka","clone":"git clone https://github.com/reagento/dishka.git","description":"Cute dependency injection (DI) framework for Python with agreeable API and everything you need","language":"Python","stars":1251,"topics":["di","di-container","di-framework","ioc-container","python","dependency-injector","dependency-injection","dishka"],"license":"Apache-2.0","category":"deployment-docker-iac","readme_excerpt":"dishka (stands for \"cute DI\" in Russian) Cute DI framework with scopes and an agreeable API. 📚 Documentation Purpose This library provides an IoC container that's genuinely useful. If you're exhausted from endlessly passing objects to create other objects, only to have those objects create even more — you're not alone, and dishka is a solution. Not every project requires an IoC container, but take a look at what dishka offers. Unlike other tools, dishka focuses only on dependency injection (DI) without trying to solve unrelated tasks. It keeps DI in place without cluttering your code with global variables and scattered specifiers. To see how dishka stands out among other DI tools, check out the detailed comparison. Key features: Scopes . Any object can have a lifespan for the entire app, a single request, or even more fractionally. Many frameworks either lack scopes completely or offer only two. With dishka , you can define as many scopes as needed. Finalization . Some dependencies, like database connections, need not only to be created but also carefully released. Many frameworks lack this essential feature. Modular providers . Instead of creating many separate functions or one large class, you can split factories into smaller classes for easier reuse. Clean dependencies . You don't need to add custom markers to dependency code to make it visible for the library. Simple API . Only a few objects are needed to start using the library. Framework integrations . Popular framewor","default_branch":null,"files":null,"tree":[],"storefront":"/r/reagento","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/reagento/dishka/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}