NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2394 most downloaded on PyPI
A comprehensive, fast, pure Python memcached client
Last release 4 years ago
no release in 18 months
Release timing varies
gaps range from 3 weeks to 7 months
Most releases are documented
notes for 35 of 55 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
55 releases · first in 2013
Drop python support for 2.7, 3.4 and 3.5 by @jogo in #321
Full Changelog: v3.5.0...v4.0.0
One column per quarter.
Handle blank STAT values.
STAT values. (#388)Client.get returns the default when using ignore_exc and if memcached is unavailable.
Client.get returns the default when using ignore_exc and if memcached is unavailable.noreply support to HashClient.flush_all.Sockets are now closed on MemcacheUnexpectedCloseError .
MemcacheUnexpectedCloseError.Idle connections will be removed from the pool after pool_idle_timeout .
pool_idle_timeout. (#309)Fix HashClient.{get,set}_many() with UNIX sockets.
HashClient.{get,set}_many() with UNIX sockets. (#314)Remove trailing space for commands that don't take arguments, such as stats . This was a violation of the memcached protocol.
stats. This was a violation of the memcached protocol. (#311)CAS operations will now raise MemcacheIllegalInputError when None is given as the cas value.
MemcacheIllegalInputError when None is given as the cas value.Added IPv6 support for TCP socket connections.
HashClient now supports UNIX sockets.Added IPv6 support for TCP socket connections. Note that IPv6 may be used in preference to IPv4 when passing a domain name as the host if an IPv6 address can be resolved for that domain.
HashClient now supports UNIX sockets.
HashClient can now be imported from the top-level pymemcache package (e.g. pymemcache.HashClient ).
HashClient can now be imported from the top-level pymemcache package (e.g. pymemcache.HashClient).HashClient.get_many() now longer stores False for missing keys from unavailable clients. Instead, the result won't contain the key at all.HashClient.close() and HashClient.quit().PooledClient and HashClient now support custom Client classes
PooledClient and HashClient now support custom Client classes
Improve MockMemcacheClient to behave even more like Client
Improve MockMemcacheClient to behave even more like Client
Add TLS support for TCP sockets.
Add TLS support for TCP sockets.
Fix corner case when dead hashed server comes back alive.
Make MockMemcacheClient more consistent with the real client.
Make MockMemcacheClient more consistent with the real client.
Pass encoding from HashClient to its pooled clients when use_pooling is enabled.
(serialize and deserialize are still supported but considered deprecated.)
The serialization API has been reworked. Instead of consuming a serializer and deserializer as separate arguments, client objects now expect an argument serde to be an object which implements serialize and deserialize as methods. (serialize and deserialize are still supported but considered deprecated.)
Validate integer inputs for expire, delay, incr, decr, and memlimit -- non-integer values now raise MemcacheIllegalInputError
Validate inputs for cas -- values which are not integers or strings of 0-9 now raise MemcacheIllegalInputError
Add prepend and append support to MockMemcacheClient.
Add the touch method to HashClient.
Added official support for Python 3.8.
Fix long_description string in Python packaging.
Fix long_description string in Python packaging.
Fix flags when setting multiple differently-typed values at once.
Fix flags when setting multiple differently-typed values at once.
Drop official support for Python 3.4.
Drop official support for Python 3.4.
Use setup.cfg metadata instead setup.py config to generate package.
Add default_noreply parameter to HashClient.
Add encoding parameter to Client constructors (defaults to ascii).
Add flags parameter to write operation methods.
Handle unicode key values in MockMemcacheClient correctly.
Improve ASCII encoding failure exception.
Fix setup.py dependency on six already being installed.
Fix setup.py dependency on six already being installed.
Public classes and exceptions can now be imported from the top-level pymemcache package (e.g. pymemcache.Client). #197 _
Public classes and exceptions can now be imported from the top-level pymemcache package (e.g. pymemcache.Client). #197
Add UNIX domain socket support and document server connection options. #206
Add support for the cache_memlimit command. #211
Commands key are now always sent in their original order. #209
Change set_many and set_multi api return value. #179 _
Change set_many and set_multi api return value. #179
Fix support for newbytes from python-future. #187
Add support for Python 3.7, and drop support for Python 3.3
Properly batch Client.set_many() call. #182
Improve _check_key() and _store_cmd() performance. #183
Properly batch Client.delete_many() call. #184
Add option to explicitly set pickle version used by serde. #190
Have mockmemcacheclient support non-ascii strings
pypy3 to travis test matrix
full benchmarks in test
fix flake8 issues
Have mockmemcacheclient support non-ascii strings
Switch from using pickle format 0 to the highest available version. See #156
Warning: different versions of python have different highest pickle versions: https://docs.python.org/3/library/pickle.html
Fixed cachedump stats command, see #103 _
Documentation improvements
Fixed cachedump stats command, see #103
Honor default_value in HashClient
Drop support for python 2.6, see #109 _
Drop support for python 2.6, see #109
Python 3 serializations fixes #131 _
Python 3 serializations fixes #131
Drop support for pypy3
Comment cleanup
Add gets_many to hash_client
Better checking for illegal chars in key
Unicode keys support. It is now possible to pass the flag allow_unicode_keys when creating the clients, thanks @jogo!
Unicode keys support. It is now possible to pass the flag allow_unicode_keys when creating the clients, thanks @jogo!
Fixed a bug where PooledClient wasn't following default_noreply arg set on init, thanks @kols!
Improved documentation
use cpickle instead of pickle when possible (python2)
use cpickle instead of pickle when possible (python2)
default parameter on get(key, default=0)
default parameter on get(key, default=0)
fixed docs to autogenerate themselves with sphinx
fix linter to work with python3
improve error message on illegal Input for the key
refactor stat parsing
fix MockMemcacheClient
fix unicode char in middle of key bug
Fix security vulnerability by sanitizing key input
Fix flake8 and cleanup tox building
Fix security vulnerability by sanitizing key input
Bug fix for HashClient when retries is set to zero.
Bug fix for HashClient when retries is set to zero.
Adding the VERSION command to the clients.
Bug fix for the HashClient that corrects behavior when there are no working servers.
Bug fix for the HashClient that corrects behavior when there are no working servers.
Adding caching to the Travis build.
Adding caching to the Travis build.
A bug fix for pluggable hashing in HashClient.
Adding a default_noreply argument to the Client ctor.
Making the location of Memcache Exceptions backwards compatible.
Making the location of Memcache Exceptions backwards compatible.
Nothing published for this version
Introduced HashClient that uses consistent hasing for allocating keys across many memcached nodes. It also can detect servers going down and rebalance
Python 3 Support
Introduced HashClient that uses consistent hasing for allocating keys across many memcached nodes. It also can detect servers going down and rebalance keys across the available nodes.
Retry sock.recv() when it raises EINTR
Introduced PooledClient a thread-safe pool of clients
Introduced PooledClient a thread-safe pool of clients
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →