16 Commits

Author SHA256 Message Date
001a3b437b Accepting request 1289331 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1289331
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-redis?expand=0&rev=46
2025-07-02 10:07:16 +00:00
00033c1c02 - Added test_add_elem_no_quant.patch to fix test on 32 bit archs.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-redis?expand=0&rev=104
2025-06-30 17:18:57 +00:00
2c023a5f18 Accepting request 1285097 from devel:languages:python
- Remove not needed pytest.ini source file.

- Update to 6.2.0:
  * https://github.com/redis/redis-py/releases/tag/v6.2.0
  * https://github.com/redis/redis-py/releases/tag/v6.1.0
  * https://github.com/redis/redis-py/releases/tag/v6.0.0
  * https://github.com/redis/redis-py/releases/tag/v5.3.0
- Drop pytest-asyncio-045.patch
  * Fixed upstream
- Add remove-mock.patch
  * Use built-in unittest.mock
- Don't remove test_graph.py
  * The test was dropped upstream
- Add new python-redis-entraid and pytest-mock dependencies for tests
- Add new hatchling build requirement
  * Remove setuptools which is no longer needed
- Move test suite to separate flavor to avoid dependency cycle with
  python-redis-entraid
  * Add _multibuild
  * Move some dependencies that were only needed for tests to the new
    flavor
- Update skipped test list due to gh#python/cpython#70654
  * Skip test_re_auth_pub_sub_in_resp3
  * Skip test_do_not_re_auth_pub_sub_in_resp2

OBS-URL: https://build.opensuse.org/request/show/1285097
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-redis?expand=0&rev=45
2025-06-13 16:42:23 +00:00
61fd43c670 - Remove not needed pytest.ini source file.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-redis?expand=0&rev=102
2025-06-12 10:31:30 +00:00
781b825bb1 Tests depend on https://build.opensuse.org/request/show/1284860
- Update to 6.2.0:
  * https://github.com/redis/redis-py/releases/tag/v6.2.0
  * https://github.com/redis/redis-py/releases/tag/v6.1.0
  * https://github.com/redis/redis-py/releases/tag/v6.0.0
  * https://github.com/redis/redis-py/releases/tag/v5.3.0
- Drop pytest-asyncio-045.patch
  * Fixed upstream
- Add remove-mock.patch
  * Use built-in unittest.mock
- Don't remove test_graph.py
  * The test was dropped upstream
- Add new python-redis-entraid and pytest-mock dependencies for tests
- Add new hatchling build requirement
  * Remove setuptools and wheel which is longer needed
- Move test suite to separate flavor to avoid dependency cycle with
  python-redis-entraid
  * Add _multibuild
  * Move some dependencies that were only needed for tests to the new
    flavor
- Update skipped test list due to gh#python/cpython#70654
  * Skip test_re_auth_pub_sub_in_resp3
  * Skip test_do_not_re_auth_pub_sub_in_resp2

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-redis?expand=0&rev=101
2025-06-12 08:01:07 +00:00
66f2e090bd Accepting request 1245617 from devel:languages:python
- Add pytest-asyncio-045.patch to make tests compatible with latest
  python-pytest-asyncio
- Update to 5.2.1:
  * Fixed unsecured tempfile.mktemp() command usage (#3446)
  * Fixed bug with SLOWLOG GET response parsing on Redis Software (#3441)
  * Fixed issue with invoking _close() on closed event loop (#3438)
  * Migrate test infrastructure to new custom docker images (#3415)
  * Fixed flacky test with HEXPIREAT command (#3437)

OBS-URL: https://build.opensuse.org/request/show/1245617
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-redis?expand=0&rev=44
2025-02-14 18:19:23 +00:00
bf392c8de4 - Add pytest-asyncio-045.patch to make tests compatible with latest
python-pytest-asyncio

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-redis?expand=0&rev=99
2025-02-13 11:52:23 +00:00
8ad4f46272 - Update to 5.2.1:
* Fixed unsecured tempfile.mktemp() command usage (#3446)
  * Fixed bug with SLOWLOG GET response parsing on Redis Software (#3441)
  * Fixed issue with invoking _close() on closed event loop (#3438)
  * Migrate test infrastructure to new custom docker images (#3415)
  * Fixed flacky test with HEXPIREAT command (#3437)

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-redis?expand=0&rev=98
2025-02-13 11:00:13 +00:00
829c2607f6 Accepting request 1227113 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1227113
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-redis?expand=0&rev=43
2024-11-28 23:08:46 +00:00
665c3bd84d Accepting request 1227109 from home:bnavigator:branches:devel:languages:python:numeric
- Pin tests to pytest-asyncio < 0.24
- Only require async-timeout for older pythons

OBS-URL: https://build.opensuse.org/request/show/1227109
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-redis?expand=0&rev=96
2024-11-28 11:37:49 +00:00
535987f9b7 Accepting request 1225386 from devel:languages:python
- update to 5.2.0:
  * Extend AggregateRequest with scorer argument

OBS-URL: https://build.opensuse.org/request/show/1225386
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-redis?expand=0&rev=42
2024-11-21 14:13:30 +00:00
29e25a2bd1 - update to 5.2.0:
* Extend AggregateRequest with scorer argument

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-redis?expand=0&rev=94
2024-11-20 17:54:33 +00:00
61a0af18ec Accepting request 1206271 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1206271
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-redis?expand=0&rev=41
2024-10-09 20:03:06 +00:00
bf9a7819c2 Accepting request 1206182 from home:ateixeira:branches:server:database
- Update to 5.1.1
  https://github.com/redis/redis-py/releases/tag/v5.1.1
  https://github.com/redis/redis-py/releases/tag/v5.1.0
  https://github.com/redis/redis-py/releases/tag/v5.0.9
- Skip test_asyncio/test_commands.py, fails in OBS but passes locally
- Use --enable-debug-command and --enable-module-command for valkey 8.x.x

OBS-URL: https://build.opensuse.org/request/show/1206182
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-redis?expand=0&rev=92
2024-10-08 09:01:51 +00:00
edcbaf7bc8 Accepting request 1190532 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1190532
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-redis?expand=0&rev=40
2024-08-01 20:03:19 +00:00
9cf2caf23d Accepting request 1190500 from home:darix:apps
- replace with pypi tarball again

- Fix filelist

- Update to 5.0.8
  Required update to support Redis 7.4.0
  https://github.com/redis/redis-py/releases/tag/v5.0.8
  https://github.com/redis/redis-py/releases/tag/v5.0.7
  https://github.com/redis/redis-py/releases/tag/v5.0.6
  https://github.com/redis/redis-py/releases/tag/v5.0.5
  https://github.com/redis/redis-py/releases/tag/v5.0.4
  https://github.com/redis/redis-py/releases/tag/v5.0.3
  https://github.com/redis/redis-py/releases/tag/v5.0.2
- drop Close-various-objects-created-during-asyncio-tests.patch
  included in update
- New BR numpy for the testsuite

OBS-URL: https://build.opensuse.org/request/show/1190500
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-redis?expand=0&rev=90
2024-07-30 20:08:36 +00:00
6 changed files with 18 additions and 126 deletions

View File

@@ -1,50 +1,3 @@
-------------------------------------------------------------------
Mon Nov 3 03:55:06 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 7.0.1: (bsc#1252957)
* New Features
+ Support for maintenance push notifications handling during server
upgrade or maintenance procedures.
+ Adding WITHATTRIBS option to vector set's vsim command.
+ Adding ssl_verify_flags_config argument for ssl connection
configuration
+ Adding new ExternalAuthProviderError that will be raised when we
receive 'problem with LDAP service' response from server.
* Experimental Features
+ Multi-database client implementation
* Breaking changes
+ Adding abstract method declaration for cache property setter in
EvictionPolicyInterface
+ Removing synchronous context manager handling from async RedisCluster.
+ Removing the threading.Lock locks and replacing them with RLock objects
to avoid deadlocks.
+ Adding score_cast_func argument to zrank, zrevrank and zunion - for
consistency with the other sorted sets commands
- Refreshed patch remove-mock.patch
-------------------------------------------------------------------
Tue Sep 30 12:33:11 UTC 2025 - Dirk Müller <dmueller@suse.com>
- update to 6.4.0:
* Added epsilon property to the vsim command
- update to 6.3.0:
* Add support for new BITOP operations: DIFF, DIFF1, ANDOR, ONE
* Support new VAMANA vector index type
* Add new stream commands
* add async Retry __eq__ and __hash__ & fix
ExponentialWithJitterBackoff __eq__
* Fixing sentinel command execution to allow returning of
actual responses when meaningful - behaviour controlled by
'return_responses' argument.
* Annotate deprecated_args decorator to preserve wrapped
function type signature
* Fix ConnectionPool to raise MaxConnectionsError instead of
Connection…
* add async Retry __eq__ and __hash__ & fix
ExponentialWithJitterBackoff __eq__
* SentinelManagedConnection searches for new master upon
connection failure (#3560)
-------------------------------------------------------------------
Mon Jun 30 16:54:24 UTC 2025 - Илья Индиго <ilya@ilya.top>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-redis
#
# Copyright (c) 2025 SUSE LLC and contributors
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -29,16 +29,13 @@
%{?sle15_python_module_pythons}
Name: python-redis%{psuffix}
Version: 7.0.1
Version: 6.2.0
Release: 0
Summary: Python client for Redis key-value store
License: MIT
URL: https://github.com/redis/redis-py
Source0: https://files.pythonhosted.org/packages/source/r/redis/redis-%{version}.tar.gz
# Based on https://github.com/redis/redis-py/blob/master/dockers/sentinel.conf
Source1: sentinel.conf
Patch0: increase-test-timeout.patch
# PATCH-FIX-UPSTREAM Based on gh#redis/redis-py#3830
Patch1: remove-mock.patch
Patch2: test_add_elem_no_quant.patch
BuildRequires: %{python_module async-timeout >= 4.0.2 if %python-base < 3.11.3}
@@ -52,7 +49,6 @@ BuildRequires: fdupes
BuildRequires: psmisc
BuildRequires: python-rpm-macros
%if %{with test}
BuildRequires: %{python_module pybreaker >= 1.4}
BuildRequires: %{python_module pytest-asyncio}
BuildRequires: %{python_module pytest-cov}
BuildRequires: %{python_module pytest-mock}
@@ -108,13 +104,11 @@ rm tests/test_timeseries.py
%{_sbindir}/redis-server --version | grep ' v=[78]\.' && redis7args="--enable-debug-command yes --enable-module-command yes"
%{_sbindir}/redis-server --port 6379 --save "" $redis7args &
victims="$!"
trap "kill $victims || true" EXIT
sleep 2
# replica
%{_sbindir}/redis-server --port 6380 --save "" --replicaof localhost 6379 &
victims="$victims $!"
# sentinel
cp %{SOURCE1} .
%{_sbindir}/redis-sentinel sentinel.conf &
victims="$victims $!"
trap "kill $victims || true" EXIT
sleep 2
# onlycluster: skip tests which require a full cluster
@@ -129,11 +123,7 @@ donttest="$donttest or test_xautoclaim"
donttest+=" or test_re_auth_pub_sub_in_resp3 or test_do_not_re_auth_pub_sub_in_resp2"
# gh#redis/redis-py#2679
donttest+=" or test_acl_getuser_setuser or test_acl_log"
# Requires more set up of an endpoint
donttest+=" or TestPushNotifications"
# Requires more sentinel services running
donttest+=" or test_get_sentinels or test_get_master_addr_by_name"
%pytest -m 'not (onlycluster or redismod or ssl or graph)' -k "not ($donttest)" --ignore tests/test_ssl.py --ignore tests/test_asyncio/test_scenario --ignore tests/test_scenario/test_active_active.py --redis-url=redis://localhost:6379/
%pytest -m 'not (onlycluster or redismod or ssl or graph)' -k "not ($donttest)" --ignore tests/test_ssl.py --ignore tests/test_asyncio/test_cluster.py --redis-url=redis://localhost:6379/
%endif
%if %{without test}

3
redis-6.2.0.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e821f129b75dde6cb99dd35e5c76e8c49512a5a0d8dfdc560b2fbd44b85ca977
size 4639129

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c949df947dca995dc68fdf5a7863950bf6df24f8d6022394585acc98e81624f1
size 4755322

View File

@@ -1,72 +1,26 @@
From fa9c6df7975a7105d265c7e05cc84391060f9478 Mon Sep 17 00:00:00 2001
From: Steve Kowalik <steven@wedontsleep.org>
Date: Mon, 3 Nov 2025 13:56:52 +1100
Subject: [PATCH] Remove last vestiges of mock.mock
With the minimum Python version now being high enough to drop the usage
of the external mock module, switch to unittest.mock everywhere.
---
dev_requirements.txt | 2 --
tests/test_asyncio/test_credentials.py | 2 +-
tests/test_asyncio/test_multidb/test_healthcheck.py | 3 ++-
tests/test_credentials.py | 2 +-
4 files changed, 4 insertions(+), 5 deletions(-)
Index: redis-7.0.1/dev_requirements.txt
Index: b/tests/test_asyncio/test_credentials.py
===================================================================
--- redis-7.0.1.orig/dev_requirements.txt
+++ redis-7.0.1/dev_requirements.txt
@@ -2,8 +2,6 @@ build
build==1.2.2.post1 ; platform_python_implementation == "PyPy" or python_version < "3.10"
click==8.0.4
invoke==2.2.0
-mock
-mock==5.1.0 ; platform_python_implementation == "PyPy" or python_version < "3.10"
packaging>=20.4
packaging==24.2 ; platform_python_implementation == "PyPy" or python_version < "3.10"
Index: redis-7.0.1/tests/test_asyncio/test_credentials.py
===================================================================
--- redis-7.0.1.orig/tests/test_asyncio/test_credentials.py
+++ redis-7.0.1/tests/test_asyncio/test_credentials.py
@@ -4,11 +4,11 @@ import string
from asyncio import Lock as AsyncLock
from asyncio import sleep as async_sleep
from typing import Optional, Tuple, Union
+from unittest.mock import Mock, call
--- a/tests/test_asyncio/test_credentials.py
+++ b/tests/test_asyncio/test_credentials.py
@@ -8,7 +8,7 @@ from typing import Optional, Tuple, Unio
import pytest
import pytest_asyncio
import redis
-from mock.mock import Mock, call
+from unittest.mock import Mock, call
from redis import AuthenticationError, DataError, RedisError, ResponseError
from redis.asyncio import Connection, ConnectionPool, Redis
from redis.asyncio.retry import Retry
Index: redis-7.0.1/tests/test_asyncio/test_multidb/test_healthcheck.py
Index: b/tests/test_credentials.py
===================================================================
--- redis-7.0.1.orig/tests/test_asyncio/test_multidb/test_healthcheck.py
+++ redis-7.0.1/tests/test_asyncio/test_multidb/test_healthcheck.py
@@ -1,5 +1,6 @@
+from unittest.mock import AsyncMock, Mock
+
import pytest
-from mock.mock import AsyncMock, Mock
from redis.asyncio.multidb.database import Database
from redis.asyncio.multidb.healthcheck import (
Index: redis-7.0.1/tests/test_credentials.py
===================================================================
--- redis-7.0.1.orig/tests/test_credentials.py
+++ redis-7.0.1/tests/test_credentials.py
@@ -4,10 +4,10 @@ import string
import threading
from time import sleep
from typing import Optional, Tuple, Union
+from unittest.mock import Mock, call
--- a/tests/test_credentials.py
+++ b/tests/test_credentials.py
@@ -7,7 +7,7 @@ from typing import Optional, Tuple, Unio
import pytest
import redis
-from mock.mock import Mock, call
+from unittest.mock import Mock, call
from redis import AuthenticationError, DataError, Redis, ResponseError
from redis.auth.err import RequestTokenErr
from redis.backoff import NoBackoff

View File

@@ -1,5 +0,0 @@
sentinel resolve-hostnames yes
sentinel monitor redis-py-test localhost 6379 2
sentinel down-after-milliseconds redis-py-test 5000
sentinel failover-timeout redis-py-test 60000
sentinel parallel-syncs redis-py-test 1