python-rpds-py
Port variant v12
Summary Bindings to Rust persistent data structures (3.12)
BROKEN
Package version 0.22.3
Homepage https://github.com/crate-py/rpds
Keywords python
Maintainer Python Automaton
License MIT
Other variants v13
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 07 DEC 2024, 23:30:33 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)
PY312 ON Build using Python 3.12 PY313 OFF Build using Python 3.13
Package Dependencies by Type
Build (only) rust:single:std
python-maturin:single:v12
python-pip:single:v12
python312:dev:std
autoselect-python:single:std
Build and Runtime python312:primary:std
Runtime (only) ravensys-gcc:libs:std (single subpackage)
Download groups
main mirror://PYPI/r/rpds-py
cr01 mirror://CRATES/archery:1.2.1
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.23.3
cr13 mirror://CRATES/pyo3-build-config:0.23.3
cr14 mirror://CRATES/pyo3-ffi:0.23.3
cr15 mirror://CRATES/pyo3-macros:0.23.3
cr16 mirror://CRATES/pyo3-macros-backend:0.23.3
cr17 mirror://CRATES/python3-dll-a:0.2.11
cr18 mirror://CRATES/quote:1.0.36
cr19 mirror://CRATES/rpds:1.1.0
cr20 mirror://CRATES/syn:2.0.69
cr21 mirror://CRATES/target-lexicon:0.12.14
cr22 mirror://CRATES/triomphe:0.1.13
cr23 mirror://CRATES/unicode-ident:1.0.12
cr24 mirror://CRATES/unindent:0.2.3
Distribution File Information
e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d 26771 rust/crates/rpds_py-0.22.3.tar.gz eae2ed21cd55021f05707a807a5fc85695dafb98832921f6cfa06db67ca5b869 21224 rust/crates/archery-1.2.1.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 e484fd2c8b4cb67ab05a318f1fd6fa8f199fcc30819f08f07d200809dba26c15 1073838 rust/crates/pyo3-0.23.3.tar.gz dc0e0469a84f208e20044b98965e1561028180219e35352a2afaf2b942beff3b 32509 rust/crates/pyo3-build-config-0.23.3.tar.gz eb1547a7f9966f6f1a0f0227564a9945fe36b90da5a93b3933fc3dc03fae372d 74064 rust/crates/pyo3-ffi-0.23.3.tar.gz fdb6da8ec6fa5cedd1626c886fc8749bdcbb09424a86461eb8cdf096b7c33257 8085 rust/crates/pyo3-macros-0.23.3.tar.gz 38a385202ff5a92791168b1136afae5059d3ac118457bb7bc304c197c2d33e7d 70098 rust/crates/pyo3-macros-backend-0.23.3.tar.gz 9b9e268ee1be609e93a13eb06839f68f67e5fe0fb4049834d261c2d5091c1b6d 83622 rust/crates/python3-dll-a-0.2.11.tar.gz 0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7 28507 rust/crates/quote-1.0.36.tar.gz a0e15515d3ce3313324d842629ea4905c25a13f81953eadb88f85516f59290a4 69493 rust/crates/rpds-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:v12
python-jsonschema:v12 Alternate implementation of JSON Schema (3.12)
python-referencing:v12 JSON Referencing + Python (3.12)