Skip to main content

A pure python module to access memcached via its binary protocol with SASL auth support

Project description

A pure python module (thread safe) to access memcached via it’s binary with SASL auth support.

The main purpose of this module it to be able to communicate with memcached using binary protocol and support authentication, so it can work with Heroku for example.

Latest compiled docs on Read The Docs here.


Use pip or easy_install.

pip install python-binary-memcached


import bmemcached
client = bmemcached.Client(('', ), 'user',
client.set('key', 'value')

Using it with distributed keys

import bmemcached
client = bmemcached.DistributedClient(
    ('', ), 'user', 'password'
client.set('key', 'value')


python-binary-memcached unit tests are found in the test/ directory and are designed to be run using pytest. pytest will discover the tests automatically, so all you have to do is:

$ pytest
170 passed in 4.43 seconds

This runs the tests with the default Python interpreter.

You can also verify that the tests pass on other supported Python interpreters. For this we use tox, which will automatically create a virtualenv for each supported Python version and run the tests. For example:

$ tox
py27: commands succeeded
ERROR:  py34: InterpreterNotFound: python3.4
py35: commands succeeded
py36: commands succeeded
py37: commands succeeded
py38: commands succeeded

You may not have all the required Python versions installed, in which case you will see one or more InterpreterNotFound errors.

Using with Django

If you want to use it with Django, go to django-bmemcached to get a Django backend.

Tests Status

v0.31.1 (2021-12-29)

v0.31.0 (2021-12-28)


  • Use bytearrays for building up bytes for I/O. (#245)


  • Expose incr/decr default and time protocol arguments in client class (#243)

v0.30.1 (2020-10-11)

v0.30.0 (2020-08-18)

  • Add ability to return default value on get but breaking get’s API
  • Support an arbitrary collection of keys, not just a list

v0.30 (2020-06-10)

v0.29.0 (2020-01-29)

  • added TLS support on #211 thanks to @moisesguimaraes!

v0.28.0 (2018-10-02)

  • moved bmemcached.Client to bmemcached.ReplicantClient but keeps backward compatibility
  • added DistributedClient to distribute keys over servers using consistent hashing

v0.27.0 (2018-08-10)

0.26.1 (2017-07-18)

0.26.0 (2017-01-13)

0.25.0 (2016-12-15)

0.24.7 (2016-11-08)

0.24.2 (2014-05-27)

0.24.1 (2014-05-20)

0.24 (2014-04-28)

0.23 (2014-04-18)

v0.18 (2013-05-06)

v0.17 (2013-04-15)

Project details

Download files

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

Source Distribution

python-binary-memcached-0.31.1.tar.gz (95.9 kB view hashes)

Uploaded source

Built Distribution

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page