python-rpds-py
Port variant v11
Summary Bindings to Rust persistent data structures (3.11)
Package version 0.18.0
Homepage https://github.com/crate-py/rpds
Keywords python
Maintainer Python Automaton
License MIT
Other variants v12
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 21 FEB 2024, 17:31:39 UTC
Port created 07 JUL 2023, 18:56:52 UTC
Subpackage Descriptions
single =========== ``rpds.py`` =========== |PyPI| |Pythons| |CI| 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. Installation ------------ The distribution on PyPI is named ``rpds.py`` (equivalently ``rpds-py``), and thus can be installed via e.g.: .. code:: sh $ pip install rpds-py Note that if you install ``rpds-py`` from source, you will need a Rust toolchain installed, as it is a build-time dependency. An example of how to do so in a Dockerfile can be found [here]. If you believe you are on a common platform which should have wheels built (i.e. and not need to compile from source), feel free to file an issue or pull request modifying the GitHub action used here to build wheels via maturin. Usage ----- 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). .. code:: python >>> 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
Configuration Switches (platform-specific settings discarded)
PY311 ON Build using Python 3.11 PY312 OFF Build using Python 3.12
Package Dependencies by Type
Build (only) rust:single:standard
python-maturin:single:v11
python-pip:single:v11
autoselect-python:single:standard
Build and Runtime python311:single:standard
Runtime (only) ravensys-gcc:libs:standard (single subpackage)
Download groups
main mirror://PYPI/r/rpds-py
cr01 mirror://CRATES/archery:1.1.0
cr02 mirror://CRATES/autocfg:1.1.0
cr03 mirror://CRATES/bitflags:1.3.2
cr04 mirror://CRATES/cfg-if:1.0.0
cr05 mirror://CRATES/heck:0.4.1
cr06 mirror://CRATES/indoc:2.0.4
cr07 mirror://CRATES/libc:0.2.147
cr08 mirror://CRATES/lock_api:0.4.10
cr09 mirror://CRATES/memoffset:0.9.0
cr10 mirror://CRATES/once_cell:1.18.0
cr11 mirror://CRATES/parking_lot:0.12.1
cr12 mirror://CRATES/parking_lot_core:0.9.8
cr13 mirror://CRATES/proc-macro2:1.0.66
cr14 mirror://CRATES/pyo3:0.20.2
cr15 mirror://CRATES/pyo3-build-config:0.20.2
cr16 mirror://CRATES/pyo3-ffi:0.20.2
cr17 mirror://CRATES/pyo3-macros:0.20.2
cr18 mirror://CRATES/pyo3-macros-backend:0.20.2
cr19 mirror://CRATES/quote:1.0.31
cr20 mirror://CRATES/redox_syscall:0.3.5
cr21 mirror://CRATES/rpds:1.1.0
cr22 mirror://CRATES/scopeguard:1.1.0
cr23 mirror://CRATES/smallvec:1.11.0
cr24 mirror://CRATES/static_assertions:1.1.0
cr25 mirror://CRATES/syn:2.0.32
cr26 mirror://CRATES/target-lexicon:0.12.9
cr27 mirror://CRATES/triomphe:0.1.9
cr28 mirror://CRATES/unicode-ident:1.0.11
cr29 mirror://CRATES/unindent:0.2.3
cr30 mirror://CRATES/windows-targets:0.48.1
cr31 mirror://CRATES/windows_aarch64_gnullvm:0.48.0
cr32 mirror://CRATES/windows_aarch64_msvc:0.48.0
cr33 mirror://CRATES/windows_i686_gnu:0.48.0
cr34 mirror://CRATES/windows_i686_msvc:0.48.0
cr35 mirror://CRATES/windows_x86_64_gnu:0.48.0
cr36 mirror://CRATES/windows_x86_64_gnullvm:0.48.0
cr37 mirror://CRATES/windows_x86_64_msvc:0.48.0
Distribution File Information
42821446ee7a76f5d9f71f9e33a4fb2ffd724bb3e7f93386150b61a43115788d 25313 rust/crates/rpds_py-0.18.0.tar.gz 487955f60962765486ce000015a3492ca45c34a2ebbf12bc0aa2b5110ca6e7d2 22240 rust/crates/archery-1.1.0.tar.gz d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa 13272 rust/crates/autocfg-1.1.0.tar.gz bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a 23021 rust/crates/bitflags-1.3.2.tar.gz baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd 7934 rust/crates/cfg-if-1.0.0.tar.gz 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8 11567 rust/crates/heck-0.4.1.tar.gz 1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8 14311 rust/crates/indoc-2.0.4.tar.gz b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3 686772 rust/crates/libc-0.2.147.tar.gz c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16 26713 rust/crates/lock_api-0.4.10.tar.gz 5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c 9033 rust/crates/memoffset-0.9.0.tar.gz dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d 32969 rust/crates/once_cell-1.18.0.tar.gz 3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f 40967 rust/crates/parking_lot-0.12.1.tar.gz 93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447 32383 rust/crates/parking_lot_core-0.9.8.tar.gz 18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9 43575 rust/crates/proc-macro2-1.0.66.tar.gz 9a89dc7a5850d0e983be1ec2a463a171d20990487c3cfcd68b5363f1ee3d6fe0 434326 rust/crates/pyo3-0.20.2.tar.gz 07426f0d8fe5a601f26293f300afd1a7b1ed5e78b2a705870c5f30893c5163be 30029 rust/crates/pyo3-build-config-0.20.2.tar.gz dbb7dec17e17766b46bca4f1a4215a85006b4c2ecde122076c562dd058da6cf1 64601 rust/crates/pyo3-ffi-0.20.2.tar.gz 05f738b4e40d50b5711957f142878cfa0f28e054aa0ebdfc3fd137a843f74ed3 7925 rust/crates/pyo3-macros-0.20.2.tar.gz 0fc910d4851847827daf9d6cdd4a823fbdaab5b8818325c5e97a86da79e8881f 49710 rust/crates/pyo3-macros-backend-0.20.2.tar.gz 5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0 27881 rust/crates/quote-1.0.31.tar.gz 567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29 23404 rust/crates/redox_syscall-0.3.5.tar.gz a0e15515d3ce3313324d842629ea4905c25a13f81953eadb88f85516f59290a4 69493 rust/crates/rpds-1.1.0.tar.gz d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd 11470 rust/crates/scopeguard-1.1.0.tar.gz 62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9 34680 rust/crates/smallvec-1.11.0.tar.gz a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f 18480 rust/crates/static_assertions-1.1.0.tar.gz 239814284fd6f1a4ffe4ca893952cdd93c224b6a1571c9a9eadd670295c0c9e2 242504 rust/crates/syn-2.0.32.tar.gz df8e77cb757a61f51b947ec4a7e3646efd825b73561db1c232a8ccb639e611a0 24532 rust/crates/target-lexicon-0.12.9.tar.gz 0eee8098afad3fb0c54a9007aab6804558410503ad676d4633f9c2559a00ac0f 26674 rust/crates/triomphe-0.1.9.tar.gz 301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c 42067 rust/crates/unicode-ident-1.0.11.tar.gz c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce 7306 rust/crates/unindent-0.2.3.tar.gz 05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f 6902 rust/crates/windows-targets-0.48.1.tar.gz 91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc 366543 rust/crates/windows_aarch64_gnullvm-0.48.0.tar.gz b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3 671479 rust/crates/windows_aarch64_msvc-0.48.0.tar.gz 622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241 741490 rust/crates/windows_i686_gnu-0.48.0.tar.gz 4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00 730056 rust/crates/windows_i686_msvc-0.48.0.tar.gz ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1 703595 rust/crates/windows_x86_64_gnu-0.48.0.tar.gz 7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953 366536 rust/crates/windows_x86_64_gnullvm-0.48.0.tar.gz 1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a 671422 rust/crates/windows_x86_64_msvc-0.48.0.tar.gz
Ports that require python-rpds-py:v11
python-jsonschema:v11 Alternate implementation of JSON Schema (3.11)
python-referencing:v11 JSON Referencing + Python (3.11)