summaryrefslogtreecommitdiff
path: root/python-token-bucket.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-12 05:51:25 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-12 05:51:25 +0000
commit21d8805474d84c83393e75577ff1720f0ccffbea (patch)
tree2e584743b37dcd3365620c7fb9f9525eabddc289 /python-token-bucket.spec
parent2ebf2a6556a5158c008dc06cdd2f030d4278ecc2 (diff)
automatic import of python-token-bucket
Diffstat (limited to 'python-token-bucket.spec')
-rw-r--r--python-token-bucket.spec117
1 files changed, 117 insertions, 0 deletions
diff --git a/python-token-bucket.spec b/python-token-bucket.spec
new file mode 100644
index 0000000..515b196
--- /dev/null
+++ b/python-token-bucket.spec
@@ -0,0 +1,117 @@
+%global _empty_manifest_terminate_build 0
+Name: python-token-bucket
+Version: 0.3.0
+Release: 1
+Summary: Very fast implementation of the token bucket algorithm.
+License: Apache 2.0
+URL: https://github.com/falconry/token-bucket
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/b7/6d/386ed0cfb7f3c2e0311a96b3884a2ba98a7b958344f51c7cce0b1c7bbb0f/token_bucket-0.3.0.tar.gz
+BuildArch: noarch
+
+
+%description
+The ``token-bucket`` package provides an implementation of the
+`token bucket algorithm <https://en.wikipedia.org/wiki/Token_bucket>`_
+suitable for use in web applications for shaping or policing request
+rates. This implementation does not require the use of an independent
+timer thread to manage the bucket state.
+Compared to other rate-limiting algorithms that use a simple counter,
+the token bucket algorithm provides the following advantages:
+* The thundering herd problem is avoided since bucket capacity is
+ replenished gradually, rather than being immediately refilled at the
+ beginning of each epoch as is common with simple fixed window
+ counters.
+* Burst duration can be explicitly controlled
+Moving window algorithms are resistant to bursting, but at the cost of
+additional processing and memory overhead vs. the token bucket
+algorithm which uses a simple, fast counter per key. The latter approach
+does allow for bursting, but only for a controlled duration.
+
+%package -n python3-token-bucket
+Summary: Very fast implementation of the token bucket algorithm.
+Provides: python-token-bucket
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-token-bucket
+The ``token-bucket`` package provides an implementation of the
+`token bucket algorithm <https://en.wikipedia.org/wiki/Token_bucket>`_
+suitable for use in web applications for shaping or policing request
+rates. This implementation does not require the use of an independent
+timer thread to manage the bucket state.
+Compared to other rate-limiting algorithms that use a simple counter,
+the token bucket algorithm provides the following advantages:
+* The thundering herd problem is avoided since bucket capacity is
+ replenished gradually, rather than being immediately refilled at the
+ beginning of each epoch as is common with simple fixed window
+ counters.
+* Burst duration can be explicitly controlled
+Moving window algorithms are resistant to bursting, but at the cost of
+additional processing and memory overhead vs. the token bucket
+algorithm which uses a simple, fast counter per key. The latter approach
+does allow for bursting, but only for a controlled duration.
+
+%package help
+Summary: Development documents and examples for token-bucket
+Provides: python3-token-bucket-doc
+%description help
+The ``token-bucket`` package provides an implementation of the
+`token bucket algorithm <https://en.wikipedia.org/wiki/Token_bucket>`_
+suitable for use in web applications for shaping or policing request
+rates. This implementation does not require the use of an independent
+timer thread to manage the bucket state.
+Compared to other rate-limiting algorithms that use a simple counter,
+the token bucket algorithm provides the following advantages:
+* The thundering herd problem is avoided since bucket capacity is
+ replenished gradually, rather than being immediately refilled at the
+ beginning of each epoch as is common with simple fixed window
+ counters.
+* Burst duration can be explicitly controlled
+Moving window algorithms are resistant to bursting, but at the cost of
+additional processing and memory overhead vs. the token bucket
+algorithm which uses a simple, fast counter per key. The latter approach
+does allow for bursting, but only for a controlled duration.
+
+%prep
+%autosetup -n token-bucket-0.3.0
+
+%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-token-bucket -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed Apr 12 2023 Python_Bot <Python_Bot@openeuler.org> - 0.3.0-1
+- Package Spec generated