summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-10 06:47:02 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-10 06:47:02 +0000
commit2e666e46168beefb866c799c3cdc4a41c037c107 (patch)
treea493a9da9eb0f8eb75e8afe86c12ab912291759a
parent02954808705b1da2335b31e9141acde1c3f416bb (diff)
automatic import of python-aio-rate-limiter
-rw-r--r--.gitignore1
-rw-r--r--python-aio-rate-limiter.spec253
-rw-r--r--sources1
3 files changed, 255 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..4805a84 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/aio-rate-limiter-0.1.2.tar.gz
diff --git a/python-aio-rate-limiter.spec b/python-aio-rate-limiter.spec
new file mode 100644
index 0000000..1d8b05c
--- /dev/null
+++ b/python-aio-rate-limiter.spec
@@ -0,0 +1,253 @@
+%global _empty_manifest_terminate_build 0
+Name: python-aio-rate-limiter
+Version: 0.1.2
+Release: 1
+Summary: Rate limit a function using Redis as a backend
+License: BSD-3-Clause
+URL: https://pypi.org/project/aio-rate-limiter/
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ef/28/ec86596e2bbc74112b43897aaf834bf519668f033ff830930f16eda224f2/aio-rate-limiter-0.1.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-aioredis
+
+%description
+# aio-rate-limiter
+
+[![](https://img.shields.io/pypi/v/aio-rate-limit.svg)](https://pypi.org/pypi/aio-rate-limit/) [![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
+
+Rate limit a function using Redis as a backend. This is a smaller library modeled after [python-redis-rate-limit](https://github.com/EvoluxBR/python-redis-rate-limit) but it uses [aioredis](https://github.com/aio-libs/aioredis). Supports Python 3.6+.
+
+## Installation
+
+```bash
+pip install aio-rate-limiter
+```
+
+## Example
+
+```python
+import logging
+
+from aio_rate_limiter import RateLimiter, TooManyRequests
+import aioredis
+
+async def example():
+ pool = await aioredis.create_redis_pool("redis://localhost:6379")
+ try:
+ async with RateLimiter(
+ redis_pool,
+ # Rate limit requests to a resource
+ "name-of-external-system",
+ # Allow up to 100 requests in 60 seconds
+ max_requests=100,
+ time_window=60
+ ):
+ async do_work()
+ except TooManyRequests:
+ logging.warning("Try again later")
+```
+
+## Development
+
+```bash
+# Install poetry
+pip install poetry
+
+# Install all package dependencies
+poetry install
+
+# Launch a shell with dependencies available
+poetry shell
+
+# Run tests (requires Redis server running at localhost:6379)
+pytest
+
+# When you're ready to publish...
+# Bump version
+poetry version <version>
+# Set your pypi token
+export POETRY_PYPI_TOKEN_PYPI='...'
+# Build and publish
+poetry build
+poetry publish
+```
+
+
+%package -n python3-aio-rate-limiter
+Summary: Rate limit a function using Redis as a backend
+Provides: python-aio-rate-limiter
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-aio-rate-limiter
+# aio-rate-limiter
+
+[![](https://img.shields.io/pypi/v/aio-rate-limit.svg)](https://pypi.org/pypi/aio-rate-limit/) [![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
+
+Rate limit a function using Redis as a backend. This is a smaller library modeled after [python-redis-rate-limit](https://github.com/EvoluxBR/python-redis-rate-limit) but it uses [aioredis](https://github.com/aio-libs/aioredis). Supports Python 3.6+.
+
+## Installation
+
+```bash
+pip install aio-rate-limiter
+```
+
+## Example
+
+```python
+import logging
+
+from aio_rate_limiter import RateLimiter, TooManyRequests
+import aioredis
+
+async def example():
+ pool = await aioredis.create_redis_pool("redis://localhost:6379")
+ try:
+ async with RateLimiter(
+ redis_pool,
+ # Rate limit requests to a resource
+ "name-of-external-system",
+ # Allow up to 100 requests in 60 seconds
+ max_requests=100,
+ time_window=60
+ ):
+ async do_work()
+ except TooManyRequests:
+ logging.warning("Try again later")
+```
+
+## Development
+
+```bash
+# Install poetry
+pip install poetry
+
+# Install all package dependencies
+poetry install
+
+# Launch a shell with dependencies available
+poetry shell
+
+# Run tests (requires Redis server running at localhost:6379)
+pytest
+
+# When you're ready to publish...
+# Bump version
+poetry version <version>
+# Set your pypi token
+export POETRY_PYPI_TOKEN_PYPI='...'
+# Build and publish
+poetry build
+poetry publish
+```
+
+
+%package help
+Summary: Development documents and examples for aio-rate-limiter
+Provides: python3-aio-rate-limiter-doc
+%description help
+# aio-rate-limiter
+
+[![](https://img.shields.io/pypi/v/aio-rate-limit.svg)](https://pypi.org/pypi/aio-rate-limit/) [![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
+
+Rate limit a function using Redis as a backend. This is a smaller library modeled after [python-redis-rate-limit](https://github.com/EvoluxBR/python-redis-rate-limit) but it uses [aioredis](https://github.com/aio-libs/aioredis). Supports Python 3.6+.
+
+## Installation
+
+```bash
+pip install aio-rate-limiter
+```
+
+## Example
+
+```python
+import logging
+
+from aio_rate_limiter import RateLimiter, TooManyRequests
+import aioredis
+
+async def example():
+ pool = await aioredis.create_redis_pool("redis://localhost:6379")
+ try:
+ async with RateLimiter(
+ redis_pool,
+ # Rate limit requests to a resource
+ "name-of-external-system",
+ # Allow up to 100 requests in 60 seconds
+ max_requests=100,
+ time_window=60
+ ):
+ async do_work()
+ except TooManyRequests:
+ logging.warning("Try again later")
+```
+
+## Development
+
+```bash
+# Install poetry
+pip install poetry
+
+# Install all package dependencies
+poetry install
+
+# Launch a shell with dependencies available
+poetry shell
+
+# Run tests (requires Redis server running at localhost:6379)
+pytest
+
+# When you're ready to publish...
+# Bump version
+poetry version <version>
+# Set your pypi token
+export POETRY_PYPI_TOKEN_PYPI='...'
+# Build and publish
+poetry build
+poetry publish
+```
+
+
+%prep
+%autosetup -n aio-rate-limiter-0.1.2
+
+%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-aio-rate-limiter -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.2-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..5c5a5f6
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+dc9c4edbc5848676f35ef0e46b2321d6 aio-rate-limiter-0.1.2.tar.gz