Skip to main content

MSGQ

High-performance pub/sub messaging, made simple.
For Python, C, and C++.

Quickstart · Examples · Discord

Discord Tests License: MIT


MSGQ lets programs on the same machine exchange messages. A publisher sends messages to a named endpoint, and subscribers listen on that same endpoint. Each endpoint supports one publisher and multiple subscribers.

MSGQ is a generic high performance IPC pub sub system with a single publisher and multiple subscribers. It uses a ring buffer in shared memory to efficiently read and write data. Each read requires a copy. Writing can be done without a copy, as long as the size of the data is known in advance. This library also provides a spoofed implementation that can be used for deterministic testing, and visionipc, an IPC system specifically for large contiguous buffers (like images/video).

1 KiB cross-process ping-pong benchmark
1 KiB cross-process ping-pong on x86 Linux. Benchmark script.

Quickstart

python -m pip install git+https://github.com/commaai/msgq.git

From a local checkout, run the publisher and subscriber in separate terminals:

python examples/publisher.py   # terminal 1
python examples/subscriber.py  # terminal 2

The subscriber prints Hello from MSGQ! once per second.

The core API sends and receives bytes:

import msgq

publisher = msgq.pub_sock("hello")
subscriber = msgq.sub_sock("hello")
publisher.send(b"Hello from MSGQ!")
print(subscriber.receive())  # b'Hello from MSGQ!'

Contributing

Issues and pull requests are welcome on GitHub. Run ./test.sh to build, lint, and test the package.

License

MSGQ is available under the MIT License.

Under the hood

Storage

The storage for the queue consists of an area of metadata, and the actual buffer. The metadata contains:

  1. A counter to the number of readers that are active
  2. A pointer to the head of the queue for writing. From now on referred to as write pointer
  3. A cycle counter for the writer. This counter is incremented when the writer wraps around
  4. N pointers, pointing to the current read position for all the readers. From now on referred to as read pointer
  5. N counters, counting the number of cycles for all the readers
  6. N booleans, indicating validity for all the readers. From now on referred to as validity flag

The counter and the pointer are both 32 bit values, packed into 64 bit so they can be read and written atomically.

The data buffer is a ring buffer. All messages are prefixed by an 8 byte size field, followed by the data. A size of -1 indicates a wrap-around, and means the next message is stored at the beginning of the buffer.

Writing

Writing involves the following steps:

  1. Check if the area that is to be written overlaps with any of the read pointers, mark those readers as invalid by clearing the validity flag.
  2. Write the message
  3. Increase the write pointer by the size of the message

In case there is not enough space at the end of the buffer, a special empty message with a prefix of -1 is written. The cycle counter is incremented by one. In this case step 1 will check there are no read pointers pointing to the remainder of the buffer. Then another write cycle will start with the actual message.

There always needs to be 8 bytes of empty space at the end of the buffer. By doing this there is always space to write the -1.

Reset reader

When the reader is lagging too much behind the read pointer becomes invalid and no longer points to the beginning of a valid message. To reset a reader to the current write pointer, the following steps are performed:

  1. Set valid flag
  2. Set read cycle counter to that of the writer
  3. Set read pointer to write pointer

Reading

Reading involves the following steps:

  1. Read the size field at the current read pointer
  2. Read the validity flag
  3. Copy the data out of the buffer
  4. Increase the read pointer by the size of the message
  5. Check the validity flag again

Before starting the copy, the valid flag is checked. This is to prevent a race condition where the size prefix was invalid, and the read could read outside of the buffer. Make sure that step 1 and 2 are not reordered by your compiler or CPU.

If a writer overwrites the data while it's being copied out, the data will be invalid. Therefore the validity flag is also checked after reading it. The order of step 4 and 5 does not matter.

If at steps 2 or 5 the validity flag is not set, the reader is reset. Any data that was already read is discarded. After the reader is reset, the reading starts from the beginning.

If a message with size -1 is encountered, step 3 and 4 are replaced by increasing the cycle counter and setting the read pointer to the beginning of the buffer. After that another read is performed.

Metadata

Release files for msgq-ipc 1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for msgq-ipc 1.0
File Size Uploaded Provenance
msgq_ipc-1.0.tar.gz 35.5 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for msgq-ipc 1.0
File
msgq_ipc-1.0-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
msgq_ipc-1.0-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details
msgq_ipc-1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
msgq_ipc-1.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
msgq_ipc-1.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
msgq_ipc-1.0-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
msgq_ipc-1.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
msgq_ipc-1.0-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
msgq_ipc-1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
msgq_ipc-1.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
msgq_ipc-1.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
msgq_ipc-1.0-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
msgq_ipc-1.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
msgq_ipc-1.0-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
msgq_ipc-1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
msgq_ipc-1.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
msgq_ipc-1.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
msgq_ipc-1.0-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
msgq_ipc-1.0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
msgq_ipc-1.0-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details
msgq_ipc-1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
msgq_ipc-1.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
msgq_ipc-1.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
msgq_ipc-1.0-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details

Total release size: 37.1 MB

Release files / msgq_ipc-1.0.tar.gz

Download URL msgq_ipc-1.0.tar.gz
Size 35.5 kB
Tags Source
SHA-256 checksum
How to use checksums
4c6407adea169d752e11192f2af193ddd39f89fca031fc84d6d284fbc829c8f9
BLAKE2b-256 checksum
How to use checksums
3512058fbf562eefdcb53a38420748bbeadbc321e4c33975f1ce882598f1d930
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL msgq_ipc-1.0-cp314-cp314-musllinux_1_2_x86_64.whl
Size 2.7 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
4526bbe9522a4ee334c105b394fe2f57f4097ec5a65d0df4338086f947dc4825
BLAKE2b-256 checksum
How to use checksums
c5f97c81dcf108ba58aa56c9a51ebca4b1c75c05d6ed5fd168eeab941a502bb5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL msgq_ipc-1.0-cp314-cp314-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
c3941b741e26a487c4fb65d4fe0ba4141e7ab4c624d5f4cc597888a06e5224f5
BLAKE2b-256 checksum
How to use checksums
dc19ed4524155cdbbc5d337d59c63bce369e54e8111352bd4d43c979727f33e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL msgq_ipc-1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 1.7 MB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
53c3718a956f5227bb3471bb0709a7109af43631a7ad1a5e5fcef975bc340e1b
BLAKE2b-256 checksum
How to use checksums
baf458465bf84970edf6483f1a7217113e5ee07cfc980faad8f74dda54c80915
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL msgq_ipc-1.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 1.7 MB
Tags CPython 3.14 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
362edb8974651418ffc05a487303b5af3691b10e638692d4273d5e3a373d9759
BLAKE2b-256 checksum
How to use checksums
e0c11467e2f25057a46c859b7a55ba6301fc53ec9dc75ff8fc18226f5d84ece8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL msgq_ipc-1.0-cp314-cp314-macosx_11_0_arm64.whl
Size 240.2 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0d00ce9cbfeb5b1d3af1523a6a3cdfd471b2f37f375d3ab63b6463b987b2dec2
BLAKE2b-256 checksum
How to use checksums
cdadfef81acd30b2e7d52d4a9cb721937514663b4212eb909b2a009715136710
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp314-cp314-macosx_10_15_x86_64.whl

Download URL msgq_ipc-1.0-cp314-cp314-macosx_10_15_x86_64.whl
Size 245.8 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
cf0f3f2df0586b0216a3f6dc865a8c151f675bead7f83191c1d5ba09ab5fa409
BLAKE2b-256 checksum
How to use checksums
4dcc932175b930fa71f959b1c7f49987d31b630e0068ea79641d4c3976001673
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL msgq_ipc-1.0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 2.7 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
e7090309e7985723a035fd7e2f8c1c7af584881fb31a50e539e8deb959bc0d6e
BLAKE2b-256 checksum
How to use checksums
cebd16618499b016572ac17cdca8d5ccc5ac896201308a91fb30b6f03cdbb4cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL msgq_ipc-1.0-cp313-cp313-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
986ea0b4321a4c71b8ae14a5731df2f7e09815ea20febe2e7d7be3d04cd4b775
BLAKE2b-256 checksum
How to use checksums
8dc9c29d7225fff9afc669c2202c9d8eac7d8928a52bfaa5fda1169fa006a460
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL msgq_ipc-1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 1.7 MB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
58bea17d1f6b983fd03edbf82b5aed04c3fbcdeda02f2520e7be402cc08c5667
BLAKE2b-256 checksum
How to use checksums
95c2d70bee7c0acfbc01ac26aeeaf4a7bfc7628844d1370922cdf17522c52ffa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL msgq_ipc-1.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 1.7 MB
Tags CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
0de54e1190ce469f47d1603a80e6e0a22eabb09502d24df65847e4b5aece0a52
BLAKE2b-256 checksum
How to use checksums
fd8cd8f8db5ba2804d0deefdcdf883b9e35e3aa793788ec1e0d7b2f60c6cc1bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL msgq_ipc-1.0-cp313-cp313-macosx_11_0_arm64.whl
Size 239.1 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c911e09fb0cba01a5752c4e86246338dd78edfe23ac260bdb904407a6f8b6759
BLAKE2b-256 checksum
How to use checksums
7e245733dbeafe862c23666a3ca8e27af5d3881982d9b5754df58d88fdffaf48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp313-cp313-macosx_10_13_x86_64.whl

Download URL msgq_ipc-1.0-cp313-cp313-macosx_10_13_x86_64.whl
Size 245.1 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
fe43cc5c80a5518524bcff883fed7773f7b0b32073705d5d251bb32f5600ab82
BLAKE2b-256 checksum
How to use checksums
5e8dfce6252d538a8299bc2d8e160a9727c7e0b935be61ec7b298f87384c6210
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL msgq_ipc-1.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 2.7 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b1be781e4abf379705b3bce4538d3016acbb91388014bc88c25070455ee5fc56
BLAKE2b-256 checksum
How to use checksums
b8f7debbcdb6cf78c08ce7e79b6af46a227fff1bd4530f8c2fb12e3e47fe08c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL msgq_ipc-1.0-cp312-cp312-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
2ff833c522d8be909337572bec91875399a5cf8ed23c21e9fb2af9b3979d1f1b
BLAKE2b-256 checksum
How to use checksums
690f9314e043f660962bce76e15a1faf3aab537ef212b584ec8887f0828d95af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL msgq_ipc-1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 1.8 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5fae798f2047756998e21ebe15e1e2097bb5a7c7a6299621272cef1a4ae4312f
BLAKE2b-256 checksum
How to use checksums
e54f859bf3094c8d4aab60be144f58080aba7a2f404deb43f6befd48eb2b4513
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL msgq_ipc-1.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 1.7 MB
Tags CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
c93ab0e1dfa20369473e311d7b19cc70c85c41f50fd2617e52b9f01da86fd393
BLAKE2b-256 checksum
How to use checksums
a682ecc7cd0c79e68a5b97909718b503b43c3a2a68d83f910f55362d2f7c840b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL msgq_ipc-1.0-cp312-cp312-macosx_11_0_arm64.whl
Size 237.1 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3754b9abb6f895fcd28bc41675ba81c739fdd7375d0d30bf70baa75d9d130aed
BLAKE2b-256 checksum
How to use checksums
281a8c818a9ff1d55656e863dfdb3d3ef8b31549a43e7db640390320da996ae6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL msgq_ipc-1.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 242.9 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
46fcb4c87ed686540d49a91a800b61b12cc55e9398b82dad2a289c4f758ef8a6
BLAKE2b-256 checksum
How to use checksums
71e479ccf4527749ed278bb0632015aeb28e7574c24a5692258f24ab2b280526
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL msgq_ipc-1.0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 2.7 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
f6f7bf3a24aa4390aa0d091aa4df58e4d9a9045e219d637ba5e022ad7ba56fe1
BLAKE2b-256 checksum
How to use checksums
f847408161218eed5760bc7c756474227445b829288c9504c240856e93ede175
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL msgq_ipc-1.0-cp311-cp311-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
d77b613913a7daa62b76b29d3264d797a7a3638e3db3d685d259899725ce29d2
BLAKE2b-256 checksum
How to use checksums
a218e9f7a5379ab8b7092f7fd14a84264881a77b7dd8238678d6bd59086c90bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL msgq_ipc-1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 1.7 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
7a4f0c58bd1c529166bf3d029cddb55120e322a1b35523412f2e2d32e3d806a7
BLAKE2b-256 checksum
How to use checksums
ce7d563e5b15a99fd3a216ff5b2a0aad87df16c5503dd2e2e44c1bf17197c0ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL msgq_ipc-1.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 1.7 MB
Tags CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
826d45f66a01e7a68e900816cfab919216d2ba936d439fbb6a738b7c1385a8f4
BLAKE2b-256 checksum
How to use checksums
4cee491bec42794e04b980569d9261e5709bb1e8d625ff39947b3010ab7f14d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL msgq_ipc-1.0-cp311-cp311-macosx_11_0_arm64.whl
Size 228.4 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0360e8ab511e2e52c76054b5ea3a9aaaf19c3b4aa944ac2e3e86ed041fb4f964
BLAKE2b-256 checksum
How to use checksums
2e9e77cec6b42cf416b4b56bef5f0a044aaaee37bc939219aa9083fafe2f2d5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / msgq_ipc-1.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL msgq_ipc-1.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 231.6 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
ee521966ac82d3742632ddebffb1788cdeea0af4bc5584201a3144338ea959be
BLAKE2b-256 checksum
How to use checksums
5f8b0ac2fce79f2cc030ffdc8f5856dde1c4df4578e3acfb1a5d252814784f1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for msgq-ipc 1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

1.0 This release

25 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page