Skip to main content

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

Project description

PyPI version 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.7.0.tar.gz (15.4 kB view details)

Uploaded Source

Built Distributions

rpds_py-0.7.0-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.7.0-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.7.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.3 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

rpds_py-0.7.0-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.7.0-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.7.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.2 MB view details)

Uploaded PyPy manylinux: glibc 2.5+ i686

rpds_py-0.7.0-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.7.0-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.7.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.3 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

rpds_py-0.7.0-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.7.0-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.7.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.2 MB view details)

Uploaded PyPy manylinux: glibc 2.5+ i686

rpds_py-0.7.0-cp38-abi3-win_amd64.whl (177.5 kB view details)

Uploaded CPython 3.8+ Windows x86-64

rpds_py-0.7.0-cp38-abi3-win32.whl (170.7 kB view details)

Uploaded CPython 3.8+ Windows x86

rpds_py-0.7.0-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.7.0-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.7.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.3 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ppc64le

rpds_py-0.7.0-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.7.0-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.7.0-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl (1.2 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.5+ i686

rpds_py-0.7.0-cp38-abi3-macosx_11_0_arm64.whl (298.2 kB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

rpds_py-0.7.0-cp38-abi3-macosx_10_7_x86_64.whl (307.8 kB view details)

Uploaded CPython 3.8+ macOS 10.7+ x86-64

File details

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

File metadata

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

File hashes

Hashes for rpds_py-0.7.0.tar.gz
Algorithm Hash digest
SHA256 6c3197e303d0431f49f9036500c286ee05fccaa2178a2ea98162fce7dbe4028b
MD5 9d99b0f5a49b857e4981912ccb64fd67
BLAKE2b-256 0eb25b5864f65d12767279e28eb11f5e8a52f3c5bf79fad68ce5dce44efd9f2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.7.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b2b6ab70a3fe60017a688980cf36f7575c993bac47c4665987889e9b8e71e25a
MD5 41838a7407e0154e85d0ec8c08cbfdaa
BLAKE2b-256 78e3511f26088f51038b03769d77aa4742449db7bdf4940d5bae4541662faed7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.7.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 04df77b8fe7224afd286f90d7c345fde5a15a5e5048c0ac494d6f6563e7289f5
MD5 5dfe7718c3cc7ae913c1fec4de2fc6cb
BLAKE2b-256 31afd1f4bf46a2b3cd11c592e19234e95c39f33b24c1ec11022ddf0520add1a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.7.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 5119943215c087415e5004457b5d307abb90faf6598d3c335c69c46dff308fd5
MD5 52069feb4b4b77e1441375de52084e8f
BLAKE2b-256 3163b6e4da8d4c077c5a8cdbfe5992a4789f8f58c8f2f20747e8f873ae1acbc7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.7.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 ebc0ab59e580f496d1d0fda655d5125d0e81a1f994d75ec1a1b5ad25c32faeaa
MD5 32002e3f04aafc828e99961119f04348
BLAKE2b-256 c0ea3247e86c145031ee9beb7d6709cafe727e02e8fc01798107767bf5a2c1a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.7.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b875acf4879af9c63574c9eed8df8076092f01564978a34f856b7d30199b021f
MD5 f5774cbee371be5215082a11ba16c2f4
BLAKE2b-256 6fb9ba2fb9139551644fcfada97ffdd8d653875d5ea0ffc724bf88c92d25414f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.7.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 94f04b5070dff45b66968d8d306dceaaedce4c769ae3e4ff491c4f039bfeac1f
MD5 d9df62a4eed0961241c618dfa40182c8
BLAKE2b-256 b5aa9f40d4d301271733c8e30175557b85336c64c81a5d5551e4ec30c57e6c44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.7.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7f9b7ccb989d536ce4a89a33283db3c35438763f632311391c4b227860ad2884
MD5 b33e79192770481465616b331d154775
BLAKE2b-256 c3f76cfa60c5dad15dd14b63dde480f6d0ec48055b3ab5f0221ef854ff91f3a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.7.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 84e3d64ffd19cdd6cd1b04087674fe6610a76422bf3c54c8e59c34606c61c4cc
MD5 da3d8ea8218df133ee9058bde93ea868
BLAKE2b-256 e30fa35129e03ea4e590ba32c5e1edc231d22547ab9a434fefe58e3c927dd7f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.7.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 22b3b7b064e9015f99db25e042d61c6ea668f2b50be1211d2eca47d02ee6bb8e
MD5 c927371b92adb58918ab4743d3847601
BLAKE2b-256 f94f1df7615c9023535e4c78eae15ab0f2e7c2168e93a68c106019dc73edd0e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.7.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 7bdc3ec46bf935cb70567776dbcece64fa9b17468d91f94872f7ccd4fce6dd61
MD5 9d86196542782be7915aefe81ad47247
BLAKE2b-256 6d87695bde3059179bdc02a30e3548249112d69f502715bd0d3d2ab5c5ed9744

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.7.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1145c215e60beab0262718b5786d2636389ce25e7c0ae37d0505be5b6d645474
MD5 a9a44ebc2c92a0848acdd57870b33d8c
BLAKE2b-256 884a3dde78f7bfbcf51b1e1bc3f461c0399b91d210afac9bff3cb29bd6695494

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.7.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 ee87e6b4e491598ed4944ac27afbcd0f283ad92a4092354c058182b3f10637d7
MD5 31da352766d42a331d6b2664908ddd6f
BLAKE2b-256 e24eceb9b72e70a535b40590f893f8039062d59e3b4d86f0a84ba146c0d072e6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rpds_py-0.7.0-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 177.5 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.7.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a01bb41918f9336001f02918e9aac0c105ddfcebf3130055720416889d66f844
MD5 f2690661d08333344e6707b43ce519b2
BLAKE2b-256 7cb3e6a38b9a55b70c4cd86a3dd040dc20e4286fabcbbd73b82dcddd99f7ee39

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rpds_py-0.7.0-cp38-abi3-win32.whl
  • Upload date:
  • Size: 170.7 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.7.0-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 1dbb36441713b3c5a0b8ae6e591bf56102bf0f4776ca4c59e15507d14361209c
MD5 9beac89c2ae077636d8d917152714b5c
BLAKE2b-256 f7171ee1bb43ecd573e6fdb121f25d8770f784d2a87d35c82d3078f274093e8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.7.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0ec8822207afb7a88107fa326e23202462e29d0c079cbeb396dccbf49bb5918e
MD5 38c9d03f05fc057200535934a63c1940
BLAKE2b-256 32661fe1f16d38e378a9ee5f1294646ab6aafc0abe5231f45074502efdf8b7e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.7.0-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 77e254cdb856f5f836ed86c1018873c659d3f0993f64dcd7a02071123151636a
MD5 3170333a56f9a5806dcb54321c7a8e83
BLAKE2b-256 59d73ee4919631031d1993467d60ca8da16a9efec20ca6689aa7a1add341be3a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.7.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 03307acf799825e0e36e41e8627946c031a4917a034aca8fdd16024b0c6b5ccf
MD5 fb626df9800626bd6ae107bb46fa92a3
BLAKE2b-256 fd3843bf6b4183d0247a10e18e1bd308994760546fbc02bcb3693894391d4c14

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.7.0-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 8d082ae9cd26b32cc597bef89dc19a92787d12dc2b06192d3cf76d2d4abc4ea1
MD5 4a7e71e274675bb31a7fb8bb0f9c1865
BLAKE2b-256 50b42a30ab05b4223aa0d45a769576f8be8c0a092006f8a6800b6a2d4a6883d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.7.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f210031f5ed58c341ba3dd9c4878cf890a10664819c1c122f0ad5a874d4646ef
MD5 8c2bf6aa9b7a7f884ea4169f6f5cadf1
BLAKE2b-256 6a8aa2a9c2de5463b671d5c5ae84c70487a73071e4b15c618b4ccde8f84c1209

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.7.0-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 02ec6c6d95cb490305a31b736454b2dac857424083612408eb0fd2f88ef58646
MD5 c18a5c5d45605e09e13bd757c187e1e4
BLAKE2b-256 8969fef0fda3a54167742f5f366399fe64292ec4c599614a5127da3710f004c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.7.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7f332fac047ab70a31c1eca67de59310670e2e4fb4a2426c55a998676ae5ac92
MD5 e19a2c42afe36070bd14d836796cb573
BLAKE2b-256 12b7ce79f8d3c050052a9861723fa60108c8048d8868a16cee01dbfc47b9c821

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.7.0-cp38-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 e26a3a8d5a4845b186aad2684b425d58679caee140bf1a9284231bd6f5bccd17
MD5 de6177fccc15c38eb6480e2521aae7b4
BLAKE2b-256 6611d22dfebacbfb6b8cae1624e61ac5104af3a306b3b7f27eda4fcd4164f1cc

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