python-rpds-py
Port variant v11
Summary Bindings to Rust persistent data structures (3.11)
BROKEN
Package version 0.20.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 10 NOV 2024, 23:21:40 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:std
python-maturin:single:v11
python-pip:single:v11
autoselect-python:single:std
Build and Runtime python311:single:std
Runtime (only) ravensys-gcc:libs:std (single subpackage)
Download groups
main mirror://PYPI/r/rpds-py
cr01 mirror://CRATES/archery:1.2.0
cr02 mirror://CRATES/autocfg:1.3.0
cr03 mirror://CRATES/cc:1.0.90
cr04 mirror://CRATES/cfg-if:1.0.0
cr05 mirror://CRATES/heck:0.5.0
cr06 mirror://CRATES/indoc:2.0.5
cr07 mirror://CRATES/libc:0.2.155
cr08 mirror://CRATES/memoffset:0.9.1
cr09 mirror://CRATES/once_cell:1.19.0
cr10 mirror://CRATES/portable-atomic:1.6.0
cr11 mirror://CRATES/proc-macro2:1.0.86
cr12 mirror://CRATES/pyo3:0.22.2
cr13 mirror://CRATES/pyo3-build-config:0.22.2
cr14 mirror://CRATES/pyo3-ffi:0.22.2
cr15 mirror://CRATES/pyo3-macros:0.22.2
cr16 mirror://CRATES/pyo3-macros-backend:0.22.2
cr17 mirror://CRATES/python3-dll-a:0.2.10
cr18 mirror://CRATES/quote:1.0.36
cr19 mirror://CRATES/rpds:1.1.0
cr20 mirror://CRATES/static_assertions:1.1.0
cr21 mirror://CRATES/syn:2.0.69
cr22 mirror://CRATES/target-lexicon:0.12.14
cr23 mirror://CRATES/triomphe:0.1.13
cr24 mirror://CRATES/unicode-ident:1.0.12
cr25 mirror://CRATES/unindent:0.2.3
Distribution File Information
d72a210824facfdaf8768cf2d7ca25a042c30320b3020de2fa04640920d4e121 25814 rust/crates/rpds_py-0.20.0.tar.gz 8967cd1cc9e9e1954f644e14fbd6042fe9a37da96c52a67e44a2ac18261f8561 22842 rust/crates/archery-1.2.0.tar.gz 0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0 16524 rust/crates/autocfg-1.3.0.tar.gz 8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5 73954 rust/crates/cc-1.0.90.tar.gz baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd 7934 rust/crates/cfg-if-1.0.0.tar.gz 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea 11517 rust/crates/heck-0.5.0.tar.gz b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5 14396 rust/crates/indoc-2.0.5.tar.gz 97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c 743539 rust/crates/libc-0.2.155.tar.gz 488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a 9032 rust/crates/memoffset-0.9.1.tar.gz 3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92 33046 rust/crates/once_cell-1.19.0.tar.gz 7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0 140689 rust/crates/portable-atomic-1.6.0.tar.gz 5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77 48958 rust/crates/proc-macro2-1.0.86.tar.gz 831e8e819a138c36e212f3af3fd9eeffed6bf1510a805af35b0edee5ffa59433 538342 rust/crates/pyo3-0.22.2.tar.gz 1e8730e591b14492a8945cdff32f089250b05f5accecf74aeddf9e8272ce1fa8 31225 rust/crates/pyo3-build-config-0.22.2.tar.gz 5e97e919d2df92eb88ca80a037969f44e5e70356559654962cbb3316d00300c6 67749 rust/crates/pyo3-ffi-0.22.2.tar.gz eb57983022ad41f9e683a599f2fd13c3664d7063a3ac5714cae4b7bee7d3f206 8136 rust/crates/pyo3-macros-0.22.2.tar.gz ec480c0c51ddec81019531705acac51bcdbeae563557c982aa8263bb96880372 65620 rust/crates/pyo3-macros-backend-0.22.2.tar.gz bd0b78171a90d808b319acfad166c4790d9e9759bbc14ac8273fe133673dd41b 74573 rust/crates/python3-dll-a-0.2.10.tar.gz 0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7 28507 rust/crates/quote-1.0.36.tar.gz a0e15515d3ce3313324d842629ea4905c25a13f81953eadb88f85516f59290a4 69493 rust/crates/rpds-1.1.0.tar.gz a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f 18480 rust/crates/static_assertions-1.1.0.tar.gz 201fcda3845c23e8212cd466bfebf0bd20694490fc0356ae8e428e0824a915a6 265441 rust/crates/syn-2.0.69.tar.gz e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f 25508 rust/crates/target-lexicon-0.12.14.tar.gz e6631e42e10b40c0690bf92f404ebcfe6e1fdb480391d15f17cc8e96eeed5369 29568 rust/crates/triomphe-0.1.13.tar.gz 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b 42168 rust/crates/unicode-ident-1.0.12.tar.gz c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce 7306 rust/crates/unindent-0.2.3.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)