Skip to main content

Fast and light-weight memcached client for C++/Python

Project description

build_go build_py status pypiv pyversions wheel license

libmc is a memcached client library for Python without any other dependencies at runtime. It’s mainly written in C++ and Cython and can be considered a drop in replacement for libmemcached and python-libmemcached.

libmc is developed and maintained by Douban Inc. Currently, it is working in a production environment, powering all web traffic on douban.com (english wiki).

Build and Installation

For users:

pip install libmc

Usage:

import libmc

mc = libmc.Client(['localhost:11211', 'localhost:11212'])
mc.set('foo', 'bar')
assert mc.get('foo') == 'bar'

Under the hood

Under the hood, libmc consists of 2 parts: an internal, fully-functional memcached client implementation in C++ and a Cython wrapper around that implementation. Dynamic memory allocation and memory-copy are slow, so we’ve tried our best to avoid them. libmc also supports the set_multi command, which is not natively supported by the memcached protocol. Some techniques have been applied to make set_multi command extremely fast in libmc (compared to similiar libraries).

Configuration

import libmc
from libmc import (
    MC_HASH_MD5, MC_POLL_TIMEOUT, MC_CONNECT_TIMEOUT, MC_RETRY_TIMEOUT
)

mc = libmc.Client(
    [
    'localhost:11211',
    'localhost:11212',
    'remote_host',
    'remote_host mc.mike',
    'remote_host:11213 mc.oscar'
    ],
    do_split=True,
    comp_threshold=0,
    noreply=False,
    prefix=None,
    hash_fn=MC_HASH_MD5,
    failover=False
)

mc.config(MC_POLL_TIMEOUT, 100)  # 100 ms
mc.config(MC_CONNECT_TIMEOUT, 300)  # 300 ms
mc.config(MC_RETRY_TIMEOUT, 5)  # 5 s
  • servers: a list of memcached server addresses. Each address should be formated as hostname[:port] [alias], where port and alias are optional. If port is not given, the default port 11211 will be used. If given, alias will be used to compute the server hash, which would otherwise be computed based on host and port (i.e. whichever portion is given).

  • do_split: splits large values (up to 10MB) into chunks (<1MB). The memcached server implementation will not store items larger than 1MB, however in some environments it is beneficial to shard up to 10MB of data. Attempts to store more than that are ignored. Default: True.

  • comp_threshold: compresses large values using zlib. If buffer length > comp_threshold > 0 (in bytes), the buffer will be compressed. If comp_threshold == 0, the string buffer will never be compressed. Default: 0

  • noreply: controls memcached’s noreply feature. Default: False

  • prefix: The key prefix. default: ''

  • hash_fn: hashing function for keys. possible values:

    • MC_HASH_MD5

    • MC_HASH_FNV1_32

    • MC_HASH_FNV1A_32

    • MC_HASH_CRC_32

    default: MC_HASH_MD5

    NOTE: fnv1_32, fnv1a_32, crc_32 implementations in libmc are per each spec, but they’re not compatible with corresponding implementions in libmemcached.

  • failover: Whether to failover to next server when current server is not available. Default: False

  • MC_POLL_TIMEOUT Timeout parameter used during set/get procedure. Default: 300 ms

  • MC_CONNECT_TIMEOUT Timeout parameter used when connecting to memcached server in the initial phase. Default: 100 ms

  • MC_RETRY_TIMEOUT When a server is not available due to server-end error, libmc will try to establish the broken connection in every MC_RETRY_TIMEOUT s until the connection is back to live. Default: 5 s

NOTE: The hashing algorithm for host mapping on continuum is always md5.

Contributing to libmc

Feel free to send a Pull Request. For feature requests or any questions, please open an Issue.

For SECURITY DISCLOSURE, please disclose the information responsibly by sending an email to security@douban.com directly instead of creating a GitHub issue.

FAQ

Does libmc support PHP?

No, but, if you like, you can write a wrapper for PHP based on the C++ implementation.

Is Memcached binary protocol supported ?

No. Only Memcached ASCII protocol is supported currently.

Why reinventing the wheel?

Before libmc, we were using python-libmemcached, which is a python extention for libmemcached. libmemcached is quite weird and buggy. After nearly one decade, there’re still some unsolved bugs.

Is libmc thread-safe ?

Yes. libmc.ThreadedClient is a thread-safe client implementation. To hold access for more than one request, libmc.ClientPool can be used with Python with statements. libmc.Client, however, is a single-threaded memcached client. If you initialize a standard client in one thread but reuse that in another thread, a Python ThreadUnsafe Exception will be raised.

Is libmc compatible with gevent?

Yes, with the help of greenify, libmc is friendly to gevent. Read tests/shabby/gevent_issue.py for details. libmc.ThreadedClient and libmc.ClientPool are not compatible. [1]

Notice:

gevent.monkey.patch_all() will override threading.current_thread().ident to Greenlet’s ID, this will cause libmc to throw a ThreadUnSafe error or run into dead lock, you should only patch the things that you need, e.g.

from gevent import monkey
monkey.patch_socket()

Acknowledgments

Contributors

Who is using

Documentation

https://github.com/douban/libmc/wiki

Footnotes

LICENSE

Copyright (c) 2014-2020, Douban Inc. All rights reserved.

Licensed under a BSD license: https://github.com/douban/libmc/blob/master/LICENSE.txt

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

libmc-1.4.15-cp314-cp314t-musllinux_1_2_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

libmc-1.4.15-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

libmc-1.4.15-cp314-cp314t-macosx_11_0_arm64.whl (171.5 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

libmc-1.4.15-cp314-cp314t-macosx_10_13_x86_64.whl (177.3 kB view details)

Uploaded CPython 3.14tmacOS 10.13+ x86-64

libmc-1.4.15-cp314-cp314-musllinux_1_2_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

libmc-1.4.15-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

libmc-1.4.15-cp314-cp314-macosx_11_0_arm64.whl (159.5 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

libmc-1.4.15-cp314-cp314-macosx_10_13_x86_64.whl (167.9 kB view details)

Uploaded CPython 3.14macOS 10.13+ x86-64

libmc-1.4.15-cp313-cp313-musllinux_1_2_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

libmc-1.4.15-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

libmc-1.4.15-cp313-cp313-macosx_11_0_arm64.whl (158.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

libmc-1.4.15-cp313-cp313-macosx_10_13_x86_64.whl (167.6 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

libmc-1.4.15-cp312-cp312-musllinux_1_2_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

libmc-1.4.15-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

libmc-1.4.15-cp312-cp312-macosx_11_0_arm64.whl (159.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

libmc-1.4.15-cp312-cp312-macosx_10_13_x86_64.whl (168.0 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

libmc-1.4.15-cp311-cp311-musllinux_1_2_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

libmc-1.4.15-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

libmc-1.4.15-cp311-cp311-macosx_11_0_arm64.whl (159.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

libmc-1.4.15-cp311-cp311-macosx_10_13_x86_64.whl (166.2 kB view details)

Uploaded CPython 3.11macOS 10.13+ x86-64

libmc-1.4.15-cp310-cp310-musllinux_1_2_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

libmc-1.4.15-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

libmc-1.4.15-cp310-cp310-macosx_11_0_arm64.whl (159.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

libmc-1.4.15-cp310-cp310-macosx_10_13_x86_64.whl (166.6 kB view details)

Uploaded CPython 3.10macOS 10.13+ x86-64

libmc-1.4.15-cp39-cp39-musllinux_1_2_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

libmc-1.4.15-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

libmc-1.4.15-cp39-cp39-macosx_11_0_arm64.whl (159.9 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

libmc-1.4.15-cp39-cp39-macosx_10_13_x86_64.whl (167.3 kB view details)

Uploaded CPython 3.9macOS 10.13+ x86-64

libmc-1.4.15-cp38-cp38-musllinux_1_2_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

libmc-1.4.15-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

libmc-1.4.15-cp38-cp38-macosx_11_0_arm64.whl (167.4 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

libmc-1.4.15-cp38-cp38-macosx_10_13_x86_64.whl (173.6 kB view details)

Uploaded CPython 3.8macOS 10.13+ x86-64

File details

Details for the file libmc-1.4.15-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cdb625ef424c18f9b2d8b9026e790da8777338640736f1b6b0088bff4266a050
MD5 b3e9e6b8e5ede14b5c7986b27ee90aa1
BLAKE2b-256 23d49204267087e0654aa2eb677ce47aa6b245e0a3707e16e67056d7f51b2a0c

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8a6ecfe2dffc28b8e97fbc09187bd90868a81a924180a09b74bab2505e619467
MD5 ffa4adb0e8296340557f672d9daaad7b
BLAKE2b-256 f786027101e2cd1627659799d097043cea9ef713a8675cb44f5a249b7baf3237

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0c0ca6d9a540092375f59e901e109a52cb545423a9b93a7bc75ccedc3881fd56
MD5 8eeff53fe80a2b6f5045c1579d341adc
BLAKE2b-256 4af0f030dd0d77c56e52e1e75c95fb286a393524d59ca5c590f710abda5f4baf

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp314-cp314t-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp314-cp314t-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 a99ea1c0b40768a9199c84baa0632c4663578526c99a06249fd4ab5301686418
MD5 cf9d4baf6fe5b10835abde59a81502f4
BLAKE2b-256 b11c3870786c1d6a0aa36490906f8014d809b9cdbc756b67fc24a1271625e554

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4244fcfea2745ea6b2a9abbf942e1afe66d0c21cf72dae469fd47081d3376dcb
MD5 f5ff148114ee8c478a3fcfdc9531284c
BLAKE2b-256 8c3e691f5ff9a4faeec271fc0452823c1f8fedc2cb4f472a3e2d2a6c07167d05

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dfc00f9c3b307b5322a7661f79316a3bd928900be104de607c554fedf836343b
MD5 e48d5678401c009d9dcc59aabd86ed22
BLAKE2b-256 b11be023a6ee7721566f6c2501c5eb8eb15e512f5663cd15a498f21a8c20e2a6

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 618f31936e9fa7d0c575b5e11515f2b936c9763eac50324c1a36bba5fdc025d9
MD5 7a786e0e03edfebb848c09fe7e5b6929
BLAKE2b-256 c361cd1610bf541b44144c45b9b6dced5d47351211803c1f69cf01b6fa7f049e

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp314-cp314-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp314-cp314-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 2530f664162ab08797a41d1805f9f324ca350e418a1a8a8827feb5291ac38d6b
MD5 bfaca597fbdb7fea840888263dff80ae
BLAKE2b-256 a46bf7f7e1aef50021e8764e91f8146ae62c40b351b7eee6401d6aa647fcb901

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 de6b382fe8ba61bdf6058e5dcef3270cf3d97af68a13e642702b7140219e429a
MD5 1bb5b5118205066c6229174466245529
BLAKE2b-256 3fd44cc213103867a3b00d6a7a2f0ee988fae0b0f57a074c8ea6d5c80f4d0dc7

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f2e4f14bdb50795d4f82c32a039752796eea434f66e0114ef5f28474fa3ee198
MD5 72d0425a56e12e26952b833e2b79a35e
BLAKE2b-256 67865068a2e66ddbb29bfda001d40512811147119d5d7d7eab5fdd108c65ad1b

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 87f1da1289736baa7a18860f168efc8e60f045747a2b75ec911910e16fab2bbc
MD5 9ee9796b56f42a3f35896ac25734f687
BLAKE2b-256 dd6fd4bf95367d9139698db916fa538a553cb23692847430e5b63b9eca27ee3b

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 74022314a8e4cd7ff8569d1421f0847e6b1ff6758b63c41ab45849c1fcf5d858
MD5 61f947c8e17dcf0e301bdcc8c13ab47c
BLAKE2b-256 5db541b5ea6c8edf43939db5966e153dd7922ba433a7f7f035b82eb5e336a91d

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7261edca8a487ebf599806d4865e205e706ed16a2a3ac24dc264870d5e2b6007
MD5 0693b830657f3b5244901a939a1b82eb
BLAKE2b-256 76bfc67efe2c070fe97b2958157d9c1fd997b429dc3d41b54fbd5bee57f3afcf

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a307812df7207fc1971287262f5bc449e6038744f14b1ec0aa609c73b4690153
MD5 5c526dc689dd025966f08c972f54bf9d
BLAKE2b-256 94b73a7b95ebd3e6e2cf7421bf8cff5a19e2391d2dac3a796a2fbc1b93bef8fe

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 05c13ff89cc4fb6bb4ad48cde88329e940bda5105ce04f706faeec14d18a1296
MD5 198ae1eade4cba69c4d6e35134489904
BLAKE2b-256 086cabfad380889a2c756f641baf87e0d396e7ac2003e0ba3db5c7146dbe487b

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 08e72ae3e5265737dac047f92c46b9d858d9cef4609cd2dda4f195334ddb25e9
MD5 5bf8232513c394848f5a3c32c7824d75
BLAKE2b-256 31a2bf9350cf14f1500d535c94686817c0b11ea5381508df280d1c982c5c2878

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 52f3194fe04afef831e528404a6fec105a0b681947ec0abc256bdc6e932f1a58
MD5 99dd9d9dafb886d333f9e4dadd5d473e
BLAKE2b-256 64ae432dc61537ef1f2be7ad2b2a523ccb84575bbd02bc4987ea538d093563ce

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7f4bcc8e727c9d8e0cbe61846f4d973aceb8eb3013eaf59c554ca60e72b9dbb5
MD5 baac73b6d346d5780c0320a4cab500ed
BLAKE2b-256 d750af925f952706b289f5a8872b2f6343ff7c796f8ebc03970420e2c42b8f62

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9d203a1083e5a9c2d327abe45d25dc2bbe743fc4fa8a114abaf863b533c542b9
MD5 cfa672faef6ec475a1b8d5f0f670a1b2
BLAKE2b-256 cbba7d5ae537a445f702c584336416915b83ec69f2e405ac6b99549ecdecbaf4

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp311-cp311-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp311-cp311-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 df6840860ff6c50f4be98ae82c1a2c0c3d12524667b4dda9444830f74f859a8c
MD5 5590379d34784e0f3a69e00d2e8c690c
BLAKE2b-256 72f9dc553e191446e57a7c4738fbe37986975273e147911bb53a9d3753b6273f

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2b65f67d246c957c2f99154a7df487874bcd30e09099958c15a298a9eae97a4f
MD5 6c6767b4f6aadd70790aa39517976c04
BLAKE2b-256 1416b5c6a8f3e4ed71ed6f9093b790533a52cc0fa7d0d75e0d356c569a5df322

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8f9376c398819a84352e103d76ea6b3bead734fb246d9e30b2a0103657ad7f08
MD5 e58ee8a8c2f5d0076bfc09a5a0e0606b
BLAKE2b-256 c1977f783f7bee0333ea2976b107eeef13cc871d27ac98fa6abd8cf3aba8066a

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 51d0e7a43afaa00a4dc996b66e75ad96557e375bd2e81ae7a84072a702a48d28
MD5 9fbfde7373651442c985cd01c92ba654
BLAKE2b-256 0ccb6f3db065ef291f245bfa15622aeff69144e969c1331b6a62e9a8e0e5d864

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp310-cp310-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp310-cp310-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 ca61580d6063bc8a8871cf71d55b3631c225be7b267d73366dd2300f265bd27a
MD5 3938f76f4b84b2e31e099ef592f6f15c
BLAKE2b-256 dd27098e7b4f250ba539b597734a8941d847a23271e1446936202c53e422b8b5

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7367a4a574ab6aeb12a9c4759db7bd5ae23ddff4cfd638e28364232785b2ea97
MD5 e9f68adf6add52633528ac7af1084a62
BLAKE2b-256 e2b871fee3047372a91333b4c6df4eb52f0ece3b5df590a86d57bc0190d46e13

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 28b04aadc2327573c58c7cbd924554ca9747ab05f5f7062907e6e0820401fab0
MD5 79791ac4d994f033ffcaa6f415288e45
BLAKE2b-256 b3d2dd5c35c074d5f5da27f981c8b902ed7252b91eaed70e1e09caf64692eb8c

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4d4302ae8467724d2deb19adf40bfc473ed9a81c6c247882ec3c56efb454df81
MD5 0ae1bcf963199e700f84ae68cca749cd
BLAKE2b-256 5acb37bccc604d18dba190e99da533e0aa9eb7dd824fbf6424a8064c56c1d372

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp39-cp39-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp39-cp39-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 24289f8ab1243a55b2e4bf0c5f82fe1cfc6a8f429cf832b531ec158a16bea1a7
MD5 52583bb9a9609db5591da9b23a5c41a4
BLAKE2b-256 7b04cef0afd8f1b522523292a7234babddfc34861d3adcafdaad34448e29ab82

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d56bb2bb8416964db2b3b271af8e659cf0ed217bbf0f13a3cd3b8e1495d86d16
MD5 041b7a4153335b0a43099e3bcfb72559
BLAKE2b-256 f60ebc34fcbe4cf68cd1456517939bd1b4d31dbfcccaf986fcf384832e86fd98

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8839b097d285ae858cc003352cffdb0ffa803e11924581b81e1d2181a43617b5
MD5 50dfd28329d3aea9ef0f82e2daf7a76a
BLAKE2b-256 97c5748e69c8249bd0395577155c07b3abe437e0bc8cc2bcfadf6ce64b674d0e

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0f09719752ad76bdf05e860186729ec68a02e1d4e45d6f305a69851b81cb23da
MD5 f2c0cf6c1dd39b07a414c78ec86a56bb
BLAKE2b-256 37c3a236b34415e9e3c56c470e834031c1ca2d670ec59ab8eeca39b50233b566

See more details on using hashes here.

File details

Details for the file libmc-1.4.15-cp38-cp38-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.15-cp38-cp38-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 d920c0fb893c03188e43341759cf0822381be1685d6544c4efa1af65c2ceeba3
MD5 10c02700eb4865bb2981c5625193e221
BLAKE2b-256 11e9fa3be6dd6fff4aa3b289a6f5ec78ef36c639e0d3ab7a4656da66738ad743

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page