跳转到主要内容

读取和写入entry_points.txt文件

项目描述

Project Status: Active — The project has reached a stable, usable state and is being actively developed. CI Status https://codecov.io/gh/jwodder/entry-points-txt/branch/master/graph/badge.svg https://img.shields.io/pypi/pyversions/entry-points-txt.svg MIT License

GitHub | PyPI | 问题 | 变更日志

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所在的组或名称键与其groupname属性不匹配,则引发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 (9.5 kB 查看哈希值)

上传时间 源代码

构建分发

entry_points_txt-0.2.0-py3-none-any.whl (7.1 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面