Skip to main content

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 because cfpyo3_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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

carefree_pyo3-0.1.13.tar.gz (56.1 kB view details)

Uploaded Source

Built Distributions

carefree_pyo3-0.1.13-cp38-abi3-win_amd64.whl (396.3 kB view details)

Uploaded CPython 3.8+ Windows x86-64

carefree_pyo3-0.1.13-cp38-abi3-manylinux_2_24_aarch64.whl (512.4 kB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.24+ ARM64

carefree_pyo3-0.1.13-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (548.6 kB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ x86-64

carefree_pyo3-0.1.13-cp38-abi3-macosx_11_0_arm64.whl (471.7 kB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

carefree_pyo3-0.1.13-cp38-abi3-macosx_10_12_x86_64.whl (515.5 kB view details)

Uploaded CPython 3.8+ macOS 10.12+ x86-64

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

Hashes for carefree_pyo3-0.1.13.tar.gz
Algorithm Hash digest
SHA256 8a32671bb2a06800274dd4cd6b3d185507f823364ae4d51e477aa7e444a2ed6b
MD5 4db83777391c38f400b6e635549625f3
BLAKE2b-256 8fc9549ca60bcb9630f470687874bab31baa1d9ab7d0ec8e5562e0724b9d3989

See more details on using hashes here.

File details

Details for the file carefree_pyo3-0.1.13-cp38-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for carefree_pyo3-0.1.13-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b0bff0e3a9790882b8069db0f7e9e12d1537ec2751924992a59e382d1162fb43
MD5 b56e218d66accc5eb5aa28438e5a85e3
BLAKE2b-256 abafaa2d70e5e8e51da80d930db01fb313095a192beeee7fe2d8fcf9e36642fc

See more details on using hashes here.

File details

Details for the file carefree_pyo3-0.1.13-cp38-abi3-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for carefree_pyo3-0.1.13-cp38-abi3-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 0b171a865c9cf4f6436b77f5e93477c73c7355f6b71addd68195ca40993f05d0
MD5 0603a9eabdb2d49a7c752f55d98753a0
BLAKE2b-256 7f85cc1c2c2645235d2549314f740c85ff2a8ba76a5dbad8357c738695264941

See more details on using hashes here.

File details

Details for the file carefree_pyo3-0.1.13-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for carefree_pyo3-0.1.13-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 71efa276d01dd6dd1df8cfb5290e23255099301b1962c3ac927a257082b9131d
MD5 ddc69c6f2b4c7eb4d27da14e2b89c845
BLAKE2b-256 a2606faec4da5a5f6e9c0624dec4478080d4bc71239fc2091c14b830f0a705d7

See more details on using hashes here.

File details

Details for the file carefree_pyo3-0.1.13-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for carefree_pyo3-0.1.13-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 57c2f89ab8aefa398d972a05cc03a66f7d091326d9e89d7adbad26c3f9cf0631
MD5 89ed221f26b343366a5b0de169001ac8
BLAKE2b-256 81086ac3360b811bf3ecbc3c085da2886b5a245872099f23e393acdc9ba7cd37

See more details on using hashes here.

File details

Details for the file carefree_pyo3-0.1.13-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for carefree_pyo3-0.1.13-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2b782e0348abafde6e541639127d91bdadca86842773a905c4ac007b01207354
MD5 c52406a8ed7bb828feaeef90ba5ad1eb
BLAKE2b-256 d3d11909c631905199f75e1286fad40195966758877f52102dcebd348812d5c3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page