crate-py / rpds Goto Github PK
View Code? Open in Web Editor NEWPython bindings to the Rust rpds crate for persistent data structures
Home Page: https://rpds.readthedocs.io/
License: MIT License
Python bindings to the Rust rpds crate for persistent data structures
Home Page: https://rpds.readthedocs.io/
License: MIT License
Pypy 3.10 was released about a month ago, it would be nice to have pre-built packages for it!
https://www.pypy.org/posts/2023/06/pypy-v7312-release.html
It seems manylinux already included it: pypa/manylinux@d833a5f
So I guess we only need to update this line?
https://github.com/crate-py/rpds/blob/a4fc5c25e8578550aab9120c28e91e62d936cb93/.github/workflows/CI.yml#L87C9-L87C9
I don't have any experience with github workflows/actions though.
It should be https://github.com/crate-py/rpds/releases/tag/v0.13.2, but now become https://github.com/crate-py/rpds/releases/tag/v0.31.2
rpds-py
cannot be built on Python 3.13.0a6+
.
pyenv install 3.13-dev
pyenv virtualenv 3.13-dev rpds-test
pyenv shell rpds-test
$ pip install rpds-py
Collecting rpds-py
Downloading rpds_py-0.18.1.tar.gz (25 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: rpds-py
Building wheel for rpds-py (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for rpds-py (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [52 lines of output]
Running `maturin pep517 build-wheel -i /home/aciba/.pyenv/versions/3.13-dev/envs/rpds-test/bin/python --compatibility off`
📦 Including license file "/tmp/pip-install-mpcdnjtn/rpds-py_c225fa28d6e746c5bdcd1b2440b5d7ec/LICENSE"
🔗 Found pyo3 bindings
🐍 Found CPython 3.13 at /home/aciba/.pyenv/versions/3.13-dev/envs/rpds-test/bin/python
📡 Using build options features from pyproject.toml
Compiling target-lexicon v0.12.9
Compiling once_cell v1.18.0
Compiling autocfg v1.1.0
Compiling proc-macro2 v1.0.66
Compiling libc v0.2.147
Compiling unicode-ident v1.0.11
Compiling parking_lot_core v0.9.8
Compiling heck v0.4.1
Compiling scopeguard v1.1.0
Compiling smallvec v1.11.0
Compiling cfg-if v1.0.0
Compiling portable-atomic v1.6.0
Compiling static_assertions v1.1.0
Compiling triomphe v0.1.9
Compiling indoc v2.0.4
Compiling unindent v0.2.3
Compiling archery v1.2.0
Compiling lock_api v0.4.10
Compiling memoffset v0.9.0
Compiling rpds v1.1.0
Compiling pyo3-build-config v0.20.3
Compiling quote v1.0.31
Compiling syn v2.0.32
Compiling parking_lot v0.12.1
Compiling pyo3-ffi v0.20.3
Compiling pyo3 v0.20.3
error: failed to run custom build command for `pyo3-ffi v0.20.3`
Caused by:
process didn't exit successfully: `/tmp/pip-install-mpcdnjtn/rpds-py_c225fa28d6e746c5bdcd1b2440b5d7ec/target/release/build/pyo3-ffi-70093274310161c8/build-script-build` (exit status: 1)
--- stdout
cargo:rerun-if-env-changed=PYO3_CROSS
cargo:rerun-if-env-changed=PYO3_CROSS_LIB_DIR
cargo:rerun-if-env-changed=PYO3_CROSS_PYTHON_VERSION
cargo:rerun-if-env-changed=PYO3_CROSS_PYTHON_IMPLEMENTATION
cargo:rerun-if-env-changed=PYO3_PRINT_CONFIG
cargo:rerun-if-env-changed=PYO3_USE_ABI3_FORWARD_COMPATIBILITY
--- stderr
error: the configured Python interpreter version (3.13) is newer than PyO3's maximum supported version (3.12)
= help: please check if an updated version of PyO3 is available. Current version: 0.20.3
= help: set PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 to suppress this check and build anyway using the stable ABI
warning: build failed, waiting for other jobs to finish...
💥 maturin failed
Caused by: Failed to build a native library through cargo
Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_ENVIRONMENT_SIGNATURE="cpython-3.13-64bit" PYO3_PYTHON="/home/aciba/.pyenv/versions/3.13-dev/envs/rpds-test/bin/python" PYTHON_SYS_EXECUTABLE="/home/aciba/.pyenv/versions/3.13-dev/envs/rpds-test/bin/python" "cargo" "rustc" "--features" "pyo3/extension-module" "--message-format" "json-render-diagnostics" "--manifest-path" "/tmp/pip-install-mpcdnjtn/rpds-py_c225fa28d6e746c5bdcd1b2440b5d7ec/Cargo.toml" "--release" "--lib"`
Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/home/aciba/.pyenv/versions/3.13-dev/envs/rpds-test/bin/python', '--compatibility', 'off'] returned non-zero exit status 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for rpds-py
Failed to build rpds-py
ERROR: Could not build wheels for rpds-py, which is required to install pyproject.toml-based projects
Hi,
I wonder if you could bump the pyo3 revision to at least 0.20.3, so that this can build on hosts which do not support native 64-bit atomic operations?
I've no idea whether this is real or not, but Bitdefender (an anti-virus app) immediately flags and quarantines one of the files created upon install:
The file C:\Users\estau.virtualenvs\process_wavelength\Lib\site-packages\rpds\rpds.cp311-win_amd64.pyd is infected with Gen:Suspicious.Cloud.4.Bu4@a4QxQep and was moved to quarantine. It is recommended that you run a System Scan to make sure your system is clean.
I'd guess this only shows up on systems with AMD processors.
I am using a python library (zigpy) which then is called in an embedded python framework. This is call several time and we are having this issue.
This isse is happening with some other python modules for which we have been able to downgrade to a level of PyO3 where the problem doesn't exist.
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): Traceback (most recent call last):
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): File "/home/pi/domoticz/plugins/Domoticz-Zigbee/plugin.py", line 1540, in onStart
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): _plugin.onStart()
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): File "/home/pi/domoticz/plugins/Domoticz-Zigbee/plugin.py", line 555, in onStart
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): start_zigbee_transport(self )
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): File "/home/pi/domoticz/plugins/Domoticz-Zigbee/plugin.py", line 979, in start_zigbee_transport
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): _start_zigpy_ZNP(self)
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): File "/home/pi/domoticz/plugins/Domoticz-Zigbee/plugin.py", line 1069, in _start_zigpy_ZNP
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): from Classes.ZigpyTransport.Transport import ZigpyTransport
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): File "/home/pi/domoticz/plugins/Domoticz-Zigbee/Classes/ZigpyTransport/Transport.py", line 9, in <module>
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): import zigpy.application
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): File "/usr/local/lib/python3.9/dist-packages/zigpy/application.py", line 22, in <module>
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): import zigpy.appdb
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): File "/usr/local/lib/python3.9/dist-packages/zigpy/appdb.py", line 16, in <module>
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): import zigpy.device
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): File "/usr/local/lib/python3.9/dist-packages/zigpy/device.py", line 12, in <module>
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): from zigpy.ota.manager import find_ota_cluster, update_firmware
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): File "/usr/local/lib/python3.9/dist-packages/zigpy/ota/__init__.py", line 27, in <module>
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): import zigpy.ota.providers
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): File "/usr/local/lib/python3.9/dist-packages/zigpy/ota/providers.py", line 19, in <module>
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): import jsonschema
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): File "/usr/local/lib/python3.9/dist-packages/jsonschema/__init__.py", line 13, in <module>
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): from jsonschema._format import FormatChecker
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): File "/usr/local/lib/python3.9/dist-packages/jsonschema/_format.py", line 11, in <module>
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): from jsonschema.exceptions import FormatError
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): File "/usr/local/lib/python3.9/dist-packages/jsonschema/exceptions.py", line 15, in <module>
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): from referencing.exceptions import Unresolvable as _Unresolvable
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): File "/usr/local/lib/python3.9/dist-packages/referencing/__init__.py", line 4, in <module>
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): from referencing._core import Anchor, Registry, Resource, Specification
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): File "/usr/local/lib/python3.9/dist-packages/referencing/_core.py", line 8, in <module>
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): from rpds import HashTrieMap, HashTrieSet, List
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): File "/usr/local/lib/python3.9/dist-packages/rpds/__init__.py", line 1, in <module>
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): from .rpds import *
Apr 04 12:17:56 CasaiaProV4-test domoticz[19084]: Zigbee(reseau 2): ImportError: PyO3 modules do not yet support subinterpreters, see https://github.com/PyO3/pyo3/issues/576
Would be nice to have an instruction with pre-requisites and what is the recommended way of installation.
I tried to install it inside docker with image python:3.11-alpine
#6 4.061 Downloading rpds_py-0.7.1.tar.gz (15 kB)
#6 4.071 Installing build dependencies: started
#6 5.599 Installing build dependencies: finished with status 'done'
#6 5.601 Getting requirements to build wheel: started
#6 5.684 Getting requirements to build wheel: finished with status 'done'
#6 5.686 Preparing metadata (pyproject.toml): started
#6 5.755 Preparing metadata (pyproject.toml): finished with status 'error'
#6 5.761 error: subprocess-exited-with-error
#6 5.761
#6 5.761 × Preparing metadata (pyproject.toml) did not run successfully.
#6 5.761 │ exit code: 1
#6 5.761 ╰─> [6 lines of output]
#6 5.761
#6 5.761 Cargo, the Rust package manager, is not installed or is not on PATH.
#6 5.761 This package requires Rust and Cargo to compile extensions. Install it through
#6 5.761 the system's package manager or via https://rustup.rs/
#6 5.761
#6 5.761 Checking for Rust toolchain....
#6 5.761 [end of output]
#6 5.761
#6 5.761 note: This error originates from a subprocess, and is likely not a problem with pip.
#6 5.764 error: metadata-generation-failed
#6 5.764
#6 5.764 × Encountered error while generating package metadata.
#6 5.764 ╰─> See above for output.
#6 5.764
#6 5.764 note: This is an issue with the package mentioned above, not pip.
#6 5.764 hint: See above for details.
Collecting rpds-py>=0.7.1
Using cached rpds_py-0.18.0.tar.gz (25 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... error
error: subprocess-exited-with-error
Preparing metadata (pyproject.toml) did not run successfully.
exit code: 1
[7 lines of output]
📦 Including license file "/tmp/pip-install-u2k8hxh1/rpds-py_154bc2dbeb184a65a6fc57bfa730f50b/LICENSE"
🔗 Found pyo3 bindings
💥 maturin failed
Caused by: The operating system Aix is not supported
Error running maturin: Command '['maturin', 'pep517', 'write-dist-info', '--metadata-directory', '/tmp/pip-modern-metadata-xqyg4z7o', '--interpreter', '/opt/freeware/bin/python3.9']' returned non-zero exit status 1.
Checking for Rust toolchain....
Running `maturin pep517 write-dist-info --metadata-directory /tmp/pip-modern-metadata-xqyg4z7o --interpreter /opt/freeware/bin/python3.9`
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
Encountered error while generating package metadata.
See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
Installed /home/circleci/my-project/.venv/lib/python3.10/site-packages/SecretStorage-3.3.3-py3.10.egg
Searching for rpds-py>=0.7.1
Reading https://pypi.org/simple/rpds-py/
Downloading https://files.pythonhosted.org/packages/48/0b/f42f99419c5150c2741fe28bf97674d928d46ee17f46f2bc5be031cce0bc/rpds_py-0.13.2.tar.gz#sha256=f8eae66a1304de7368932b42d801c67969fd090ddb1a7a24f27b435ed4bed68f
Best match: rpds-py 0.13.2
Processing rpds_py-0.13.2.tar.gz
error: Couldn't find a setup script in /tmp/easy_install-qrzhwtkm/rpds_py-0.13.2.tar.gz
Exited with code exit status 1
Tried:
pip install -r ../requirements.txt --target=./python --platform=linux_x86_64 --no-deps
I got this error:
Preparing metadata (pyproject.toml) ... error
error: subprocess-exited-with-error
× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [6 lines of output]
Cargo, the Rust package manager, is not installed or is not on PATH.
This package requires Rust and Cargo to compile extensions. Install it through
the system's package manager or via https://rustup.rs/
Is it possible to have it prebuilt for linux_x86_64 ?
Thanks!
Line 52 in b1ed53f
This method name should be drop_first
to match lib.rs
method name.
To reproduce:
$ cat test.py
from rpds import List
L = List([1, 3, 5])
print(L.drop_first())
$ python3 test.py
List([3, 5])
$ mypy test.py
test.py:3: error: "rpds.List[int]" has no attribute "drop_first"; maybe "drop_front"? [attr-defined]
Found 1 error in 1 file (checked 1 source file)
This error doesn't happen on version 0.7.1
Package operations: 1 install, 9 updates, 0 removals
• Updating rpds-py (0.7.1 -> 0.8.7): Failed
ChefBuildError
Backend subprocess exited when trying to invoke build_wheel
Running `maturin pep517 build-wheel -i /var/folders/p2/pwvr5hs54yx3drlwc9d4w3xh0000gn/T/tmpzac82swx/.venv/bin/python --compatibility off`
💥 maturin failed
Caused by: Cargo metadata failed. Do you have cargo in your PATH?
Caused by: No such file or directory (os error 2)
Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/var/folders/p2/pwvr5hs54yx3drlwc9d4w3xh0000gn/T/tmpzac82swx/.venv/bin/python', '--compatibility', 'off'] returned non-zero exit status 1
at ~/Library/Application Support/pypoetry/venv/lib/python3.9/site-packages/poetry/installation/chef.py:147 in _prepare
143│
144│ error = ChefBuildError("\n\n".join(message_parts))
145│
146│ if error is not None:
→ 147│ raise error from None
148│
149│ return path
150│
151│ def _prepare_sdist(self, archive: Path, destination: Path | None = None) -> Path:
Note: This error originates from the build backend, and is likely not a problem with poetry but with rpds-py (0.8.7) not supporting PEP 517 builds. You can verify this by running 'pip wheel --use-pep517 "rpds-py (==0.8.7)"'.
I stumbled upon this issue due to jsonschema using this lib. I am not sure whether this issue belongs here.
When I execute this sample snippet:
from copy import deepcopy
from rpds import HashTrieMap
m = HashTrieMap({"foo": "bar", "baz": "quux"})
c = deepcopy(m)
print(c)
I get the following stacktrace:
python test.py
Traceback (most recent call last):
File "test.py", line 6, in <module>
L2 = deepcopy(L)
File "/Users/kevin.stillhammer/.rye/py/[email protected]/install/lib/python3.8/copy.py", line 161, in deepcopy
rv = reductor(4)
TypeError: cannot pickle 'rpds.List' object
It would be great if this lib supports deepcopy.
After a quick look I think a version update was needed during the release process? I.e. should this
https://github.com/crate-py/rpds/blob/3eac1e7f9b05fa966526b6d4d56584659f72ad90/Cargo.toml#L3C1-L3C19
be 0.10.1
?
ImportError Traceback (most recent call last)
Cell In[1], line 1
----> 1 import gradio as gr
2 import os
3 from langchain.chat_models import ChatOpenAI
File c:\ProgramData\anaconda3\envs\wenan3\lib\site-packages\gradio_init_.py:3
1 import json
----> 3 import gradio._simple_templates
4 import gradio.image_utils
5 import gradio.processing_utils
File c:\ProgramData\anaconda3\envs\wenan3\lib\site-packages\gradio_simple_templates_init_.py:1
----> 1 from .simpledropdown import SimpleDropdown
2 from .simpleimage import SimpleImage
3 from .simpletextbox import SimpleTextbox
File c:\ProgramData\anaconda3\envs\wenan3\lib\site-packages\gradio_simple_templates\simpledropdown.py:6
3 import warnings
4 from typing import Any, Callable
----> 6 from gradio.components.base import FormComponent
7 from gradio.events import Events
10 class SimpleDropdown(FormComponent):
...
----> 1 from .rpds import *
3 doc = rpds.doc
4 if hasattr(rpds, "all"):
ImportError: DLL load failed while importing rpds: 拒绝访问。
This package is now a dependency of jsonschema v4.18.0,, and of jupyter notebook==7.
It takes time to compile rpds_py for source code,,which make problem when pip install notebook=7 in termux platform.
https://www.reddit.com/r/termux/comments/157mw29/comment/k6ibrlf/?utm_source=share&utm_medium=web2x&context=3
Would be possible to add a wheel for termux on Android in the repository's Github Action?
May this should be the problem of maturin..... instead of rpds......
ARMv6 is still a common platform, as used in Raspberry Pi (original), and should have wheels built.
This should reduce time compiling from source and fix projects depending on rpds-py
through dependencies such as dgtlmoon/changedetection.io#1708
Thanks in advance.
Lines 1 to 2 in 373e9d7
Just tested with maturin
1.1.0 and on first look module builds correctly
+ /usr/bin/python3 -sBm build -w --no-isolation
* Getting build dependencies for wheel...
* Building wheel...
Running `maturin pep517 build-wheel -i /usr/bin/python3 --compatibility off`
Updating crates.io index
Downloaded target-lexicon v0.12.6
Downloaded pyo3-macros v0.18.1
Downloaded quote v1.0.23
Downloaded once_cell v1.17.1
Downloaded proc-macro2 v1.0.51
Downloaded pyo3-macros-backend v0.18.1
Downloaded pyo3-build-config v0.18.1
Downloaded unicode-ident v1.0.6
Downloaded windows_x86_64_gnullvm v0.42.1
Downloaded libc v0.2.139
Downloaded windows_i686_msvc v0.42.1
Downloaded pyo3-ffi v0.18.1
Downloaded windows-targets v0.42.1
Downloaded windows_x86_64_gnu v0.42.1
Downloaded windows_aarch64_gnullvm v0.42.1
Downloaded pyo3 v0.18.1
Downloaded windows_aarch64_msvc v0.42.1
Downloaded windows_x86_64_msvc v0.42.1
Downloaded windows_i686_gnu v0.42.1
Downloaded windows-sys v0.45.0
Downloaded archery v0.5.0
Downloaded rpds v0.13.0
Downloaded 22 crates (8.2 MB) in 1.34s (largest was `windows-sys` at 2.6 MB)
📦 Including license file "/home/tkloczko/rpmbuild/BUILD/rpds-0.7.1/LICENSE"
🔗 Found pyo3 bindings with abi3 support for Python ≥ 3.8
🐍 Not using a specific python interpreter
📡 Using build options features from pyproject.toml
Compiling target-lexicon v0.12.6
Compiling autocfg v1.1.0
Compiling once_cell v1.17.1
Compiling proc-macro2 v1.0.51
Compiling unicode-ident v1.0.6
Compiling quote v1.0.23
Compiling libc v0.2.139
Compiling syn v1.0.109
Compiling parking_lot_core v0.9.7
Compiling smallvec v1.10.0
Compiling cfg-if v1.0.0
Compiling scopeguard v1.1.0
Compiling static_assertions v1.1.0
Compiling unindent v0.1.11
Compiling indoc v1.0.9
Compiling archery v0.5.0
Compiling rpds v0.13.0
Compiling lock_api v0.4.9
Compiling memoffset v0.8.0
Compiling pyo3-build-config v0.18.1
Compiling parking_lot v0.12.1
Compiling pyo3-macros-backend v0.18.1
Compiling pyo3-ffi v0.18.1
Compiling pyo3 v0.18.1
Compiling pyo3-macros v0.18.1
Compiling rpds-py v0.7.1 (/home/tkloczko/rpmbuild/BUILD/rpds-0.7.1)
Finished release [optimized] target(s) in 58.61s
📖 Found type stub file at rpds.pyi
📦 Built wheel for abi3 Python ≥ 3.8 to /home/tkloczko/rpmbuild/BUILD/rpds-0.7.1/target/wheels/rpds_py-0.7.1-cp38-abi3-linux_x86_64.whl
/home/tkloczko/rpmbuild/BUILD/rpds-0.7.1/target/wheels/rpds_py-0.7.1-cp38-abi3-linux_x86_64.whl
Successfully built rpds_py-0.7.1-cp38-abi3-linux_x86_64.whl
pip install rpds-py
Looking in indexes: https://pypi.org/simple
Collecting rpds-py
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... error
error: subprocess-exited-with-error
× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [14 lines of output]
error: failed to parse manifest at `/private/var/folders/2x/lmlfhwrx449fvlxzyq5z8djr0000gn/T/pip-install-emrxykip/rpds-py_d9e40e1ca0f146599493c7411b8b98cf/Cargo.toml`
Caused by:
feature `edition2021` is required
this Cargo does not support nightly features, but if you
switch to nightly channel you can add
`cargo-features = ["edition2021"]` to enable this feature
💥 maturin failed
Caused by: Cargo metadata failed. Does your crate compile with `cargo build`?
Caused by: `cargo metadata` exited with an error:
Error running maturin: Command '['maturin', 'pep517', 'write-dist-info', '--metadata-directory', '/private/var/folders/2x/lmlfhwrx449fvlxzyq5z8djr0000gn/T/pip-modern-metadata-k42g9uso', '--interpreter', '/Users/hugodupras/.pyenv/versions/3.9.16/bin/python3.9']' returned non-zero exit status 1.
Checking for Rust toolchain....
Running `maturin pep517 write-dist-info --metadata-directory /private/var/folders/2x/lmlfhwrx449fvlxzyq5z8djr0000gn/T/pip-modern-metadata-k42g9uso --interpreter /Users/hugodupras/.pyenv/versions/3.9.16/bin/python3.9`
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
No problem with python3.10 where it find the correct wheel on pypi
I'm on MacOS 13.4.1 x86
We had an issue with our CI since we depende on jsonchema that recently introduced rpds as dependency. Would be possible to add a wheel for macos 11 arch64?
https://github.com/rotki/rotki/actions/runs/5485326087/jobs/9994007923#step:14:630
Currently there are macos 10 x86_64 and macos 11 arm64 but I'm not aware if there is a restriction for the 2 combinations missing
We anyways had something to fix here (duplicating the Vec), but more concretely, we return the wrong type for HashTrieMap.keys
, specifically, compare:
⊙ ~[python] -c 'from rpds import HashTrieMap; d = {1: 2}; print(d.keys(), HashTrieMap(d).keys())' julian@Airm
dict_keys([1]) [1]
(where obviously KeysView
objects are set-like).
Hi,
There is no wheels built and distributed for Python 3.12.
This package is now a dependency of jsonschema
v4.18.0.
To allow software testing against Python 3.12 which is in beta state, that would be great if you could provide Py3.12 wheels.
Thanks.
The latest release is tagged as v0.31.2 was this supposed to be v0.13.2 instead as the pypi versions version points to v0.13.2 https://pypi.org/project/rpds-py/ And all the release artifacts points to v0.13.2 in the whl versions
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.