%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