# `ipc-frontier-py`
[](https://github.com/ryancswallace/ipc-frontier-py/actions/workflows/ci.yaml)
[](https://codecov.io/github/ryancswallace/ipc-frontier-py)
[](https://pypi.org/project/ipc-frontier-py/)
[](https://github.com/ryancswallace/ipc-frontier-py/blob/main/LICENSE)
[](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[](https://github.com/ryancswallace/ipc-frontier-py/actions/workflows/ci.yaml)\n[](https://codecov.io/github/ryancswallace/ipc-frontier-py)\n[](https://pypi.org/project/ipc-frontier-py/)\n[](https://github.com/ryancswallace/ipc-frontier-py/blob/main/LICENSE)\n[](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"
}