读取和写入entry_points.txt文件
项目描述
entry-points-txt 提供了根据 规范 读取和写入 entry_points.txt 文件的功能。这是它唯一要做的事情,并且它努力做得很好。
安装
entry-points-txt 需要 Python 3.6 或更高版本。只需使用 Python 3 的 pip 安装 entry-points-txt
python3 -m pip install entry-points-txt
API
EntryPoint
class EntryPoint(NamedTuple)
一个表示入口点的namedtuple。实例具有以下属性和方法
- group: str
入口点组的名称(例如,"console_scripts")
- name: str
入口点的名称
- module: str
属性引用的部分模块(冒号前的部分)
- attr: Optional[str]
属性引用的属性/对象部分(冒号之后的部分),如果没有指定则为None
- 额外参数:元组[str, ...]
入口点所需的额外参数
- load() -> Any
返回入口点所引用的对象
- to_line() -> str
返回入口点在entry_points.txt文件中的表示,即形式为name = module:attr [extras]的行
EntryPointSet
EntryPointSet = Dict[str, Dict[str, EntryPoint]]
是load()和loads()的返回类型以及dump()和dumps()的参数类型的一个别名。入口点被组织成一个映射组名到子字典的字典,其中子字典将入口点名称映射到EntryPoint实例。
load()
entry_points_txt.load(fp: IO[str]) -> EntryPointSet
将文件对象解析为entry_points.txt格式文件,并返回结果。
例如,以下输入
[console_scripts]
foo = package.__main__:main
bar = package.cli:klass.attr
[thingy.extension]
quux = package.thingy [xtr]
将被解析为
{
"console_scripts": {
"foo": EntryPoint(group="console_scripts", name="foo", module="package.__main__", attr="main", extras=()),
"bar": EntryPoint(group="console_scripts", name="bar", module="package.cli", attr="klass.attr", extras=()),
},
"thingy.extension": {
"quux": EntryPoint(group="thingy.extension", name="quux", module="package.thingy", attr=None, extras=("xtr",)),
},
}
loads()
entry_points_txt.loads(s: str) -> EntryPointSet
类似于load(),但读取字符串而不是文件句柄
dump()
entry_points_txt.dump(eps: EntryPointSet, fp: IO[str]) -> None
将一系列入口点写入文件对象,格式为entry_points.txt。如果EntryPoint所在的组或名称键与其group或name属性不匹配,则引发ValueError,并且不会写入任何内容。
dumps()
entry_points_txt.dumps(eps: EntryPointSet) -> str
类似于dump(),但返回字符串而不是写入文件句柄
dump_list()
entry_points_txt.dump_list(eps: Iterable[EntryPoint], fp: IO[str]) -> None
将一系列入口点写入文件对象,格式为entry_points.txt。如果有两个或更多入口点具有相同的组 & 名称,则仅输出最后一个。
dumps_list()
entry_points_txt.dumps_list(eps: Iterable[EntryPoint]) -> str
类似于dump_list(),但返回字符串而不是写入文件句柄
ParseError
class ParseError(ValueError)
load()或loads()在给定无效输入时引发的异常
项目详情
entry-points-txt-0.2.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b3e4e976b8c18f479ecad42594cac8d75e42293e8ba9e3f4892d927b02099e6a |
|
MD5 | 3692a63d48405c2abd0d9539c6b845cd |
|
BLAKE2b-256 | 9ef266329d6a74e456039ae09be85dc96f2994edb86613ed5bc63f605cef7864 |