summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-redistimeseries.spec242
-rw-r--r--sources1
3 files changed, 244 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..cad6973 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/redistimeseries-1.4.5.tar.gz
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 <Python_Bot@openeuler.org> - 1.4.5-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..9139935
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+2e3c227e686b73de2933d28d8cb9d663 redistimeseries-1.4.5.tar.gz