Skip to main content

Python bindings to Rust's persistent data structures (rpds)

Project description

PyPI Supported Python versions Build status

Python bindings to the Rust rpds crate.

What’s here is quite minimal (in transparency, it was written initially to support replacing pyrsistent in the referencing library). If you see something missing (which is very likely), a PR is definitely welcome to add it.

Methods in general are named similarly to their rpds counterparts (rather than pyrsistent‘s conventions, though probably a full drop-in pyrsistent-compatible wrapper module is a good addition at some point).

>>> 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rpds_py-0.5.1.tar.gz (15.0 kB view details)

Uploaded Source

Built Distributions

rpds_py-0.5.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

rpds_py-0.5.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.3 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ s390x

rpds_py-0.5.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.2 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

rpds_py-0.5.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

rpds_py-0.5.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

rpds_py-0.5.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view details)

Uploaded PyPy manylinux: glibc 2.5+ i686

rpds_py-0.5.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

rpds_py-0.5.1-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.3 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ s390x

rpds_py-0.5.1-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.2 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

rpds_py-0.5.1-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

rpds_py-0.5.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

rpds_py-0.5.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view details)

Uploaded PyPy manylinux: glibc 2.5+ i686

rpds_py-0.5.1-cp38-abi3-win_amd64.whl (177.0 kB view details)

Uploaded CPython 3.8+ Windows x86-64

rpds_py-0.5.1-cp38-abi3-win32.whl (167.8 kB view details)

Uploaded CPython 3.8+ Windows x86

rpds_py-0.5.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ x86-64

rpds_py-0.5.1-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.3 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ s390x

rpds_py-0.5.1-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.2 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ppc64le

rpds_py-0.5.1-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARMv7l

rpds_py-0.5.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARM64

rpds_py-0.5.1-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.5+ i686

rpds_py-0.5.1-cp38-abi3-macosx_11_0_arm64.whl (297.7 kB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

rpds_py-0.5.1-cp38-abi3-macosx_10_7_x86_64.whl (307.6 kB view details)

Uploaded CPython 3.8+ macOS 10.7+ x86-64

File details

Details for the file rpds_py-0.5.1.tar.gz.

File metadata

  • Download URL: rpds_py-0.5.1.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.14.15

File hashes

Hashes for rpds_py-0.5.1.tar.gz
Algorithm Hash digest
SHA256 56b29c7264147c9c1f47e9ca155a134d0b416c5c9e5c60904c6af33844534d26
MD5 e25f0f0e0026261ccd14dad91af6c9c2
BLAKE2b-256 be2c8eaa10319c977c4ea0817317522f583d421d8e6c872ad583180a831f3f42

See more details on using hashes here.

File details

Details for the file rpds_py-0.5.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rpds_py-0.5.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 08da8d84c8c275b540ece96a6c7529f9b99500944320637e8b00edff41a251a5
MD5 058f4e5964a3ed477b21169ef98ef479
BLAKE2b-256 6894b504affee747b348d727c0439393a1b64e3fdf844f9ca922e00d9080250f

See more details on using hashes here.

File details

Details for the file rpds_py-0.5.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for rpds_py-0.5.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 55cd75ef2ea922d0757cd081d5b277cbd199b492d5d0f545389845b5ec0147d5
MD5 2f2275d131ca946a462acfe216ba152a
BLAKE2b-256 2022055f0dff00a21909d6d86974d78d835ad6dbcb05768dde2848c52052a095

See more details on using hashes here.

File details

Details for the file rpds_py-0.5.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for rpds_py-0.5.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 22e05967c1de3a7aac23941841ef199068391a678a0f981fb1eb95b140257fca
MD5 822819857314234c9f9be4848567f4b4
BLAKE2b-256 8cfec7fab69a13b2271baf037c6f42436958ee63690a6ab797446e1ed71ba3f9

See more details on using hashes here.

File details

Details for the file rpds_py-0.5.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for rpds_py-0.5.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 10374ec63ce47b29a13782e38382362091d03360105bd21553e99b63e536ab32
MD5 e221d9cc9c53302113b8d083e8e97aa2
BLAKE2b-256 9549817a050dc8b0ca3057906b9c824edc6f81d5082e810bcc2d4c99009108bc

See more details on using hashes here.

File details

Details for the file rpds_py-0.5.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rpds_py-0.5.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b44f01ca29acab690f2eb913d9b63325b96f678eabe3c6a50be8f42c028d8cac
MD5 7945a78bc9b8fdc4af9b2b9d9ee6eb8b
BLAKE2b-256 e44600edf558d75ea8197fc420edbc468d044ed571c8f640bab46576bd80623d

See more details on using hashes here.

File details

Details for the file rpds_py-0.5.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for rpds_py-0.5.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 290982bf98bf7470915df8a8d8539cbb96c610f741512bcd8972aea49a31a091
MD5 bd3be802e568f76106eb43e645e70b27
BLAKE2b-256 fc176c2e285031990062b16f9ffd5c2d7953cfa054d9b4b09d7113a33cdc3352

See more details on using hashes here.

File details

Details for the file rpds_py-0.5.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rpds_py-0.5.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4dedfb3b9c0bf1ba80a3f3a9e74f9705cef869645d0006263fd27415bd4b83c7
MD5 5fa4374a50d2e72eb40cf19e0f32a02d
BLAKE2b-256 9121fc0bbf79e0bec5bf1d3774acb408f9fcfeaf5628c7c2011c6fe87a98c10c

See more details on using hashes here.

File details

Details for the file rpds_py-0.5.1-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for rpds_py-0.5.1-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 ed189ce825eb3ba7251b4a0b4f8edf96ffaf396bcc5704100cb8b8f92b6297bb
MD5 575c296f4dbfc0d79d5dc812f8381f81
BLAKE2b-256 89f8e03d09ae28a2261892fc32575636c542746b3a1ab3619bc7cff9d2cc5bed

See more details on using hashes here.

File details

Details for the file rpds_py-0.5.1-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for rpds_py-0.5.1-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 bdd0e4b2de97acbb28891cf8be0e36521ac1809596dfe172531a0193ff881cd4
MD5 0f44292a40489a0ed6ea706d2d37ca18
BLAKE2b-256 5463dac4527a6b329bca72922f0fe360af956cfdcd73c9708efa958e93e32920

See more details on using hashes here.

File details

Details for the file rpds_py-0.5.1-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for rpds_py-0.5.1-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 b4756903f755af4b4a38cc74e7a092ae0af2c0d30d9fe1e86b90b245391d4ddf
MD5 e900411991a1b862da7f1d97ab9ed75c
BLAKE2b-256 1a20ef990a3cf37aaa428abbb31d291e707faf0d878aec3cc37fe38b3d8f96ec

See more details on using hashes here.

File details

Details for the file rpds_py-0.5.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rpds_py-0.5.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f16ec47f9f78e86273c208b292d7502b22b83785d98f8bc52f24fa11537113d2
MD5 d380824a8f430d7ace00b69c081aec54
BLAKE2b-256 8196a88ef591c0f2fd10d023b618d7d60572cec8ab5c50021f50989e3cb6f6bc

See more details on using hashes here.

File details

Details for the file rpds_py-0.5.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for rpds_py-0.5.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 5e5dbd9e56c1b1064206ab9c13de5612cc1ae40eeeb632d321578af63b9fd8f6
MD5 fc4664b5a4c393f2628a3456498036ce
BLAKE2b-256 c7b5cd16124e746d3fe21ede128a4d9bc0b16c06001f7455b8e38e7bf072f5cd

See more details on using hashes here.

File details

Details for the file rpds_py-0.5.1-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: rpds_py-0.5.1-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 177.0 kB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.14.15

File hashes

Hashes for rpds_py-0.5.1-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 2d590e08e395dacab438dcd18850c09d374d5fdee56dcb95f4beba586104be36
MD5 935e80f82ad0c59505968ea054fb8e12
BLAKE2b-256 8e51f1e330118f53cffb61761866e920d8e0be6c1547d3c4dbf73f97bd60ec29

See more details on using hashes here.

File details

Details for the file rpds_py-0.5.1-cp38-abi3-win32.whl.

File metadata

  • Download URL: rpds_py-0.5.1-cp38-abi3-win32.whl
  • Upload date:
  • Size: 167.8 kB
  • Tags: CPython 3.8+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.14.15

File hashes

Hashes for rpds_py-0.5.1-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 033c3d3340d2091d268b1b2167ad4823f64dc52567b8de0484feda741720c468
MD5 0e294e42f5fb2b0ff83259ac79218476
BLAKE2b-256 23f221988e26de7d5128353da80d745ef1f0893682d29926f68451f7b2d25b46

See more details on using hashes here.

File details

Details for the file rpds_py-0.5.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rpds_py-0.5.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9a3d493e6e42610b470b4f80d0a7c20ab1b285aeb9955b1e213f47f1e7339324
MD5 2b38c05f71ea303224e7602eb03271ad
BLAKE2b-256 4b29c97f6bdf605bb6fc8dc8dfb5072799eb1a8e419ef4e0c15580502b5ab66f

See more details on using hashes here.

File details

Details for the file rpds_py-0.5.1-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for rpds_py-0.5.1-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 fdd7fa6a14049a653b6ccd03af37d17b12a71c13c7b6a42b297531b9ec2e7834
MD5 e562e1551c64a9a198a1a244b9497c50
BLAKE2b-256 c68e4dc7c24b85b707109120941fab46993224e3069ce6bbae84cf031b801697

See more details on using hashes here.

File details

Details for the file rpds_py-0.5.1-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for rpds_py-0.5.1-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 d26ae565d29f96e4bed29b2fb0d278923742b7ddca5a7a93f70de2295d7544f8
MD5 441e815be59bcab2f48938bf39422581
BLAKE2b-256 81f11a253666a71aa19b244864b82894dd4d4e082e609826e8265bd6c915cdc9

See more details on using hashes here.

File details

Details for the file rpds_py-0.5.1-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for rpds_py-0.5.1-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 fde4d5cc81cc370125daaa8e45d8d84da5231d767ce7e2ee0b0e2195ea3b9867
MD5 b1c8f88d155c78543ff28580070024c7
BLAKE2b-256 68bcfa69870c7f73395fc235527d2f7c72a1b9b865578fb1caab266de35ea6f2

See more details on using hashes here.

File details

Details for the file rpds_py-0.5.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rpds_py-0.5.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d724ab58fe493a8969493411fe7dd674a3f7463111929a8f1a642fa6d94ea385
MD5 7fa14a888f74403c4b97eae05cce6d52
BLAKE2b-256 5be2ff6fa7ee53f5e087144d509d16e7e7b82d312a94e30e741acaf66a1cd64b

See more details on using hashes here.

File details

Details for the file rpds_py-0.5.1-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for rpds_py-0.5.1-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 a088cb97d5d258a98368fccf4c99491642565b52462eaa7a114885cd3cb7a303
MD5 381068f2ce8f1d616240ea5d8c368247
BLAKE2b-256 3c1a4457c2396f9ceb6eebcd1ad9ec4a03e789d28e00d29e62da95976bc88fa8

See more details on using hashes here.

File details

Details for the file rpds_py-0.5.1-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rpds_py-0.5.1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3f613cc2cf5510cb95bb8c6aa653f730752af0d24f55378b59bd3d897af1c698
MD5 951b2f6fdb0378a6d181d404faaf81ff
BLAKE2b-256 358202e090a59ee37386bc50f19edc59db85cb79c5a80147e9b60c84a5a8f575

See more details on using hashes here.

File details

Details for the file rpds_py-0.5.1-cp38-abi3-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for rpds_py-0.5.1-cp38-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 6cfc313256cf163ce3c3e7ba3af5314a0c1beea0cb13e1ba07a4b9df19d13872
MD5 4778f8dbdf6d2d94f9254a5dc72873e9
BLAKE2b-256 04ac3748f3b561bdc3faf49e01d88d3b910abdbf1874feefb2afddbcf53ab18d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page