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

Uploaded Source

Built Distributions

rpds_py-0.6.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.6.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.6.1-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.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.6.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.6.1-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.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.8+ Windows x86-64

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

Uploaded CPython 3.8+ Windows x86

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

Uploaded CPython 3.8+ macOS 11.0+ ARM64

rpds_py-0.6.1-cp38-abi3-macosx_10_7_x86_64.whl (312.5 kB view details)

Uploaded CPython 3.8+ macOS 10.7+ x86-64

File details

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

File metadata

  • Download URL: rpds_py-0.6.1.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.1.tar.gz
Algorithm Hash digest
SHA256 dad0e599f6e010e25e1dafeb6bbb6b6bc9f8a8b60435da68b5f343ce2ec25d7d
MD5 9e0c233783842aac3537a14787c6b9ee
BLAKE2b-256 63dde75b7c1fff91393990bff8c43fd9d2df18dfc9095626776d8165b4fc67b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 63a883f05b39259be541b85c986fdefe56000927482f3db7a289df37853e2e50
MD5 1d754754a5ff8e2e0a6d488ed313b920
BLAKE2b-256 c4eed27c813c66d9a6600c066def64aa265d8528c4a5dabafaebd942fb500e23

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 62c145c60d22a5971509e2769ba1f9c9db33580e03164cc94114eb54cc46907b
MD5 20294a3e19c0aff24316a06f11ad9180
BLAKE2b-256 db01a1a4ff1b73b7e5826534f55022cb2991c762b4d23f531ffc27d9dc5c7ebd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 40fe5ca65b2d0879d605b03a6b7ec419af6e499035f38864120541bc6259b582
MD5 1305f38846bf2c315f3315487628ebe8
BLAKE2b-256 503d019659fb242e0b462b89929f8a2db741ad48ef926ba5dceff977c09beb2c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 82653646a4395314ad0588173246db3d3bdf43f5dad501d8872348e77a868702
MD5 ccb1e922ba5b0b3a8779170d33bd4f61
BLAKE2b-256 8d3afdbefbf23b60dfbb17142fd693936f5cda7b009db12100e2db08be024728

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f7de259c82f66bf4d5e325e7044feac3b9848d09e62a295ebb722c46b9309b88
MD5 dbc010f20a0b6769d0a2d8a715455ea6
BLAKE2b-256 333b7964b02f08955cd9c7a4528864be533dd28c2dea422dc12cddf464064bbc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 691494b1d3ec693f29b702ec5ee01aa8c0b9dced6e7f1815eb2e5fb48c8be4e7
MD5 661169e7294ab1394562cd8410483376
BLAKE2b-256 0a737daf9c82a3a4c61681c9b622ac8f5f78665043be48ca8da9949deeb043c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c171e4c6f16b6eab7e3566bb5fb2a4ab36496fcd26fad0f47a5dae3c7e2b41b4
MD5 66eb500a01112daf7973c423646d3ce5
BLAKE2b-256 3ae55fdd1076f98938f7dac74c52ece645542a591d7b118e75bfe3c62c760e03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.1-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 f382ad104c1b3d1b5f34a2015b93f3030fa0bf35d6a6ae3ecd4064e946c76382
MD5 268f6ef6b053efcdb8d3086afa197fef
BLAKE2b-256 60e6baec8911efca704063807c4f1da75ca99b582f5910640136e2bba0e72ad3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.1-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 324831a18ec17c33d02ce3f4877b088d45b4659b1f4c29da1518832ee52b3e02
MD5 dd2a63f085fbbf1cc0e34c21869696b7
BLAKE2b-256 972692c86c179232633cc72229a72cc2f0f9621a7809563e3cdf64cfdb8d429e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.1-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 6d5f5fb46633ea4bab9ff05a097c0cb8c55c5e2b031f6c7ee9b6eee1becb8b85
MD5 3737d530d279bfe14184811e61ed2002
BLAKE2b-256 50535f00dc81635c37f13817402ae441d16ef49476d043230ef3e5f6c70959da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5cda47ef06fba5cb4f8eab7282c4ca906afd99c3cd4a1125c10d41e2aa30532a
MD5 bb2019310394792cdf1974394ae3296a
BLAKE2b-256 55a75b5e5088b002c5d87d1507977d575143722cee698731bd70415ee60f2258

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 4640f542da88ccbeb7240ebbe3914b64170d60f4bf9d9fc8fd4731500ca1de4a
MD5 3a6d9444bc59d407a8337114739dfedb
BLAKE2b-256 9773324d0a6c528d2a2a4d5cfd9e723167855d233a5c6e2562acd22b2e2a3637

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rpds_py-0.6.1-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 180.8 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.1-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 4752a25c7486a9e65f409536aeb619ef58d9b9db46bce4e20788d6af9ac2887a
MD5 9a9d7104cf6d7968c18b512fc95ae1f6
BLAKE2b-256 75ba4c5578caf6e9aae13b18a72243cccd1271289bb8fca759d33ea42c70c2d8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rpds_py-0.6.1-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.6.1-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 30644c88bbfcda85e34f18c0cf37337919a985cfc0c0fa77235db2c9c90db5f2
MD5 3eea313de698cad2472178b08f7542d2
BLAKE2b-256 4b3b4372f17677fafb8fc5e6b51d309a24f84118c4fda62df7661aa479136b8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 29e15529a073b66ccb654bfd13579afd0064e4f3e61067b844958856f1330efc
MD5 95192eb2acade432c09b275f382677bf
BLAKE2b-256 93dfedc5c91c8f2553817662eeaf0c2f59a06cdea75afd6bdb06e1e1197fdb8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.1-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 08a86767bf84712ceb98fa3afb81dc38ae3d33a923ac32b783bf00d602bd067a
MD5 6231fc52eeab67fadd15e1ef0cf26553
BLAKE2b-256 9c917fd267d71e315eeae4fd7040a1912689d2aec15552299ebb6c820efa91b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.1-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 d78d3bb73514c7fd64a6b72777247a87333d18fc2fd2b1e929e08bbbf889dd60
MD5 d96813af382669ad0f2d98c3c8c1e918
BLAKE2b-256 838fef2159903b65b234ab816878d49f78de2b3eb3f1e2065b10c1e4294ce3b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.1-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 c7c5b49398aa59a206487c5172d77a1500107fe816c8ba43a72646d83986e6c4
MD5 16d8e054795c70a7b7639473c4712919
BLAKE2b-256 0e75db5e683ea01d5c74e7cb0ea69ae3c9ffbc1ffe720fb17f997fde5d62dbe4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 583a51ddb4d3ac5667afca635d573cc46ea0f66d7619e0cb5d9b1e3505a5f5d5
MD5 c0d7e3de30e86908a147e5dedb623ca6
BLAKE2b-256 0ac9fbc5cf045511245038b29f0cd3bbaa0b7bf81fe42fcede69918530b4c2e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.1-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 cd844fcf585df5f6042c871469138595bfbe40dbc318e42492d3ed7cdc8d7b5b
MD5 e8dc521b0ec4b273edac320bc3c46d44
BLAKE2b-256 e41bc6f3baa9325eb8d4161cd0a90717b6dd3a32a7a76ba33bb0bcf7ec9ff94b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2c06b574984edbb279a82dd722be60729cfe0e31e277716dd2e81f2f591f62d8
MD5 d64437b7afa012bdee27d550ac42dadc
BLAKE2b-256 dc0744b12a7e2ea0b27ebfd98dcc071f593839d8ab9528afdfc8dec639ca9c73

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rpds_py-0.6.1-cp38-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 73894c0ee67eec830e0804d332dee4655be590af08c272165bd8f362cf437edc
MD5 46677a6cc4bed4972f58bcf3fff35d17
BLAKE2b-256 ec4a4badcae38ee0b80fba98634ac04290b19e112e009ce19797e856a81e8e9c

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