跳转到主要内容

Python绑定到Rust的持久数据结构(rpds)

项目描述

PyPI version Supported Python versions Build status

Python绑定到Rust rpds crate持久数据结构。

这里的内容相当简单(透明度,最初是为了支持替换引用库中的pyrsistent)。如果您发现缺少某些内容(这非常可能),欢迎提交PR添加它。

安装

PyPI上的发行版名为rpds.py(等价于rpds-py),因此可以通过以下方式安装,例如:

$ pip install rpds-py

注意,如果您从源安装rpds-py,则需要安装Rust工具链,因为它是构建时的依赖项。如何在Dockerfile中这样做的一个示例可以在这里找到。

如果您认为您在一个应该有轮子构建的通用平台(即不需要从源码编译),请随意提交一个修改GitHub行动的issue或pull request,以便通过 maturin 构建wheel。

用法

通常方法命名与它们的 rpds 对应物相似(而不是 pyrsistent 的约定,尽管可能某个时候添加一个完整的 pyrsistent-兼容包装模块是一个很好的补充)。

>>> from rpds import HashTrieMap, HashTrieSet, List

>>> m = HashTrieMap({"foo": "bar", "baz": "quux"})
>>> m.insert("spam", 37) == HashTrieMap({"foo": "bar", "baz": "quux", "spam": 37})
True
>>> m.remove("foo") == HashTrieMap({"baz": "quux"})
True

>>> s = HashTrieSet({"foo", "bar", "baz", "quux"})
>>> s.insert("spam") == HashTrieSet({"foo", "bar", "baz", "quux", "spam"})
True
>>> s.remove("foo") == HashTrieSet({"bar", "baz", "quux"})
True

>>> L = List([1, 3, 5])
>>> L.push_front(-1) == List([-1, 1, 3, 5])
True
>>> L.rest == List([3, 5])
True

项目详情


下载文件

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

源代码发行版

rpds_py-0.20.0.tar.gz (25.8 kB 查看哈希值)

上传时间 源代码

构建的发行版

rpds_py-0.20.0-pp310-pypy310_pp73-win_amd64.whl (213.5 kB 查看哈希值)

上传时间 PyPy Windows x86-64

rpds_py-0.20.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl (525.8 kB 查看哈希值)

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

rpds_py-0.20.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl (548.6 kB 查看哈希值)

上传时间 PyPy musllinux: musl 1.2+ i686

rpds_py-0.20.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl (543.6 kB 查看哈希值)

上传时间 PyPy musllinux: musl 1.2+ ARM64

rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (355.4 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ x86-64

rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (432.4 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ s390x

rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (395.9 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ppc64le

rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (369.0 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ARMv7l

rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (367.8 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ARM64

rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl (374.5 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.5+ i686

rpds_py-0.20.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl (311.7 kB 查看哈希值)

上传于 PyPy macOS 11.0+ ARM64

rpds_py-0.20.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl (319.4 kB 查看哈希值)

上传于 PyPy macOS 10.12+ x86-64

rpds_py-0.20.0-pp39-pypy39_pp73-win_amd64.whl (214.4 kB 查看哈希值)

上传于 PyPy Windows x86-64

rpds_py-0.20.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl (526.7 kB 查看哈希值)

上传于 PyPy musllinux: musl 1.2+ x86-64

rpds_py-0.20.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl (549.2 kB 查看哈希值)

上传于 PyPy musllinux: musl 1.2+ i686

rpds_py-0.20.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl (544.5 kB 查看哈希值)

上传于 PyPy musllinux: musl 1.2+ ARM64

rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (356.2 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ x86-64

rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (433.4 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ s390x

rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (396.7 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ppc64le

rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (369.7 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ARMv7l

rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (369.3 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ARM64

rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl (374.8 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.5+ i686

rpds_py-0.20.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl (312.0 kB 查看哈希值)

上传于 PyPy macOS 11.0+ ARM64

rpds_py-0.20.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl (320.8 kB 查看哈希值)

上传于 PyPy macOS 10.12+ x86-64

rpds_py-0.20.0-cp313-none-win_amd64.whl (214.1 kB 查看哈希值)

上传于 CPython 3.13 Windows x86-64

rpds_py-0.20.0-cp313-none-win32.whl (200.5 kB 查看哈希值)

上传时间 CPython 3.13 Windows x86

rpds_py-0.20.0-cp313-cp313-musllinux_1_2_x86_64.whl (528.4 kB 查看哈希值)

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

rpds_py-0.20.0-cp313-cp313-musllinux_1_2_i686.whl (552.4 kB 查看哈希值)

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

rpds_py-0.20.0-cp313-cp313-musllinux_1_2_aarch64.whl (545.8 kB 查看哈希值)

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

rpds_py-0.20.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (357.7 kB 查看哈希值)

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

rpds_py-0.20.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (426.4 kB 查看哈希值)

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

rpds_py-0.20.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (397.2 kB 查看哈希值)

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

rpds_py-0.20.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (370.9 kB 查看哈希值)

上传时间 CPython 3.13 manylinux: glibc 2.17+ ARMv7l

rpds_py-0.20.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (371.0 kB 查看哈希值)

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

rpds_py-0.20.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl (378.5 kB 查看哈希值)

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

rpds_py-0.20.0-cp313-cp313-macosx_11_0_arm64.whl (312.9 kB 查看哈希值)

上传于 CPython 3.13 macOS 11.0+ ARM64

rpds_py-0.20.0-cp313-cp313-macosx_10_12_x86_64.whl (321.5 kB 查看哈希值)

上传于 CPython 3.13 macOS 10.12+ x86-64

rpds_py-0.20.0-cp312-none-win_amd64.whl (214.5 kB 查看哈希值)

上传于 CPython 3.12 Windows x86-64

rpds_py-0.20.0-cp312-none-win32.whl (201.0 kB 查看哈希值)

上传于 CPython 3.12 Windows x86

rpds_py-0.20.0-cp312-cp312-musllinux_1_2_x86_64.whl (528.8 kB 查看哈希值)

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

rpds_py-0.20.0-cp312-cp312-musllinux_1_2_i686.whl (553.2 kB 查看哈希值)

上传于 CPython 3.12 musllinux: musl 1.2+ i686

rpds_py-0.20.0-cp312-cp312-musllinux_1_2_aarch64.whl (546.3 kB 查看哈希值)

上传于 CPython 3.12 musllinux: musl 1.2+ ARM64

rpds_py-0.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (358.0 kB 查看哈希值)

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

rpds_py-0.20.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (426.8 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ s390x

rpds_py-0.20.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (397.2 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ ppc64le

rpds_py-0.20.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (371.4 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ ARMv7l

rpds_py-0.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (370.2 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ ARM64

rpds_py-0.20.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (378.9 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.5+ i686

rpds_py-0.20.0-cp312-cp312-macosx_11_0_arm64.whl (313.1 kB 查看哈希值)

上传于 CPython 3.12 macOS 11.0+ ARM64

rpds_py-0.20.0-cp312-cp312-macosx_10_12_x86_64.whl (321.5 kB 查看哈希值)

上传于 CPython 3.12 macOS 10.12+ x86-64

rpds_py-0.20.0-cp311-none-win_amd64.whl (213.6 kB 查看哈希值)

上传于 CPython 3.11 Windows x86-64

rpds_py-0.20.0-cp311-none-win32.whl (199.3 kB 查看哈希值)

上传于 CPython 3.11 Windows x86

rpds_py-0.20.0-cp311-cp311-musllinux_1_2_x86_64.whl (525.6 kB 查看哈希值)

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

rpds_py-0.20.0-cp311-cp311-musllinux_1_2_i686.whl (547.6 kB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.2+ i686

rpds_py-0.20.0-cp311-cp311-musllinux_1_2_aarch64.whl (541.5 kB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.2+ ARM64

rpds_py-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (354.8 kB 查看哈希值)

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

rpds_py-0.20.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (432.4 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ s390x

rpds_py-0.20.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (394.9 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ ppc64le

rpds_py-0.20.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (368.4 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ ARMv7l

rpds_py-0.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (366.4 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ ARM64

rpds_py-0.20.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (373.3 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.5+ i686

rpds_py-0.20.0-cp311-cp311-macosx_11_0_arm64.whl (311.3 kB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

rpds_py-0.20.0-cp311-cp311-macosx_10_12_x86_64.whl (318.4 kB 查看哈希值)

上传于 CPython 3.11 macOS 10.12+ x86-64

rpds_py-0.20.0-cp310-none-win_amd64.whl (213.5 kB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

rpds_py-0.20.0-cp310-none-win32.whl (199.2 kB 查看哈希值)

上传于 CPython 3.10 Windows x86

rpds_py-0.20.0-cp310-cp310-musllinux_1_2_x86_64.whl (525.8 kB 查看哈希值)

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

rpds_py-0.20.0-cp310-cp310-musllinux_1_2_i686.whl (547.6 kB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.2+ i686

rpds_py-0.20.0-cp310-cp310-musllinux_1_2_aarch64.whl (541.9 kB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.2+ ARM64

rpds_py-0.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (354.8 kB 查看哈希值)

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

rpds_py-0.20.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (433.2 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ s390x

rpds_py-0.20.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (395.4 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ ppc64le

rpds_py-0.20.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (368.4 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ ARMv7l

rpds_py-0.20.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (366.7 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ ARM64

rpds_py-0.20.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (373.2 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.5+ i686

rpds_py-0.20.0-cp310-cp310-macosx_11_0_arm64.whl (311.3 kB 查看哈希值)

上传于 CPython 3.10 macOS 11.0+ ARM64

rpds_py-0.20.0-cp310-cp310-macosx_10_12_x86_64.whl (318.4 kB 查看哈希值)

上传于 CPython 3.10 macOS 10.12+ x86-64

rpds_py-0.20.0-cp39-none-win_amd64.whl (213.2 kB 查看哈希值)

上传于 CPython 3.9 Windows x86-64

rpds_py-0.20.0-cp39-none-win32.whl (199.4 kB 查看哈希值)

上传于 CPython 3.9 Windows x86

rpds_py-0.20.0-cp39-cp39-musllinux_1_2_x86_64.whl (526.1 kB 查看哈希值)

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

rpds_py-0.20.0-cp39-cp39-musllinux_1_2_i686.whl (548.0 kB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.2+ i686

rpds_py-0.20.0-cp39-cp39-musllinux_1_2_aarch64.whl (543.1 kB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.2+ ARM64

rpds_py-0.20.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (355.5 kB 查看哈希值)

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

rpds_py-0.20.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (433.7 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ s390x

rpds_py-0.20.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (395.6 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ ppc64le

rpds_py-0.20.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (368.3 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ ARMv7l

rpds_py-0.20.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (367.8 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ ARM64

rpds_py-0.20.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (373.6 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.5+ i686

rpds_py-0.20.0-cp39-cp39-macosx_11_0_arm64.whl (311.8 kB 查看哈希值)

上传时间 CPython 3.9 macOS 11.0+ ARM64

rpds_py-0.20.0-cp39-cp39-macosx_10_12_x86_64.whl (319.5 kB 查看哈希值)

上传时间 CPython 3.9 macOS 10.12+ x86-64

rpds_py-0.20.0-cp38-none-win_amd64.whl (213.0 kB 查看哈希值)

上传时间 CPython 3.8 Windows x86-64

rpds_py-0.20.0-cp38-none-win32.whl (199.3 kB 查看哈希值)

上传时间 CPython 3.8 Windows x86

rpds_py-0.20.0-cp38-cp38-musllinux_1_2_x86_64.whl (525.8 kB 查看哈希值)

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

rpds_py-0.20.0-cp38-cp38-musllinux_1_2_i686.whl (547.6 kB 查看哈希值)

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

rpds_py-0.20.0-cp38-cp38-musllinux_1_2_aarch64.whl (542.7 kB 查看哈希值)

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

rpds_py-0.20.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (355.1 kB 查看哈希值)

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

rpds_py-0.20.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (431.7 kB 查看哈希值)

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

rpds_py-0.20.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (395.2 kB 查看哈希值)

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

rpds_py-0.20.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (367.9 kB 查看哈希值)

上传时间: CPython 3.8 manylinux: glibc 2.17+ ARMv7l

rpds_py-0.20.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (367.6 kB 查看哈希值)

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

rpds_py-0.20.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl (373.3 kB 查看哈希值)

上传时间: CPython 3.8 manylinux: glibc 2.5+ i686

rpds_py-0.20.0-cp38-cp38-macosx_11_0_arm64.whl (311.7 kB 查看哈希值)

上传时间: CPython 3.8 macOS 11.0+ ARM64

rpds_py-0.20.0-cp38-cp38-macosx_10_12_x86_64.whl (319.4 kB 查看哈希值)

上传时间: CPython 3.8 macOS 10.12+ x86-64

由以下支持