summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-10 07:35:49 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-10 07:35:49 +0000
commit9247d14b2a67f058a8eb178d99db4ebadbae268c (patch)
tree63242b98c69a1e0d5bf2f8388799cb788e30605a
parentb512540a1c2a9d012f21e63dd08d00876268aef3 (diff)
automatic import of python-redis
-rw-r--r--.gitignore1
-rw-r--r--python-redis.spec307
-rw-r--r--sources1
3 files changed, 309 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..8696ede 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/redis-4.5.4.tar.gz
diff --git a/python-redis.spec b/python-redis.spec
new file mode 100644
index 0000000..f80b278
--- /dev/null
+++ b/python-redis.spec
@@ -0,0 +1,307 @@
+%global _empty_manifest_terminate_build 0
+Name: python-redis
+Version: 4.5.4
+Release: 1
+Summary: Python client for Redis database and key-value store
+License: MIT
+URL: https://github.com/redis/redis-py
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/15/00/141ee6abca8d32448b23539e8f0e74091842c30ef357b636b372e2606aa9/redis-4.5.4.tar.gz
+BuildArch: noarch
+
+Requires: python3-importlib-metadata
+Requires: python3-typing-extensions
+Requires: python3-async-timeout
+Requires: python3-hiredis
+Requires: python3-cryptography
+Requires: python3-pyopenssl
+Requires: python3-requests
+
+%description
+## Installation
+Start a redis via docker:
+``` bash
+docker run -p 6379:6379 -it redis/redis-stack:latest
+```
+To install redis-py, simply:
+``` bash
+$ pip install redis
+```
+For faster performance, install redis with hiredis support, this provides a compiled response parser, and *for most cases* requires zero code changes.
+By default, if hiredis >= 1.0 is available, redis-py will attempt to use it for response parsing.
+``` bash
+$ pip install "redis[hiredis]"
+```
+Looking for a high-level library to handle object mapping? See [redis-om-python](https://github.com/redis/redis-om-python)!
+## Supported Redis Versions
+The most recent version of this library supports redis version [5.0](https://github.com/redis/redis/blob/5.0/00-RELEASENOTES), [6.0](https://github.com/redis/redis/blob/6.0/00-RELEASENOTES), [6.2](https://github.com/redis/redis/blob/6.2/00-RELEASENOTES), and [7.0](https://github.com/redis/redis/blob/7.0/00-RELEASENOTES).
+The table below higlights version compatibility of the most-recent library versions and redis versions.
+| Library version | Supported redis versions |
+|-----------------|-------------------|
+| 3.5.3 | <= 6.2 Family of releases |
+| >= 4.1.0 | Version 5.0 to current |
+## Usage
+### Basic Example
+``` python
+>>> import redis
+>>> r = redis.Redis(host='localhost', port=6379, db=0)
+>>> r.set('foo', 'bar')
+True
+>>> r.get('foo')
+b'bar'
+```
+The above code connects to localhost on port 6379, sets a value in Redis, and retrieves it. All responses are returned as bytes in Python, to receive decoded strings, set *decode_responses=True*. For this, and more connection options, see [these examples](https://redis.readthedocs.io/en/stable/examples.html).
+### Connection Pools
+By default, redis-py uses a connection pool to manage connections. Each instance of a Redis class receives its own connection pool. You can however define your own [redis.ConnectionPool](https://redis.readthedocs.io/en/stable/connections.html#connection-pools).
+``` python
+>>> pool = redis.ConnectionPool(host='localhost', port=6379, db=0)
+>>> r = redis.Redis(connection_pool=pool)
+```
+Alternatively, you might want to look at [Async connections](https://redis.readthedocs.io/en/stable/examples/asyncio_examples.html), or [Cluster connections](https://redis.readthedocs.io/en/stable/connections.html#cluster-client), or even [Async Cluster connections](https://redis.readthedocs.io/en/stable/connections.html#async-cluster-client).
+### Redis Commands
+There is built-in support for all of the [out-of-the-box Redis commands](https://redis.io/commands). They are exposed using the raw Redis command names (`HSET`, `HGETALL`, etc.) except where a word (i.e. del) is reserved by the language. The complete set of commands can be found [here](https://github.com/redis/redis-py/tree/master/redis/commands), or [the documentation](https://redis.readthedocs.io/en/stable/commands.html).
+## Advanced Topics
+The [official Redis command documentation](https://redis.io/commands)
+does a great job of explaining each command in detail. redis-py attempts
+to adhere to the official command syntax. There are a few exceptions:
+- **MULTI/EXEC**: These are implemented as part of the Pipeline class.
+ The pipeline is wrapped with the MULTI and EXEC statements by
+ default when it is executed, which can be disabled by specifying
+ transaction=False. See more about Pipelines below.
+- **SUBSCRIBE/LISTEN**: Similar to pipelines, PubSub is implemented as
+ a separate class as it places the underlying connection in a state
+ where it can\'t execute non-pubsub commands. Calling the pubsub
+ method from the Redis client will return a PubSub instance where you
+ can subscribe to channels and listen for messages. You can only call
+ PUBLISH from the Redis client (see [this comment on issue
+ #151](https://github.com/redis/redis-py/issues/151#issuecomment-1545015)
+ for details).
+For more details, please see the documentation on [advanced topics page](https://redis.readthedocs.io/en/stable/advanced_features.html).
+### Pipelines
+The following is a basic example of a [Redis pipeline](https://redis.io/docs/manual/pipelining/), a method to optimize round-trip calls, by batching Redis commands, and receiving their results as a list.
+``` python
+>>> pipe = r.pipeline()
+>>> pipe.set('foo', 5)
+>>> pipe.set('bar', 18.5)
+>>> pipe.set('blee', "hello world!")
+>>> pipe.execute()
+[True, True, True]
+```
+### PubSub
+The following example shows how to utilize [Redis Pub/Sub](https://redis.io/docs/manual/pubsub/) to subscribe to specific channels.
+``` python
+>>> r = redis.Redis(...)
+>>> p = r.pubsub()
+>>> p.subscribe('my-first-channel', 'my-second-channel', ...)
+>>> p.get_message()
+{'pattern': None, 'type': 'subscribe', 'channel': b'my-second-channel', 'data': 1}
+
+%package -n python3-redis
+Summary: Python client for Redis database and key-value store
+Provides: python-redis
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-redis
+## Installation
+Start a redis via docker:
+``` bash
+docker run -p 6379:6379 -it redis/redis-stack:latest
+```
+To install redis-py, simply:
+``` bash
+$ pip install redis
+```
+For faster performance, install redis with hiredis support, this provides a compiled response parser, and *for most cases* requires zero code changes.
+By default, if hiredis >= 1.0 is available, redis-py will attempt to use it for response parsing.
+``` bash
+$ pip install "redis[hiredis]"
+```
+Looking for a high-level library to handle object mapping? See [redis-om-python](https://github.com/redis/redis-om-python)!
+## Supported Redis Versions
+The most recent version of this library supports redis version [5.0](https://github.com/redis/redis/blob/5.0/00-RELEASENOTES), [6.0](https://github.com/redis/redis/blob/6.0/00-RELEASENOTES), [6.2](https://github.com/redis/redis/blob/6.2/00-RELEASENOTES), and [7.0](https://github.com/redis/redis/blob/7.0/00-RELEASENOTES).
+The table below higlights version compatibility of the most-recent library versions and redis versions.
+| Library version | Supported redis versions |
+|-----------------|-------------------|
+| 3.5.3 | <= 6.2 Family of releases |
+| >= 4.1.0 | Version 5.0 to current |
+## Usage
+### Basic Example
+``` python
+>>> import redis
+>>> r = redis.Redis(host='localhost', port=6379, db=0)
+>>> r.set('foo', 'bar')
+True
+>>> r.get('foo')
+b'bar'
+```
+The above code connects to localhost on port 6379, sets a value in Redis, and retrieves it. All responses are returned as bytes in Python, to receive decoded strings, set *decode_responses=True*. For this, and more connection options, see [these examples](https://redis.readthedocs.io/en/stable/examples.html).
+### Connection Pools
+By default, redis-py uses a connection pool to manage connections. Each instance of a Redis class receives its own connection pool. You can however define your own [redis.ConnectionPool](https://redis.readthedocs.io/en/stable/connections.html#connection-pools).
+``` python
+>>> pool = redis.ConnectionPool(host='localhost', port=6379, db=0)
+>>> r = redis.Redis(connection_pool=pool)
+```
+Alternatively, you might want to look at [Async connections](https://redis.readthedocs.io/en/stable/examples/asyncio_examples.html), or [Cluster connections](https://redis.readthedocs.io/en/stable/connections.html#cluster-client), or even [Async Cluster connections](https://redis.readthedocs.io/en/stable/connections.html#async-cluster-client).
+### Redis Commands
+There is built-in support for all of the [out-of-the-box Redis commands](https://redis.io/commands). They are exposed using the raw Redis command names (`HSET`, `HGETALL`, etc.) except where a word (i.e. del) is reserved by the language. The complete set of commands can be found [here](https://github.com/redis/redis-py/tree/master/redis/commands), or [the documentation](https://redis.readthedocs.io/en/stable/commands.html).
+## Advanced Topics
+The [official Redis command documentation](https://redis.io/commands)
+does a great job of explaining each command in detail. redis-py attempts
+to adhere to the official command syntax. There are a few exceptions:
+- **MULTI/EXEC**: These are implemented as part of the Pipeline class.
+ The pipeline is wrapped with the MULTI and EXEC statements by
+ default when it is executed, which can be disabled by specifying
+ transaction=False. See more about Pipelines below.
+- **SUBSCRIBE/LISTEN**: Similar to pipelines, PubSub is implemented as
+ a separate class as it places the underlying connection in a state
+ where it can\'t execute non-pubsub commands. Calling the pubsub
+ method from the Redis client will return a PubSub instance where you
+ can subscribe to channels and listen for messages. You can only call
+ PUBLISH from the Redis client (see [this comment on issue
+ #151](https://github.com/redis/redis-py/issues/151#issuecomment-1545015)
+ for details).
+For more details, please see the documentation on [advanced topics page](https://redis.readthedocs.io/en/stable/advanced_features.html).
+### Pipelines
+The following is a basic example of a [Redis pipeline](https://redis.io/docs/manual/pipelining/), a method to optimize round-trip calls, by batching Redis commands, and receiving their results as a list.
+``` python
+>>> pipe = r.pipeline()
+>>> pipe.set('foo', 5)
+>>> pipe.set('bar', 18.5)
+>>> pipe.set('blee', "hello world!")
+>>> pipe.execute()
+[True, True, True]
+```
+### PubSub
+The following example shows how to utilize [Redis Pub/Sub](https://redis.io/docs/manual/pubsub/) to subscribe to specific channels.
+``` python
+>>> r = redis.Redis(...)
+>>> p = r.pubsub()
+>>> p.subscribe('my-first-channel', 'my-second-channel', ...)
+>>> p.get_message()
+{'pattern': None, 'type': 'subscribe', 'channel': b'my-second-channel', 'data': 1}
+
+%package help
+Summary: Development documents and examples for redis
+Provides: python3-redis-doc
+%description help
+## Installation
+Start a redis via docker:
+``` bash
+docker run -p 6379:6379 -it redis/redis-stack:latest
+```
+To install redis-py, simply:
+``` bash
+$ pip install redis
+```
+For faster performance, install redis with hiredis support, this provides a compiled response parser, and *for most cases* requires zero code changes.
+By default, if hiredis >= 1.0 is available, redis-py will attempt to use it for response parsing.
+``` bash
+$ pip install "redis[hiredis]"
+```
+Looking for a high-level library to handle object mapping? See [redis-om-python](https://github.com/redis/redis-om-python)!
+## Supported Redis Versions
+The most recent version of this library supports redis version [5.0](https://github.com/redis/redis/blob/5.0/00-RELEASENOTES), [6.0](https://github.com/redis/redis/blob/6.0/00-RELEASENOTES), [6.2](https://github.com/redis/redis/blob/6.2/00-RELEASENOTES), and [7.0](https://github.com/redis/redis/blob/7.0/00-RELEASENOTES).
+The table below higlights version compatibility of the most-recent library versions and redis versions.
+| Library version | Supported redis versions |
+|-----------------|-------------------|
+| 3.5.3 | <= 6.2 Family of releases |
+| >= 4.1.0 | Version 5.0 to current |
+## Usage
+### Basic Example
+``` python
+>>> import redis
+>>> r = redis.Redis(host='localhost', port=6379, db=0)
+>>> r.set('foo', 'bar')
+True
+>>> r.get('foo')
+b'bar'
+```
+The above code connects to localhost on port 6379, sets a value in Redis, and retrieves it. All responses are returned as bytes in Python, to receive decoded strings, set *decode_responses=True*. For this, and more connection options, see [these examples](https://redis.readthedocs.io/en/stable/examples.html).
+### Connection Pools
+By default, redis-py uses a connection pool to manage connections. Each instance of a Redis class receives its own connection pool. You can however define your own [redis.ConnectionPool](https://redis.readthedocs.io/en/stable/connections.html#connection-pools).
+``` python
+>>> pool = redis.ConnectionPool(host='localhost', port=6379, db=0)
+>>> r = redis.Redis(connection_pool=pool)
+```
+Alternatively, you might want to look at [Async connections](https://redis.readthedocs.io/en/stable/examples/asyncio_examples.html), or [Cluster connections](https://redis.readthedocs.io/en/stable/connections.html#cluster-client), or even [Async Cluster connections](https://redis.readthedocs.io/en/stable/connections.html#async-cluster-client).
+### Redis Commands
+There is built-in support for all of the [out-of-the-box Redis commands](https://redis.io/commands). They are exposed using the raw Redis command names (`HSET`, `HGETALL`, etc.) except where a word (i.e. del) is reserved by the language. The complete set of commands can be found [here](https://github.com/redis/redis-py/tree/master/redis/commands), or [the documentation](https://redis.readthedocs.io/en/stable/commands.html).
+## Advanced Topics
+The [official Redis command documentation](https://redis.io/commands)
+does a great job of explaining each command in detail. redis-py attempts
+to adhere to the official command syntax. There are a few exceptions:
+- **MULTI/EXEC**: These are implemented as part of the Pipeline class.
+ The pipeline is wrapped with the MULTI and EXEC statements by
+ default when it is executed, which can be disabled by specifying
+ transaction=False. See more about Pipelines below.
+- **SUBSCRIBE/LISTEN**: Similar to pipelines, PubSub is implemented as
+ a separate class as it places the underlying connection in a state
+ where it can\'t execute non-pubsub commands. Calling the pubsub
+ method from the Redis client will return a PubSub instance where you
+ can subscribe to channels and listen for messages. You can only call
+ PUBLISH from the Redis client (see [this comment on issue
+ #151](https://github.com/redis/redis-py/issues/151#issuecomment-1545015)
+ for details).
+For more details, please see the documentation on [advanced topics page](https://redis.readthedocs.io/en/stable/advanced_features.html).
+### Pipelines
+The following is a basic example of a [Redis pipeline](https://redis.io/docs/manual/pipelining/), a method to optimize round-trip calls, by batching Redis commands, and receiving their results as a list.
+``` python
+>>> pipe = r.pipeline()
+>>> pipe.set('foo', 5)
+>>> pipe.set('bar', 18.5)
+>>> pipe.set('blee', "hello world!")
+>>> pipe.execute()
+[True, True, True]
+```
+### PubSub
+The following example shows how to utilize [Redis Pub/Sub](https://redis.io/docs/manual/pubsub/) to subscribe to specific channels.
+``` python
+>>> r = redis.Redis(...)
+>>> p = r.pubsub()
+>>> p.subscribe('my-first-channel', 'my-second-channel', ...)
+>>> p.get_message()
+{'pattern': None, 'type': 'subscribe', 'channel': b'my-second-channel', 'data': 1}
+
+%prep
+%autosetup -n redis-4.5.4
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-redis -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 4.5.4-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..1c45205
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+a7672e2801a0cf0b24e604e5d7f4dca3 redis-4.5.4.tar.gz