diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-kinesis-python.spec | 105 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 107 insertions, 0 deletions
@@ -0,0 +1 @@ +/kinesis-python-0.2.1.tar.gz diff --git a/python-kinesis-python.spec b/python-kinesis-python.spec new file mode 100644 index 0000000..96d8bf3 --- /dev/null +++ b/python-kinesis-python.spec @@ -0,0 +1,105 @@ +%global _empty_manifest_terminate_build 0 +Name: python-kinesis-python +Version: 0.2.1 +Release: 1 +Summary: Low level, multiprocessing based AWS Kinesis producer & consumer library +License: Apache License Version 2.0 +URL: https://github.com/NerdWalletOSS/kinesis-python +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/be/bb/7e54b23b64fd49ad9afedd5f3af992980a744023ab01b963e99ea2572a61/kinesis-python-0.2.1.tar.gz +BuildArch: noarch + +Requires: python3-boto3 +Requires: python3-offspring +Requires: python3-six + +%description +The `official Kinesis python library`_ requires the use of Amazon's "MultiLangDaemon", which is a Java executable that +operates by piping messages over STDIN/STDOUT. + ಠ_ಠ +While the desire to have a single implementation of the client library from a maintenance standpoint makes sense for +the team responsible for the KPL, requiring the JRE to be installed and having to account for the overhead of the +stream being consumed by Java and Python is not desireable for teams working in environments without Java. +This is a pure-Python implementation of Kinesis producer and consumer classes that leverages Python's multiprocessing +module to spawn a process per shard and then sends the messages back to the main process via a Queue. It only depends +on `boto3`_ (AWS SDK), `offspring`_ (Subprocess implementation) and `six`_ (py2/py3 compatibility). +It also includes a DynamoDB state back-end that allows for multi-instance consumption of multiple shards, and stores the +checkpoint data so that you can resume where you left off in a stream following restarts or crashes. + +%package -n python3-kinesis-python +Summary: Low level, multiprocessing based AWS Kinesis producer & consumer library +Provides: python-kinesis-python +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-kinesis-python +The `official Kinesis python library`_ requires the use of Amazon's "MultiLangDaemon", which is a Java executable that +operates by piping messages over STDIN/STDOUT. + ಠ_ಠ +While the desire to have a single implementation of the client library from a maintenance standpoint makes sense for +the team responsible for the KPL, requiring the JRE to be installed and having to account for the overhead of the +stream being consumed by Java and Python is not desireable for teams working in environments without Java. +This is a pure-Python implementation of Kinesis producer and consumer classes that leverages Python's multiprocessing +module to spawn a process per shard and then sends the messages back to the main process via a Queue. It only depends +on `boto3`_ (AWS SDK), `offspring`_ (Subprocess implementation) and `six`_ (py2/py3 compatibility). +It also includes a DynamoDB state back-end that allows for multi-instance consumption of multiple shards, and stores the +checkpoint data so that you can resume where you left off in a stream following restarts or crashes. + +%package help +Summary: Development documents and examples for kinesis-python +Provides: python3-kinesis-python-doc +%description help +The `official Kinesis python library`_ requires the use of Amazon's "MultiLangDaemon", which is a Java executable that +operates by piping messages over STDIN/STDOUT. + ಠ_ಠ +While the desire to have a single implementation of the client library from a maintenance standpoint makes sense for +the team responsible for the KPL, requiring the JRE to be installed and having to account for the overhead of the +stream being consumed by Java and Python is not desireable for teams working in environments without Java. +This is a pure-Python implementation of Kinesis producer and consumer classes that leverages Python's multiprocessing +module to spawn a process per shard and then sends the messages back to the main process via a Queue. It only depends +on `boto3`_ (AWS SDK), `offspring`_ (Subprocess implementation) and `six`_ (py2/py3 compatibility). +It also includes a DynamoDB state back-end that allows for multi-instance consumption of multiple shards, and stores the +checkpoint data so that you can resume where you left off in a stream following restarts or crashes. + +%prep +%autosetup -n kinesis-python-0.2.1 + +%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-kinesis-python -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 0.2.1-1 +- Package Spec generated @@ -0,0 +1 @@ +1394f9c63f360569da6e4d67e14e5368 kinesis-python-0.2.1.tar.gz |