summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-atomicpuppy.spec416
-rw-r--r--sources1
3 files changed, 418 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..cc4e7ce 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/AtomicPuppy-1.5.6.tar.gz
diff --git a/python-atomicpuppy.spec b/python-atomicpuppy.spec
new file mode 100644
index 0000000..5dd21f0
--- /dev/null
+++ b/python-atomicpuppy.spec
@@ -0,0 +1,416 @@
+%global _empty_manifest_terminate_build 0
+Name: python-AtomicPuppy
+Version: 1.5.6
+Release: 1
+Summary: A service-activator component for eventstore
+License: MIT
+URL: https://github.com/madedotcom/atomicpuppy
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/49/94/c6e0a293eaebe09ce3f7625485de2f4aba762c1067e0ed335656166c9c54/AtomicPuppy-1.5.6.tar.gz
+BuildArch: noarch
+
+Requires: python3-aiohttp
+Requires: python3-chardet
+Requires: python3-gevent
+Requires: python3-pybreaker
+Requires: python3-PyYAML
+Requires: python3-redis
+Requires: python3-retrying
+Requires: python3-requests
+
+%description
+[![Build Status](https://travis-ci.org/madedotcom/atomicpuppy.svg?branch=master)](https://travis-ci.org/madedotcom/atomicpuppy)
+# atomicpuppy
+A service-activator component for eventstore, written in Python
+
+
+## A Brief and Mostly Useless Quickstart:
+
+```yaml
+# config.yaml
+atomicpuppy:
+ host: localhost
+ port: 2113
+ # each stream will be polled by a separate async http client
+ streams:
+ - stream_a
+ - stream_b
+ - stream_with_a_#date#
+ # the counter keeps track of which messages have been processed
+ counter:
+ redis:
+ host: localhost
+ port: 6379
+```
+
+
+```python
+# main.py
+# AtomicPuppy uses asyncio coroutines for concurrent IO
+import asyncio
+import logging
+import signal
+from atomicpuppy import AtomicPuppy
+
+# AtomicPuppy needs a callback to pass you messages.
+def handle(msg):
+ print(msg)
+
+# Config is read from yaml files.
+ap = AtomicPuppy('config.yaml', handle)
+loop = asyncio.get_event_loop()
+
+# to kill the puppy, call stop()
+def stop():
+ logging.debug("SIGINT received, shutting down")
+ ap.stop()
+
+loop.add_signal_handler(signal.SIGINT, stop)
+
+# and to start it call start.
+loop.run_until_complete(ap.start())
+```
+
+
+## Run the tests
+
+A `tox.ini` file is provided to run the tests with different versions of Python.
+
+To run the tests:
+
+1. Make sure you have the Python 3.6, 3.7, 3,8, 3.9 and 3.10 headers installed (for Ubuntu please refer to https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa)
+2. `pip install -r test-requirements.txt` from the root folder of the repository
+3. Run `tox` from the root folder of the repository
+
+### Prepare and run the tests on Mac with pyenv
+
+#### Install pyenv and pyenv-virtualenv and python versions
+
+```
+brew install pyenv pyenv-virtualenv
+```
+
+Add the following lines to your `.zshrc` (check latest pyenv doc):
+
+```
+export PYENV_ROOT="$HOME/.pyenv"
+export PATH="$PYENV_ROOT/bin:$PATH"
+eval "$(pyenv init --path)"
+eval "$(pyenv init -)"
+eval "$(pyenv virtualenv-init -)"
+```
+
+```
+pyenv install 3.6.15
+pyenv install 3.7.12
+pyenv install 3.8.12
+pyenv install 3.9.9
+pyenv install 3.10.1
+```
+Check the latest versions, install the latest minor from each major version.
+
+#### Create a virtual environment
+```
+pyenv virtualenv 3.10.1 atomicpuppy
+pyenv activate atomicpuppy
+pip install tox-pyenv
+pip install -r test-requirements.txt
+```
+
+#### Run the tests
+
+```
+pyenv local atomicpuppy 3.6.13 3.7.10 3.8.10 3.9.5
+
+tox
+```
+
+## About python version
+
+There is a bug in asyncio for python3.4 that was fixed in other versions.
+This is the bug report: https://bugs.python.org/issue23812
+Because of that we have dropped support for python3.4 and we recommend to use
+python3.7.
+
+
+%package -n python3-AtomicPuppy
+Summary: A service-activator component for eventstore
+Provides: python-AtomicPuppy
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-AtomicPuppy
+[![Build Status](https://travis-ci.org/madedotcom/atomicpuppy.svg?branch=master)](https://travis-ci.org/madedotcom/atomicpuppy)
+# atomicpuppy
+A service-activator component for eventstore, written in Python
+
+
+## A Brief and Mostly Useless Quickstart:
+
+```yaml
+# config.yaml
+atomicpuppy:
+ host: localhost
+ port: 2113
+ # each stream will be polled by a separate async http client
+ streams:
+ - stream_a
+ - stream_b
+ - stream_with_a_#date#
+ # the counter keeps track of which messages have been processed
+ counter:
+ redis:
+ host: localhost
+ port: 6379
+```
+
+
+```python
+# main.py
+# AtomicPuppy uses asyncio coroutines for concurrent IO
+import asyncio
+import logging
+import signal
+from atomicpuppy import AtomicPuppy
+
+# AtomicPuppy needs a callback to pass you messages.
+def handle(msg):
+ print(msg)
+
+# Config is read from yaml files.
+ap = AtomicPuppy('config.yaml', handle)
+loop = asyncio.get_event_loop()
+
+# to kill the puppy, call stop()
+def stop():
+ logging.debug("SIGINT received, shutting down")
+ ap.stop()
+
+loop.add_signal_handler(signal.SIGINT, stop)
+
+# and to start it call start.
+loop.run_until_complete(ap.start())
+```
+
+
+## Run the tests
+
+A `tox.ini` file is provided to run the tests with different versions of Python.
+
+To run the tests:
+
+1. Make sure you have the Python 3.6, 3.7, 3,8, 3.9 and 3.10 headers installed (for Ubuntu please refer to https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa)
+2. `pip install -r test-requirements.txt` from the root folder of the repository
+3. Run `tox` from the root folder of the repository
+
+### Prepare and run the tests on Mac with pyenv
+
+#### Install pyenv and pyenv-virtualenv and python versions
+
+```
+brew install pyenv pyenv-virtualenv
+```
+
+Add the following lines to your `.zshrc` (check latest pyenv doc):
+
+```
+export PYENV_ROOT="$HOME/.pyenv"
+export PATH="$PYENV_ROOT/bin:$PATH"
+eval "$(pyenv init --path)"
+eval "$(pyenv init -)"
+eval "$(pyenv virtualenv-init -)"
+```
+
+```
+pyenv install 3.6.15
+pyenv install 3.7.12
+pyenv install 3.8.12
+pyenv install 3.9.9
+pyenv install 3.10.1
+```
+Check the latest versions, install the latest minor from each major version.
+
+#### Create a virtual environment
+```
+pyenv virtualenv 3.10.1 atomicpuppy
+pyenv activate atomicpuppy
+pip install tox-pyenv
+pip install -r test-requirements.txt
+```
+
+#### Run the tests
+
+```
+pyenv local atomicpuppy 3.6.13 3.7.10 3.8.10 3.9.5
+
+tox
+```
+
+## About python version
+
+There is a bug in asyncio for python3.4 that was fixed in other versions.
+This is the bug report: https://bugs.python.org/issue23812
+Because of that we have dropped support for python3.4 and we recommend to use
+python3.7.
+
+
+%package help
+Summary: Development documents and examples for AtomicPuppy
+Provides: python3-AtomicPuppy-doc
+%description help
+[![Build Status](https://travis-ci.org/madedotcom/atomicpuppy.svg?branch=master)](https://travis-ci.org/madedotcom/atomicpuppy)
+# atomicpuppy
+A service-activator component for eventstore, written in Python
+
+
+## A Brief and Mostly Useless Quickstart:
+
+```yaml
+# config.yaml
+atomicpuppy:
+ host: localhost
+ port: 2113
+ # each stream will be polled by a separate async http client
+ streams:
+ - stream_a
+ - stream_b
+ - stream_with_a_#date#
+ # the counter keeps track of which messages have been processed
+ counter:
+ redis:
+ host: localhost
+ port: 6379
+```
+
+
+```python
+# main.py
+# AtomicPuppy uses asyncio coroutines for concurrent IO
+import asyncio
+import logging
+import signal
+from atomicpuppy import AtomicPuppy
+
+# AtomicPuppy needs a callback to pass you messages.
+def handle(msg):
+ print(msg)
+
+# Config is read from yaml files.
+ap = AtomicPuppy('config.yaml', handle)
+loop = asyncio.get_event_loop()
+
+# to kill the puppy, call stop()
+def stop():
+ logging.debug("SIGINT received, shutting down")
+ ap.stop()
+
+loop.add_signal_handler(signal.SIGINT, stop)
+
+# and to start it call start.
+loop.run_until_complete(ap.start())
+```
+
+
+## Run the tests
+
+A `tox.ini` file is provided to run the tests with different versions of Python.
+
+To run the tests:
+
+1. Make sure you have the Python 3.6, 3.7, 3,8, 3.9 and 3.10 headers installed (for Ubuntu please refer to https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa)
+2. `pip install -r test-requirements.txt` from the root folder of the repository
+3. Run `tox` from the root folder of the repository
+
+### Prepare and run the tests on Mac with pyenv
+
+#### Install pyenv and pyenv-virtualenv and python versions
+
+```
+brew install pyenv pyenv-virtualenv
+```
+
+Add the following lines to your `.zshrc` (check latest pyenv doc):
+
+```
+export PYENV_ROOT="$HOME/.pyenv"
+export PATH="$PYENV_ROOT/bin:$PATH"
+eval "$(pyenv init --path)"
+eval "$(pyenv init -)"
+eval "$(pyenv virtualenv-init -)"
+```
+
+```
+pyenv install 3.6.15
+pyenv install 3.7.12
+pyenv install 3.8.12
+pyenv install 3.9.9
+pyenv install 3.10.1
+```
+Check the latest versions, install the latest minor from each major version.
+
+#### Create a virtual environment
+```
+pyenv virtualenv 3.10.1 atomicpuppy
+pyenv activate atomicpuppy
+pip install tox-pyenv
+pip install -r test-requirements.txt
+```
+
+#### Run the tests
+
+```
+pyenv local atomicpuppy 3.6.13 3.7.10 3.8.10 3.9.5
+
+tox
+```
+
+## About python version
+
+There is a bug in asyncio for python3.4 that was fixed in other versions.
+This is the bug report: https://bugs.python.org/issue23812
+Because of that we have dropped support for python3.4 and we recommend to use
+python3.7.
+
+
+%prep
+%autosetup -n AtomicPuppy-1.5.6
+
+%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-AtomicPuppy -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 1.5.6-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..8d8dfbb
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+28fc120a957f080bc87c09e6c015bca8 AtomicPuppy-1.5.6.tar.gz