carefree-pyo3


Namecarefree-pyo3 JSON
Version 0.1.13 PyPI version JSON
download
home_pagehttps://github.com/carefree0910/carefree-pyo3
Summaryrust → python made easy
upload_time2024-11-19 10:45:09
maintainerNone
docs_urlNone
authorcarefree0910 <syameimaru.saki@gmail.com>
requires_python>=3.8
licenseNone
keywords rust python numpy pandas
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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.

```bash
pip install carefree-pyo3
```

## Test

```bash
pytest
```

## Benchmark (Rust)

```bash
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.


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/carefree0910/carefree-pyo3",
    "name": "carefree-pyo3",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "rust, python, numpy, pandas",
    "author": "carefree0910 <syameimaru.saki@gmail.com>",
    "author_email": "carefree0910 <syameimaru.saki@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/8f/c9/549ca60bcb9630f470687874bab31baa1d9ab7d0ec8e5562e0724b9d3989/carefree_pyo3-0.1.13.tar.gz",
    "platform": null,
    "description": "# carefree-pyo3\n\n`cfpyo3` is a collection of performant utilities.\n\n## Installation\n\n`carefree-pyo3` requires:\n- Python 3.8 or higher.\n- `numpy < 2.x`, because currently rust numpy doesn't support numpy 2.x.\n\n```bash\npip install carefree-pyo3\n```\n\n## Test\n\n```bash\npytest\n```\n\n## Benchmark (Rust)\n\n```bash\ncargo bench -F criterion -p cfpyo3_rs_core -- --verbose\n```\n\n## Architecture\n\nThis project is divided into four parts - looks clumsy, but I'll introduce them and explain their necessity.\n\n### `cfpyo3_rs_core`\n\nThis is the Rust core of the project, and is meant to be responsible for the heavy lifting. Its necessity is almost self-explanatory.\n\n### `cfpyo3_rs_bindings`\n\nThis 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:\n\n- It is not an `rlib`.\n- 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.\n\nAnother choice is to put these useful bindings in `cfpyo3_rs_core`, but then GitHub CI cannot build it for whatever reason.\n\nSo at last, this member is born.\n\n### `cfpyo3_rs_py`\n\nThis 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.\n\n### `cfpyo3`\n\nThis is the Python package that users will interact with. It is a relatively thin wrapper that dispatches the calls to `cfpyo3_rs_py`.\n\n> A typical use case is the `f32` & `f64` dispatch.\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "rust \u2192 python made easy",
    "version": "0.1.13",
    "project_urls": {
        "Homepage": "https://github.com/carefree0910/carefree-pyo3"
    },
    "split_keywords": [
        "rust",
        " python",
        " numpy",
        " pandas"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d3d11909c631905199f75e1286fad40195966758877f52102dcebd348812d5c3",
                "md5": "c52406a8ed7bb828feaeef90ba5ad1eb",
                "sha256": "2b782e0348abafde6e541639127d91bdadca86842773a905c4ac007b01207354"
            },
            "downloads": -1,
            "filename": "carefree_pyo3-0.1.13-cp38-abi3-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c52406a8ed7bb828feaeef90ba5ad1eb",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 515477,
            "upload_time": "2024-11-19T10:45:07",
            "upload_time_iso_8601": "2024-11-19T10:45:07.470401Z",
            "url": "https://files.pythonhosted.org/packages/d3/d1/1909c631905199f75e1286fad40195966758877f52102dcebd348812d5c3/carefree_pyo3-0.1.13-cp38-abi3-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "81086ac3360b811bf3ecbc3c085da2886b5a245872099f23e393acdc9ba7cd37",
                "md5": "89ed221f26b343366a5b0de169001ac8",
                "sha256": "57c2f89ab8aefa398d972a05cc03a66f7d091326d9e89d7adbad26c3f9cf0631"
            },
            "downloads": -1,
            "filename": "carefree_pyo3-0.1.13-cp38-abi3-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "89ed221f26b343366a5b0de169001ac8",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 471717,
            "upload_time": "2024-11-19T10:45:06",
            "upload_time_iso_8601": "2024-11-19T10:45:06.018446Z",
            "url": "https://files.pythonhosted.org/packages/81/08/6ac3360b811bf3ecbc3c085da2886b5a245872099f23e393acdc9ba7cd37/carefree_pyo3-0.1.13-cp38-abi3-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a2606faec4da5a5f6e9c0624dec4478080d4bc71239fc2091c14b830f0a705d7",
                "md5": "ddc69c6f2b4c7eb4d27da14e2b89c845",
                "sha256": "71efa276d01dd6dd1df8cfb5290e23255099301b1962c3ac927a257082b9131d"
            },
            "downloads": -1,
            "filename": "carefree_pyo3-0.1.13-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ddc69c6f2b4c7eb4d27da14e2b89c845",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 548567,
            "upload_time": "2024-11-19T10:45:11",
            "upload_time_iso_8601": "2024-11-19T10:45:11.529102Z",
            "url": "https://files.pythonhosted.org/packages/a2/60/6faec4da5a5f6e9c0624dec4478080d4bc71239fc2091c14b830f0a705d7/carefree_pyo3-0.1.13-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7f85cc1c2c2645235d2549314f740c85ff2a8ba76a5dbad8357c738695264941",
                "md5": "0603a9eabdb2d49a7c752f55d98753a0",
                "sha256": "0b171a865c9cf4f6436b77f5e93477c73c7355f6b71addd68195ca40993f05d0"
            },
            "downloads": -1,
            "filename": "carefree_pyo3-0.1.13-cp38-abi3-manylinux_2_24_aarch64.whl",
            "has_sig": false,
            "md5_digest": "0603a9eabdb2d49a7c752f55d98753a0",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 512432,
            "upload_time": "2024-11-19T10:45:10",
            "upload_time_iso_8601": "2024-11-19T10:45:10.223444Z",
            "url": "https://files.pythonhosted.org/packages/7f/85/cc1c2c2645235d2549314f740c85ff2a8ba76a5dbad8357c738695264941/carefree_pyo3-0.1.13-cp38-abi3-manylinux_2_24_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "abafaa2d70e5e8e51da80d930db01fb313095a192beeee7fe2d8fcf9e36642fc",
                "md5": "b56e218d66accc5eb5aa28438e5a85e3",
                "sha256": "b0bff0e3a9790882b8069db0f7e9e12d1537ec2751924992a59e382d1162fb43"
            },
            "downloads": -1,
            "filename": "carefree_pyo3-0.1.13-cp38-abi3-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "b56e218d66accc5eb5aa28438e5a85e3",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 396299,
            "upload_time": "2024-11-19T10:45:12",
            "upload_time_iso_8601": "2024-11-19T10:45:12.939778Z",
            "url": "https://files.pythonhosted.org/packages/ab/af/aa2d70e5e8e51da80d930db01fb313095a192beeee7fe2d8fcf9e36642fc/carefree_pyo3-0.1.13-cp38-abi3-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8fc9549ca60bcb9630f470687874bab31baa1d9ab7d0ec8e5562e0724b9d3989",
                "md5": "4db83777391c38f400b6e635549625f3",
                "sha256": "8a32671bb2a06800274dd4cd6b3d185507f823364ae4d51e477aa7e444a2ed6b"
            },
            "downloads": -1,
            "filename": "carefree_pyo3-0.1.13.tar.gz",
            "has_sig": false,
            "md5_digest": "4db83777391c38f400b6e635549625f3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 56125,
            "upload_time": "2024-11-19T10:45:09",
            "upload_time_iso_8601": "2024-11-19T10:45:09.276417Z",
            "url": "https://files.pythonhosted.org/packages/8f/c9/549ca60bcb9630f470687874bab31baa1d9ab7d0ec8e5562e0724b9d3989/carefree_pyo3-0.1.13.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-19 10:45:09",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "carefree0910",
    "github_project": "carefree-pyo3",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "carefree-pyo3"
}
        
Elapsed time: 0.43798s