跳转到主要内容

另一个URL库

项目描述

yarl

该模块提供了方便的 URL 类,用于 URL 解析和更改。

https://github.com/aio-libs/yarl/workflows/CI/badge.svg https://codecov.io/gh/aio-libs/yarl/branch/master/graph/badge.svg https://badge.fury.io/py/yarl.svg https://readthedocs.org/projects/yarl/badge/?version=latest https://img.shields.io/pypi/pyversions/yarl.svg Matrix Room — #aio-libs:matrix.org Matrix Space — #aio-libs-space:matrix.org

简介

URL 由 str 构建

>>> from yarl import URL
>>> url = URL('https://pythonlang.cn/~guido?arg=1#frag')
>>> url
URL('https://pythonlang.cn/~guido?arg=1#frag')

所有 URL 部分:方案用户密码主机端口路径查询片段 都可以通过属性访问

>>> url.scheme
'https'
>>> url.host
'www.python.org'
>>> url.path
'/~guido'
>>> url.query_string
'arg=1'
>>> url.query
<MultiDictProxy('arg': '1')>
>>> url.fragment
'frag'

所有 URL 操作都会生成一个新的 URL 对象

>>> url = URL('https://pythonlang.cn')
>>> url / 'foo' / 'bar'
URL('https://pythonlang.cn/foo/bar')
>>> url / 'foo' % {'bar': 'baz'}
URL('https://pythonlang.cn/foo?bar=baz')

传递给构造函数和修改方法的字符串将自动编码,以得到规范表示的结果

>>> url = URL('https://pythonlang.cn/шлях')
>>> url
URL('https://pythonlang.cn/%D1%88%D0%BB%D1%8F%D1%85')

常规属性会被 百分比解码,使用 raw_ 版本来获取 编码 字符串

>>> url.path
'/шлях'

>>> url.raw_path
'/%D1%88%D0%BB%D1%8F%D1%85'

URL 的人类可读表示形式可以通过 .human_repr() 获取

>>> url.human_repr()
'https://pythonlang.cn/шлях'

有关完整文档,请参阅 https://yarl.aio-libs.org

安装

$ pip install yarl

该库仅支持 Python 3!

PyPI 包含适用于 Linux、Windows 和 MacOS 的二进制轮子。如果您想在其他操作系统(例如不兼容 manylinux 的 Alpine Linux,因为它缺少 glibc,因此不能使用我们的轮子)上安装 yarl,则需要使用 tarball 从源代码编译库。它需要一个 C 编译器和安装 Python 头文件。

要跳过编译,您必须通过使用 PEP 517 配置设置 pure-python 或将 YARL_NO_EXTENSIONS 环境变量设置为非空值来明确选择,例如

$ pip install yarl --config-settings=pure-python=false

请注意,纯 Python(未编译)版本要慢得多。然而,PyPy 总是使用纯 Python 实现的,因此不受此变量的影响。

依赖项

YARL 需要 multidict 库。

API 文档

文档位于 https://yarl.aio-libs.org

为什么 URL 查询 API 不支持布尔值?

没有布尔值的布尔表示标准。

一些系统喜欢 true/false,其他系统喜欢 yes/noon/offY/N1/0 等。

yarl 无法明确决定如何序列化 bool 值,因为这取决于最终用户的应用程序构建方式,并且对于不同的应用程序而言会有所不同。库不接受 API 中的布尔值;用户应使用自己的首选翻译协议将布尔值转换为字符串。

与其他 URL 库的比较

  • furl (https://pypi.python.org/pypi/furl)

    该库功能丰富,但 furl 对象是可变的。

    我害怕将此对象传递给外部代码:谁知道代码是否会以可怕的方式修改我的 URL,而我只想发送带有方便的 URL 属性访问器的 URL。

    furl 有其他非直观的棘手问题,但主要反对意见是可变性。

  • URLObject (https://pypi.python.org/pypi/URLObject)

    URLObject 是不可变的,这很好。

    每次 URL 更改都会生成一个新的 URL 对象。

    但该库不执行任何解码/编码转换,将这些令人不快的细节留给最终用户处理。

源代码

该项目托管在GitHub上。

如果您发现了错误或有改进库的建议,请在错误追踪器上提交问题

讨论列表

aio-libs Google 群组:https://groups.google.com/forum/#!forum/aio-libs

在此处自由发表您的问题和想法。

作者和许可证

“yarl”包由Andrew Svetlov编写。

它是Apache 2许可证,免费提供。

变更日志

1.13.1

(2024-09-27)

一些内部更改

  • 通过@bdraco改进了使用authority调用yarl.URL.build()的性能。

    GitHub上的相关问题和拉取请求: #1163.


1.13.0

(2024-09-26)

错误修复

  • 开始拒绝具有无效字符的ASCII主机名。对于看起来像授权字符串的主机字符串,异常信息包括有关如何采取替代措施的说明 – 通过@mjpieters

    GitHub上的相关问题和拉取请求: #880#954.

  • 修复了将~yarl.URL转换为字符串时IPv6地址缺少括号的问题 – 通过@bdraco

    GitHub上的相关问题和拉取请求: #1157#1158.

功能

  • 添加了~yarl.URL.host_subcomponent,它返回3986#section-3.2.2主机子组件 – 通过@bdraco

    ~yarl.URL.raw_host~yarl.URL.host_subcomponent之间,目前唯一实际的差异是IPv6地址以括号返回。

    GitHub上的相关问题和拉取请求: #1159.


1.12.1

(2024-09-23)

没有重大更改。


1.12.0

(2024-09-23)

功能

  • 添加了~yarl.URL.path_safe,以便可以获取不进行%2F(斜杠)和%25(百分号)解码的路径 – 通过@bdraco

    GitHub上的相关问题和拉取请求: #1150.

移除和向后不兼容的更改

  • URL.path中恢复解码%2F(斜杠) – 通过@bdraco

    此更改恢复了#1057之前的操作。

    GitHub上的相关问题和拉取请求: #1151.

一些内部更改

  • 通过@bdraco提高了处理路径的性能。

    GitHub上的相关问题和拉取请求: #1143.


1.11.1

(2024-09-09)

错误修复

  • 如果方案不需要主机,则允许替换相对URL的方案 – 通过@bdraco

    GitHub上的相关问题和拉取请求: #280#1138.

  • 对于除了WHATWG URL规范中列出的特殊方案之外的其他URL方案,允许空主机 – 通过@bdraco

    GitHub上的相关问题和拉取请求: #1136.

功能

  • 通过@bdraco放宽了对查询字符串值作为整数的限制,以允许实现__int__的类。

    GitHub上的相关问题和拉取请求: #1139.

一些内部更改

  • 通过@bdraco提高了规范路径的性能。

    GitHub上的相关问题及Pull请求: #1137.


1.11.0

(2024-09-08)

功能

  • 添加了URL.extend_query()()方法,通过@bdraco,可以在不替换同名键的情况下扩展参数。

    此方法主要添加是为了替换当前在#1128中使用的低效手动方法。

    GitHub上的相关问题及Pull请求: #1122.

一些内部更改

  • 改进了Cython cached_property实现的性能 – 由@bdraco

    GitHub上的相关问题及Pull请求: #1123.

  • 通过删除不必要的代码简化了计算端口 – 由@bdraco

    GitHub上的相关问题及Pull请求: #1125.

  • 改进了编码非IPv6主机的性能 – 由@bdraco

    GitHub上的相关问题及Pull请求: #1126.

  • 当路径、查询字符串或片段为空字符串时,改进了URL.build()()的性能 – 由@bdraco

    GitHub上的相关问题及Pull请求: #1128.

  • 改进了URL.update_query()()方法的性能 – 由@bdraco

    GitHub上的相关问题及Pull请求: #1130.

  • 当参数为str时,改进了处理查询字符串更改的性能 – 由@bdraco

    GitHub上的相关问题及Pull请求: #1131.


1.10.0

(2024-09-06)

错误修复

  • 修复了当现有路径为空时路径拼接的问题 – 由@bdraco

    #1082中引入了#1118的回归。

    GitHub上的相关问题及Pull请求: #774#898#1010

功能

  • 添加了URL.without_query_params()()方法,用于从查询字符串中删除一些参数 – 由@hongquan

    GitHub上的相关问题及Pull请求: #1050#1113

  • 之前受保护的类型_SimpleQuery_QueryVariable_Query现在可以作为SimpleQueryQueryVariableQuery在外部使用 – 由@bdraco

    GitHub上的相关问题及Pull请求: #1050#1113

面向贡献者的更改

  • 将所有~typing.Optional替换为~typing.Union – 由@bdraco

    GitHub上的相关问题及Pull请求: #1095

一些内部更改

  • 显著提高了解析网络位置的性能 – 由@bdraco

    GitHub上的相关问题及Pull请求: #1112

  • 向缓存中添加了内部类型以防止未来的重构错误 - 由 @bdraco 完成。

    GitHub上的相关问题和拉取请求: #1117


1.9.11

(2024-09-04)

错误修复

  • 修复了与 MultiDictProxy 和 Python 3.8 相关的 TypeError - 由 @bdraco 完成。

    GitHub上的相关问题和拉取请求: #1084#1105#1107

一些内部更改

  • 提高了编码主机的性能 - 由 @bdraco 完成。

    之前,库会无条件尝试将主机解析为 IP 地址。现在,如果字符串不在 3986#section-3.2.2 中描述的格式之一,库将避免尝试将主机解析为 IP 地址。

    GitHub上的相关问题和拉取请求: #1104


1.9.10

(2024-09-04)

错误修复

  • URL.join()() 已更改为符合 3986 并与 / operation()URL.joinpath()() 对齐,当连接具有空段的 URL 时。之前使用了 urllib.parse.urljoin,它存在与空段相关的已知问题(python/cpython#84774)。

    由于 URL.join()() 的语义,连接具有方案的 URL 需要将其设置为相对路径,并在前面加上 ./

    >>> URL("https://web.archive.org/web/").join(URL("./https://github.com/aio-libs/yarl"))
    URL('https://web.archive.org/web/https://github.com/aio-libs/yarl')

    在基础部分以及连接的部分都会尊重空段。

    >>> URL("https://web.archive.org/web/https://").join(URL("github.com/aio-libs/yarl"))
    URL('https://web.archive.org/web/https://github.com/aio-libs/yarl')

    – 由 @commonism

    此更改最初出现在 1.9.5 中,但在 1.9.6 中被回滚,以解决查询字符串处理的问题。

    GitHub上的相关问题和拉取请求: #1039#1082

功能

  • 添加了 ~yarl.URL.absolute,现在它比 URL.is_absolute() 更受青睐 – 由 @bdraco 完成。

    GitHub上的相关问题和拉取请求: #1100


1.9.9

(2024-09-04)

错误修复

  • ~yarl.URL.port 上添加了缺失的类型 – 由 @bdraco 完成。

    GitHub上的相关问题和拉取请求: #1097


1.9.8

(2024-09-03)

功能

  • 用类型覆盖了 ~yarl.URL 对象 – 由 @bdraco 完成。

    GitHub上的相关问题和拉取请求: #1084

  • 在编码主机时缓存 IP 地址的解析 – 由 @bdraco 完成。

    GitHub上的相关问题和拉取请求: #1086

面向贡献者的更改

  • 用类型覆盖了 ~yarl.URL 对象 – 由 @bdraco 完成。

    GitHub上的相关问题和拉取请求: #1084

一些内部更改

  • 提高了处理端口的性能 – 由 @bdraco 完成。

    GitHub上的相关问题和拉取请求: #1081


1.9.7

(2024-09-01)

移除和向后不兼容的更改

  • 当方案不是 httphttpswssws 时,移除了对 3986#section-3.2.3 端口规范的支持 – 由 @bdraco 完成。

    最近在 #1033 中添加了对端口规范化的支持,并且包含了一段如果方案不是上述四种之一,就会执行阻塞 I/O 的代码。已经删除了这段代码,因为此库旨在与 asyncio 安全使用。

    GitHub上的相关问题和拉取请求: #1076

一些内部更改

  • 提高了属性缓存的性能 – 由 @bdraco 完成。

    aiohttp 中适配了 reify 实现,用于替换内部 cached_property 实现。

    GitHub 上的相关问题和拉取请求: #1070.


1.9.6

(2024-08-30)

错误修复

  • 撤销了对 3986 兼容的 URL.join()() 的修改,该修改在 #1039 中引入了空段。

    此更改引入了对连接的 URL 处理查询字符串参数的回归。更改已撤销以保持与先前行为的兼容性。

    GitHub 上的相关问题和拉取请求: #1067.


1.9.5

(2024-08-30)

错误修复

  • 连接 URL 并带有空段已更改为与 3986 匹配。

    之前,空段将从路径中删除,破坏了如

    URL("https://web.archive.org/web/") / "https://github.com/"

    现在,/ operation()URL.joinpath()() 保留空段,但不会引入新的空段。例如:

    URL("https://example.org/") / ""

    不会引入一个空段。

    – 由 @commonism@youtux 提供

    GitHub 上的相关问题和拉取请求: #1026.

  • 现在在根据 3986#section-3.2.3 标准化 URL 字符串表示时,考虑了知名 URI 方案的默认协议端口。

    如果端口与方案的默认端口匹配,则从 ~yarl.URLstr 表示中删除指定的端口 – 由 @commonism 提供。

    GitHub 上的相关问题和拉取请求: #1033.

  • URL.join()() 已更改为符合 3986 并与 / operation()URL.joinpath()() 对齐,当连接具有空段的 URL 时。之前使用了 urllib.parse.urljoin,它存在与空段相关的已知问题(python/cpython#84774)。

    由于 URL.join()() 的语义,连接具有方案的 URL 需要将其设置为相对路径,并在前面加上 ./

    >>> URL("https://web.archive.org/web/").join(URL("./https://github.com/aio-libs/yarl"))
    URL('https://web.archive.org/web/https://github.com/aio-libs/yarl')

    在基础部分以及连接的部分都会尊重空段。

    >>> URL("https://web.archive.org/web/https://").join(URL("github.com/aio-libs/yarl"))
    URL('https://web.archive.org/web/https://github.com/aio-libs/yarl')

    – 由 @commonism

    GitHub 上的相关问题和拉取请求: #1039.

移除和向后不兼容的更改

  • 停止在 URL.path 中解码 %2F (/),因为这可能导致代码错误地将它视为路径分隔符 – 由 @Dreamsorcerer 提供。

    GitHub 上的相关问题和拉取请求: #1057.

  • 删除了对 Python 3.7 的支持 – 由 @Dreamsorcerer 提供。

    GitHub 上的相关问题和拉取请求: #1016.

改进了文档

  • Contributing docs 页面上,已修复指向 Towncrier philosophy 的链接。

    GitHub 上的相关问题和拉取请求: #981.

  • 在 API 参考 中记录了现有的 / magic method() – 由 @commonism 提供。

    GitHub 上的相关问题和拉取请求: #1026.

打包更新和下游说明

  • 在将项目目录复制到临时文件夹的逻辑中存在缺陷,这导致当 TMPDIR 设置为项目子目录路径时发生无限递归。这是在 Fedora 及其下游由于使用 pyproject-rpm-macros 而发生的。仅在 pip wheel 中可重现,并且不会影响 pyproject-build 用户。

    – 由 @hroncok@webknjaz 提供

    GitHub 上的相关问题和拉取请求: #992#1014.

  • 支持 Python 3.13 并发布非线程安全的轮子

    GitHub 上的相关问题和拉取请求: #1054.

面向贡献者的更改

  • CI/CD配置已更新,以在macOS 14下测试arm64轮文件,但Python 3.7在该环境中不受支持 - 由@webknjaz提供。

    GitHub上的相关问题和拉取请求: #1015.

  • 移除了未使用的类型忽略和转换操作 - 由@hauntsaninja提供。

    GitHub上的相关问题和拉取请求: #1031.

一些内部更改

  • 端口方案原始主机现在是cached_property - 由@bdraco提供。

    aiohttp经常访问这些属性,这会导致urllib每次都构建_hostinfo属性。现在端口方案原始主机是缓存属性,这将提高性能。

    GitHub上的相关问题和拉取请求: #1044#1058.


1.9.4 (2023-12-06)

错误修复

  • 当将字符串值传递给yarl.URL.build()作为端口参数时,开始抛出TypeError - 由@commonism提供。

    之前,作为字符串表示形式渲染时,空字符串作为端口会创建格式不正确的URL。(#883)

打包更新和下游说明

  • 已从PEP 517树内构建后端配置设置名称中删除了前导破折号。--pure-python现在是pure-python - 由@webknjaz提供。

    现在的使用方法如下

    $ python -m build \
        --config-setting=pure-python=true \
        --config-setting=with-cython-tracing=true

    (#963)

面向贡献者的更改

  • 已添加一个逐步的发布指南,描述如何发布yarl - 由@webknjaz提供。

    这主要针对维护者。(#960)

  • 为Cython模块实现了覆盖率收集 - 由@webknjaz提供。

    它还将报告给Codecov中的任何非发布CI作业。

    要在一个开发环境中测量覆盖率,可以将yarl以可编辑模式安装

    $ python -Im pip install -e .

    可编辑安装生成C文件,这些文件对于Cython覆盖率插件将测量映射回PYX文件是必需的。

    #961

  • 现在可以通过使用with-cython-tracing PEP 517配置设置在Cython构建中请求行跟踪 - @webknjaz

    这可以在CI和开发环境中用于测量Cython模块的覆盖率,但对于最终用户或下游打包者通常没有用。

    以下是一个使用示例

    $ python -Im pip install . --config-settings=with-cython-tracing=true

    对于可编辑安装,此设置默认为开启。否则,除非明确请求,否则为关闭。

    以下生成C文件,这些文件对于Cython覆盖率插件将测量映射回PYX文件是必需的

    $ python -Im pip install -e .

    或者,可以将环境变量YARL_CYTHON_TRACING=1设置,以与PEP 517配置设置相同。

    #962

1.9.3 (2023-11-20)

错误修复

  • 已停止在yarl.URL.joinpath()中删除尾部斜杠 - 由@gmacon提供。(#862#866)

  • yarl.URL.__truediv__() 操作(URL / segment)中开始接受字符串子类 – 由 @mjpieters 实现。(#871#884

  • 修复了用户名和密码中带方括号的URL的人类表示形式 – 由 @mjpieters 实现。(#876#882

  • 更新了类型提示,包括 URL.missing_port()URL.__bytes__() 以及 yarl.URL.joinpath()encoding 参数 – 由 @mjpieters 实现。(#891

打包更新和下游说明

  • 集成了Cython 3,以支持在Python 3.12下构建 yarl – 由 @mjpieters 实现。(#829#881

  • pyproject.toml 中明确声明现代 setuptools.build_metaPEP 517 构建后端 – 由 @webknjaz 实现。(#886

  • 将大部分打包设置转换为声明性 setup.cfg 配置 – 由 @webknjaz 实现。(#890

  • 将打包从旧的 setup.py 替换为树内 PEP 517 构建后端 – 由 @webknjaz 实现。

    当最终用户或下游打包者需要从源代码(Git检出或sdist)构建 yarl 时,他们可以传递一个 config_settings 标志 --pure-python。如果没有设置此标志,则会构建并包含C扩展。

    以下是使用 pip 实现的方法

    $ python -m pip install . --config-settings=--pure-python=false

    这也可以与 -e | --editable 一起使用。

    这也可以通过 pypa/build 实现

    $ python -m build --config-setting=--pure-python=false

    添加 -w | --wheel 可以强制 pypa/build 直接从源代码生成wheel,而不是先构建sdist然后从它构建。(#893)

  • 在发行版包元数据中正式声明支持Python 3.12 – 由 @edgarrmondragon 实现。(#942

面向贡献者的更改

  • 根据 #8213986 添加了对无主机URL的回归测试 – 由 @kenballus 实现。(#821#822

  • 开始对Python 3.12进行CI测试 yarl – 由 @mjpieters 实现。(#881

  • 现在所有Python 3.12作业都标记为在CI中必须通过 – 由 @edgarrmondragon 实现。(#942

  • MyST 现已集成到 Sphinx 中 – 由 @webknjaz 实现。

    这允许贡献者在遇到直接使用RST困难时,使用Markdown编写新文档。(#953

1.9.2 (2023-04-25)

错误修复

  • 修复了使用 yarl.URL.__truediv__() 和空路径绝对URL导致原始路径缺少前导 / 的回归问题。(#854

1.9.1 (2023-04-21)

错误修复

  • 将无法在旧版Python补丁版本(< 3.7.10,< 3.8.8 和 < 3.9.2)上通过测试标记为预期失败,因为这些版本缺少对CVE-2021-23336的安全修复。(#850

1.9.0 (2023-04-19)

由于构建过程中出现问题,此版本从未发布到PyPI。

功能

  • 添加了 URL.joinpath(*elements),用于创建附加多个路径元素的新URL。(#704

  • 当使用不支持的类型调用时,URL.__truediv__() 返回 NotImplemented —— 由 @michaeljpeters 实现。(#832

错误修复

  • 对于绝对URL的路径归一化,当 .. 段落会超出URL路径根时,不再引发 ValueError 异常。(#536

  • 修复了 update_query() 在参数为 None 时无法去除查询的问题。(#792

  • 在 with_port() 函数上添加了一些输入限制,以防止无效的布尔输入或超出有效端口输入;处理了不正确的 0 端口表示。(#793

  • 如果 host 参数为 None,则 yarl.URL.build() 会引发 TypeError —— 由 @paulpapacz 实现。(#808

  • 修复了当参数为空但不是 None 时,update_query() 无法去除查询的问题。(#845

杂项

1.8.2 (2022-12-03)

这是第一个开始为 Python 3.11 提供轮子的版本。

1.8.1 (2022-08-01)

杂项

1.8.0 (2022-08-01)

功能

  • 添加了 URL.raw_suffixURL.suffixURL.raw_suffixesURL.suffixesURL.with_suffix。(#613

改进了文档

  • 修复了对 yarl.URL.human_repr() 的内部引用错误。(#665

  • 修复了对 multidict:index 文档的外部引用错误。(#665

弃用和移除

  • 弃用了对 Python 3.6 的支持。(#672

杂项

1.7.2 (2021-11-01)

错误修复

  • 修改了 with_port() 中的调用,以停止重新编码已编码的URL部分。(#623

1.7.1 (2021-10-07)

错误修复

  • 修复 1.7.0 构建错误

1.7.0 (2021-10-06)

功能

  • 添加了 __bytes__() 魔法方法,以便 bytes(url) 可以正常工作,并使用最优的ASCII编码。(#582

  • 开始为 Apple Silicon 提供平台特定的 arm64 轮子。(#622

  • 开始提供带有 musl 标签的平台特定轮子,针对典型的 Alpine Linux 运行时。(#622

  • 添加了对 Python 3.10 的支持。(#622

1.6.3 (2020-11-14)

错误修复

  • 在解码错误的百分符号序列(如 %e2%82%f8)时不再丢失字符。现在所有无法解码的百分符号序列都被保留。#517

  • 提供 x86 Windows 轮子。#535


1.6.2 (2020-10-12)

错误修复

  • 在 TarBall 分发中提供生成的 .c 文件。#530

1.6.1 (2020-10-12)

功能

错误修复

  • human_repr()现在总是生成与原始URL等效的有效表示(如果原始URL有效)。 #511

  • 在Cython实现中修复了对单个百分号后面跟有编码字符的重引用。 #514

  • 修复了解码未后跟两个十六进制数字的%时产生的ValueError。 #516

  • 修复了解码后跟空格和十六进制数字的%#520

  • 修复了with_query()/update_query()方法对key=[val1, val2]情况下的注释。 #528

删除

  • 放弃对Python 3.5的支持;Python 3.6是最小支持的Python版本。


1.6.0 (2020-09-23)

功能

  • 允许在查询中使用int和float子类,同时仍然拒绝bool。 #492

错误修复


1.5.1 (2020-08-01)

错误修复

  • 修复了将重新定位的内部yarl._quoting_c C扩展包含到发布的PyPI分发的错误。 #485

杂项


1.5.0 (2020-07-26)

功能

  • 在构建URL时将主机转换为小写。 #386

  • 允许使用mod运算符(%)更新查询字符串(update_query()方法的别名)。 #435

  • 允许在映射的值中使用如listtuple等序列,以表示一个键具有多个值

    url = URL("http://example.com")
    assert url.with_query({"a": [1, 2]}) == URL("http://example.com/?a=1&a=2")

    #443

  • 支持带有方案和路径的URL.build()(创建相对URL)。 #464

  • 缓存慢速的IDNA编码/解码调用。 #476

  • 添加@final / Final类型提示 #477

  • 支持URL权威性/原始权威性属性和URL.build()方法的权威性参数。 #478

  • 隐藏库实现细节,使公开的列表非常干净。 #483

错误修复

  • 修复了与较新Python版本(3.7.6、3.8.1和3.9.0+)的测试。 #409

  • 修复了一个问题,其中查询组件,以映射或序列的形式传递,以意外的方式未引用。 #426

  • __init__.pyi中隐藏QueryQueryVariable类型别名,现在它们以下划线开头。 #431

  • 在更新端口/用户/密码后保留IPv6括号。 #451


1.4.2 (2019-12-05)

功能

  • Python 3.6 缺失 str.isascii() 的解决方案 #389


1.4.1 (2019-11-29)

  • 修复回归,使库在 Python 3.5 和 3.6 上再次工作。

1.4.0 (2019-11-29)

  • 区分 URL 中的空密码和完全没有提供密码的情况 (#262)

  • 修复 URL.build 可选参数的注释 (#309)

  • URL.builduser 参数的默认值设为 None (#309)

  • 在从源 tarball 安装时强制构建 C 加速模块,使用 YARL_NO_EXTENSIONS 环境变量回退到(较慢的)纯 Python 实现 (#329)

  • 停止对 Python 3.5 的支持

  • 使用纯 Python 版本修复路径中加号的引号 (#339)

  • 如果片段未更改,则不创建新的 URL (#292)

  • 在错误信息中包含导致起始斜杠不允许错误的路由 (#376)

  • 对于仅包含 ASCII 字符的字符串,跳过慢速 IDNA 编码 (#387)

1.3.0 (2018-12-11)

  • 修复 query 参数的注释 (#207)

  • 传入的查询序列可以包含 int 变量(与 Mapping 类型相同)(#208)

  • 添加 URL.explicit_port 属性 (#218)

  • 当端口无法转换为 int 时,给出更友好的错误 (#168)

  • bool(URL()) 现在返回 False (#272)

1.2.6 (2018-06-14)

  • 停止对 Python 3.4 trove classifier 的支持 (#205)

1.2.5 (2018-05-23)

  • 修复 build 的注释 (#199)

1.2.4 (2018-05-08)

  • 修复 cached_property 的注释 (#195)

1.2.3 (2018-05-03)

  • URL 构造函数中接受 str 子类 (#190)

1.2.2 (2018-05-01)

  • 修复构建问题

1.2.1 (2018-04-30)

  • 将最小要求的 Python 版本锁定为 3.5.3 (#189)

1.2.0 (2018-04-30)

  • 禁止继承,用 __new__ 替换 __init__ (#171)

  • 支持 PEP-561(提供类型提示标记)(#182)

1.1.1 (2018-02-17)

  • 修复性能回归:不要对空的 netloc 进行编码 (#170)

1.1.0 (2018-01-21)

  • 使纯 Python 引号与 Cython 版本保持一致 (#162)

1.0.0 (2018-01-15)

  • 如果引号字符串不需要重新引号,则使用快速路径 (#154)

  • 通过 _Quoter_Unquoter 类加速引号/取消引号 (#155)

  • 删除 yarl.quoteyarl.unquote 公共函数 (#155)

  • 添加自定义字符串写入器,如果可用则重用静态缓冲区 (#157) 代码比纯 Python 版本快 50-80 倍(原来是 4-5 倍)

  • 不要重新编码 IP 区域 (#144)

  • yarl.URL.build() 中支持 encoded=True (#158)

  • 修复使用多个键更新查询的问题 (#160)

0.18.0 (2018-01-10)

  • 如果域名不兼容 IDNA 2008,则回退到 IDNA 2003 (#152)

0.17.0 (2017-12-30)

  • 使用 IDNA 2008 对域名进行处理 (#149)

0.16.0 (2017-12-07)

  • 修复在 url.with_query({})(空映射)后调用 url.query_string() 时引发的 TypeError (#141)

0.15.0 (2017-11-23)

  • 添加 raw_path_qs 属性 (#137)

0.14.2 (2017-11-14)

  • quote / unquote 中将 strict 参数作为无操作恢复 (#137)

0.14.1 (2017-11-13)

  • 为了与 aiohttp 2.2 保持兼容,将 strict 参数作为无操作恢复 (#137)

0.14.0 (2017-11-11)

  • 删除严格模式 (#123)

  • 修复 URL 中存在 "%" 时出现的 "ValueError: Unallowed PCT %" 错误 (#124)

0.13.0 (2017-10-01)

  • 记录 encoded 参数 (#102)

  • 支持类似 '?key=value' 的相对 URL (#100)

  • 修复 QS 中的不安全编码。在值参数中编码 ; 字符 (#104)

  • 不包含用户名的密码处理 (#95)

0.12.0 (2017-06-26)

  • URL.with_path() 中正确支持不带前导斜杠的路径 (#90)

  • 启用类型注解检查

0.11.0 (2017-06-26)

  • 标准化路径 (#86)

  • .with_path() 中清除查询和片段部分 (#85)

0.10.3 (2017-06-13)

  • 防止双URL参数去引用 (#83)

0.10.2 (2017-05-05)

  • 意外的哈希行为 (#75)

0.10.1 (2017-05-03)

  • 意外的比较行为 (#73)

  • 如果不是查询字符串,则不要引用或去引用+ (#74)

0.10.0 (2017-03-14)

  • 添加 URL.build 类方法 (#58)

  • 添加 path_qs 属性 (#42)

0.9.8 (2017-02-16)

  • 在路径中不要引用冒号 :

0.9.7 (2017-02-16)

  • 不带 _cache 从 pickle 加载 (#56)

  • 路径变量中的百分编码加号变为空格 (#59)

0.9.6 (2017-02-15)

  • 撤销向后不兼容的更改 (BaseURL)

0.9.5 (2017-02-14)

  • 修复 BaseURL 富比较支持

0.9.4 (2017-02-14)

  • 使用 BaseURL

0.9.3 (2017-02-14)

  • 添加 BaseURL

0.9.2 (2017-02-08)

  • 删除调试打印

0.9.1 (2017-02-07)

  • 不要丢失尾部字符 (#45)

0.9.0 (2017-02-07)

  • 在非严格模式下允许引用 %

  • 不正确解析包含 %3B (;) 的查询参数 (#34)

  • 修复核心转储 (#41)

  • tmpbuf - 编译错误 (#43)

  • 添加 URL.update_path() 方法

  • 添加 URL.update_query() 方法 (#47)

0.8.1 (2016-12-03)

  • 修复损坏的 aiohttp: 撤销 quote / unquote

0.8.0 (2016-12-03)

  • .with_query() 中支持更详细的错误消息 (#24)

  • 在路径中不要对 @ 和 : 进行百分编码 (#32)

  • 不要公开 yarl.quoteyarl.unquote,这些函数是私有 API 的一部分

0.7.1 (2016-11-18)

  • 接受不仅仅是 str,还有从 str 继承的所有类 (#25)

0.7.0 (2016-11-07)

  • int 作为 .with_query() 的值接受

0.6.0 (2016-11-07)

  • setup.py 中显式使用 UTF8 编码 (#20)

  • 正确去引用非 UTF8 字符串 (#19)

0.5.3 (2016-11-02)

  • 在 URL 构造中不要使用 typing.NamedTuple 字段,而是使用索引

0.5.2 (2016-11-02)

  • 内联 _encode 类方法

0.5.1 (2016-11-02)

  • 通过移除额外的类方法调用使 URL 构造更快

0.5.0 (2016-11-02)

  • 为引用/去引用添加 Cython 优化

  • 提供二进制轮

0.4.3 (2016-09-29)

  • 修复类型存根

0.4.2 (2016-09-29)

  • quote()unquote() 作为公共 API 公开

0.4.1 (2016-09-28)

  • 在查询中支持空值 ('/path?arg')

0.4.0 (2016-09-27)

  • 引入 relative() (#16)

0.3.2 (2016-09-27)

  • 拼写错误修正 #15

0.3.1 (2016-09-26)

  • 支持作为 with_query() 参数的序列对

0.3.0 (2016-09-26)

  • 引入 is_default_port()

0.2.1 (2016-09-26)

  • 对于 'http://:8080/' 等URL引发 ValueError

0.2.0 (2016-09-18)

  • 当连接路径时避免重复斜杠 (#13)

  • 禁止从斜杠开始的路径追加 (#12)

0.1.4 (2016-09-09)

  • with_query() 添加 kwargs 支持 (#10)

0.1.3 (2016-09-07)

  • 记录 with_query()with_fragment()origin()

  • 允许 None 作为 with_query()with_fragment() 的值

0.1.2 (2016-09-07)

  • 修复链接,调整文档主题。

0.1.1 (2016-09-06)

  • 更新 README,旧版本使用了过时的 API

0.1.0 (2016-09-06)

  • 该库被深度重构,字节已消失,但所有接受到的字符串如果需要则进行编码。

0.0.1 (2016-08-30)

  • 第一个版本。

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载适合您平台的文件。如果您不确定该选择哪个,请了解有关 安装包 的更多信息。

源分布

yarl-1.13.1.tar.gz (165.9 kB 查看散列值)

上传时间

构建分布

yarl-1.13.1-py3-none-any.whl (39.9 kB 查看散列值)

上传时间 Python 3

yarl-1.13.1-cp313-cp313-win_amd64.whl (493.8 kB 查看散列值)

上传于 CPython 3.13 Windows x86-64

yarl-1.13.1-cp313-cp313-win32.whl (486.5 kB 查看哈希值)

上传于 CPython 3.13 Windows x86

yarl-1.13.1-cp313-cp313-musllinux_1_2_x86_64.whl (492.9 kB 查看哈希值)

上传于 CPython 3.13 musllinux: musl 1.2+ x86-64

yarl-1.13.1-cp313-cp313-musllinux_1_2_s390x.whl (502.2 kB 查看哈希值)

上传于 CPython 3.13 musllinux: musl 1.2+ s390x

yarl-1.13.1-cp313-cp313-musllinux_1_2_ppc64le.whl (492.0 kB 查看哈希值)

上传于 CPython 3.13 musllinux: musl 1.2+ ppc64le

yarl-1.13.1-cp313-cp313-musllinux_1_2_i686.whl (477.5 kB 查看哈希值)

上传于 CPython 3.13 musllinux: musl 1.2+ i686

yarl-1.13.1-cp313-cp313-musllinux_1_2_aarch64.whl (475.0 kB 查看哈希值)

上传于 CPython 3.13 musllinux: musl 1.2+ ARM64

yarl-1.13.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (478.9 kB 查看哈希值)

上传于 CPython 3.13 manylinux: glibc 2.17+ x86-64

yarl-1.13.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (486.7 kB 查看哈希值)

上传于 CPython 3.13 manylinux: glibc 2.17+ s390x

yarl-1.13.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (485.9 kB 查看哈希值)

上传于 CPython 3.13 manylinux: glibc 2.17+ ppc64le

yarl-1.13.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (471.4 kB 查看哈希值)

上传于 CPython 3.13 manylinux: glibc 2.17+ ARM64

yarl-1.13.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (456.5 kB 查看哈希值)

上传时间: CPython 3.13 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

yarl-1.13.1-cp313-cp313-macosx_11_0_arm64.whl (112.2 kB 查看哈希值)

上传时间: CPython 3.13 macOS 11.0+ ARM64

yarl-1.13.1-cp313-cp313-macosx_10_13_x86_64.whl (114.3 kB 查看哈希值)

上传时间: CPython 3.13 macOS 10.13+ x86-64

yarl-1.13.1-cp313-cp313-macosx_10_13_universal2.whl (186.3 kB 查看哈希值)

上传时间: CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)

yarl-1.13.1-cp312-cp312-win_amd64.whl (111.7 kB 查看哈希值)

上传时间: CPython 3.12 Windows x86-64

yarl-1.13.1-cp312-cp312-win32.whl (102.3 kB 查看哈希值)

上传时间: CPython 3.12 Windows x86

yarl-1.13.1-cp312-cp312-musllinux_1_2_x86_64.whl (502.4 kB 查看哈希值)

上传时间: CPython 3.12 musllinux: musl 1.2+ x86-64

yarl-1.13.1-cp312-cp312-musllinux_1_2_s390x.whl (517.1 kB 查看哈希值)

上传时间: CPython 3.12 musllinux: musl 1.2+ s390x

yarl-1.13.1-cp312-cp312-musllinux_1_2_ppc64le.whl (506.7 kB 查看哈希值)

上传时间: CPython 3.12 musllinux: musl 1.2+ ppc64le

yarl-1.13.1-cp312-cp312-musllinux_1_2_i686.whl (486.0 kB 查看哈希值)

上传时间: CPython 3.12 musllinux: musl 1.2+ i686

yarl-1.13.1-cp312-cp312-musllinux_1_2_aarch64.whl (485.7 kB 查看哈希值)

上传于 CPython 3.12 musllinux: musl 1.2+ ARM64

yarl-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (490.2 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ x86-64

yarl-1.13.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (497.3 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ s390x

yarl-1.13.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (499.7 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ ppc64le

yarl-1.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (484.0 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ ARM64

yarl-1.13.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (469.4 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

yarl-1.13.1-cp312-cp312-macosx_11_0_arm64.whl (113.9 kB 查看哈希值)

上传于 CPython 3.12 macOS 11.0+ ARM64

yarl-1.13.1-cp312-cp312-macosx_10_13_x86_64.whl (116.1 kB 查看哈希值)

上传于 CPython 3.12 macOS 10.13+ x86-64

yarl-1.13.1-cp312-cp312-macosx_10_13_universal2.whl (190.3 kB 查看哈希值)

上传于 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)

yarl-1.13.1-cp311-cp311-win_amd64.whl (111.7 kB 查看哈希值)

上传于 CPython 3.11 Windows x86-64

yarl-1.13.1-cp311-cp311-win32.whl (102.4 kB 查看哈希值)

上传于 CPython 3.11 Windows x86

yarl-1.13.1-cp311-cp311-musllinux_1_2_x86_64.whl (498.4 kB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.2+ x86-64

yarl-1.13.1-cp311-cp311-musllinux_1_2_s390x.whl (516.3 kB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.2+ s390x

yarl-1.13.1-cp311-cp311-musllinux_1_2_ppc64le.whl (514.1 kB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.2+ ppc64le

yarl-1.13.1-cp311-cp311-musllinux_1_2_i686.whl (483.5 kB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.2+ i686

yarl-1.13.1-cp311-cp311-musllinux_1_2_aarch64.whl (485.7 kB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.2+ ARM64

yarl-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (489.0 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ x86-64

yarl-1.13.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (500.4 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ s390x

yarl-1.13.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (506.0 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ ppc64le

yarl-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (486.1 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ ARM64

yarl-1.13.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (471.6 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

yarl-1.13.1-cp311-cp311-macosx_11_0_arm64.whl (113.8 kB 查看哈希值)

上传时间 CPython 3.11 macOS 11.0+ ARM64

yarl-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl (115.5 kB 查看哈希值)

上传时间 CPython 3.11 macOS 10.9+ x86-64

yarl-1.13.1-cp311-cp311-macosx_10_9_universal2.whl (189.6 kB 查看哈希值)

上传时间 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

yarl-1.13.1-cp310-cp310-win_amd64.whl (111.4 kB 查看哈希值)

上传时间 CPython 3.10 Windows x86-64

yarl-1.13.1-cp310-cp310-win32.whl (102.4 kB 查看哈希值)

上传时间 CPython 3.10 Windows x86

yarl-1.13.1-cp310-cp310-musllinux_1_2_x86_64.whl (458.8 kB 查看哈希值)

上传时间 CPython 3.10 musllinux: musl 1.2+ x86-64

yarl-1.13.1-cp310-cp310-musllinux_1_2_s390x.whl (471.0 kB 查看哈希值)

上传时间 CPython 3.10 musllinux: musl 1.2+ s390x

yarl-1.13.1-cp310-cp310-musllinux_1_2_ppc64le.whl (472.8 kB 查看哈希值)

上传时间 CPython 3.10 musllinux: musl 1.2+ ppc64le

yarl-1.13.1-cp310-cp310-musllinux_1_2_i686.whl (449.4 kB 查看哈希值)

上传时间 CPython 3.10 musllinux: musl 1.2+ i686

yarl-1.13.1-cp310-cp310-musllinux_1_2_aarch64.whl (444.8 kB 查看哈希值)

上传时间 CPython 3.10 musllinux: musl 1.2+ ARM64

yarl-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (447.9 kB 查看哈希值)

上传时间 CPython 3.10 manylinux: glibc 2.17+ x86-64

yarl-1.13.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (463.3 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ s390x

yarl-1.13.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (469.2 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ ppc64le

yarl-1.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (443.7 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ ARM64

yarl-1.13.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (432.9 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

yarl-1.13.1-cp310-cp310-macosx_11_0_arm64.whl (113.7 kB 查看哈希值)

上传于 CPython 3.10 macOS 11.0+ ARM64

yarl-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl (115.6 kB 查看哈希值)

上传于 CPython 3.10 macOS 10.9+ x86-64

yarl-1.13.1-cp310-cp310-macosx_10_9_universal2.whl (189.7 kB 查看哈希值)

上传于 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

yarl-1.13.1-cp39-cp39-win_amd64.whl (112.5 kB 查看哈希值)

上传于 CPython 3.9 Windows x86-64

yarl-1.13.1-cp39-cp39-win32.whl (103.4 kB 查看哈希值)

上传于 CPython 3.9 Windows x86

yarl-1.13.1-cp39-cp39-musllinux_1_2_x86_64.whl (466.4 kB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.2+ x86-64

yarl-1.13.1-cp39-cp39-musllinux_1_2_s390x.whl (478.3 kB 查看哈希值)

上传时间: CPython 3.9 musllinux: musl 1.2+ s390x

yarl-1.13.1-cp39-cp39-musllinux_1_2_ppc64le.whl (481.1 kB 查看哈希值)

上传时间: CPython 3.9 musllinux: musl 1.2+ ppc64le

yarl-1.13.1-cp39-cp39-musllinux_1_2_i686.whl (455.6 kB 查看哈希值)

上传时间: CPython 3.9 musllinux: musl 1.2+ i686

yarl-1.13.1-cp39-cp39-musllinux_1_2_aarch64.whl (452.0 kB 查看哈希值)

上传时间: CPython 3.9 musllinux: musl 1.2+ ARM64

yarl-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (455.1 kB 查看哈希值)

上传时间: CPython 3.9 manylinux: glibc 2.17+ x86-64

yarl-1.13.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (470.2 kB 查看哈希值)

上传时间: CPython 3.9 manylinux: glibc 2.17+ s390x

yarl-1.13.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (477.5 kB 查看哈希值)

上传时间: CPython 3.9 manylinux: glibc 2.17+ ppc64le

yarl-1.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (450.3 kB 查看哈希值)

上传时间: CPython 3.9 manylinux: glibc 2.17+ ARM64

yarl-1.13.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (439.8 kB 查看哈希值)

上传时间: CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

yarl-1.13.1-cp39-cp39-macosx_11_0_arm64.whl (115.0 kB 查看哈希值)

上传时间: CPython 3.9 macOS 11.0+ ARM64

yarl-1.13.1-cp39-cp39-macosx_10_9_x86_64.whl (117.1 kB 查看哈希值)

上传于 CPython 3.9 macOS 10.9+ x86-64

yarl-1.13.1-cp39-cp39-macosx_10_9_universal2.whl (192.4 kB 查看哈希值)

上传于 CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

yarl-1.13.1-cp38-cp38-win_amd64.whl (112.9 kB 查看哈希值)

上传于 CPython 3.8 Windows x86-64

yarl-1.13.1-cp38-cp38-win32.whl (103.4 kB 查看哈希值)

上传于 CPython 3.8 Windows x86

yarl-1.13.1-cp38-cp38-musllinux_1_2_x86_64.whl (470.2 kB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.2+ x86-64

yarl-1.13.1-cp38-cp38-musllinux_1_2_s390x.whl (489.7 kB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.2+ s390x

yarl-1.13.1-cp38-cp38-musllinux_1_2_ppc64le.whl (488.9 kB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.2+ ppc64le

yarl-1.13.1-cp38-cp38-musllinux_1_2_i686.whl (459.1 kB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.2+ i686

yarl-1.13.1-cp38-cp38-musllinux_1_2_aarch64.whl (454.2 kB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.2+ ARM64

yarl-1.13.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (461.8 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ x86-64

yarl-1.13.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (470.9 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ s390x

yarl-1.13.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (477.8 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ ppc64le

yarl-1.13.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (456.3 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ ARM64

yarl-1.13.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (445.7 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

yarl-1.13.1-cp38-cp38-macosx_11_0_arm64.whl (115.7 kB 查看哈希值)

上传于 CPython 3.8 macOS 11.0+ ARM64

yarl-1.13.1-cp38-cp38-macosx_10_9_x86_64.whl (117.6 kB 查看哈希值)

上传于 CPython 3.8 macOS 10.9+ x86-64

yarl-1.13.1-cp38-cp38-macosx_10_9_universal2.whl (193.5 kB 查看哈希值)

上传于 CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)

支持者