summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-12 05:21:25 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-12 05:21:25 +0000
commit6dadf46339a79c86925339c41ff9d6e8f3ce1f00 (patch)
tree46baea9bea272dc33d76c642d63d4a265a97ff24
parentbc244075778e8a48cab2591a688cdd6bea892b31 (diff)
automatic import of python-aiolimiter
-rw-r--r--.gitignore1
-rw-r--r--python-aiolimiter.spec333
-rw-r--r--sources1
3 files changed, 335 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..64e0057 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/aiolimiter-1.0.0.tar.gz
diff --git a/python-aiolimiter.spec b/python-aiolimiter.spec
new file mode 100644
index 0000000..8f13ff0
--- /dev/null
+++ b/python-aiolimiter.spec
@@ -0,0 +1,333 @@
+%global _empty_manifest_terminate_build 0
+Name: python-aiolimiter
+Version: 1.0.0
+Release: 1
+Summary: asyncio rate limiter, a leaky bucket implementation
+License: MIT
+URL: https://github.com/mjpieters/aiolimiter
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/33/c9/854de19ff2b2a83111e892ef3028504a927f1aa19347de3f62abf38c2c99/aiolimiter-1.0.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-aiohttp-theme
+Requires: python3-importlib_metadata
+Requires: python3-sphinx
+Requires: python3-sphinx-autodoc-typehints
+Requires: python3-sphinxcontrib-spelling
+Requires: python3-toml
+
+%description
+# aiolimiter
+
+[![Azure Pipelines status for master branch][azure_badge]][azure_status]
+[![codecov.io status for master branch][codecov_badge]][codecov_status]
+[![Latest PyPI package version][pypi_badge]][aiolimiter_release]
+[![Latest Read The Docs][rtd_badge]][aiolimiter_docs]
+
+[azure_badge]: https://dev.azure.com/mjpieters/aiolimiter/_apis/build/status/CI?branchName=master
+[azure_status]: https://dev.azure.com/mjpieters/aiolimiter/_build/latest?definitionId=4&branchName=master "Azure Pipelines status for master branch"
+[codecov_badge]: https://codecov.io/gh/mjpieters/aiolimiter/branch/master/graph/badge.svg
+[codecov_status]: https://codecov.io/gh/mjpieters/aiolimiter "codecov.io status for master branch"
+[pypi_badge]: https://badge.fury.io/py/aiolimiter.svg
+[aiolimiter_release]: https://pypi.org/project/aiolimiter "Latest PyPI package version"
+[rtd_badge]: https://readthedocs.org/projects/aiolimiter/badge/?version=latest
+[aiolimiter_docs]: https://aiolimiter.readthedocs.io/en/latest/?badge=latest "Latest Read The Docs"
+
+## Introduction
+
+An efficient implementation of a rate limiter for asyncio.
+
+This project implements the [Leaky bucket algorithm][], giving you precise control over the rate a code section can be entered:
+
+```python
+from aiolimiter import AsyncLimiter
+
+# allow for 100 concurrent entries within a 30 second window
+rate_limit = AsyncLimiter(100, 30)
+
+
+async def some_coroutine():
+ async with rate_limit:
+ # this section is *at most* going to entered 100 times
+ # in a 30 second period.
+ await do_something()
+```
+
+It was first developed [as an answer on Stack Overflow][so45502319].
+
+## Documentation
+
+https://aiolimiter.readthedocs.io
+
+## Installation
+
+```sh
+$ pip install aiolimiter
+```
+
+The library requires Python 3.6 or newer.
+
+## Requirements
+
+- Python >= 3.6
+
+## License
+
+`aiolimiter` is offered under the [MIT license](./LICENSE.txt).
+
+## Source code
+
+The project is hosted on [GitHub][].
+
+Please file an issue in the [bug tracker][] if you have found a bug
+or have some suggestions to improve the library.
+
+## Developer setup
+
+This project uses [poetry][] to manage dependencies, testing and releases. Make sure you have installed that tool, then run the following command to get set up:
+
+```sh
+poetry install -E docs && poetry run doit devsetup
+```
+
+Apart from using `poetry run doit devsetup`, you can either use `poetry shell` to enter a shell environment with a virtualenv set up for you, or use `poetry run ...` to run commands within the virtualenv.
+
+Tests are run with `pytest` and `tox`. Releases are made with `poetry build` and `poetry publish`. Code quality is maintained with `flake8`, `black` and `mypy`, and `pre-commit` runs quick checks to maintain the standards set.
+
+A series of `doit` tasks are defined; run `poetry run doit list` (or `doit list` with `poetry shell` activated) to list them. The default action is to run a full linting, testing and building run. It is recommended you run this before creating a pull request.
+
+[leaky bucket algorithm]: https://en.wikipedia.org/wiki/Leaky_bucket
+[so45502319]: https://stackoverflow.com/a/45502319/100297
+[github]: https://github.com/mjpieters/aiolimiter
+[bug tracker]: https://github.com/mjpieters/aiolimiter/issues
+[poetry]: https://poetry.eustace.io/
+
+
+
+%package -n python3-aiolimiter
+Summary: asyncio rate limiter, a leaky bucket implementation
+Provides: python-aiolimiter
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-aiolimiter
+# aiolimiter
+
+[![Azure Pipelines status for master branch][azure_badge]][azure_status]
+[![codecov.io status for master branch][codecov_badge]][codecov_status]
+[![Latest PyPI package version][pypi_badge]][aiolimiter_release]
+[![Latest Read The Docs][rtd_badge]][aiolimiter_docs]
+
+[azure_badge]: https://dev.azure.com/mjpieters/aiolimiter/_apis/build/status/CI?branchName=master
+[azure_status]: https://dev.azure.com/mjpieters/aiolimiter/_build/latest?definitionId=4&branchName=master "Azure Pipelines status for master branch"
+[codecov_badge]: https://codecov.io/gh/mjpieters/aiolimiter/branch/master/graph/badge.svg
+[codecov_status]: https://codecov.io/gh/mjpieters/aiolimiter "codecov.io status for master branch"
+[pypi_badge]: https://badge.fury.io/py/aiolimiter.svg
+[aiolimiter_release]: https://pypi.org/project/aiolimiter "Latest PyPI package version"
+[rtd_badge]: https://readthedocs.org/projects/aiolimiter/badge/?version=latest
+[aiolimiter_docs]: https://aiolimiter.readthedocs.io/en/latest/?badge=latest "Latest Read The Docs"
+
+## Introduction
+
+An efficient implementation of a rate limiter for asyncio.
+
+This project implements the [Leaky bucket algorithm][], giving you precise control over the rate a code section can be entered:
+
+```python
+from aiolimiter import AsyncLimiter
+
+# allow for 100 concurrent entries within a 30 second window
+rate_limit = AsyncLimiter(100, 30)
+
+
+async def some_coroutine():
+ async with rate_limit:
+ # this section is *at most* going to entered 100 times
+ # in a 30 second period.
+ await do_something()
+```
+
+It was first developed [as an answer on Stack Overflow][so45502319].
+
+## Documentation
+
+https://aiolimiter.readthedocs.io
+
+## Installation
+
+```sh
+$ pip install aiolimiter
+```
+
+The library requires Python 3.6 or newer.
+
+## Requirements
+
+- Python >= 3.6
+
+## License
+
+`aiolimiter` is offered under the [MIT license](./LICENSE.txt).
+
+## Source code
+
+The project is hosted on [GitHub][].
+
+Please file an issue in the [bug tracker][] if you have found a bug
+or have some suggestions to improve the library.
+
+## Developer setup
+
+This project uses [poetry][] to manage dependencies, testing and releases. Make sure you have installed that tool, then run the following command to get set up:
+
+```sh
+poetry install -E docs && poetry run doit devsetup
+```
+
+Apart from using `poetry run doit devsetup`, you can either use `poetry shell` to enter a shell environment with a virtualenv set up for you, or use `poetry run ...` to run commands within the virtualenv.
+
+Tests are run with `pytest` and `tox`. Releases are made with `poetry build` and `poetry publish`. Code quality is maintained with `flake8`, `black` and `mypy`, and `pre-commit` runs quick checks to maintain the standards set.
+
+A series of `doit` tasks are defined; run `poetry run doit list` (or `doit list` with `poetry shell` activated) to list them. The default action is to run a full linting, testing and building run. It is recommended you run this before creating a pull request.
+
+[leaky bucket algorithm]: https://en.wikipedia.org/wiki/Leaky_bucket
+[so45502319]: https://stackoverflow.com/a/45502319/100297
+[github]: https://github.com/mjpieters/aiolimiter
+[bug tracker]: https://github.com/mjpieters/aiolimiter/issues
+[poetry]: https://poetry.eustace.io/
+
+
+
+%package help
+Summary: Development documents and examples for aiolimiter
+Provides: python3-aiolimiter-doc
+%description help
+# aiolimiter
+
+[![Azure Pipelines status for master branch][azure_badge]][azure_status]
+[![codecov.io status for master branch][codecov_badge]][codecov_status]
+[![Latest PyPI package version][pypi_badge]][aiolimiter_release]
+[![Latest Read The Docs][rtd_badge]][aiolimiter_docs]
+
+[azure_badge]: https://dev.azure.com/mjpieters/aiolimiter/_apis/build/status/CI?branchName=master
+[azure_status]: https://dev.azure.com/mjpieters/aiolimiter/_build/latest?definitionId=4&branchName=master "Azure Pipelines status for master branch"
+[codecov_badge]: https://codecov.io/gh/mjpieters/aiolimiter/branch/master/graph/badge.svg
+[codecov_status]: https://codecov.io/gh/mjpieters/aiolimiter "codecov.io status for master branch"
+[pypi_badge]: https://badge.fury.io/py/aiolimiter.svg
+[aiolimiter_release]: https://pypi.org/project/aiolimiter "Latest PyPI package version"
+[rtd_badge]: https://readthedocs.org/projects/aiolimiter/badge/?version=latest
+[aiolimiter_docs]: https://aiolimiter.readthedocs.io/en/latest/?badge=latest "Latest Read The Docs"
+
+## Introduction
+
+An efficient implementation of a rate limiter for asyncio.
+
+This project implements the [Leaky bucket algorithm][], giving you precise control over the rate a code section can be entered:
+
+```python
+from aiolimiter import AsyncLimiter
+
+# allow for 100 concurrent entries within a 30 second window
+rate_limit = AsyncLimiter(100, 30)
+
+
+async def some_coroutine():
+ async with rate_limit:
+ # this section is *at most* going to entered 100 times
+ # in a 30 second period.
+ await do_something()
+```
+
+It was first developed [as an answer on Stack Overflow][so45502319].
+
+## Documentation
+
+https://aiolimiter.readthedocs.io
+
+## Installation
+
+```sh
+$ pip install aiolimiter
+```
+
+The library requires Python 3.6 or newer.
+
+## Requirements
+
+- Python >= 3.6
+
+## License
+
+`aiolimiter` is offered under the [MIT license](./LICENSE.txt).
+
+## Source code
+
+The project is hosted on [GitHub][].
+
+Please file an issue in the [bug tracker][] if you have found a bug
+or have some suggestions to improve the library.
+
+## Developer setup
+
+This project uses [poetry][] to manage dependencies, testing and releases. Make sure you have installed that tool, then run the following command to get set up:
+
+```sh
+poetry install -E docs && poetry run doit devsetup
+```
+
+Apart from using `poetry run doit devsetup`, you can either use `poetry shell` to enter a shell environment with a virtualenv set up for you, or use `poetry run ...` to run commands within the virtualenv.
+
+Tests are run with `pytest` and `tox`. Releases are made with `poetry build` and `poetry publish`. Code quality is maintained with `flake8`, `black` and `mypy`, and `pre-commit` runs quick checks to maintain the standards set.
+
+A series of `doit` tasks are defined; run `poetry run doit list` (or `doit list` with `poetry shell` activated) to list them. The default action is to run a full linting, testing and building run. It is recommended you run this before creating a pull request.
+
+[leaky bucket algorithm]: https://en.wikipedia.org/wiki/Leaky_bucket
+[so45502319]: https://stackoverflow.com/a/45502319/100297
+[github]: https://github.com/mjpieters/aiolimiter
+[bug tracker]: https://github.com/mjpieters/aiolimiter/issues
+[poetry]: https://poetry.eustace.io/
+
+
+
+%prep
+%autosetup -n aiolimiter-1.0.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-aiolimiter -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed Apr 12 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..be43585
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+f5aa09f62ff8cd557eba06037219fc11 aiolimiter-1.0.0.tar.gz