Python Memory Barrier (pymembar)
Memory barrier utilities for Python - provides low-level memory ordering primitives for concurrent programming. Usually you would not need this in Python due to GIL and generally strong memory ordering on x86/x86_64. However, on weakly-ordered architectures like ARM, memory barriers can be useful for ensuring correct visibility and ordering of memory operations when for example working with shared memory, named semaphores, or lock-free data structures.
I used AI (GitHub Copilot) to help generate parts of this README, documentation strings, parts of the core code, the tests, and some configuration files. Please report any inaccuracies or errors you may find.
Overview
This package provides Python bindings for memory barrier operations, ensuring that memory operations are visible to other processes and threads in the correct order. Memory barriers do not provide synchronization themselves, but rather control the visibility and ordering of memory operations across CPU cores and processes.
The package includes three core functions:
wmb()- Write memory barrierrmb()- Read memory barrierfence()- Full memory fence
Installation
pip install pymembar
Usage
Basic Usage
import membar
# Write memory barrier - ensures all write operations before this point
# are visible to other processes/threads before any writes after this point
membar.wmb()
# Read memory barrier - ensures all read operations before this point
# complete before any read operations after this point
membar.rmb()
# Full memory fence - ensures all memory operations before this point
# are visible to other processes/threads before any operations after this point
membar.fence()
Logging Support
You can enable optional logging to see which memory barrier implementation is being used at runtime. This is useful for debugging and understanding which underlying mechanism (C11 atomics, MSVC, GNU atomics, BSD, or compiler barrier) is executing on your platform.
⚠️ Performance Warning: Enabling logging adds overhead to every memory barrier call (callback check and function call overhead). This can significantly impact performance in tight loops or performance-critical code paths. Logging should primarily be used for debugging and development, and should be disabled (set_log_callback(None)) in production code where performance is critical.
import membar
# Enable logging with a custom callback
def my_logger(message):
print(f"[MEMBAR] {message}")
membar.set_log_callback(my_logger)
# Now all barrier calls will log their implementation
membar.wmb() # Logs: "wmb: using C11 atomic_thread_fence(memory_order_release)"
membar.fence() # Logs: "fence: using C11 atomic_thread_fence(memory_order_seq_cst)"
# You can also use print directly
membar.set_log_callback(print)
# Or integrate with Python's logging module
import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
membar.set_log_callback(logger.info)
# Disable logging by passing None
membar.set_log_callback(None)
When Are Memory Barriers Needed?
Memory barriers are primarily needed on weakly-ordered CPU architectures like ARM, where the processor may reorder memory operations for performance optimization. On x86/x86_64 architectures, the strong memory ordering model means that memory barriers are often not strictly necessary for most use cases, as the hardware already provides strong ordering guarantees.
However, memory barriers can still be useful on x86 in specific scenarios:
- When interfacing with memory-mapped I/O
- In lock-free programming with specific compiler optimizations
- When precise ordering is critical for correctness
Note: Most Python applications will not need memory barriers due to the Global Interpreter Lock (GIL) and Python's threading model.
Requirements
- Python 3.10+
- Compatible with Windows, Linux, and macOS
Contributing
I am not a C expert and would be happy to receive any constructive feedback, suggestions, or contributions to improve this library. Feel free to open issues or submit pull requests on the GitHub repository.
Disclaimer
Parts of the core code, the tests, this README, and documentation strings were generated with AI assistance.
Release history
- 0.0.1 - Initial release
- 0.0.2 - Added ARM build support
- 0.0.3 - Added logging support and multiple synchronization implementations
- 0.0.4 - Improved logging thread safety and documentation
- 0.1.0 - Dropped EOL Python versions (3.8, 3.9); minimum is now Python 3.10
TODOs
- Is it possible to write tests for the memory barrier core functionality?
Metadata
Release files for pymembar 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 652.2 kB
Release files / pymembar-0.1.0-cp314-cp314t-win_amd64.whl
| Download URL | pymembar-0.1.0-cp314-cp314t-win_amd64.whl |
|---|---|
| Size | 12.3 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-64 |
|
SHA-256 checksum How to use checksums |
cb9f36d49c1d42e3a80efe93f472e1cf3549bbc1566aef9b71907a337f989704
|
|
BLAKE2b-256 checksum How to use checksums |
3d01a08a6efae775a5bea50f79abbfed2141cfa341f90287217aef207b069b53
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp314-cp314t-win32.whl
| Download URL | pymembar-0.1.0-cp314-cp314t-win32.whl |
|---|---|
| Size | 11.7 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-32 |
|
SHA-256 checksum How to use checksums |
63d4f7781566ee71d17fc4fb01497a67a4083c59c7b0a57362dc56d3f67d458f
|
|
BLAKE2b-256 checksum How to use checksums |
4340ff7180efa23b1560db5e44c0c833b48286fcb4afb1edcfef63782de4b311
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl
| Download URL | pymembar-0.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 19.7 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
69169685269a3381d649fe7f5cfa717e9ebc5f6e0d696762fc5430b4b8c5410e
|
|
BLAKE2b-256 checksum How to use checksums |
682c9fcc9e0f0d1f5e77dc0653ae7e39db6b414dd6f6f3bc7296b278ebb962a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl
| Download URL | pymembar-0.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 20.8 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
40efa1e367301489ce87812a50f93781c9bcadaf889b9c15eff38aa166ec6e06
|
|
BLAKE2b-256 checksum How to use checksums |
ed58da470a18478a02113a1978518adff6f30a0cbcb8ca9fd8cd93e1a4a1b017
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | pymembar-0.1.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 21.6 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
aabd6bb4609a2751adcb4222bcc800c30d72004f6ab6a6436ad4f8b4890c0c0a
|
|
BLAKE2b-256 checksum How to use checksums |
fbdcbb556df8e81caa96c98a6f30859558136dff959176d71bad0b19a6ebb8ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | pymembar-0.1.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 19.9 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
f2445a325702571e0fd5511041b3ca300f0ab1ea0c04d5c1217cfaeb41f165d6
|
|
BLAKE2b-256 checksum How to use checksums |
96433ac25cc7102f055e703dd9615e0fb8e96bffeb3c6fa0fc8352553272a288
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp314-cp314t-macosx_11_0_arm64.whl
| Download URL | pymembar-0.1.0-cp314-cp314t-macosx_11_0_arm64.whl |
|---|---|
| Size | 9.4 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
affdfbd5c0bc26864a0c50fadbd915ce51c2415940e4a092be7988ff72a5064c
|
|
BLAKE2b-256 checksum How to use checksums |
77f7118576d3e198936249748d969972e00983132978fb7f74f4ea5c4f5f4481
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp314-cp314-win_amd64.whl
| Download URL | pymembar-0.1.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 12.1 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f6487c3ead3bbb1a4213b6b3b0cb50b6a0bef962c1a56f686369bab9738fb44b
|
|
BLAKE2b-256 checksum How to use checksums |
98b33f488d127ba5e07d09e453d7f42d55c8c76e5413b949c5b704fcb5cc65cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp314-cp314-win32.whl
| Download URL | pymembar-0.1.0-cp314-cp314-win32.whl |
|---|---|
| Size | 11.5 kB |
| Tags | CPython 3.14 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
29159f29b974129a215a646645b28abd9b9af893775690c934982674ad8e6277
|
|
BLAKE2b-256 checksum How to use checksums |
bbaf69c2b6009eea9b3c7b8575c4db6974de2752aa0439bfa11cd9094a0bc3b3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp314-cp314-musllinux_1_2_x86_64.whl
| Download URL | pymembar-0.1.0-cp314-cp314-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 18.4 kB |
| Tags | CPython 3.14 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
76bc091d39a38ae9a5732fbfe71bca98953aa4863da0722d7fbedc9d76d87d74
|
|
BLAKE2b-256 checksum How to use checksums |
11d92ff3e021f040e53cc16f41aa8affc5aa4dbdd6ab3666bdafb9678f3050ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp314-cp314-musllinux_1_2_aarch64.whl
| Download URL | pymembar-0.1.0-cp314-cp314-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 19.0 kB |
| Tags | CPython 3.14 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
fc9790a9058dc81ab47c57d360b0f000f44964b3fb8c5d8311aac658397ded2b
|
|
BLAKE2b-256 checksum How to use checksums |
c0b24dc1256fb69c60604a504c152a936838f86a44d79cf2f78d04a9ff29c837
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | pymembar-0.1.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 19.6 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
88506d468a5b73c402426654f27fb0bf4db5a17b0c004479df6211ce1a83237d
|
|
BLAKE2b-256 checksum How to use checksums |
d130026872ab17b61b640e3a38ce3163b5c34a7cdfa5a0880485bde92b321b93
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | pymembar-0.1.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 18.4 kB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
3602a9fc630fb9e5c669f78c005cc37b66e332479a65f717e36ee854183948a0
|
|
BLAKE2b-256 checksum How to use checksums |
bd2e65b64605fed97ca5f724ac9d20dada4110ee074aadfcafebd93f18be9c5b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | pymembar-0.1.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 9.3 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
52dc4dd3ccb49a4cfb6f2e80d8542c04746543d8d7cd079fd44788dc228ec345
|
|
BLAKE2b-256 checksum How to use checksums |
899916d622b11d187b2b4bd9b5089919685b61b21c65febc9e2e7b36117344c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp313-cp313-win_amd64.whl
| Download URL | pymembar-0.1.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 11.9 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
ac0395569a8585f41fb8688f75e6fca5e8ac38c45493a0b5b405f7f215c1bead
|
|
BLAKE2b-256 checksum How to use checksums |
c7ed2ed9666ab3a33e49c078e96a926c7ae0bd1e03f9c0ed5c91a45820eda125
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp313-cp313-win32.whl
| Download URL | pymembar-0.1.0-cp313-cp313-win32.whl |
|---|---|
| Size | 11.4 kB |
| Tags | CPython 3.13 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
cc5e5ccae2695905a0e91243beb6b757de46fd1a79f9f5af0baece4580293c3a
|
|
BLAKE2b-256 checksum How to use checksums |
d3ae6cd90613209bbea74bfdf74655a77a695dc3e58d99aeb1c95f57b56e3212
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | pymembar-0.1.0-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 18.3 kB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
92f036fa580cd0a80f5225c1295f649c891b3690cabde7997a2fdcd7fb4409ae
|
|
BLAKE2b-256 checksum How to use checksums |
35d1bc925b9addca3f195e70f74ba1f4fdbec2b594a6febfe0ba415e68ae9f3d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp313-cp313-musllinux_1_2_aarch64.whl
| Download URL | pymembar-0.1.0-cp313-cp313-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 19.0 kB |
| Tags | CPython 3.13 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
f9f505c54834df1e7d2b673959382cd344502e3c8aa7c01d17e4e23fa44b0365
|
|
BLAKE2b-256 checksum How to use checksums |
5c3b62a10453351d00fa7e848c60454f1bdcdff96dc9c41d8983500bbef7463c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | pymembar-0.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 19.6 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
729adcb394edeb969d782a5113c92998784ed5d6df1952b9f0fe5c58a15bb6e1
|
|
BLAKE2b-256 checksum How to use checksums |
492fa0cbdf5d5896bb5435c469fd78be21719db8242fd1f0f1f572249b72fbf5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | pymembar-0.1.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 18.4 kB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
57ab1439b672fde87b13b42197b537cee669c75b832bc99056606564509a9f51
|
|
BLAKE2b-256 checksum How to use checksums |
07404f04dda782d87740cd01a3f0c6b74ded3ba3deac0429dc9652e94428bfc1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | pymembar-0.1.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 9.3 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
43de9a92759c6c8c07235a4d91fd689f845b7df2ee2f88e6a72f7adb132d387e
|
|
BLAKE2b-256 checksum How to use checksums |
f971559a8228bbd3f29106898f83bd31a2e3633a8c5ac36a749c50facf7bf76a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp312-cp312-win_amd64.whl
| Download URL | pymembar-0.1.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 11.9 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4abb6dde58cef884d7347f664a3d7ef61dad25d849d24ddc65176552580ed0c1
|
|
BLAKE2b-256 checksum How to use checksums |
f183994c35285bea735b4d7b1b0ab4a4b2716efe2ce69a7e56cd7416f6002f15
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp312-cp312-win32.whl
| Download URL | pymembar-0.1.0-cp312-cp312-win32.whl |
|---|---|
| Size | 11.4 kB |
| Tags | CPython 3.12 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
14fbde06de5befce28cb4eb160d2455c4cd525733d1be044f8396a349dc99652
|
|
BLAKE2b-256 checksum How to use checksums |
2cc1d00f9c3f4d1a26d95c6efb31697c816042550637c9cf883936d6073def73
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | pymembar-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 18.3 kB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
abc49b8639d88368d58b6b44b748808d7e913fe935322cc315c794df03adc008
|
|
BLAKE2b-256 checksum How to use checksums |
845e9160434574e81cdf28bca546acc1e6e34251190e7e16fc619c84585d8e2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp312-cp312-musllinux_1_2_aarch64.whl
| Download URL | pymembar-0.1.0-cp312-cp312-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 19.0 kB |
| Tags | CPython 3.12 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
9a74e70953d0f6783ae6bfdd8e67015fb39a833dcca7ffa068224837b2de6b8e
|
|
BLAKE2b-256 checksum How to use checksums |
534a0f431386b220a016a7c6ab4f3e043de721ab51f84a1679036ae763fbb3fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | pymembar-0.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 19.5 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
604597a2ae3f0d67a0da8141cc471adf0a553c70a6e8395437ab4a0f4c6a8b07
|
|
BLAKE2b-256 checksum How to use checksums |
8e3a39752e4a2797e317e8bfa890362f2136c1580a75a1ed9ef4946204f73ea1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | pymembar-0.1.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 18.4 kB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
2f320e9592a63a4780c43fdf115a88d154fa9588a348b6e38c35016bb59527f9
|
|
BLAKE2b-256 checksum How to use checksums |
20cecb6b370d971ecb8c6bbb1222940e56e4a3a925985505113ab14a64749650
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | pymembar-0.1.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 9.3 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
5f780ce3d621810cd762dcb36173290db92868eae1bb4e50b2a23548a72c3e96
|
|
BLAKE2b-256 checksum How to use checksums |
c491d4a465fe2c377a53efbb2fc1426a2bb432f8ec620c7c69683ea15502006c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp311-cp311-win_amd64.whl
| Download URL | pymembar-0.1.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 11.9 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
67f595f245162c8c7302d1719f36a6c828ed30dfd53b1c2aea8c3f8130bcdd2a
|
|
BLAKE2b-256 checksum How to use checksums |
816c768c9e1d949ed963c6d79fe904fcc766ffe0d2c046dd06eb13918c1122f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp311-cp311-win32.whl
| Download URL | pymembar-0.1.0-cp311-cp311-win32.whl |
|---|---|
| Size | 11.4 kB |
| Tags | CPython 3.11 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
4f58a1f7a6df1aef9850f25e62130d3f53fce7c4fbce2f9ba39b3f8b66ce13a5
|
|
BLAKE2b-256 checksum How to use checksums |
671ea2cb0dabbe40bfe127c81ce916f24eda25fbef8ca8fbbe1ca24aa9baf9cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | pymembar-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 18.0 kB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
1d6f37e334177e58a0e873d7317c4ba6052675684929516995d3d6df3067d044
|
|
BLAKE2b-256 checksum How to use checksums |
6547f7b5b6db6310d2c52e33bf691a0fc54c549f15f99fd07697f994e1f99c5c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp311-cp311-musllinux_1_2_aarch64.whl
| Download URL | pymembar-0.1.0-cp311-cp311-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 18.8 kB |
| Tags | CPython 3.11 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
c2a0fbc3f2333dfc39d1f6fe76278e7832193e8f2db00fcee38ce881c91ca983
|
|
BLAKE2b-256 checksum How to use checksums |
bb7a9b0daf5b9ab7526d0a118c9a5088982608b411da85e9d223c0f38d59dd27
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | pymembar-0.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 19.3 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
e92466b3cfb131f94624a6b6a0a77471cd96a7318f6795d0c8f6a6dd526c1ec7
|
|
BLAKE2b-256 checksum How to use checksums |
86523b97118525153279e2dd32aa3de8a3b71eb42e53f4f231448b9ce713747f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | pymembar-0.1.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 18.0 kB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
a04e2727e97dfb4c6ae27053a565f63fc58af5e0ffddcfe0ae53363ee22549d4
|
|
BLAKE2b-256 checksum How to use checksums |
e4b9e9328b517655144daf218d4f5ec470782b4a6f160be4a501a37c6b41d69e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | pymembar-0.1.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 9.3 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
fcc29d7223f3a37beafe94f0a12e5dc24e8f0f398fc073bd60b299cba8c163a0
|
|
BLAKE2b-256 checksum How to use checksums |
6a315e89329c94a9e9b9d95480b533fa534d02b3583c44f0a813a38c0bf0980a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp310-cp310-win_amd64.whl
| Download URL | pymembar-0.1.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 11.9 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
bd3e3e31780972c5502d321b1ea371c4a0c8c14a60a7168f4cfe59bac9a42ddd
|
|
BLAKE2b-256 checksum How to use checksums |
82e97e6760a33ae4ce9959343529bc64624b28066f0ee92f36d56b5e7b920503
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp310-cp310-win32.whl
| Download URL | pymembar-0.1.0-cp310-cp310-win32.whl |
|---|---|
| Size | 11.3 kB |
| Tags | CPython 3.10 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
223464983040f8061c808a434bfb5afb1346a43c5894833e8c44ac8766f08aeb
|
|
BLAKE2b-256 checksum How to use checksums |
b1b46d20df3dc0af7190ecf252eba246e09ed6d917be1981de498c42ca93d3fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | pymembar-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 17.9 kB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
b56b4fa1c3666dbac0c7c63f90978f0fb30b61a7e43f293d05c2da874eb754ae
|
|
BLAKE2b-256 checksum How to use checksums |
f1a71c850047d1bb9535157536be9c17bf8295f1d134f29e23e36f66c7e58fd4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp310-cp310-musllinux_1_2_aarch64.whl
| Download URL | pymembar-0.1.0-cp310-cp310-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 18.7 kB |
| Tags | CPython 3.10 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
7531f2e37d8b5ef272cd5ca5c94beb80bc2c0ad8a59b3a6122107ca5e9b83a04
|
|
BLAKE2b-256 checksum How to use checksums |
11678c90a3a2eb8b2107a0c860f3f67d65a6543ecfa00e932ce28c838c71caf4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | pymembar-0.1.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 19.2 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
c28fea304b1c1789abb7f6e648f8391d546696bb3b4311fb2e76919baf3d8d08
|
|
BLAKE2b-256 checksum How to use checksums |
ae1e452f0411d05013cf19c5f5d23773eacea1cf0442ece134fad06f6d8d4fc5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | pymembar-0.1.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 17.9 kB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
a4239a35af761cc6d07a4147b7614c0a0788572a07c0918e7aea7e886774f728
|
|
BLAKE2b-256 checksum How to use checksums |
8c308fe9dd371dc7eb03522850d8b4bd039209e6bab857d01651629f3d792a9a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / pymembar-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | pymembar-0.1.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 9.3 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
1217f785c3e827858658099c73ab442039355d87610b92b35617dd690bf1a540
|
|
BLAKE2b-256 checksum How to use checksums |
264a186fda35a3e79c4e722d93bce985a1999401f6fb3da5e7e220b220e664f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|