diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-15 04:38:36 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-15 04:38:36 +0000 |
commit | 66a89dc4ba0432f6d6b16b0fe26eee122aa409a0 (patch) | |
tree | b269737c8b8d14e47e8e7e4ad648b12f2c988a0a | |
parent | d9d4c77fa7ac41e72d025792c4c99faca9f4a5fe (diff) |
automatic import of python-atomicpuppy
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-atomicpuppy.spec | 416 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 418 insertions, 0 deletions
@@ -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 +[](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 +[](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 +[](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 @@ -0,0 +1 @@ +28fc120a957f080bc87c09e6c015bca8 AtomicPuppy-1.5.6.tar.gz |