- update to 1.3.3:
* Added support for an additional pymemcached client parameter
PyMemcacheBackend.memcached_expire_time
* Fixed the return type for CacheRegion.get(), which was
inadvertently hardcoded to use CacheReturnType that only
resolved to CachedValue or NoValue. Fixed to return
ValuePayload which resolves to Any, as well as a new literal
indicating an enum constant for :data:.api.NO_VALUE. The
:data:.api.NO_VALUE constant remains available as the single
element of this enum.
OBS-URL: https://build.opensuse.org/request/show/1172118
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-dogpile.cache?expand=0&rev=43
* Added support for an additional pymemcached client parameter
PyMemcacheBackend.memcached_expire_time
* Fixed the return type for CacheRegion.get(), which was
inadvertently hardcoded to use CacheReturnType that only
resolved to CachedValue or NoValue. Fixed to return
ValuePayload which resolves to Any, as well as a new literal
indicating an enum constant for :data:.api.NO_VALUE. The
:data:.api.NO_VALUE constant remains available as the single
element of this enum.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-dogpile.cache?expand=0&rev=89
- update to 1.3.0:
* Added new method :meth:`.CacheRegion.get_value_metadata`
which can be used to get a value from the cache along with
its metadata, including timestamp of when the value was cached.
The :class:`.CachedValue` object is returned which features
new accessors to retrieve cached time and current age.
* Minimum Python version is now Python 3.8; prior versions
Python 3.7 and 3.6 are EOL.
* Project setup is now based on pep-621 ``pyproject.toml``
configuration.
* rereleae, no changes
* rerelease, no changes
- fix build for older distributions with old default-pytest
- skip building against python 3.6
* supports Unix platforms.
- Initial package (0.5.0)
OBS-URL: https://build.opensuse.org/request/show/1135448
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-dogpile.cache?expand=0&rev=39
* Added new method :meth:`.CacheRegion.get_value_metadata`
which can be used to get a value from the cache along with
its metadata, including timestamp of when the value was cached.
The :class:`.CachedValue` object is returned which features
new accessors to retrieve cached time and current age.
* Minimum Python version is now Python 3.8; prior versions
Python 3.7 and 3.6 are EOL.
* Project setup is now based on pep-621 ``pyproject.toml``
configuration.
* rereleae, no changes
* rerelease, no changes
- fix build for older distributions with old default-pytest
- skip building against python 3.6
* supports Unix platforms.
- Initial package (0.5.0)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-dogpile.cache?expand=0&rev=81
- update to 1.1.8:
* Moved the MemcacheArgs.dead_retry argument and the
MemcacheArgs.socket_timeout argument which were erroneously added to the
“set_parameters”, where they have no effect, to be part of the Memcached
connection arguments MemcachedBackend.dead_retry,
MemcachedBackend.socket_timeout.
* Added MemcacheArgs.dead_retry and MemcacheArgs.socket_timeout to the
dictionary of additional keyword arguments that will be passed directly to
GenericMemcachedBackend().
* Added RedisBackend.connection_kwargs parameter, which is a dictionary of
additional keyword arguments that will be passed directly to StrictRedis() or
StrictRedis.from_url(), in the same way that this parameter works with the
RedisSentinelBackend already
OBS-URL: https://build.opensuse.org/request/show/990239
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-dogpile.cache?expand=0&rev=35
* Moved the MemcacheArgs.dead_retry argument and the
MemcacheArgs.socket_timeout argument which were erroneously added to the
“set_parameters”, where they have no effect, to be part of the Memcached
connection arguments MemcachedBackend.dead_retry,
MemcachedBackend.socket_timeout.
* Added MemcacheArgs.dead_retry and MemcacheArgs.socket_timeout to the
dictionary of additional keyword arguments that will be passed directly to
GenericMemcachedBackend().
* Added RedisBackend.connection_kwargs parameter, which is a dictionary of
additional keyword arguments that will be passed directly to StrictRedis() or
StrictRedis.from_url(), in the same way that this parameter works with the
RedisSentinelBackend already
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-dogpile.cache?expand=0&rev=73
- Update to 1.1.4:
* [usecase] [memcached] Added support for pymemcache socket keepalive
and retrying client.
* [bug] [general] Fixed Python 3.10 deprecation warning involving
threading. Pull request
* [bug] [regression] [tests] Repaired the test suite to work with the
5.x series of the decorator module, which now appears to make use of
the __signature__ attribute.
* [bug] [regression] Fixed regression where ProxyBackend was missing
several methods that were added as part of the 1.1 release.
* [feature] [region] Added new region method CacheRegion.key_is_locked().
Returns True if the given key is subject to the dogpile lock, which
would indicate that the generator function is running at that time.
* [feature] [memcached] Added support for the pymemcache backend, using
the "dogpile.cache.pymemcache" backend identifier.
OBS-URL: https://build.opensuse.org/request/show/916952
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-dogpile.cache?expand=0&rev=32
* [usecase] [memcached] Added support for pymemcache socket keepalive
and retrying client.
* [bug] [general] Fixed Python 3.10 deprecation warning involving
threading. Pull request
* [bug] [regression] [tests] Repaired the test suite to work with the
5.x series of the decorator module, which now appears to make use of
the __signature__ attribute.
* [bug] [regression] Fixed regression where ProxyBackend was missing
several methods that were added as part of the 1.1 release.
* [feature] [region] Added new region method CacheRegion.key_is_locked().
Returns True if the given key is subject to the dogpile lock, which
would indicate that the generator function is running at that time.
* [feature] [memcached] Added support for the pymemcache backend, using
the "dogpile.cache.pymemcache" backend identifier.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-dogpile.cache?expand=0&rev=69
- Fixed regression where the serialization and deserialization
functions could be inadvertently turned into instance methods with
an unexpected argument signature, namely when pickle.dumps and
pickle.loads are the pure Python version as is the case in pypy.
- Reworked the means by which values are serialized and deserialized
from backends, and provided for custom serialization of values.
Added the CacheRegion.serializer and CacheRegion.deserializer
parameters which may be set to any serializer.
- Serialization and deserialization now take place within the
CacheRegion so that backends may now assume string values in all
cases. This simplifies the existing backends and also makes custom
backends easier to write and maintain.
- Additionally, the serializer is now applied to the user-defined
value portion of the CachedValue and not to the metadata or other
portions of CachedValue object itself, so the serialized portion is
effectively a "payload" within the larger CachedValue structure that
is passed as part of the larger string format. The overall format is
a separate JSON of the cached value metadata, followed by the
serialized form. This allows for end-user serialization schemes that
are hardwired to the values themselves without the need to serialize
dogpile's internal structures as well.
- Existing custom backends should continue to work without issue; they
now have the option to forego any separate serialization steps, and
can also subclass a new backend BytesBackend that marks them as
a backend that only deals with bytes coming in and out; all internal
serialization logic from such a backend can be removed.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-dogpile.cache?expand=0&rev=60
* Added support for TLS connections to the bmemcached backend.
* dogpile.cache 1.0.0 was released with a minimum Python version of 3.5.
However, due to a dependency issue, the minimum version is now Python 3.6.
* Removed the "universal=1" directive from setup.cfg as this would create
py2/py3 wheels. dogpile 1.0.x is Python 3 only so a py3-only wheel is now
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-dogpile.cache?expand=0&rev=58
- update to 0.9.2:
Ensured that the "pyproject.toml" file is not included in builds, as the
presence of this file indicates to pip that a pep-517 installation process
should be used. As this mode of operation appears to be not well supported
by current tools / distros, these problems are avoided within the scope of
dogpile.cache installation by omitting the file.
Added option to the Redis backend
:paramref:`.RedisBackend.thread_local_lock`, which when set to False will
disable the use of a threading local by the ``redis`` module in its
distributed lock service, which is known to interfere with the lock's
behavior when used in an "async" use case, within dogpile this would be
when using the :paramref:`.CacheRegion.async_creation_runner` feature. The
default is conservatively being left at True, but it's likely this should
be set to False in all cases, so a warning is emitted if this flag is not
set to False in conjunction with the distributed lock. Added an optional
argument to :class:`.RedisBackend` that specifies whether or not a
thread-local Redis lock should be used. This is the default, but it breaks
asynchronous runner compatibility.
OBS-URL: https://build.opensuse.org/request/show/810916
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-dogpile.cache?expand=0&rev=24
Ensured that the "pyproject.toml" file is not included in builds, as the
presence of this file indicates to pip that a pep-517 installation process
should be used. As this mode of operation appears to be not well supported
by current tools / distros, these problems are avoided within the scope of
dogpile.cache installation by omitting the file.
Added option to the Redis backend
:paramref:`.RedisBackend.thread_local_lock`, which when set to False will
disable the use of a threading local by the ``redis`` module in its
distributed lock service, which is known to interfere with the lock's
behavior when used in an "async" use case, within dogpile this would be
when using the :paramref:`.CacheRegion.async_creation_runner` feature. The
default is conservatively being left at True, but it's likely this should
be set to False in all cases, so a warning is emitted if this flag is not
set to False in conjunction with the distributed lock. Added an optional
argument to :class:`.RedisBackend` that specifies whether or not a
thread-local Redis lock should be used. This is the default, but it breaks
asynchronous runner compatibility.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-dogpile.cache?expand=0&rev=54
- Update to 0.8.0
* Replaced the Python compatbility routines for ``getfullargspec()`` with a
fully vendored version from Python 3.3. Originally, Python was emitting
deprecation warnings for this function in Python 3.8 alphas. While this
change was reverted, it was observed that Python 3 implementations for
``getfullargspec()`` are an order of magnitude slower as of the 3.4 series
where it was rewritten against ``Signature``. While Python plans to
improve upon this situation, SQLAlchemy projects for now are using a simple
replacement to avoid any future issues.
* Pinned minimum version of Python decorator module at 4.0.0.
* Fixed the :func:`.sha1_mangle_key` key mangler to coerce incoming Unicode
objects into bytes.
OBS-URL: https://build.opensuse.org/request/show/735293
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-dogpile.cache?expand=0&rev=50
- update to 0.6.8:
* Project hosting has moved to GitHub, under the SQLAlchemy
organization at https://github.com/sqlalchemy/dogpile.cache
* Fixed issue in the :meth:`.CacheRegion.get_or_create_multi` method which
was erroneously considering the cached value as the timestamp field if the
:meth:`.CacheRegion.invalidate` method had ben used, usually causing a
``TypeError`` to occur, or in less frequent cases an invalid result for
whether or not the cached value was invalid, leading to excessive caching
or regeneration. The issue was a regression caused by an implementation
issue in the pluggable invalidation feature added in 🎫`38`.
- Remove superfluous devel dependency for noarch package
OBS-URL: https://build.opensuse.org/request/show/655471
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-dogpile.cache?expand=0&rev=20