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

libmc-1.4.8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (190.1 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

libmc-1.4.8-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (197.0 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686

libmc-1.4.8-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (190.2 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

libmc-1.4.8-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (197.1 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686

libmc-1.4.8-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (191.8 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

libmc-1.4.8-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (199.3 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686

libmc-1.4.8-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (194.7 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

libmc-1.4.8-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (202.1 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686

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

Uploaded CPython 3.13 musllinux: musl 1.2+ x86-64

libmc-1.4.8-cp313-cp313-musllinux_1_2_i686.whl (2.6 MB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ i686

libmc-1.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

libmc-1.4.8-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (1.5 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ i686

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

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

libmc-1.4.8-cp312-cp312-musllinux_1_2_i686.whl (2.6 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ i686

libmc-1.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

libmc-1.4.8-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (1.5 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

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

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

libmc-1.4.8-cp311-cp311-musllinux_1_2_i686.whl (2.6 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ i686

libmc-1.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

libmc-1.4.8-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (1.6 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

libmc-1.4.8-cp310-cp310-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

libmc-1.4.8-cp310-cp310-musllinux_1_2_i686.whl (2.6 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ i686

libmc-1.4.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

libmc-1.4.8-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (1.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

libmc-1.4.8-cp39-cp39-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

libmc-1.4.8-cp39-cp39-musllinux_1_2_i686.whl (2.6 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ i686

libmc-1.4.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

libmc-1.4.8-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (1.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

libmc-1.4.8-cp38-cp38-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

libmc-1.4.8-cp38-cp38-musllinux_1_2_i686.whl (2.6 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ i686

libmc-1.4.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

libmc-1.4.8-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (1.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

libmc-1.4.8-cp37-cp37m-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.2+ x86-64

libmc-1.4.8-cp37-cp37m-musllinux_1_2_i686.whl (2.5 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.2+ i686

libmc-1.4.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

libmc-1.4.8-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (1.4 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

libmc-1.4.8-cp36-cp36m-musllinux_1_2_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.6m musllinux: musl 1.2+ x86-64

libmc-1.4.8-cp36-cp36m-musllinux_1_2_i686.whl (2.5 MB view details)

Uploaded CPython 3.6m musllinux: musl 1.2+ i686

libmc-1.4.8-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

libmc-1.4.8-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl (1.4 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ i686

File details

Details for the file libmc-1.4.8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 76e03b91c8e33ffedb98184e9f97e2b59e04383fb3eb93c8a163e9909748471b
MD5 f8b088663379c8b02bf26291bbf1eb27
BLAKE2b-256 f36c144cfdac20eca4de4a5fbbb92853e872e87895e8f0d553d13f981a196819

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e62bd49c793c085398bc49a60173ef4d586141e042d7c8c91587e9dd0230d59c
MD5 453f43a9caa1d637af5c3039c6681fd4
BLAKE2b-256 4431c4003c6ff0b0f515fb375bfe23d0b6f48c9d5214eba29c03c610838b81c0

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2aa0a6e6b1026bbcbe521be015a0ba2e4589da0a4f03ae3a0db3f72111d7b292
MD5 199207a21654e8a3731c5eb30247ed9c
BLAKE2b-256 e54e9c64051abf7c1fa0714681b6bc509e72660b67f5184e054571b2584fe55c

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9332851744e329413ac52477d07db5888c0f07100acc879b5e54bd244813e40b
MD5 d56322cbebf46a71ddabdf36434118ce
BLAKE2b-256 74631188429de448567d6f9d7596b2ad2b552d630735c98fd2873817bdca03b4

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 af68de8c0487a3caa12c6d19ed422a40a0d598612aa899e1899944a7d02462d5
MD5 34f32cba82d2b20bd6eed312c2821ccf
BLAKE2b-256 22cb4cb522ce066fd02aacce593f0c9bf849bce63606a3f0d381cb2d2588127a

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 529519f987e58b887310d616c7dadbc130c461a0c0324e847d2c963851a96c6b
MD5 69c8be2eb18c3805ddbfb7f852b4b896
BLAKE2b-256 51a4b36d54b3c6e8774389279c7b09aeec74378bcb846fe22a156f6bbcd699bb

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e54e445d1c99d2d5bcaf1fb52a8edbf5886e24a9f335d9e273f78cd5db4d8acb
MD5 4df5cc4fc1e762529e0872b0e232c85d
BLAKE2b-256 6555dd545dc11d9e8abae7c5a0768684d0bd6f66a47a94ec55403d2c2fcfe37f

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d575c515289f0c464bd47a97e3b47a13cbb98010a5d8dc24f4946bcd56c9963d
MD5 fa8ac229c783d5f1059bef4a770e2ae5
BLAKE2b-256 272e214f99e311e8e15ee3f61d1c96097d61efef313bf6c25744bb013f17a1a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libmc-1.4.8-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d3b46bb591e8667c8ab7214ca74e80939272ace5081c45302be6e987143ec8ae
MD5 ce798cae4b2c758807b25bed2f01c22b
BLAKE2b-256 8c89a5ea99279e41fbdc15770b80f187cb3bdaa7b42cc44fb8b9ac442509c6bb

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f3d5b9d09eaaf5123da4eee9bc0b08389d5ad335fcc60245e7c7f1f28b96ba82
MD5 325654d298635fdd7351181c21a36553
BLAKE2b-256 651f7c71b26d0d9cceb9b332c81df596ed94c63482484fde93ff5c4d93c12415

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c4f103aba898d225e39d9552b2383bf0197b992e5a46cf9fcdd2a6e80880f7b3
MD5 fb82b356e0f3499444d78bdaeda619fd
BLAKE2b-256 27a6eee752c9e74c11666e999346162737302b6561ba01f10036cd17924b6664

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 66ce8a3cfcdfda58a39a9f697d4382a5fdaa5180e326980a223ead7df5c9e531
MD5 0526b8a98f028e81826293e818e71b07
BLAKE2b-256 ae4f0f6462aeeedb3f75e3138828b1836264ec814cc2f5c135469fe72a881734

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libmc-1.4.8-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2b71c0d09bfe6b00900791a44ec70af742b2e6db1bb33f2a42c8821c9503c4f4
MD5 3a728d88c694c538afabe6f3842e2f63
BLAKE2b-256 8f75c83bd371e832a583b0b3783359f5c9447cc9f5acbd4992a00d7e8d4a3467

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 85d12b682de4ef7c1741c0eb96fd498cc83e4be434ac0e8946f8b722eabca29d
MD5 a01af0d6ffbd5a02d5b135cc8bf315e4
BLAKE2b-256 df7857bf8ee0567eb7dd3a96d92f4e59e0325614e60963489d60b9085202ab7b

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 72bc50cc2c62ccb889628b5913f63c463cfab07c73090f9f3e90f707233c9bbe
MD5 100d603463b3ad41e7f31a4df835f313
BLAKE2b-256 4cc4029d9d7f841fe998960fc8f84782c12911381d672f8b4c894ae0e58320d5

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 17fed463500ee7be7e5e1107458548f33fdf5c37e5953588b3898fdea9d3dfe1
MD5 34e60959ea15b340a7421a2773c2578a
BLAKE2b-256 115684992c4fd202202281bd1edabed32d64640b11d8f098c94d919fd7af55a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libmc-1.4.8-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1cf0c7d4aeccb18fc449f379e5c7aca385575abdd606d5d2be2afac9eca32301
MD5 647c3bf917dd8522fa366e7381cfd25c
BLAKE2b-256 3b25af379551bf50fdf0bb32242f88e71e9b40bb94d8ce982c7a8131ae8f13f3

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 0bf523c06ac04c7ec06ff77b7766f5592e4db89908899ad2bea3333de5e76396
MD5 a011481f52b468d2240f46cf657db4f5
BLAKE2b-256 109a649fc5e8a15d12cf6aad66062d9f797aec110337e9ade21199d0f68b40c0

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 19a9e208a42f62daa30174aea62c00f33660da6d50a3ea914a59483b57772247
MD5 f1b9b2311ef98a29d8177fa38432088d
BLAKE2b-256 209e2538143cdd833a562264863625385e6745526e5f487267f4aff03a1ce548

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7a9b722b72c746e663e20fda23bb65c9545689275e8711c8ef878f3d60ab98fc
MD5 933782282b9a59f41e19cd5b91725059
BLAKE2b-256 fcf3e43bb11361b758358fa59ce5d5e23462082fc728f232e7bc6887cfcd4624

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libmc-1.4.8-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ca3023b60d65e9c7102c353e06e15e29e08c8f3b8244571bdd5b01b2baf007c3
MD5 8ce7e37fd66b66969e1f5da03fb221d7
BLAKE2b-256 43a59dd7c0ac47cc98bb5fc66f30b17e12efd36da8e7f93410b6794d4c0783f1

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 a97de4cc547493ce1fb5019134e024de9ae5eb60bd56f6bc1e5c2002155feb26
MD5 efd113d3a677d5f03ffd61280b0dabb1
BLAKE2b-256 bdc308f81599f1b22cd58557f56b2484ce9c9242fcfd7d88ef4157557a2b95c7

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f6ee48b6d77327f057573d20689158bf6fb50aa4e818d67dbb0a04420770c7e7
MD5 ee8e0dd49195c9655e52f22a380a827b
BLAKE2b-256 2433ebc60f7a7da6eafb0520b3254c90d2ec115e99496bf4d555d9d2498235b4

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ea5bef96ada9d1e70173a51a9def51b53d4a29018259eac5aeec92e6c00b8353
MD5 041fd94ff02af67ed15c9237556cefb9
BLAKE2b-256 77ad226a274fecff9af1ddda993435bb776a23c2b3cdf27801dd90c3952cd8a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libmc-1.4.8-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6b70e8db82aa1ecd71273e4a60397a55da9605b6b11a0fbdef91c5a9f68db524
MD5 90d5c37b723c34a27780cd4e3e2555c0
BLAKE2b-256 1e3be2ca7df6a25e1039d4bdcd23a23824888fa8ca76010a2daa561effb820de

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 b640a2b4b131833d84b90eb37175e4963f23e42bb5d7bbc8e10ccfffac74c0f7
MD5 b666cf00320b15516d57251e53d53c3f
BLAKE2b-256 db1ff6afbe5bb25a8ae1630ce71f8ba6e40a1da8b934caca3ad77310f411137c

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5c4a5b12bf2c6b3eb875cbbfceaaa50c72c3c1bc87c5670a0d0cfb0bd0780bd3
MD5 e659e91a349043b7ba4a53c048fd6faf
BLAKE2b-256 fd8e3842eba87a0b3c0a4d7c935eed67b065d5bda9a523d6afaee946b9d0bd4c

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 46b1934d4e043a9b41ec55084b2462260b7afea5f7a153df91d696fb366a62f1
MD5 a88bb29228806b7c5389709c19ab2a53
BLAKE2b-256 654b9b03c074c25679829864a2d5242818f4957a0a04c703d634878f11cb6f6a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libmc-1.4.8-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7a1788fc75999ca0321c8d72aca7ed33cbc5aaf5bbd5f4ffea058cda4423450b
MD5 e581b18ad6bb650c82b3fcabc3f71a3d
BLAKE2b-256 ef776c50a401615c7bd4116e7cc0dc168b8722f1dab371dd215812983155396b

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp38-cp38-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp38-cp38-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 18f5464329923b69fc3fc22a50fb2a17c277b6ce614634a6bbf40bd71166cf2c
MD5 0fd9edc1691e811db3ff439fbc6fe6b8
BLAKE2b-256 1fb0fe888d0b8787eca67128a589a753808a21d176050a5ca1a91206fa66755a

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1c5af99e744c9b0e1fb4cb6e2aba625d19dd845631c4856e46fde9eded98c265
MD5 37ce126179f520c5a1d8506b3a3f1a3a
BLAKE2b-256 a8b476a7a81d57a643561b7cc73a600e13b5962810acf9bbb037f31d0ed9a52d

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 bc0b013698e6084eb7ea423f07f16ad444a4b10be0767c38619b85a50421a35b
MD5 865c0c29f107cf4f742405893db7f269
BLAKE2b-256 402db7b55f1632443de61b9ba72cfddf9e3b8395bb64b773fa7644a8eca5af18

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp37-cp37m-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp37-cp37m-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6df4d873f6c1ad1b34334275089aef02d5931011889c6cd46564cfa8812654a7
MD5 6e239ad02195f0e72e6dea5e8f761924
BLAKE2b-256 4f8e5d45dda2b9bad73b0b1b03d3acb8b3ec42c76b080da86f9233717f37ec0a

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp37-cp37m-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp37-cp37m-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 0dee7c13866cbacdf0b63270401a7fe7bd41fdf72c26a509d4ff0729e1fc0472
MD5 0194d05aeaa9c3ba0613d6ebb1e30ce0
BLAKE2b-256 d76e28ed518a9872bcdf58065db3bf3747441e97aeba4095f45f93f3b624eb6b

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bdd3aa5818a7b26975e4b4893aaa56e76abf2770fcef1e331847973dbb46678f
MD5 97edb820560329ddcd41c1a6fa888cd9
BLAKE2b-256 ef1e147002b471fb82922e69e3ef84922c15e652434dc64b058458774bd01de3

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 fb9e5b2c99054d01f5bd8b4bf3aa61916341dd36807d34bded14f3d7b4d8c0bd
MD5 49c98287e513d85f36ec1a2841253042
BLAKE2b-256 2fdcfc23f051e142a186c65227769d4897ce5b697dbe066e6e717ff05d183075

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp36-cp36m-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp36-cp36m-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 40cd95b70669fdf6b24cafe6cf10bf5442246c31380bf45fe8d2b6e55da95e82
MD5 69c2377d82ebb937e8ddea11538113b2
BLAKE2b-256 53f2b1d707d88aaf05a72d121bb4d0380461a4bd2cc34b23cc044a703aebd522

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp36-cp36m-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp36-cp36m-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 bb5201879048ea92990b30ec53e1198c1265a4798ed0bbf7d5067cb591638d66
MD5 3462d939ac1156a921a6a128fdf0a1bc
BLAKE2b-256 8d04d7b14ece6391e89e064afbf1449e02b8313f919248a2f7b4b4c2a967277a

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c5e5fac6b3efaa32900a2b1086cd7723f07cd77c909647bd99ef447b805cd766
MD5 f2ec90c2771408e889d51559e31b9d39
BLAKE2b-256 4556108d86343312c0591c80b2c61d9049e2b79fe4955054af888ed8620aa3d2

See more details on using hashes here.

File details

Details for the file libmc-1.4.8-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libmc-1.4.8-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 720facdcf6929a0fcd93c0720103765b70b8761a11caa0608e08a441fe1dd90e
MD5 e4faf8703db972bf2ef9b1f05e5996e5
BLAKE2b-256 5e48354b9a9d3eaf5edc3858f49a6bc6284d30986cf39664a878c4d0128775cc

See more details on using hashes here.

Supported by

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