Alluxio Fsspec native enhancement module with PyO3 in rust
Project description
A PyO3 based common native extension lib for alluxio python client
Developer Prerequisites:
- Install Rust: https://www.rust-lang.org/tools/install
- Install maturin: https://www.maturin.rs/installation
To build developer version locally and play:
- create virtualenv, (a tool used to create isolated Python environments):
python3 -m venv .env
source .env/bin/activate
maturin develop
- then can start using:
python3
from alluxiocommon import _DataManager
dm = _DataManager(4)
# do something with dm...
To build wheel package and install with 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
To build release package and publish to 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/*
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file alluxiocommon-1.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: alluxiocommon-1.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 4.1 MB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.8.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed445f198f8079748fd2d824c4f97b253dd173a7b10c94f2ccb89783b7f4000b |
|
MD5 | 9d3591f2a733836d4a3d6bb5a44408ba |
|
BLAKE2b-256 | 6a96f2762f3d0734e8052f0324cada7c2ada49a68adbd7d78ff9e9be37747a43 |