skillfed

posix-ipc

POSIX IPC primitives (semaphores, shared memory and message queues) for Python

posix-ipc v1.3.2 448.3K downloads/30d#6,603 on PyPI162
Permissive license BSD-3-Clause Active released

What it is and what it does

posix_ipc is a C-based Python module that wraps POSIX Realtime Extensions (POSIX 1003.1b-1993) inter-process communication primitives. It lets you create and manage semaphores, shared memory segments, and message queues for coordinating work across multiple processes on Unix-like systems. The module has no runtime dependencies and exposes these low-level IPC mechanisms directly to Python, making it suitable for applications that need efficient, kernel-level process synchronization without higher-level abstractions.

The package is production-stable (Development Status 5), actively maintained, and has been in use since its first release with no reported bugs in the core code for seven years. Pre-built wheels are available for common platforms, though building from source requires a C compiler. The permissive BSD-3-Clause license makes it suitable for both open-source and commercial projects.

Use it for:

  • Coordinate multiple worker processes in a daemon or service that needs kernel-level synchronization without external dependencies.
  • Implement fast inter-process message passing for real-time or low-latency applications where socket-based IPC adds overhead.
  • Build process pools or job queues that use POSIX semaphores for mutual exclusion and shared memory for efficient data exchange.
  • Create named semaphores for inter-process locking in multi-process Python applications running on the same machine.
  • Implement producer-consumer patterns using POSIX message queues for decoupled process communication.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

posix_ipc provides Python bindings to POSIX inter-process communication primitives—semaphores, shared memory, and message queues—for synchronization and data exchange between processes on Unix-like systems and Windows with Cygwin.

Yes, if you need low-level POSIX IPC primitives for multi-process coordination on Unix-like systems. The package is stable, actively maintained, has no known vulnerabilities, and carries a permissive license. Install friction is moderate due to C compilation, but pre-built wheels cover common platforms. Not suitable if you need Windows support without Cygwin or if you prefer higher-level abstractions like multiprocessing or queue modules.

Install

posix-ipc on PyPI

pip

pip install posix-ipc

uv

uv add posix-ipc

poetry

poetry add posix-ipc

Installing posix-ipc

Before you install

Medium install friction due to C extension compilation required across multiple platforms. Pre-built wheels are available for common Python versions and architectures, reducing friction for standard setups. Maintenance is active with recent releases.

License in practice

BSD-3-Clause permissive license allows use in both open-source and proprietary projects with minimal restrictions; you must include the license text and acknowledge the authors.

Quickstart

pip install posix-ipc

import posix_ipc

# Create a semaphore
sem = posix_ipc.Semaphore('/my_sem', flags=posix_ipc.O_CREX)
sem.acquire()
sem.release()

Requires a POSIX-compliant system (Unix, Linux, macOS, or Windows with Cygwin ≥ 1.7); C compiler needed if building from source rather than using pre-built wheels.

Verify before relying

  • Whether the package works with Python versions older than those with pre-built wheels (description mentions Python 3 compatibility but requires_python is unspecified).
  • Current state of Windows + Cygwin support and whether pre-built wheels are available for that platform.
  • Exact Python version range supported beyond the wheel evidence.

Package facts

License BSD-3-Clause (permissive)
Python support not specified
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 295 days since the last release
Last repo commit
First released
Downloads 448,256/month — #6,603 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: posix_ipc-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl; posix_ipc-1.3.2-cp310-cp310-macosx_11_0_arm64.whl; posix_ipc-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; posix_ipc-1.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl; posix_ipc-1.3.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl; posix_ipc-1.3.2-cp310-cp310-musllinux_1_2_aarch64.whl; posix_ipc-1.3.2-cp310-cp310-musllinux_1_2_i686.whl; posix_ipc-1.3.2-cp310-cp310-musllinux_1_2_x86_64.whl; posix_ipc-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl; posix_ipc-1.3.2-cp311-cp311-macosx_11_0_arm64.whl; posix_ipc-1.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; posix_ipc-1.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl; posix_ipc-1.3.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl; posix_ipc-1.3.2-cp311-cp311-musllinux_1_2_aarch64.whl; posix_ipc-1.3.2-cp311-cp311-musllinux_1_2_i686.whl; posix_ipc-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl; posix_ipc-1.3.2-cp312-cp312-macosx_10_13_x86_64.whl; posix_ipc-1.3.2-cp312-cp312-macosx_11_0_arm64.whl; posix_ipc-1.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; posix_ipc-1.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersOperating System :: MacOS :: MacOS XOperating System :: POSIXOperating System :: POSIX :: BSD :: FreeBSDOperating System :: POSIX :: LinuxOperating System :: POSIX :: SunOS/SolarisOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: Utilities

Tags

posix ipc semaphores shared memoryinter-process communication pythonposix message queuescross-process synchronizationipc primitives unix linuxshared memory python bindingposix realtime extensions
ipcposixmultiprocessing

More Utilities packages