# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= python-rpds-py VERSION= 0.18.1 KEYWORDS= python VARIANTS= v12 v11 SDESC[v11]= Bindings to Rust persistent data structures (3.11) SDESC[v12]= Bindings to Rust persistent data structures (3.12) HOMEPAGE= https://github.com/crate-py/rpds CONTACT= Python_Automaton[python@ironwolf.systems] DOWNLOAD_GROUPS= main cr01 cr02 cr03 cr04 cr05 cr06 cr07 cr08 cr09 cr10 cr11 cr12 cr13 cr14 cr15 cr16 cr17 cr18 cr19 cr20 cr21 cr22 cr23 cr24 cr25 cr26 cr27 cr28 cr29 cr30 cr31 cr32 cr33 cr34 cr35 cr36 cr37 cr38 SITES[main]= PYPI/r/rpds-py SITES[cr01]= CRATES/archery:1.2.0 SITES[cr02]= CRATES/autocfg:1.1.0 SITES[cr03]= CRATES/bitflags:1.3.2 SITES[cr04]= CRATES/cfg-if:1.0.0 SITES[cr05]= CRATES/heck:0.4.1 SITES[cr06]= CRATES/indoc:2.0.4 SITES[cr07]= CRATES/libc:0.2.147 SITES[cr08]= CRATES/lock_api:0.4.10 SITES[cr09]= CRATES/memoffset:0.9.0 SITES[cr10]= CRATES/once_cell:1.18.0 SITES[cr11]= CRATES/parking_lot:0.12.1 SITES[cr12]= CRATES/parking_lot_core:0.9.8 SITES[cr13]= CRATES/portable-atomic:1.6.0 SITES[cr14]= CRATES/proc-macro2:1.0.66 SITES[cr15]= CRATES/pyo3:0.20.3 SITES[cr16]= CRATES/pyo3-build-config:0.20.3 SITES[cr17]= CRATES/pyo3-ffi:0.20.3 SITES[cr18]= CRATES/pyo3-macros:0.20.3 SITES[cr19]= CRATES/pyo3-macros-backend:0.20.3 SITES[cr20]= CRATES/quote:1.0.31 SITES[cr21]= CRATES/redox_syscall:0.3.5 SITES[cr22]= CRATES/rpds:1.1.0 SITES[cr23]= CRATES/scopeguard:1.1.0 SITES[cr24]= CRATES/smallvec:1.11.0 SITES[cr25]= CRATES/static_assertions:1.1.0 SITES[cr26]= CRATES/syn:2.0.32 SITES[cr27]= CRATES/target-lexicon:0.12.9 SITES[cr28]= CRATES/triomphe:0.1.9 SITES[cr29]= CRATES/unicode-ident:1.0.11 SITES[cr30]= CRATES/unindent:0.2.3 SITES[cr31]= CRATES/windows-targets:0.48.1 SITES[cr32]= CRATES/windows_aarch64_gnullvm:0.48.0 SITES[cr33]= CRATES/windows_aarch64_msvc:0.48.0 SITES[cr34]= CRATES/windows_i686_gnu:0.48.0 SITES[cr35]= CRATES/windows_i686_msvc:0.48.0 SITES[cr36]= CRATES/windows_x86_64_gnu:0.48.0 SITES[cr37]= CRATES/windows_x86_64_gnullvm:0.48.0 SITES[cr38]= CRATES/windows_x86_64_msvc:0.48.0 DISTFILE[1]= rpds_py-0.18.1.tar.gz:main DISTFILE[2]= generated:cr01 DISTFILE[3]= generated:cr02 DISTFILE[4]= generated:cr03 DISTFILE[5]= generated:cr04 DISTFILE[6]= generated:cr05 DISTFILE[7]= generated:cr06 DISTFILE[8]= generated:cr07 DISTFILE[9]= generated:cr08 DISTFILE[10]= generated:cr09 DISTFILE[11]= generated:cr10 DISTFILE[12]= generated:cr11 DISTFILE[13]= generated:cr12 DISTFILE[14]= generated:cr13 DISTFILE[15]= generated:cr14 DISTFILE[16]= generated:cr15 DISTFILE[17]= generated:cr16 DISTFILE[18]= generated:cr17 DISTFILE[19]= generated:cr18 DISTFILE[20]= generated:cr19 DISTFILE[21]= generated:cr20 DISTFILE[22]= generated:cr21 DISTFILE[23]= generated:cr22 DISTFILE[24]= generated:cr23 DISTFILE[25]= generated:cr24 DISTFILE[26]= generated:cr25 DISTFILE[27]= generated:cr26 DISTFILE[28]= generated:cr27 DISTFILE[29]= generated:cr28 DISTFILE[30]= generated:cr29 DISTFILE[31]= generated:cr30 DISTFILE[32]= generated:cr31 DISTFILE[33]= generated:cr32 DISTFILE[34]= generated:cr33 DISTFILE[35]= generated:cr34 DISTFILE[36]= generated:cr35 DISTFILE[37]= generated:cr36 DISTFILE[38]= generated:cr37 DISTFILE[39]= generated:cr38 DIST_SUBDIR= rust/crates DF_INDEX= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 SPKGS[v11]= single SPKGS[v12]= single OPTIONS_AVAILABLE= PY312 PY311 OPTIONS_STANDARD= none VOPTS[v11]= PY312=OFF PY311=ON VOPTS[v12]= PY312=ON PY311=OFF BUILD_DEPENDS= rust:single:standard USES= cargo cclibs:single DISTNAME= rpds_py-0.18.1 LICENSE= MIT:single LICENSE_FILE= MIT:{{WRKSRC}}/LICENSE LICENSE_SCHEME= solo CARGO_CARGOLOCK= {{WRKSRC}}/Cargo.lock CARGO_CARGOTOML= {{WRKSRC}}/Cargo.toml GENERATED= yes PLIST_SUB= VER=0.18.1 CPYTHON={{CPYTHON:U{{PYTHON_SUFFIX}}}} VAR_OPSYS[linux]= MAKEFILE_LINE=CPYTHON={{PYTHON_SUFFIX}}-x86_64-linux-gnu CARGO_SKIP_CONFIGURE= yes CARGO_SKIP_BUILD= yes CARGO_SKIP_INSTALL= yes [PY311].BUILD_DEPENDS_ON= python-maturin:single:v11 python-pip:single:v11 [PY311].USES_ON= python:v11 [PY312].BUILD_DEPENDS_ON= python-maturin:single:v12 python-pip:single:v12 [PY312].USES_ON= python:v12 post-patch: # create directives ${MKDIR} ${WRKSRC}/.cargo echo "[source.cargo]" >> ${WRKSRC}/.cargo/config.toml echo "directory = '${CARGO_VENDOR_DIR}'" >> ${WRKSRC}/.cargo/config.toml echo "[source.crates-io]" >> ${WRKSRC}/.cargo/config.toml echo "replace-with = 'cargo'" >> ${WRKSRC}/.cargo/config.toml do-build: (cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} maturin build \ --release \ --interpreter ${PYTHON_CMD}) pre-install-linux: # for some reason compatibility ends at -manylinux_2_23_x86_64 on # ubuntu 16.04 sysroot if [ -f "${INSTALL_WRKSRC}/target/wheels/rpds_py-0.18.1-cp${PYTHON_SUFFIX}-cp${PYTHON_SUFFIX}-manylinux_2_24_x86_64.whl" ];\ then ${MV}\ ${INSTALL_WRKSRC}/target/wheels/rpds_py-0.18.1-cp${PYTHON_SUFFIX}-cp${PYTHON_SUFFIX}-manylinux_2_24_x86_64.whl\ ${INSTALL_WRKSRC}/target/wheels/rpds_py-0.18.1-cp${PYTHON_SUFFIX}-cp${PYTHON_SUFFIX}-manylinux_2_23_x86_64.whl;\ fi do-install: # Due to upstream not supplying a setup.py file or other way to install # using pip command for now... ${SETENV} ${MAKE_ENV} pip install \ --verbose \ --no-index \ --no-compile \ --progress-bar off \ --root=${STAGEDIR} \ --root-user-action=ignore \ --disable-pip-version-check \ --no-deps ${INSTALL_WRKSRC}/target/wheels/*.whl (cd ${STAGEDIR} && ${PYTHON_CMD} -m compileall -d / . ||:) ${INSTALL_LIB} ${WRKSRC}/target/release/librpds.so \ ${STAGEDIR}${PYTHON_SITELIBDIR}/rpds ${CHMOD} +x ${STAGEDIR}${PYTHON_SITELIBDIR}/rpds/librpds.so ${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/rpds/rpds.*.so pre-install-midnightbsd: # Due to rust limitations, maturin must set target OS as freebsd, but # pip doesn't recognize that as a legal combination. Rename to complete build. (cd ${INSTALL_WRKSRC}/target/wheels/ && ${MV}\ rpds_py-0.18.1-cp${PYTHON_SUFFIX}-cp${PYTHON_SUFFIX}-freebsd_*.whl\ rpds_py-0.18.1-cp${PYTHON_SUFFIX}-cp${PYTHON_SUFFIX}-midnightbsd_3_0_0_amd64.whl) [FILE:1787:descriptions/desc.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 [FILE:4520:distinfo] dc48b479d540770c811fbd1eb9ba2bb66951863e448efec2e2c102625328e92f 25388 rust/crates/rpds_py-0.18.1.tar.gz 8967cd1cc9e9e1954f644e14fbd6042fe9a37da96c52a67e44a2ac18261f8561 22842 rust/crates/archery-1.2.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 7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0 140689 rust/crates/portable-atomic-1.6.0.tar.gz 18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9 43575 rust/crates/proc-macro2-1.0.66.tar.gz 53bdbb96d49157e65d45cc287af5f32ffadd5f4761438b527b055fb0d4bb8233 434673 rust/crates/pyo3-0.20.3.tar.gz deaa5745de3f5231ce10517a1f5dd97d53e5a2fd77aa6b5842292085831d48d7 30060 rust/crates/pyo3-build-config-0.20.3.tar.gz 62b42531d03e08d4ef1f6e85a2ed422eb678b8cd62b762e53891c05faf0d4afa 65024 rust/crates/pyo3-ffi-0.20.3.tar.gz 7305c720fa01b8055ec95e484a6eca7a83c841267f0dd5280f0c8b8551d2c158 7920 rust/crates/pyo3-macros-0.20.3.tar.gz 7c7e9b68bb9c3149c5b0cade5d07f953d6d125eb4337723c4ccdb665f1f96185 49797 rust/crates/pyo3-macros-backend-0.20.3.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 [FILE:367:manifests/plist.single] %%PYTHON_SITELIBDIR%%/rpds/ __init__.py __init__.pyi librpds.so py.typed rpds.cpython-%%CPYTHON%%.so %%PYTHON_SITELIBDIR%%/rpds/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc %%PYTHON_SITELIBDIR%%/rpds_py-%%VER%%.dist-info/ INSTALLER METADATA RECORD REQUESTED WHEEL direct_url.json %%PYTHON_SITELIBDIR%%/rpds_py-%%VER%%.dist-info/license_files/LICENSE