专为Python设计的依赖注入框架。
项目描述
Picobox是一个具有意见的依赖注入框架,旨在简洁、实用,并考虑到Python。没有复杂的图,没有隐式注入,没有类型绑定——只有picobox,和明确的要求!
为什么?
因为我们通常想要解耦我们的代码,而Python缺乏干净和实用的解决方案(即使是第三方)。
特性
支持值和工厂。
支持作用域(例如单例、threadlocal、contextvars)。
将盒子推入堆栈,并使用顶部的一个来访问值。
线程安全。
轻量级(包括作用域约500LOC)。
无依赖。
纯Python。
带有类型注解。
快速入门
首先
$ [sudo] python -m pip install picobox
然后
import picobox
import requests
@picobox.pass_("conf")
@picobox.pass_("requests", as_="session")
def get_resource(uri, session, conf):
return session.get(conf["base_uri"] + uri)
box = picobox.Box()
box.put("conf", {"base_uri": "http://example.com"})
box.put("requests", factory=requests.Session, scope=picobox.threadlocal)
with picobox.push(box):
get_resource("/resource", requests.Session(), {})
get_resource("/resource", requests.Session())
get_resource("/resource")
链接
项目详情
下载文件
下载适用于您平台上的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分发
picobox-4.0.0.tar.gz (22.7 kB 查看哈希值)
构建分发
picobox-4.0.0-py3-none-any.whl (11.6 kB 查看哈希值)