From feacc92400ed39b2019534fa3fbb29b0f125fd36 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Fri, 5 May 2023 06:22:10 +0000 Subject: automatic import of python-redistimeseries --- python-redistimeseries.spec | 242 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 242 insertions(+) create mode 100644 python-redistimeseries.spec (limited to 'python-redistimeseries.spec') diff --git a/python-redistimeseries.spec b/python-redistimeseries.spec new file mode 100644 index 0000000..5e2b759 --- /dev/null +++ b/python-redistimeseries.spec @@ -0,0 +1,242 @@ +%global _empty_manifest_terminate_build 0 +Name: python-redistimeseries +Version: 1.4.5 +Release: 1 +Summary: RedisTimeSeries Python Client +License: BSD-3-Clause +URL: https://pypi.org/project/redistimeseries/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/62/d1/2ba15e20c7f3f843648cc63375db954d060f97af5974ec1cb847fbec37d6/redistimeseries-1.4.5.tar.gz +BuildArch: noarch + +Requires: python3-redis +Requires: python3-importlib-metadata + +%description +redistimeseries-py is a package that gives developers easy access to RedisTimeSeries module. The package extends [redis-py](https://github.com/andymccurdy/redis-py)'s interface with RedisTimeSeries's API. +## Installation +``` +$ pip install redistimeseries +``` +## Development +1. Create a virtualenv to manage your python dependencies, and ensure it's active. + ```virtualenv -v venv``` +2. Install [pypoetry](https://python-poetry.org/) to manage your dependencies. + ```pip install poetry``` +3. Install dependencies. + ```poetry install``` +[tox](https://tox.readthedocs.io/en/latest/) runs all tests as its default target. Running *tox* by itself will run unit tests. Ensure you have a running redis, with the module loaded. +## API +The complete documentation of RedisTimeSeries's commands can be found at [RedisTimeSeries's website](http://redistimeseries.io/). +## Usage example +```python +# Simple example +from redistimeseries.client import Client +rts = Client() +rts.create('test', labels={'Time':'Series'}) +rts.add('test', 1, 1.12) +rts.add('test', 2, 1.12) +rts.get('test') +rts.incrby('test',1) +rts.range('test', 0, -1) +rts.range('test', 0, -1, aggregation_type='avg', bucket_size_msec=10) +rts.range('test', 0, -1, aggregation_type='sum', bucket_size_msec=10) +rts.info('test').__dict__ +# Example with rules +rts.create('source', retention_msecs=40) +rts.create('sumRule') +rts.create('avgRule') +rts.createrule('source', 'sumRule', 'sum', 20) +rts.createrule('source', 'avgRule', 'avg', 15) +rts.add('source', '*', 1) +rts.add('source', '*', 2) +rts.add('source', '*', 3) +rts.get('sumRule') +rts.get('avgRule') +rts.info('sumRule').__dict__ +``` +## Further notes on back-filling time series +Since [RedisTimeSeries 1.4](https://github.com/RedisTimeSeries/RedisTimeSeries/releases/tag/v1.4.5) we've added the ability to back-fill time series, with different duplicate policies. +The default behavior is to block updates to the same timestamp, and you can control it via the `duplicate_policy` argument. You can check in detail the [duplicate policy documentation](https://oss.redislabs.com/redistimeseries/configuration/#duplicate_policy). +Bellow you can find an example of the `LAST` duplicate policy, in which we override duplicate timestamps with the latest value: +```python +from redistimeseries.client import Client +rts = Client() +rts.create('last-upsert', labels={'Time':'Series'}, duplicate_policy='last') +rts.add('last-upsert', 1, 10.0) +rts.add('last-upsert', 1, 5.0) +# should output [(1, 5.0)] +print(rts.range('last-upsert', 0, -1)) +``` +## License +[BSD 3-Clause](https://github.com/ashtul/redistimeseries-py/blob/master/LICENSE) + +%package -n python3-redistimeseries +Summary: RedisTimeSeries Python Client +Provides: python-redistimeseries +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-redistimeseries +redistimeseries-py is a package that gives developers easy access to RedisTimeSeries module. The package extends [redis-py](https://github.com/andymccurdy/redis-py)'s interface with RedisTimeSeries's API. +## Installation +``` +$ pip install redistimeseries +``` +## Development +1. Create a virtualenv to manage your python dependencies, and ensure it's active. + ```virtualenv -v venv``` +2. Install [pypoetry](https://python-poetry.org/) to manage your dependencies. + ```pip install poetry``` +3. Install dependencies. + ```poetry install``` +[tox](https://tox.readthedocs.io/en/latest/) runs all tests as its default target. Running *tox* by itself will run unit tests. Ensure you have a running redis, with the module loaded. +## API +The complete documentation of RedisTimeSeries's commands can be found at [RedisTimeSeries's website](http://redistimeseries.io/). +## Usage example +```python +# Simple example +from redistimeseries.client import Client +rts = Client() +rts.create('test', labels={'Time':'Series'}) +rts.add('test', 1, 1.12) +rts.add('test', 2, 1.12) +rts.get('test') +rts.incrby('test',1) +rts.range('test', 0, -1) +rts.range('test', 0, -1, aggregation_type='avg', bucket_size_msec=10) +rts.range('test', 0, -1, aggregation_type='sum', bucket_size_msec=10) +rts.info('test').__dict__ +# Example with rules +rts.create('source', retention_msecs=40) +rts.create('sumRule') +rts.create('avgRule') +rts.createrule('source', 'sumRule', 'sum', 20) +rts.createrule('source', 'avgRule', 'avg', 15) +rts.add('source', '*', 1) +rts.add('source', '*', 2) +rts.add('source', '*', 3) +rts.get('sumRule') +rts.get('avgRule') +rts.info('sumRule').__dict__ +``` +## Further notes on back-filling time series +Since [RedisTimeSeries 1.4](https://github.com/RedisTimeSeries/RedisTimeSeries/releases/tag/v1.4.5) we've added the ability to back-fill time series, with different duplicate policies. +The default behavior is to block updates to the same timestamp, and you can control it via the `duplicate_policy` argument. You can check in detail the [duplicate policy documentation](https://oss.redislabs.com/redistimeseries/configuration/#duplicate_policy). +Bellow you can find an example of the `LAST` duplicate policy, in which we override duplicate timestamps with the latest value: +```python +from redistimeseries.client import Client +rts = Client() +rts.create('last-upsert', labels={'Time':'Series'}, duplicate_policy='last') +rts.add('last-upsert', 1, 10.0) +rts.add('last-upsert', 1, 5.0) +# should output [(1, 5.0)] +print(rts.range('last-upsert', 0, -1)) +``` +## License +[BSD 3-Clause](https://github.com/ashtul/redistimeseries-py/blob/master/LICENSE) + +%package help +Summary: Development documents and examples for redistimeseries +Provides: python3-redistimeseries-doc +%description help +redistimeseries-py is a package that gives developers easy access to RedisTimeSeries module. The package extends [redis-py](https://github.com/andymccurdy/redis-py)'s interface with RedisTimeSeries's API. +## Installation +``` +$ pip install redistimeseries +``` +## Development +1. Create a virtualenv to manage your python dependencies, and ensure it's active. + ```virtualenv -v venv``` +2. Install [pypoetry](https://python-poetry.org/) to manage your dependencies. + ```pip install poetry``` +3. Install dependencies. + ```poetry install``` +[tox](https://tox.readthedocs.io/en/latest/) runs all tests as its default target. Running *tox* by itself will run unit tests. Ensure you have a running redis, with the module loaded. +## API +The complete documentation of RedisTimeSeries's commands can be found at [RedisTimeSeries's website](http://redistimeseries.io/). +## Usage example +```python +# Simple example +from redistimeseries.client import Client +rts = Client() +rts.create('test', labels={'Time':'Series'}) +rts.add('test', 1, 1.12) +rts.add('test', 2, 1.12) +rts.get('test') +rts.incrby('test',1) +rts.range('test', 0, -1) +rts.range('test', 0, -1, aggregation_type='avg', bucket_size_msec=10) +rts.range('test', 0, -1, aggregation_type='sum', bucket_size_msec=10) +rts.info('test').__dict__ +# Example with rules +rts.create('source', retention_msecs=40) +rts.create('sumRule') +rts.create('avgRule') +rts.createrule('source', 'sumRule', 'sum', 20) +rts.createrule('source', 'avgRule', 'avg', 15) +rts.add('source', '*', 1) +rts.add('source', '*', 2) +rts.add('source', '*', 3) +rts.get('sumRule') +rts.get('avgRule') +rts.info('sumRule').__dict__ +``` +## Further notes on back-filling time series +Since [RedisTimeSeries 1.4](https://github.com/RedisTimeSeries/RedisTimeSeries/releases/tag/v1.4.5) we've added the ability to back-fill time series, with different duplicate policies. +The default behavior is to block updates to the same timestamp, and you can control it via the `duplicate_policy` argument. You can check in detail the [duplicate policy documentation](https://oss.redislabs.com/redistimeseries/configuration/#duplicate_policy). +Bellow you can find an example of the `LAST` duplicate policy, in which we override duplicate timestamps with the latest value: +```python +from redistimeseries.client import Client +rts = Client() +rts.create('last-upsert', labels={'Time':'Series'}, duplicate_policy='last') +rts.add('last-upsert', 1, 10.0) +rts.add('last-upsert', 1, 5.0) +# should output [(1, 5.0)] +print(rts.range('last-upsert', 0, -1)) +``` +## License +[BSD 3-Clause](https://github.com/ashtul/redistimeseries-py/blob/master/LICENSE) + +%prep +%autosetup -n redistimeseries-1.4.5 + +%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-redistimeseries -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot - 1.4.5-1 +- Package Spec generated -- cgit v1.2.3