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

Uploaded Source

Built Distributions

rpds_py-0.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.0-cp38-abi3-win_amd64.whl (180.7 kB view details)

Uploaded CPython 3.8+ Windows x86-64

rpds_py-0.6.0-cp38-abi3-win32.whl (170.6 kB view details)

Uploaded CPython 3.8+ Windows x86

rpds_py-0.6.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.6.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.6.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.6.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.6.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.6.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.6.0-cp38-abi3-macosx_11_0_arm64.whl (301.7 kB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

rpds_py-0.6.0-cp38-abi3-macosx_10_7_x86_64.whl (312.4 kB view details)

Uploaded CPython 3.8+ macOS 10.7+ x86-64

File details

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

File metadata

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

File hashes

Hashes for rpds_py-0.6.0.tar.gz
Algorithm Hash digest
SHA256 bd14a6a5623673860835b136b3c95abca535c170e93c4859f558b5cb083edc8a
MD5 2d3fefc34e266c5cb9bc567e306607c9
BLAKE2b-256 7cc9209779b207bebadf2634266fe4c559be81961cbee9b33cde9f22a84fbfa7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e167d7d9c2f6bd1c42af1b5f5b417799ebdb4cf7f449dbc2d553dcc63deddc63
MD5 aeb6532b5084e2eb7d5a8c32f1fa1bdd
BLAKE2b-256 0a018a132045279974cde2dc6fc7e21c1f27e3f48ebc3d2d93276cc39bdfd7b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 5785afa67e5623e8ad73863ad95d0342e14b7ed3df2775ac1b57e545448c3d5b
MD5 43f8c9b37b6e4e5f5423f47286b77689
BLAKE2b-256 28959589b02af2095a87acf8b804cf58bf40ef37788097a340dc5a8f165e9925

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 3fc016c51b20322969bd588b9822ec5c9c309423f5d1409779f8dc43b7162301
MD5 ffdce59fb7575cebfe2d41852ca15598
BLAKE2b-256 d825b885ce3b3fd7da91f6cc83e6386d09e7138957b5d599783bd5726fbb4046

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 36c756749c33503868643faedc2256accd349118e5ad59cdf1bf7f71c340a18b
MD5 fe0d0d8283944226e1a01d62fdcec4cb
BLAKE2b-256 2d38317a705f269b9361cf7c71a0f3bd90a89f9565fee24be54ddc2a50325761

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 13955672b0cadb14956fc0868f7cc43433da01a4a549cea59385faeddf5dacbe
MD5 42e9999144f8ceb03b5583fd739e06bd
BLAKE2b-256 db0b696689606a41e879cd79a2fae487527428c7ec9937be3fe427ac952c57ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 888291e5108b0b799fb192e2309fc72ea000de5f6bf9c378564a2fec995d0c59
MD5 848772ebf909d7b0d3e9972d915611b6
BLAKE2b-256 0c1295b27282d167bfadf306a85efe6281b7daef2e23ce11c34a8f0bc7dfce64

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c5c8ba7f1c9449edcf5b0b4fd1dc5fdfed768fb807e8a2f2777f80677f6c165e
MD5 6f0074d97d41413170d60431bc380a85
BLAKE2b-256 72dc980f067f1f1f67e76d36e508f9d90ac8a855a44d98f3d21cfd5a1ae88b1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 fbd890bf72eb38b8e9a098bae1095f4a66e4acded34cf2c1e9c0840ddc44b4f0
MD5 a8b0b0561cc2d3ce2574c71bddc81df0
BLAKE2b-256 a00daec511a34765659e887f09168ce54bd7b3612f5c9947aaad52780772c116

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 6336dad2c7e5da528e4600311503dc0c26b5c6b9a9378aea75a8ccee06ebd0c7
MD5 5104e53089e8a303943e6b3946b24cc9
BLAKE2b-256 ea930001a51857a21c6220fb17fe5c5ca011a4bdbd96b2907e5362cc3a11f1ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 d1c9c66c063279bdfb72c2b50f4ecc60772d3ccdda46c9046a9b0bec6229dae7
MD5 68f0fe02d0cffe4f19c7d7b74b33e9aa
BLAKE2b-256 dec3a4fd430956e058f98586edd945343ac61c3ef19658e742bb3849e11cce98

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 943ba5fac18866d56df9502dd4d622e8f83cfadef17b56fafd7588d9c49efe6d
MD5 028c36d2342b566f6afe65fa33005ba9
BLAKE2b-256 af1e42eaed76ce3a05dab346e5dedf3f5deb6b9d79787267e954eb988547a429

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 d7f6e17a167152e7b63842682fa5c9d0e3c44cdc0803db4347acb6206f27ff53
MD5 2cd5f88eeb672d5eef1c02ea5cf5d371
BLAKE2b-256 be496d2dfe8de590ee717cda072ae63d88bd56673d2b876da6fcee0e655668cd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rpds_py-0.6.0-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 180.7 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.6.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 5e93dcd9897a6bf6de7874c024afb568ce58c4badd1e9add236af80d3147f174
MD5 333bc0ea858d926be33d41a66f06cdd2
BLAKE2b-256 1d4c9d755c869b249718440fb605ded543aaf17af217de34ce4010020120bf00

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rpds_py-0.6.0-cp38-abi3-win32.whl
  • Upload date:
  • Size: 170.6 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.6.0-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 a138042d3b42eb85227d452b408407cc084512c38301959fc8e1df7cd9621176
MD5 29bc226b21c0b9e0b74762bbb5ec1d02
BLAKE2b-256 9883539410df63894ae7810c34105c425d8703e97bee020312c0659ea86da366

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 380c79ede5fe6b4d4ccca2649023754d538edc06f149211a8997fcd33c9cc369
MD5 23eedc1c4e1b9f8de1447f94ae3363cf
BLAKE2b-256 ce0e12135ecf79fa840069957c9328fc35d9e0615d3ee3e72f0b628ff0028113

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.0-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 b6ec2570618962c269327d15463e4e1d603176497ca94a5bb70919125a426732
MD5 032b4d44b44186bc52754c0176becb6e
BLAKE2b-256 6879ca517916b24927210f9b564b58144ba277d039d7d35f1c76116b1803db19

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 25103715de14cde9a171a508bb3a379717f361d2d9df047fdc4dad49ac9b3e14
MD5 c8bb899f255dff5c8201735bb7fe9f68
BLAKE2b-256 2e0e7bd7574dde98788a1bb7aaf1e877b1aafef5a13be3370c76adc99f720f05

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.0-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 79210cdd384a2c16f79b2403f40d7cdeb406cd13962847a4b06bc4892ee07676
MD5 7505b5309def33745c0758481f6e647d
BLAKE2b-256 1e2d81888b1e03502cdc969fcc25cf0170455e70f5a4af12543f18c527fcf5d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fccf4465d82d66dff9a0a77b6cf14a6535b86cbd02343247e8de51c84f53b065
MD5 b17c24e60645896499f95088ce673ffe
BLAKE2b-256 872c79681acf427fe1bbf4c4a0bbd3d9499c34d85fd2470086b556a20d5a5470

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.0-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 3aa992b92a2f6e2b83321d7b551fe8c749c385157119bc90d3a74c0de2940ea0
MD5 750868a371e275dfc185fa2f91b3aef6
BLAKE2b-256 6917b7b09c9bc52eb21fe96c9cbf07d83f344ea2c3c373a8309c450d106eeb0c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 56e835235fca60984c2694716420ee3d4364efe146e21ee8bd613c12cf9ec1aa
MD5 a1528ed25d0a0b71275a2289c0dd6987
BLAKE2b-256 e7bb98d639ca2693ffb2f114f9f416e715713cc6d783a0cccc4caa9b17a52215

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.0-cp38-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 eb2666b5ec1a95e43c9314bff25fc593dbaf91610a19de038fd4e98acf39f382
MD5 f0ef39db7f55a2869400b5e4200cd5aa
BLAKE2b-256 70b3186302dc7ca17681d17aaaa6c274413efe695ea93705d514f269f503d095

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