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

Uploaded Source

Built Distributions

rpds_py-0.5.3-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.3-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.3-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.5.3-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.3-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.3-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.5.3-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.3-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.3-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.5.3-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.3-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.3-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.5.3-cp38-abi3-win_amd64.whl (177.0 kB view details)

Uploaded CPython 3.8+ Windows x86-64

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

Uploaded CPython 3.8+ Windows x86

rpds_py-0.5.3-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.3-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.3-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.5.3-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.3-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.3-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.5.3-cp38-abi3-macosx_11_0_arm64.whl (297.7 kB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

rpds_py-0.5.3-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.3.tar.gz.

File metadata

  • Download URL: rpds_py-0.5.3.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.3.tar.gz
Algorithm Hash digest
SHA256 00f9de032cc048be9bdb6913cc6801bda6d85258e3da815adcdc90feafc3f43d
MD5 9fc3722ea33d6cca91920f12c7139601
BLAKE2b-256 e36044d0f1f274857def5b714a225ec4bb84d9c2bf3860f01d59a6636fffef3d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4bca9b46457b6ae6dad7fe51cf38e165aeb9107ab2d90b145265de24f04d80b5
MD5 148c5eb17dfddc30a20c1df15586c1e9
BLAKE2b-256 88801d117f7fb0dbe209829991cf7805af6e0d2b40577ec0c9763da344fafa98

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 a616be0defe58b34b21e529067fde65dc1a8fda6def7e6b65b149b21033e1378
MD5 d5800302764d42f5be940dbeb395f6bd
BLAKE2b-256 d76cae6e350b01c19a2950704cbb4add4989a167c018562e69c1bff9610bc901

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 f7e9d7950c22b2b5d53f6a3c37966eca97d497183d8783ff24fccde648f919bb
MD5 79d04434384c82a3764507086a737690
BLAKE2b-256 b1c3a4754775c5b25eeccf6a9c7172ef06ebc36214f1d635b3e769e0a95b958e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 992e1e4f08bf9a02c1d4704eb02513d8302845592bbc5196b5b8bcd7a71fddc7
MD5 a7142fde03d1997094972f61d9c8e070
BLAKE2b-256 aaa112153816faf98341b429dd432abd4153a6e1060f150e998833facb064c36

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e0b4359845e68baa7393042a6f8e03121e23a673b8dacbefbf817017675c6cc4
MD5 f77111a4ea25c128b6acb2ab01562d1e
BLAKE2b-256 23f62835f03c5f93db826bcb1a306104de658487c38a8d58d6402664eb0461f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 dc39af58e67ebaa48463c92587b4eb1ca1ddd115a6f8889018979af1ca2d5fb0
MD5 0d76720373a0346ee706fae75076a4fb
BLAKE2b-256 00e4bcbdbaeb63707a5ff8f5f329118e4971283f81f962176d2e724d7bf5935f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8fdbd5c0f4082633bf9b962bd1ab1fa52e2aea90c628fbf62e25347830d20c81
MD5 a7291d7a34de859dc5ee807abd5eed1f
BLAKE2b-256 73e21b578cd1b5c3628284728d4b39d410d5850a49909a87466c0bfa2121e794

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.3-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 055d15712d5c046797862f44e053723bb3bfa95abd83289adac14e112360021f
MD5 289e0145cbd4403f2dbd322a1faf5c40
BLAKE2b-256 c4265b07223b13995461237058a48bb0f0b4b775f45962fed6ce6705164b4937

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.3-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 5584e562ba41b7ed2c8eb004177bd46762586eb655d8aef1a571c8829fa96f40
MD5 54ac2c91fd5e071a43154ac03d05cdb0
BLAKE2b-256 5ca7944b784f4b714ca3c6537e155bcb3a6f3ce96238c788cf9770def3586484

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.3-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 1d01a0634e1860d5b00bb67275a2b0decafeb8c074eec436210b87f0ee352463
MD5 0e99e3004bae165bb5dbb475142ac7cc
BLAKE2b-256 11dd921fc64c5c38677b5303f0c1d308122d5eeb4e4c0fcfb6aa27f4745895d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 62ab6e23fb323bbc84b8efaaf9bbe81723b6c92f6604b7ef762650789948c754
MD5 b96ae463e5b7c12f925c2b421fd290e0
BLAKE2b-256 db7366ff437e8a0960b4c6a2ff9f2acb94016f6825f51d4a42b126a762e827d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.3-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 38aab0a2757a13085636d0042073221c4390df7976f34cdcf42de317d259a85b
MD5 bbd8d95066d0626e21f9dd42bfd03dfb
BLAKE2b-256 8a363a4212c81270c8b0277f86a3763f8b8eb4218b8cb2608bd521164d2c4d49

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rpds_py-0.5.3-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.3-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b17603430bddd2a300ee041709960619694fc6ffc54b9392553cc44e405e7ef8
MD5 2aad26af0fd7b1be619b249f6ee53212
BLAKE2b-256 ef1f85f3c0b6bd63dbf43e401c9e5377f8fd4223525f5d876817662b7c2d77de

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rpds_py-0.5.3-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.3-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 5b161ca1a73c87ecc78f7ce3bcc97989624a0033efc418fe790684ce6b06694c
MD5 0317a0a14250eedf73d6c03c161490db
BLAKE2b-256 a31dbb2ad3fb0ecf930e2a97d40953296aaca1b60da40e686b0dd29654057672

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1d0ffd469c85131a27f6a73f18e37f1b7f79a042f8b263882eda5e9c98f02277
MD5 10c0da45981b702ef765a1bcd278bb1e
BLAKE2b-256 f873d93a87f0ff74f1a967620e3dc268d9ff9c4f8e9d0818a0f83b5d15bbfbbc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.3-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 a4390267b46ddd10241157315863fdc31ac49a9b1b323256d5fabe892a99f969
MD5 dde0dcbcaef236cbdfb5ef0405da34e0
BLAKE2b-256 b83c43261bdfcabdac49873a3cada343a14229b83ee3b2bcd1a83d1cd5da8bb1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.3-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 4dfac6c182e1a043c082493ac3e93bc23afcdaab893036ee01ae6f44dae759d0
MD5 b7216e0db79923cdb8c2000ae5f6e29f
BLAKE2b-256 19e944b79dd13f834bd66c18bc9ebf889b4e3bffbd579237765b016dc9e89725

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.3-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 bb5618a0849b810f45e1ea4f75efccd27c89a3e5730468e19e1f038519148705
MD5 5599ee20122bec5cc9815cf29e0b255e
BLAKE2b-256 59c415a0628d15bc03f71123b05db53c588679fd1a08b7d6f6b34fd3f7a3ccb6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 24bffbed304d3fdf4ff982f64bd87c515f5b3b4d64dc5753b2e9a861c0804fc2
MD5 4ec40d497310c90028ded7a0fc04be8c
BLAKE2b-256 428fab883703682c0b9395e2b8832e128220708d7b2ccaa9d090267c474267cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.3-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 633dca6e2bffe0d66c4f95300b83b2472fc7469c88be69b84655d20ba9c43876
MD5 2248b89d736082bf366c146ba885fc00
BLAKE2b-256 a6e7c7bc842e4349e9dc98beb3b9cb03778dba4036d4edd4716aa6523b7c89c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.3-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 67a5e4f989d3ea3688d02ce2d4c80d7065ddb08e5ae8d5658b578d18ebf999d6
MD5 6490a3557b458b24689b216aee01b293
BLAKE2b-256 931908a8be81208bb920ef5bfb2a0e52e159c14141f582eb8d076b2f8998abd7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.5.3-cp38-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 5cf9ccd7f655ad71369452c53f9d5a53cfc4d5d9789d931b553cefd67ca5bfc8
MD5 37dce439e03d894c7b66639012b510dc
BLAKE2b-256 fdaebfb1e3a7831cee64b1f2300c61137a0602738439dee00ab0920ec3a14de3

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