Fast and light-weight memcached client for C++/Python
Project description
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
Thanks to @fahrenheit2539 and the llvm project for the standalone. SmallVector implementation.
Thanks to @miloyip for the high performance i64toa implementation.
Thanks to Ivan Novikov for the research in THE NEW PAGE OF INJECTIONS BOOK: MEMCACHED INJECTIONS.
Thanks to the PolarSSL project for the md5 implementation.
Thanks to @lericson for the benchmark script in pylibmc.
Thanks to the libmemcached project and some other projects possibly not mentioned here.
Contributors
Who is using
Want to add your company/organization name here? Please feel free to send a PR!
Documentation
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
File details
Details for the file libmc-1.4.8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: libmc-1.4.8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 190.1 kB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76e03b91c8e33ffedb98184e9f97e2b59e04383fb3eb93c8a163e9909748471b |
|
MD5 | f8b088663379c8b02bf26291bbf1eb27 |
|
BLAKE2b-256 | f36c144cfdac20eca4de4a5fbbb92853e872e87895e8f0d553d13f981a196819 |
File details
Details for the file libmc-1.4.8-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: libmc-1.4.8-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 197.0 kB
- Tags: PyPy, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e62bd49c793c085398bc49a60173ef4d586141e042d7c8c91587e9dd0230d59c |
|
MD5 | 453f43a9caa1d637af5c3039c6681fd4 |
|
BLAKE2b-256 | 4431c4003c6ff0b0f515fb375bfe23d0b6f48c9d5214eba29c03c610838b81c0 |
File details
Details for the file libmc-1.4.8-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: libmc-1.4.8-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 190.2 kB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2aa0a6e6b1026bbcbe521be015a0ba2e4589da0a4f03ae3a0db3f72111d7b292 |
|
MD5 | 199207a21654e8a3731c5eb30247ed9c |
|
BLAKE2b-256 | e54e9c64051abf7c1fa0714681b6bc509e72660b67f5184e054571b2584fe55c |
File details
Details for the file libmc-1.4.8-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: libmc-1.4.8-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 197.1 kB
- Tags: PyPy, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9332851744e329413ac52477d07db5888c0f07100acc879b5e54bd244813e40b |
|
MD5 | d56322cbebf46a71ddabdf36434118ce |
|
BLAKE2b-256 | 74631188429de448567d6f9d7596b2ad2b552d630735c98fd2873817bdca03b4 |
File details
Details for the file libmc-1.4.8-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: libmc-1.4.8-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 191.8 kB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | af68de8c0487a3caa12c6d19ed422a40a0d598612aa899e1899944a7d02462d5 |
|
MD5 | 34f32cba82d2b20bd6eed312c2821ccf |
|
BLAKE2b-256 | 22cb4cb522ce066fd02aacce593f0c9bf849bce63606a3f0d381cb2d2588127a |
File details
Details for the file libmc-1.4.8-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: libmc-1.4.8-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 199.3 kB
- Tags: PyPy, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 529519f987e58b887310d616c7dadbc130c461a0c0324e847d2c963851a96c6b |
|
MD5 | 69c8be2eb18c3805ddbfb7f852b4b896 |
|
BLAKE2b-256 | 51a4b36d54b3c6e8774389279c7b09aeec74378bcb846fe22a156f6bbcd699bb |
File details
Details for the file libmc-1.4.8-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: libmc-1.4.8-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 194.7 kB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e54e445d1c99d2d5bcaf1fb52a8edbf5886e24a9f335d9e273f78cd5db4d8acb |
|
MD5 | 4df5cc4fc1e762529e0872b0e232c85d |
|
BLAKE2b-256 | 6555dd545dc11d9e8abae7c5a0768684d0bd6f66a47a94ec55403d2c2fcfe37f |
File details
Details for the file libmc-1.4.8-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: libmc-1.4.8-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 202.1 kB
- Tags: PyPy, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d575c515289f0c464bd47a97e3b47a13cbb98010a5d8dc24f4946bcd56c9963d |
|
MD5 | fa8ac229c783d5f1059bef4a770e2ae5 |
|
BLAKE2b-256 | 272e214f99e311e8e15ee3f61d1c96097d61efef313bf6c25744bb013f17a1a9 |
File details
Details for the file libmc-1.4.8-cp313-cp313-musllinux_1_2_x86_64.whl
.
File metadata
- Download URL: libmc-1.4.8-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3b46bb591e8667c8ab7214ca74e80939272ace5081c45302be6e987143ec8ae |
|
MD5 | ce798cae4b2c758807b25bed2f01c22b |
|
BLAKE2b-256 | 8c89a5ea99279e41fbdc15770b80f187cb3bdaa7b42cc44fb8b9ac442509c6bb |
File details
Details for the file libmc-1.4.8-cp313-cp313-musllinux_1_2_i686.whl
.
File metadata
- Download URL: libmc-1.4.8-cp313-cp313-musllinux_1_2_i686.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3d5b9d09eaaf5123da4eee9bc0b08389d5ad335fcc60245e7c7f1f28b96ba82 |
|
MD5 | 325654d298635fdd7351181c21a36553 |
|
BLAKE2b-256 | 651f7c71b26d0d9cceb9b332c81df596ed94c63482484fde93ff5c4d93c12415 |
File details
Details for the file libmc-1.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: libmc-1.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4f103aba898d225e39d9552b2383bf0197b992e5a46cf9fcdd2a6e80880f7b3 |
|
MD5 | fb82b356e0f3499444d78bdaeda619fd |
|
BLAKE2b-256 | 27a6eee752c9e74c11666e999346162737302b6561ba01f10036cd17924b6664 |
File details
Details for the file libmc-1.4.8-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: libmc-1.4.8-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66ce8a3cfcdfda58a39a9f697d4382a5fdaa5180e326980a223ead7df5c9e531 |
|
MD5 | 0526b8a98f028e81826293e818e71b07 |
|
BLAKE2b-256 | ae4f0f6462aeeedb3f75e3138828b1836264ec814cc2f5c135469fe72a881734 |
File details
Details for the file libmc-1.4.8-cp312-cp312-musllinux_1_2_x86_64.whl
.
File metadata
- Download URL: libmc-1.4.8-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b71c0d09bfe6b00900791a44ec70af742b2e6db1bb33f2a42c8821c9503c4f4 |
|
MD5 | 3a728d88c694c538afabe6f3842e2f63 |
|
BLAKE2b-256 | 8f75c83bd371e832a583b0b3783359f5c9447cc9f5acbd4992a00d7e8d4a3467 |
File details
Details for the file libmc-1.4.8-cp312-cp312-musllinux_1_2_i686.whl
.
File metadata
- Download URL: libmc-1.4.8-cp312-cp312-musllinux_1_2_i686.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85d12b682de4ef7c1741c0eb96fd498cc83e4be434ac0e8946f8b722eabca29d |
|
MD5 | a01af0d6ffbd5a02d5b135cc8bf315e4 |
|
BLAKE2b-256 | df7857bf8ee0567eb7dd3a96d92f4e59e0325614e60963489d60b9085202ab7b |
File details
Details for the file libmc-1.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: libmc-1.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72bc50cc2c62ccb889628b5913f63c463cfab07c73090f9f3e90f707233c9bbe |
|
MD5 | 100d603463b3ad41e7f31a4df835f313 |
|
BLAKE2b-256 | 4cc4029d9d7f841fe998960fc8f84782c12911381d672f8b4c894ae0e58320d5 |
File details
Details for the file libmc-1.4.8-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: libmc-1.4.8-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17fed463500ee7be7e5e1107458548f33fdf5c37e5953588b3898fdea9d3dfe1 |
|
MD5 | 34e60959ea15b340a7421a2773c2578a |
|
BLAKE2b-256 | 115684992c4fd202202281bd1edabed32d64640b11d8f098c94d919fd7af55a6 |
File details
Details for the file libmc-1.4.8-cp311-cp311-musllinux_1_2_x86_64.whl
.
File metadata
- Download URL: libmc-1.4.8-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1cf0c7d4aeccb18fc449f379e5c7aca385575abdd606d5d2be2afac9eca32301 |
|
MD5 | 647c3bf917dd8522fa366e7381cfd25c |
|
BLAKE2b-256 | 3b25af379551bf50fdf0bb32242f88e71e9b40bb94d8ce982c7a8131ae8f13f3 |
File details
Details for the file libmc-1.4.8-cp311-cp311-musllinux_1_2_i686.whl
.
File metadata
- Download URL: libmc-1.4.8-cp311-cp311-musllinux_1_2_i686.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bf523c06ac04c7ec06ff77b7766f5592e4db89908899ad2bea3333de5e76396 |
|
MD5 | a011481f52b468d2240f46cf657db4f5 |
|
BLAKE2b-256 | 109a649fc5e8a15d12cf6aad66062d9f797aec110337e9ade21199d0f68b40c0 |
File details
Details for the file libmc-1.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: libmc-1.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19a9e208a42f62daa30174aea62c00f33660da6d50a3ea914a59483b57772247 |
|
MD5 | f1b9b2311ef98a29d8177fa38432088d |
|
BLAKE2b-256 | 209e2538143cdd833a562264863625385e6745526e5f487267f4aff03a1ce548 |
File details
Details for the file libmc-1.4.8-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: libmc-1.4.8-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a9b722b72c746e663e20fda23bb65c9545689275e8711c8ef878f3d60ab98fc |
|
MD5 | 933782282b9a59f41e19cd5b91725059 |
|
BLAKE2b-256 | fcf3e43bb11361b758358fa59ce5d5e23462082fc728f232e7bc6887cfcd4624 |
File details
Details for the file libmc-1.4.8-cp310-cp310-musllinux_1_2_x86_64.whl
.
File metadata
- Download URL: libmc-1.4.8-cp310-cp310-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca3023b60d65e9c7102c353e06e15e29e08c8f3b8244571bdd5b01b2baf007c3 |
|
MD5 | 8ce7e37fd66b66969e1f5da03fb221d7 |
|
BLAKE2b-256 | 43a59dd7c0ac47cc98bb5fc66f30b17e12efd36da8e7f93410b6794d4c0783f1 |
File details
Details for the file libmc-1.4.8-cp310-cp310-musllinux_1_2_i686.whl
.
File metadata
- Download URL: libmc-1.4.8-cp310-cp310-musllinux_1_2_i686.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.10, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a97de4cc547493ce1fb5019134e024de9ae5eb60bd56f6bc1e5c2002155feb26 |
|
MD5 | efd113d3a677d5f03ffd61280b0dabb1 |
|
BLAKE2b-256 | bdc308f81599f1b22cd58557f56b2484ce9c9242fcfd7d88ef4157557a2b95c7 |
File details
Details for the file libmc-1.4.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: libmc-1.4.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6ee48b6d77327f057573d20689158bf6fb50aa4e818d67dbb0a04420770c7e7 |
|
MD5 | ee8e0dd49195c9655e52f22a380a827b |
|
BLAKE2b-256 | 2433ebc60f7a7da6eafb0520b3254c90d2ec115e99496bf4d555d9d2498235b4 |
File details
Details for the file libmc-1.4.8-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: libmc-1.4.8-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea5bef96ada9d1e70173a51a9def51b53d4a29018259eac5aeec92e6c00b8353 |
|
MD5 | 041fd94ff02af67ed15c9237556cefb9 |
|
BLAKE2b-256 | 77ad226a274fecff9af1ddda993435bb776a23c2b3cdf27801dd90c3952cd8a4 |
File details
Details for the file libmc-1.4.8-cp39-cp39-musllinux_1_2_x86_64.whl
.
File metadata
- Download URL: libmc-1.4.8-cp39-cp39-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.9, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b70e8db82aa1ecd71273e4a60397a55da9605b6b11a0fbdef91c5a9f68db524 |
|
MD5 | 90d5c37b723c34a27780cd4e3e2555c0 |
|
BLAKE2b-256 | 1e3be2ca7df6a25e1039d4bdcd23a23824888fa8ca76010a2daa561effb820de |
File details
Details for the file libmc-1.4.8-cp39-cp39-musllinux_1_2_i686.whl
.
File metadata
- Download URL: libmc-1.4.8-cp39-cp39-musllinux_1_2_i686.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.9, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b640a2b4b131833d84b90eb37175e4963f23e42bb5d7bbc8e10ccfffac74c0f7 |
|
MD5 | b666cf00320b15516d57251e53d53c3f |
|
BLAKE2b-256 | db1ff6afbe5bb25a8ae1630ce71f8ba6e40a1da8b934caca3ad77310f411137c |
File details
Details for the file libmc-1.4.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: libmc-1.4.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c4a5b12bf2c6b3eb875cbbfceaaa50c72c3c1bc87c5670a0d0cfb0bd0780bd3 |
|
MD5 | e659e91a349043b7ba4a53c048fd6faf |
|
BLAKE2b-256 | fd8e3842eba87a0b3c0a4d7c935eed67b065d5bda9a523d6afaee946b9d0bd4c |
File details
Details for the file libmc-1.4.8-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: libmc-1.4.8-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.9, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46b1934d4e043a9b41ec55084b2462260b7afea5f7a153df91d696fb366a62f1 |
|
MD5 | a88bb29228806b7c5389709c19ab2a53 |
|
BLAKE2b-256 | 654b9b03c074c25679829864a2d5242818f4957a0a04c703d634878f11cb6f6a |
File details
Details for the file libmc-1.4.8-cp38-cp38-musllinux_1_2_x86_64.whl
.
File metadata
- Download URL: libmc-1.4.8-cp38-cp38-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.8, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a1788fc75999ca0321c8d72aca7ed33cbc5aaf5bbd5f4ffea058cda4423450b |
|
MD5 | e581b18ad6bb650c82b3fcabc3f71a3d |
|
BLAKE2b-256 | ef776c50a401615c7bd4116e7cc0dc168b8722f1dab371dd215812983155396b |
File details
Details for the file libmc-1.4.8-cp38-cp38-musllinux_1_2_i686.whl
.
File metadata
- Download URL: libmc-1.4.8-cp38-cp38-musllinux_1_2_i686.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.8, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18f5464329923b69fc3fc22a50fb2a17c277b6ce614634a6bbf40bd71166cf2c |
|
MD5 | 0fd9edc1691e811db3ff439fbc6fe6b8 |
|
BLAKE2b-256 | 1fb0fe888d0b8787eca67128a589a753808a21d176050a5ca1a91206fa66755a |
File details
Details for the file libmc-1.4.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: libmc-1.4.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c5af99e744c9b0e1fb4cb6e2aba625d19dd845631c4856e46fde9eded98c265 |
|
MD5 | 37ce126179f520c5a1d8506b3a3f1a3a |
|
BLAKE2b-256 | a8b476a7a81d57a643561b7cc73a600e13b5962810acf9bbb037f31d0ed9a52d |
File details
Details for the file libmc-1.4.8-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: libmc-1.4.8-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.8, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc0b013698e6084eb7ea423f07f16ad444a4b10be0767c38619b85a50421a35b |
|
MD5 | 865c0c29f107cf4f742405893db7f269 |
|
BLAKE2b-256 | 402db7b55f1632443de61b9ba72cfddf9e3b8395bb64b773fa7644a8eca5af18 |
File details
Details for the file libmc-1.4.8-cp37-cp37m-musllinux_1_2_x86_64.whl
.
File metadata
- Download URL: libmc-1.4.8-cp37-cp37m-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.7m, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6df4d873f6c1ad1b34334275089aef02d5931011889c6cd46564cfa8812654a7 |
|
MD5 | 6e239ad02195f0e72e6dea5e8f761924 |
|
BLAKE2b-256 | 4f8e5d45dda2b9bad73b0b1b03d3acb8b3ec42c76b080da86f9233717f37ec0a |
File details
Details for the file libmc-1.4.8-cp37-cp37m-musllinux_1_2_i686.whl
.
File metadata
- Download URL: libmc-1.4.8-cp37-cp37m-musllinux_1_2_i686.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.7m, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0dee7c13866cbacdf0b63270401a7fe7bd41fdf72c26a509d4ff0729e1fc0472 |
|
MD5 | 0194d05aeaa9c3ba0613d6ebb1e30ce0 |
|
BLAKE2b-256 | d76e28ed518a9872bcdf58065db3bf3747441e97aeba4095f45f93f3b624eb6b |
File details
Details for the file libmc-1.4.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: libmc-1.4.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.7m, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdd3aa5818a7b26975e4b4893aaa56e76abf2770fcef1e331847973dbb46678f |
|
MD5 | 97edb820560329ddcd41c1a6fa888cd9 |
|
BLAKE2b-256 | ef1e147002b471fb82922e69e3ef84922c15e652434dc64b058458774bd01de3 |
File details
Details for the file libmc-1.4.8-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: libmc-1.4.8-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.7m, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb9e5b2c99054d01f5bd8b4bf3aa61916341dd36807d34bded14f3d7b4d8c0bd |
|
MD5 | 49c98287e513d85f36ec1a2841253042 |
|
BLAKE2b-256 | 2fdcfc23f051e142a186c65227769d4897ce5b697dbe066e6e717ff05d183075 |
File details
Details for the file libmc-1.4.8-cp36-cp36m-musllinux_1_2_x86_64.whl
.
File metadata
- Download URL: libmc-1.4.8-cp36-cp36m-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.4 MB
- Tags: CPython 3.6m, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40cd95b70669fdf6b24cafe6cf10bf5442246c31380bf45fe8d2b6e55da95e82 |
|
MD5 | 69c2377d82ebb937e8ddea11538113b2 |
|
BLAKE2b-256 | 53f2b1d707d88aaf05a72d121bb4d0380461a4bd2cc34b23cc044a703aebd522 |
File details
Details for the file libmc-1.4.8-cp36-cp36m-musllinux_1_2_i686.whl
.
File metadata
- Download URL: libmc-1.4.8-cp36-cp36m-musllinux_1_2_i686.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.6m, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb5201879048ea92990b30ec53e1198c1265a4798ed0bbf7d5067cb591638d66 |
|
MD5 | 3462d939ac1156a921a6a128fdf0a1bc |
|
BLAKE2b-256 | 8d04d7b14ece6391e89e064afbf1449e02b8313f919248a2f7b4b4c2a967277a |
File details
Details for the file libmc-1.4.8-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: libmc-1.4.8-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.6m, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5e5fac6b3efaa32900a2b1086cd7723f07cd77c909647bd99ef447b805cd766 |
|
MD5 | f2ec90c2771408e889d51559e31b9d39 |
|
BLAKE2b-256 | 4556108d86343312c0591c80b2c61d9049e2b79fe4955054af888ed8620aa3d2 |
File details
Details for the file libmc-1.4.8-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: libmc-1.4.8-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.6m, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 720facdcf6929a0fcd93c0720103765b70b8761a11caa0608e08a441fe1dd90e |
|
MD5 | e4faf8703db972bf2ef9b1f05e5996e5 |
|
BLAKE2b-256 | 5e48354b9a9d3eaf5edc3858f49a6bc6284d30986cf39664a878c4d0128775cc |