Skip to main content

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 barrier
  • rmb() - Read memory barrier
  • fence() - 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)

Table of built distributions (wheels) for pymembar 0.1.0
File
pymembar-0.1.0-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
pymembar-0.1.0-cp314-cp314t-win32.whl CPython 3.14 CPython 3.14 free-threading Windows x86-32 Details
pymembar-0.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details
pymembar-0.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 Details
pymembar-0.1.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
pymembar-0.1.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
pymembar-0.1.0-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
pymembar-0.1.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
pymembar-0.1.0-cp314-cp314-win32.whl CPython 3.14 CPython 3.14 Windows x86-32 Details
pymembar-0.1.0-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
pymembar-0.1.0-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details
pymembar-0.1.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
pymembar-0.1.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
pymembar-0.1.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
pymembar-0.1.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
pymembar-0.1.0-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
pymembar-0.1.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
pymembar-0.1.0-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
pymembar-0.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
pymembar-0.1.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details
pymembar-0.1.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
pymembar-0.1.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
pymembar-0.1.0-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
pymembar-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
pymembar-0.1.0-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
pymembar-0.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
pymembar-0.1.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details
pymembar-0.1.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
pymembar-0.1.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
pymembar-0.1.0-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
pymembar-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
pymembar-0.1.0-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details
pymembar-0.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
pymembar-0.1.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details
pymembar-0.1.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
pymembar-0.1.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
pymembar-0.1.0-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
pymembar-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
pymembar-0.1.0-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details
pymembar-0.1.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
pymembar-0.1.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details
pymembar-0.1.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

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

Release history Release notifications | RSS feed

This release

0.1.0 This release

42 release files

0.0.4

56 release files

0.0.3

56 release files

0.0.2

56 release files

0.0.1

40 release files

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