rust → python made easy
Project description
carefree-pyo3
cfpyo3
is a collection of performant utilities.
Installation
carefree-pyo3
requires:
- Python 3.8 or higher.
numpy < 2.x
, because currently rust numpy doesn't support numpy 2.x.
pip install carefree-pyo3
Test
pytest
Benchmark (Rust)
cargo bench -F criterion -p cfpyo3_rs_core -- --verbose
Architecture
This project is divided into four parts - looks clumsy, but I'll introduce them and explain their necessity.
cfpyo3_rs_core
This is the Rust core of the project, and is meant to be responsible for the heavy lifting. Its necessity is almost self-explanatory.
cfpyo3_rs_bindings
This one looks redundant at first glance, as we already have cfpyo3_rs_py
. Initially this member did not exist, until I find some bindings in cfpyo3_rs_py
very useful, want to reuse them, and failed because:
- It is not an
rlib
. - Even I managed to make it an
rlib
, it's just not good to import the whole package becausecfpyo3_rs_py
itself is exposing lots of APIs to Python.
Another choice is to put these useful bindings in cfpyo3_rs_core
, but then GitHub CI cannot build it for whatever reason.
So at last, this member is born.
cfpyo3_rs_py
This is the 'direct' Python bindings of this project. It is just a REALLY thin wrapper around cfpyo3_rs_core
and cfpyo3_rs_bindings
, and is responsible for exposing the APIs to Python.
cfpyo3
This is the Python package that users will interact with. It is a relatively thin wrapper that dispatches the calls to cfpyo3_rs_py
.
A typical use case is the
f32
&f64
dispatch.
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 Distribution
Built Distributions
File details
Details for the file carefree_pyo3-0.1.13.tar.gz
.
File metadata
- Download URL: carefree_pyo3-0.1.13.tar.gz
- Upload date:
- Size: 56.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a32671bb2a06800274dd4cd6b3d185507f823364ae4d51e477aa7e444a2ed6b |
|
MD5 | 4db83777391c38f400b6e635549625f3 |
|
BLAKE2b-256 | 8fc9549ca60bcb9630f470687874bab31baa1d9ab7d0ec8e5562e0724b9d3989 |
File details
Details for the file carefree_pyo3-0.1.13-cp38-abi3-win_amd64.whl
.
File metadata
- Download URL: carefree_pyo3-0.1.13-cp38-abi3-win_amd64.whl
- Upload date:
- Size: 396.3 kB
- Tags: CPython 3.8+, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0bff0e3a9790882b8069db0f7e9e12d1537ec2751924992a59e382d1162fb43 |
|
MD5 | b56e218d66accc5eb5aa28438e5a85e3 |
|
BLAKE2b-256 | abafaa2d70e5e8e51da80d930db01fb313095a192beeee7fe2d8fcf9e36642fc |
File details
Details for the file carefree_pyo3-0.1.13-cp38-abi3-manylinux_2_24_aarch64.whl
.
File metadata
- Download URL: carefree_pyo3-0.1.13-cp38-abi3-manylinux_2_24_aarch64.whl
- Upload date:
- Size: 512.4 kB
- Tags: CPython 3.8+, manylinux: glibc 2.24+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b171a865c9cf4f6436b77f5e93477c73c7355f6b71addd68195ca40993f05d0 |
|
MD5 | 0603a9eabdb2d49a7c752f55d98753a0 |
|
BLAKE2b-256 | 7f85cc1c2c2645235d2549314f740c85ff2a8ba76a5dbad8357c738695264941 |
File details
Details for the file carefree_pyo3-0.1.13-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: carefree_pyo3-0.1.13-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 548.6 kB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71efa276d01dd6dd1df8cfb5290e23255099301b1962c3ac927a257082b9131d |
|
MD5 | ddc69c6f2b4c7eb4d27da14e2b89c845 |
|
BLAKE2b-256 | a2606faec4da5a5f6e9c0624dec4478080d4bc71239fc2091c14b830f0a705d7 |
File details
Details for the file carefree_pyo3-0.1.13-cp38-abi3-macosx_11_0_arm64.whl
.
File metadata
- Download URL: carefree_pyo3-0.1.13-cp38-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 471.7 kB
- Tags: CPython 3.8+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57c2f89ab8aefa398d972a05cc03a66f7d091326d9e89d7adbad26c3f9cf0631 |
|
MD5 | 89ed221f26b343366a5b0de169001ac8 |
|
BLAKE2b-256 | 81086ac3360b811bf3ecbc3c085da2886b5a245872099f23e393acdc9ba7cd37 |
File details
Details for the file carefree_pyo3-0.1.13-cp38-abi3-macosx_10_12_x86_64.whl
.
File metadata
- Download URL: carefree_pyo3-0.1.13-cp38-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 515.5 kB
- Tags: CPython 3.8+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b782e0348abafde6e541639127d91bdadca86842773a905c4ac007b01207354 |
|
MD5 | c52406a8ed7bb828feaeef90ba5ad1eb |
|
BLAKE2b-256 | d3d11909c631905199f75e1286fad40195966758877f52102dcebd348812d5c3 |