ipc-frontier-py


Nameipc-frontier-py JSON
Version 0.1.6 PyPI version JSON
download
home_pageNone
SummaryBenchmarks comparing Python concurrency models--threads, Queue-based multiprocessing, and SharedMemory-based multiprocessing--for moving and processing NumPy arrays.
upload_time2025-09-20 02:36:31
maintainerNone
docs_urlNone
authorRyan Wallace
requires_python~=3.13.0
licenseNone
keywords concurrency threading multiprocessing ipc shared-memory serialization numpy benchmark performance
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            # `ipc-frontier-py`

[![Build](https://github.com/ryancswallace/ipc-frontier-py/actions/workflows/ci.yaml/badge.svg)](https://github.com/ryancswallace/ipc-frontier-py/actions/workflows/ci.yaml)
[![Coverage](https://codecov.io/github/ryancswallace/ipc-frontier-py/branch/main/graph/badge.svg)](https://codecov.io/github/ryancswallace/ipc-frontier-py)
[![PyPI version](https://img.shields.io/pypi/v/ipc-frontier-py.svg)](https://pypi.org/project/ipc-frontier-py/)
[![License](https://img.shields.io/github/license/ryancswallace/ipc-frontier-py.svg)](https://github.com/ryancswallace/ipc-frontier-py/blob/main/LICENSE)
[![Security Policy](https://img.shields.io/badge/security-policy-blue.svg)](https://github.com/ryancswallace/ipc-frontier-py/blob/main/SECURITY.md)

---

**`ipc-frontier-py`** implements benchmarks comparing Python concurrency models--**threads**, **Queue-based multiprocessing**, and **SharedMemory-based multiprocessing**--for moving and processing NumPy arrays. The benchmarks highlight throughput, latency, and IPC overheads relevant to ML/AI data pipelines and performance-sensitive Python applications.

TODO

## Development 🛠️

This section contains info about developing the `ipc_frontier` Python package itself.

> **First time working on the project?** Run `make install-tools` then `make setup`.

### Requirements

Supported on Linux and macOS.

### Contributing Code

See [`CONTRIBUTING.md`](./CONTRIBUTING.md) for the pull request process used to introduce code changes.

### Releases

See [`RELEASE.md`](./RELEASE.md) for a description of the GitHub pipeline that builds and publishes new versions of the `ipc_frontier` package.

### Tooling

The `ipc-frontier-py` project uses **Pyenv** for Python version management and **Poetry** for package management, environment management, and builds.

The `ipc-frontier-py` project uses **Make** to automate common development operations and workflows. Run `make help` or see the `Makefile` in the root of the repository for a full list of the available targets. See the "Make Targets" section below for guidance using selected targets.

### Make Targets

This section describes how and when to use the automated procedures for common development tasks.

#### `install-tools`

```sh
make install-tools
```

Installs the tools required to run other targets. Tools include Pyenv and Poetry. This target only needs to be run once per user.

#### `setup`

```sh
make setup
```

Creates an isolated execution environment to run the project. This target installs the required version of Python using Pyenv and creates a virtual environment using Poetry with the required dependencies plus the `ipc_frontier` package itself installed.

#### `fmt`

```sh
make fmt
```

Autoformats the entire codebase in compliance with the project's style standards. All formatting is handled by Ruff in a way that mimics the combination of Black + autopep8 + isort.

#### `test`

```sh
make test
```

Executes type checks and runs the suite of unit tests. Pyright is used for type checking, and pytest is used as the unit test framework.

#### `clean`

```sh
make clean
```

Deletes build/test/coverage artifacts, including `.pytest_cache/`, `.mypy_cache/`, and `.ruff_cache/`.


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "ipc-frontier-py",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "~=3.13.0",
    "maintainer_email": null,
    "keywords": "concurrency, threading, multiprocessing, ipc, shared-memory, serialization, numpy, benchmark, performance",
    "author": "Ryan Wallace",
    "author_email": "ryancswallace@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/a7/14/e0e01d9337c961dc012bb430c2f8ca5c2922064349ba3c0804439433d04f/ipc_frontier_py-0.1.6.tar.gz",
    "platform": null,
    "description": "# `ipc-frontier-py`\n\n[![Build](https://github.com/ryancswallace/ipc-frontier-py/actions/workflows/ci.yaml/badge.svg)](https://github.com/ryancswallace/ipc-frontier-py/actions/workflows/ci.yaml)\n[![Coverage](https://codecov.io/github/ryancswallace/ipc-frontier-py/branch/main/graph/badge.svg)](https://codecov.io/github/ryancswallace/ipc-frontier-py)\n[![PyPI version](https://img.shields.io/pypi/v/ipc-frontier-py.svg)](https://pypi.org/project/ipc-frontier-py/)\n[![License](https://img.shields.io/github/license/ryancswallace/ipc-frontier-py.svg)](https://github.com/ryancswallace/ipc-frontier-py/blob/main/LICENSE)\n[![Security Policy](https://img.shields.io/badge/security-policy-blue.svg)](https://github.com/ryancswallace/ipc-frontier-py/blob/main/SECURITY.md)\n\n---\n\n**`ipc-frontier-py`** implements benchmarks comparing Python concurrency models--**threads**, **Queue-based multiprocessing**, and **SharedMemory-based multiprocessing**--for moving and processing NumPy arrays. The benchmarks highlight throughput, latency, and IPC overheads relevant to ML/AI data pipelines and performance-sensitive Python applications.\n\nTODO\n\n## Development \ud83d\udee0\ufe0f\n\nThis section contains info about developing the `ipc_frontier` Python package itself.\n\n> **First time working on the project?** Run `make install-tools` then `make setup`.\n\n### Requirements\n\nSupported on Linux and macOS.\n\n### Contributing Code\n\nSee [`CONTRIBUTING.md`](./CONTRIBUTING.md) for the pull request process used to introduce code changes.\n\n### Releases\n\nSee [`RELEASE.md`](./RELEASE.md) for a description of the GitHub pipeline that builds and publishes new versions of the `ipc_frontier` package.\n\n### Tooling\n\nThe `ipc-frontier-py` project uses **Pyenv** for Python version management and **Poetry** for package management, environment management, and builds.\n\nThe `ipc-frontier-py` project uses **Make** to automate common development operations and workflows. Run `make help` or see the `Makefile` in the root of the repository for a full list of the available targets. See the \"Make Targets\" section below for guidance using selected targets.\n\n### Make Targets\n\nThis section describes how and when to use the automated procedures for common development tasks.\n\n#### `install-tools`\n\n```sh\nmake install-tools\n```\n\nInstalls the tools required to run other targets. Tools include Pyenv and Poetry. This target only needs to be run once per user.\n\n#### `setup`\n\n```sh\nmake setup\n```\n\nCreates an isolated execution environment to run the project. This target installs the required version of Python using Pyenv and creates a virtual environment using Poetry with the required dependencies plus the `ipc_frontier` package itself installed.\n\n#### `fmt`\n\n```sh\nmake fmt\n```\n\nAutoformats the entire codebase in compliance with the project's style standards. All formatting is handled by Ruff in a way that mimics the combination of Black + autopep8 + isort.\n\n#### `test`\n\n```sh\nmake test\n```\n\nExecutes type checks and runs the suite of unit tests. Pyright is used for type checking, and pytest is used as the unit test framework.\n\n#### `clean`\n\n```sh\nmake clean\n```\n\nDeletes build/test/coverage artifacts, including `.pytest_cache/`, `.mypy_cache/`, and `.ruff_cache/`.\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Benchmarks comparing Python concurrency models--threads, Queue-based multiprocessing, and SharedMemory-based multiprocessing--for moving and processing NumPy arrays.",
    "version": "0.1.6",
    "project_urls": {
        "Bug Tracker": "https://github.com/ryancswallace/ipc-frontier-py/issues",
        "Documentation": "https://github.com/ryancswallace/ipc-frontier-py",
        "Homepage": "https://github.com/ryancswallace/ipc-frontier-py",
        "Repository": "https://github.com/ryancswallace/ipc-frontier-py"
    },
    "split_keywords": [
        "concurrency",
        " threading",
        " multiprocessing",
        " ipc",
        " shared-memory",
        " serialization",
        " numpy",
        " benchmark",
        " performance"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fa3c6ce48067878bf7d855d2021f0d978799fb8056a98dfc9eeb1d1cf6e59e88",
                "md5": "847a5689d2ae4175c3893623ad93249f",
                "sha256": "b784a5d971f57fba6c8a11841991c4866b53b8913842229e172ac87ebc2327eb"
            },
            "downloads": -1,
            "filename": "ipc_frontier_py-0.1.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "847a5689d2ae4175c3893623ad93249f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "~=3.13.0",
            "size": 4434,
            "upload_time": "2025-09-20T02:36:30",
            "upload_time_iso_8601": "2025-09-20T02:36:30.005298Z",
            "url": "https://files.pythonhosted.org/packages/fa/3c/6ce48067878bf7d855d2021f0d978799fb8056a98dfc9eeb1d1cf6e59e88/ipc_frontier_py-0.1.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a714e0e01d9337c961dc012bb430c2f8ca5c2922064349ba3c0804439433d04f",
                "md5": "a3ab2e3e355369382688e369875474a4",
                "sha256": "1eb440e2bdb92c032453ffb7698fb4c517865d386c8febf26794b6a986977ddb"
            },
            "downloads": -1,
            "filename": "ipc_frontier_py-0.1.6.tar.gz",
            "has_sig": false,
            "md5_digest": "a3ab2e3e355369382688e369875474a4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "~=3.13.0",
            "size": 3347,
            "upload_time": "2025-09-20T02:36:31",
            "upload_time_iso_8601": "2025-09-20T02:36:31.466537Z",
            "url": "https://files.pythonhosted.org/packages/a7/14/e0e01d9337c961dc012bb430c2f8ca5c2922064349ba3c0804439433d04f/ipc_frontier_py-0.1.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-20 02:36:31",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ryancswallace",
    "github_project": "ipc-frontier-py",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "ipc-frontier-py"
}
        
Elapsed time: 1.14742s