%global _empty_manifest_terminate_build 0
Name:		python-asyncoro
Version:	4.5.6
Release:	1
Summary:	Python framework for concurrent, distributed, asynchronous network programming with coroutines, asynchronous completions and message passing.
License:	MIT
URL:		http://asyncoro.sourceforge.net
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/fd/79/1042b121f40be81cd634b9e42242623000b68f401397bcbc42c067296a93/asyncoro-4.5.6.tar.gz
BuildArch:	noarch


%description
* No callbacks or event loops! No need to lock critical sections either,
* Efficient polling mechanisms epoll, kqueue, /dev/poll, Windows
  I/O Completion Ports (IOCP) for high performance and
  scalability,
* Asynchronous (non-blocking) sockets and pipes, for concurrent
  processing of I/O,
* SSL for security,
* Asynchronous locking primitives similar to Python threading module,
* Asynchronous timers and timeouts,
* `Message passing <http://en.wikipedia.org/wiki/Message_passing>`_
  for (local and remote) coroutines to exchange messages one-to-one
  with `Message Queue Pattern
  <http://en.wikipedia.org/wiki/Message_queue>`_ or through
  broadcasting channels with `Publish-Subscribe Pattern
  <http://en.wikipedia.org/wiki/Publish/subscribe>`_,
* `Location transparency
  <http://en.wikipedia.org/wiki/Location_transparency>`_ with naming
  and locating (local and remote) resources,
* Distributing computation components (code and data) for execution of
  distributed communicating processes, for wide range of use cases, covering
  `SIMD, MISD, MIMD <https://en.wikipedia.org/wiki/Flynn%27s_taxonomy>`_ system
  architectures at the process level, `web interface
  <http://asyncoro.sourceforge.net/discoro.html#client-browser-interface>`_ to
  monitor cluster/application status/performance; `in-memory processing
  <https://en.wikipedia.org/wiki/In-memory_processing>`_, data streaming,
  real-time (live) analytics and cloud computing are supported as well,
* Monitoring and restarting of (local or remote) coroutines, for fault detection
  and fault-tolerance,
* Hot-swapping of coroutine functions, for dynamic system reconfiguration,
* Thread pools with asynchronous task completions, for executing (external)
  synchronous tasks, such as reading standard input.

%package -n python3-asyncoro
Summary:	Python framework for concurrent, distributed, asynchronous network programming with coroutines, asynchronous completions and message passing.
Provides:	python-asyncoro
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-asyncoro
* No callbacks or event loops! No need to lock critical sections either,
* Efficient polling mechanisms epoll, kqueue, /dev/poll, Windows
  I/O Completion Ports (IOCP) for high performance and
  scalability,
* Asynchronous (non-blocking) sockets and pipes, for concurrent
  processing of I/O,
* SSL for security,
* Asynchronous locking primitives similar to Python threading module,
* Asynchronous timers and timeouts,
* `Message passing <http://en.wikipedia.org/wiki/Message_passing>`_
  for (local and remote) coroutines to exchange messages one-to-one
  with `Message Queue Pattern
  <http://en.wikipedia.org/wiki/Message_queue>`_ or through
  broadcasting channels with `Publish-Subscribe Pattern
  <http://en.wikipedia.org/wiki/Publish/subscribe>`_,
* `Location transparency
  <http://en.wikipedia.org/wiki/Location_transparency>`_ with naming
  and locating (local and remote) resources,
* Distributing computation components (code and data) for execution of
  distributed communicating processes, for wide range of use cases, covering
  `SIMD, MISD, MIMD <https://en.wikipedia.org/wiki/Flynn%27s_taxonomy>`_ system
  architectures at the process level, `web interface
  <http://asyncoro.sourceforge.net/discoro.html#client-browser-interface>`_ to
  monitor cluster/application status/performance; `in-memory processing
  <https://en.wikipedia.org/wiki/In-memory_processing>`_, data streaming,
  real-time (live) analytics and cloud computing are supported as well,
* Monitoring and restarting of (local or remote) coroutines, for fault detection
  and fault-tolerance,
* Hot-swapping of coroutine functions, for dynamic system reconfiguration,
* Thread pools with asynchronous task completions, for executing (external)
  synchronous tasks, such as reading standard input.

%package help
Summary:	Development documents and examples for asyncoro
Provides:	python3-asyncoro-doc
%description help
* No callbacks or event loops! No need to lock critical sections either,
* Efficient polling mechanisms epoll, kqueue, /dev/poll, Windows
  I/O Completion Ports (IOCP) for high performance and
  scalability,
* Asynchronous (non-blocking) sockets and pipes, for concurrent
  processing of I/O,
* SSL for security,
* Asynchronous locking primitives similar to Python threading module,
* Asynchronous timers and timeouts,
* `Message passing <http://en.wikipedia.org/wiki/Message_passing>`_
  for (local and remote) coroutines to exchange messages one-to-one
  with `Message Queue Pattern
  <http://en.wikipedia.org/wiki/Message_queue>`_ or through
  broadcasting channels with `Publish-Subscribe Pattern
  <http://en.wikipedia.org/wiki/Publish/subscribe>`_,
* `Location transparency
  <http://en.wikipedia.org/wiki/Location_transparency>`_ with naming
  and locating (local and remote) resources,
* Distributing computation components (code and data) for execution of
  distributed communicating processes, for wide range of use cases, covering
  `SIMD, MISD, MIMD <https://en.wikipedia.org/wiki/Flynn%27s_taxonomy>`_ system
  architectures at the process level, `web interface
  <http://asyncoro.sourceforge.net/discoro.html#client-browser-interface>`_ to
  monitor cluster/application status/performance; `in-memory processing
  <https://en.wikipedia.org/wiki/In-memory_processing>`_, data streaming,
  real-time (live) analytics and cloud computing are supported as well,
* Monitoring and restarting of (local or remote) coroutines, for fault detection
  and fault-tolerance,
* Hot-swapping of coroutine functions, for dynamic system reconfiguration,
* Thread pools with asynchronous task completions, for executing (external)
  synchronous tasks, such as reading standard input.

%prep
%autosetup -n asyncoro-4.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-asyncoro -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 4.5.6-1
- Package Spec generated