157 lines
5.5 KiB
Python
157 lines
5.5 KiB
Python
%global _empty_manifest_terminate_build 0
|
|
Name: python-websockets
|
|
Version: 8.1
|
|
Release: 3
|
|
Summary: An implementation of the WebSocket Protocol (RFC 6455 & 7692)
|
|
License: BSD-3-Clause
|
|
URL: https://github.com/aaugustin/websockets
|
|
Source0: https://files.pythonhosted.org/packages/e9/2b/cf738670bb96eb25cb2caf5294e38a9dc3891a6bcd8e3a51770dbc517c65/websockets-8.1.tar.gz
|
|
|
|
|
|
%description
|
|
``websockets`` is a library for building WebSocket servers_ and clients_ in
|
|
Python with a focus on correctness and simplicity.
|
|
Built on top of ``asyncio``, Python's standard asynchronous I/O framework, it
|
|
provides an elegant coroutine-based API.
|
|
`Documentation is available on Read the Docs. <https://websockets.readthedocs.io/>`_
|
|
Here's how a client sends and receives messages:
|
|
#!/usr/bin/env python
|
|
import asyncio
|
|
import websockets
|
|
async def hello(uri):
|
|
async with websockets.connect(uri) as websocket:
|
|
await websocket.send("Hello world!")
|
|
await websocket.recv()
|
|
asyncio.get_event_loop().run_until_complete(
|
|
hello('ws://localhost:8765'))
|
|
And here's an echo server:
|
|
#!/usr/bin/env python
|
|
import asyncio
|
|
import websockets
|
|
async def echo(websocket, path):
|
|
async for message in websocket:
|
|
await websocket.send(message)
|
|
asyncio.get_event_loop().run_until_complete(
|
|
websockets.serve(echo, 'localhost', 8765))
|
|
asyncio.get_event_loop().run_forever()
|
|
Does that look good?
|
|
`Get started with the tutorial! <https://websockets.readthedocs.io/en/stable/intro.html>`_
|
|
|
|
%package -n python3-websockets
|
|
Summary: An implementation of the WebSocket Protocol (RFC 6455 & 7692)
|
|
Provides: python-websockets
|
|
BuildRequires: python3-devel
|
|
BuildRequires: python3-setuptools
|
|
BuildRequires: python3-cffi
|
|
BuildRequires: gcc
|
|
%description -n python3-websockets
|
|
``websockets`` is a library for building WebSocket servers_ and clients_ in
|
|
Python with a focus on correctness and simplicity.
|
|
Built on top of ``asyncio``, Python's standard asynchronous I/O framework, it
|
|
provides an elegant coroutine-based API.
|
|
`Documentation is available on Read the Docs. <https://websockets.readthedocs.io/>`_
|
|
Here's how a client sends and receives messages:
|
|
#!/usr/bin/env python
|
|
import asyncio
|
|
import websockets
|
|
async def hello(uri):
|
|
async with websockets.connect(uri) as websocket:
|
|
await websocket.send("Hello world!")
|
|
await websocket.recv()
|
|
asyncio.get_event_loop().run_until_complete(
|
|
hello('ws://localhost:8765'))
|
|
And here's an echo server:
|
|
#!/usr/bin/env python
|
|
import asyncio
|
|
import websockets
|
|
async def echo(websocket, path):
|
|
async for message in websocket:
|
|
await websocket.send(message)
|
|
asyncio.get_event_loop().run_until_complete(
|
|
websockets.serve(echo, 'localhost', 8765))
|
|
asyncio.get_event_loop().run_forever()
|
|
Does that look good?
|
|
`Get started with the tutorial! <https://websockets.readthedocs.io/en/stable/intro.html>`_
|
|
|
|
%package help
|
|
Summary: Development documents and examples for websockets
|
|
Provides: python3-websockets-doc
|
|
%description help
|
|
``websockets`` is a library for building WebSocket servers_ and clients_ in
|
|
Python with a focus on correctness and simplicity.
|
|
Built on top of ``asyncio``, Python's standard asynchronous I/O framework, it
|
|
provides an elegant coroutine-based API.
|
|
`Documentation is available on Read the Docs. <https://websockets.readthedocs.io/>`_
|
|
Here's how a client sends and receives messages:
|
|
#!/usr/bin/env python
|
|
import asyncio
|
|
import websockets
|
|
async def hello(uri):
|
|
async with websockets.connect(uri) as websocket:
|
|
await websocket.send("Hello world!")
|
|
await websocket.recv()
|
|
asyncio.get_event_loop().run_until_complete(
|
|
hello('ws://localhost:8765'))
|
|
And here's an echo server:
|
|
#!/usr/bin/env python
|
|
import asyncio
|
|
import websockets
|
|
async def echo(websocket, path):
|
|
async for message in websocket:
|
|
await websocket.send(message)
|
|
asyncio.get_event_loop().run_until_complete(
|
|
websockets.serve(echo, 'localhost', 8765))
|
|
asyncio.get_event_loop().run_forever()
|
|
Does that look good?
|
|
`Get started with the tutorial! <https://websockets.readthedocs.io/en/stable/intro.html>`_
|
|
|
|
%prep
|
|
%autosetup -n websockets-8.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-websockets -f filelist.lst
|
|
%dir %{python3_sitearch}/*
|
|
|
|
%files help -f doclist.lst
|
|
%{_docdir}/*
|
|
|
|
%changelog
|
|
* Wed May 11 2022 yangping <yangping69@h-partners> - 8.1-3
|
|
- License compliance rectification
|
|
|
|
* Wed Aug 04 2021 chenyanpanHW <chenyanpan@huawei.com> - 8.1-2
|
|
- DESC: delete BuildRequires gdb
|
|
|
|
* Thu Oct 01 2020 Python_Bot <Python_Bot@openeuler.org>
|
|
- Package Spec generated
|