基于PyO3的Alluxio Fsspec本地增强模块,使用Rust编写
项目描述
一个基于PyO3的通用本地扩展库,用于Alluxio Python客户端
开发者必备条件
- 安装Rust: https://rust-lang.net.cn/tools/install
- 安装maturin: https://www.maturin.rs/installation
在本地构建开发版本并运行
- 创建虚拟环境(一个用于创建隔离Python环境的工具)
python3 -m venv .env
source .env/bin/activate
maturin develop
- 然后可以开始使用
python3
from alluxiocommon import _DataManager
dm = _DataManager(4)
# do something with dm...
构建wheel包并使用pip安装
#in rust/alluxiocommon dir:
$ maturin build --out <alluxiofs_home>/dist -m <alluxiofs_home>/rust/alluxiocommon/Cargo.toml -i python<x.y> (python version such as 3.8)
#then find .whl package in <alluxiofs_home>/dist:
[root@ip-XXX-XX-XX-XX alluxiofs]# ls -l dist/
total 21848
-rw-r--r--. 1 root root 22318133 Apr 28 05:31 alluxiocommon-0.1.0-cp38-cp38-linux_x86_64.whl
#install with pip
$ pip install dist/alluxiocommon-0.1.0-cp38-cp38-linux_x86_64.whl --force-reinstall
构建发布包并发布到PyPI
#in rust/alluxiocommon dir, important is to add --manylinux 2014 for PyPI restriction for wheel package to be compatible with many linux platforms. (PEP 513)
$ docker run --rm -v $(pwd):/io ghcr.io/pyo3/maturin build --release --manylinux 2014
#the .whl package will appear in rust/alluxiocommon/target/wheels/
#check and publish with PyPI:
$ twine check target/wheels/*
#test upload to TestPyPI
$ python3 -m twine upload --repository testpypi target/wheels/* --verbose
#upload to PyPI
$ python3 -m twine upload target/wheels/*
项目详情
关闭
哈希值 for alluxiocommon-1.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ed445f198f8079748fd2d824c4f97b253dd173a7b10c94f2ccb89783b7f4000b |
|
MD5 | 9d3591f2a733836d4a3d6bb5a44408ba |
|
BLAKE2b-256 | 6a96f2762f3d0734e8052f0324cada7c2ada49a68adbd7d78ff9e9be37747a43 |