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.2.tar.gz (15.0 kB view details)

Uploaded Source

Built Distributions

rpds_py-0.5.2-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.2-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.2-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.2-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.2-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.2-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.2-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.2-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.2-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.2-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.2-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.2-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.2-cp38-abi3-win_amd64.whl (177.1 kB view details)

Uploaded CPython 3.8+ Windows x86-64

rpds_py-0.5.2-cp38-abi3-win32.whl (167.9 kB view details)

Uploaded CPython 3.8+ Windows x86

rpds_py-0.5.2-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.2-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.2-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.2-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.2-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.2-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.2-cp38-abi3-macosx_11_0_arm64.whl (297.8 kB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

rpds_py-0.5.2-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.2.tar.gz.

File metadata

  • Download URL: rpds_py-0.5.2.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.2.tar.gz
Algorithm Hash digest
SHA256 831149563ccbc9f584f0befee273faf9fa8c275f235882e41819cb06c7e9493c
MD5 d9b88bd38a5d68f328124b408bbede3e
BLAKE2b-256 e651854fb5b402111f6073eccd885d11162cd86c3c8541dffd0fef3e1dba050b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1630f5adb0b86d174f05f6adeef27755f8314080122680dcaeafd81e15434e67
MD5 f3cc218d0ab3cb53fe7eb76eb0ee50d9
BLAKE2b-256 97df513960349a1df9515f9114938bf041f232327ed5fa4264eecfca8724f429

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 d593890fde32831f5fa47ea3ee35b604a30b8f67ce7b83740d926a30486163b0
MD5 c48ab07eaf9ad0024ada2602e629daec
BLAKE2b-256 93d77ece56552bab1fb9f3a614f004421ed731e9ab62072da983a593ea87ddb6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 873ebedb81b5a48b53e12b8be72b183620462cf6ef1988c1362f5f3a5ae8f959
MD5 9d86a5d679ed07748e8303a74df6cd3e
BLAKE2b-256 f01c062dc5eba358d5c02a59dd1be822983629bff0782d6406418e601c51bbac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 3bbe70f36c6e2eb14b235a129b166a5658fae25976e38ce96f48c1325e1a735a
MD5 860c8434406a75b0116b48de7d4c4e78
BLAKE2b-256 601d55822b4685732e6aa83c3b8f1c439d2ceb184310a1fcdaa31e7c8a2f4696

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2d4d546ac52388e7ba41de1648fdbd017fb101badf7a8e94e2e864ca4a34b003
MD5 cc033f838f3c9f0c2b6be4172382788a
BLAKE2b-256 c462fa4c8bdb187dffa07e161a8372c69874f9a326b2dfb4582fdb00a1b5bc76

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 223de69843f4d6e92b3fc1e483a1093dd69e274b6be7802bd090c7eb167708d5
MD5 06e38f0c825a77b0c9648a8508ec1992
BLAKE2b-256 fa402d396c542d580a9217498cff20748cfc0dabe33178793c9df873347444f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c2aee1c6fae778a4323237b333705f847153918bebb527808ed239a80f497c79
MD5 6b03768dfd11c2a132e75ee59a7a8c4f
BLAKE2b-256 675294c17bec1f186b5ecb96506f274323913bf3bc4e3739fd271784ee00b1a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.2-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 8155f7ff798f5165dd25a469418f73adafd72c00643c77e023dbb3485868d101
MD5 4ed444b8202b0f0447285dd1c82ff45b
BLAKE2b-256 2a804ba8088c61b0f1d51116ac9a0a99c85d1c6041aa6d82fcdc650da5227c02

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.2-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 f886520f0f016d293ed26b213e53b0a0791506a96ac49ec4b208c85e874d59ac
MD5 313e77dbad34ef134be8b76a5f46fb43
BLAKE2b-256 cf2de1c136d9e46467570be9ceeee7858e31278bcfe097c165ea44187b2715f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.2-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 96ffdebe41ab0956bb038b8d9a592903f2dc640610ae6cc9ddc4a3b77854d709
MD5 2333c0a035ca3620197d779eef5c21b7
BLAKE2b-256 40a98cf3e7f55b8e59728516a67b4f7e322c4560d81f7eeccad563d221131e16

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 05e046278ba4bf638dab8f15fa717215ff40103d3b7c79720a0d07aa8a8fbd02
MD5 ac04426506faafb38abc6f5348173c07
BLAKE2b-256 799d027036dd3aa29f19b1c87daa47f867a0855a6bb2253ae33833339b2ca347

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 52bb53a954202857966f7151b3aa3e32137f3ef9ae65715e73f7c8ad6bc7b8c3
MD5 05bcad17bc3b635795499e08326fb437
BLAKE2b-256 f4213dc0af478fec99fe7538c7b914d846a76272d44a4aa2e90475f1c5019e81

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rpds_py-0.5.2-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 177.1 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.2-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8ee739966411139ef210d7d5e8e5f9ea31c53ff1ab34f5d952ea32534519b6d3
MD5 1902e8d96df61cab201abebbc0c20dfe
BLAKE2b-256 f31fa30ce5b839a1f66efa56f4f0ed1e58756d2e04ea21539b7cddb87042c8c6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rpds_py-0.5.2-cp38-abi3-win32.whl
  • Upload date:
  • Size: 167.9 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.2-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 e1cd7270fe997723e8ab7d9ef5d1b2817d9eed755a8a1bdf674c35eb5852346e
MD5 886d82f7a7fcec027e47eb90a8d1196c
BLAKE2b-256 ebab722360ceba00932a58aba276a2d19a1bc7ae56055a16cab6cdd3c09ec4e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7d7d28c0959ef5dc68aecd22c0f7c04f8e63ad56a6e9e2e6a5792c33c1d7d8c5
MD5 ea95798502da100bec022d7f4c2012ae
BLAKE2b-256 601b39af8d75f9f63b492e3cef05580b8d0be49ccf5669255a0208dd60cdad78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.2-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 18efa371df71a28d3d397ae7f40b9b2a1d2068fd169d7e6c6d2e3f7a2fcd3279
MD5 2af3265f4afe9f9e6d022843ff354238
BLAKE2b-256 c5caf567e3f53e03aaba509f76b63e2abfaa55684e52d8dbd72118277750739c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.2-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 ec999270c0c950d01e6f3c8b362c484991a6e6a17afda981f7be4d86ee4c21ac
MD5 49547e62d5683f8c55854542a36e7f33
BLAKE2b-256 31d1077765668e4bad4e126de42f45377999f5bfb5e29ab8949c7a0bdf2b0996

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.2-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 a74982a2c04f47e62c373c0c94aaac510e0b68ca79ac6af301db92d3a647cd24
MD5 c8538a69ef5d2697c5c59c82fe780632
BLAKE2b-256 9bc1893031b7bed30e3d6589dd04d0e8a0265e1f38015adcc1ae7c649c00d20f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9d9ad8962653740f6db0b620ed503e8ccc54c4c52c649888793d27cf55d962a1
MD5 06b5ef13bd4a7b7ba0502c3d7dec9726
BLAKE2b-256 53250e02822ea1755e7f31f4eaac4a7261f63d9b0b473e2cd6a7c57044ed4ba6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 af137c6167742c2d5928ce6d47e2c32209a57077be482b7a28498ab88d028265
MD5 3f1ec633db89f74c126f5436015760ed
BLAKE2b-256 8a0f215d4c85559b078334f4edc335ba59c95814c42642398298acaa7a8fd461

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.2-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ecd002b56170ec98b5f69e6d8b5eb925f8400343debdf052c249324bc508ed17
MD5 0bded6e917c7d8ca43cc2fcd8bbcb13e
BLAKE2b-256 35b01b762f0edbf9b6c9345fa823bce1e6f9b42be0923a874e0226ab5a750efa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.2-cp38-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 24b0313509179a4c47755a5f00dcdd7526c8e04f7b2bfe84c19a401bc84a1576
MD5 c1cff60069c23fc93534468862d98a1f
BLAKE2b-256 7440d2e8105a15c8dcbbed7fcf7191025a6946f14e6d5b930d65f277640e1d47

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