diff options
author | CoprDistGit <infra@openeuler.org> | 2023-06-20 04:15:21 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-06-20 04:15:21 +0000 |
commit | 5139578ebfe17fc97c6e5561aa2998e2d253a461 (patch) | |
tree | 3a2f06b145fc8a909f5f4b88ad07620e4aad1848 | |
parent | ba99177c2aa94ccd4f39caf54ce865a94cf7c43c (diff) |
automatic import of python-aiomsaopeneuler20.03
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-aiomsa.spec | 277 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 279 insertions, 0 deletions
@@ -0,0 +1 @@ +/aiomsa-0.1.0a8.tar.gz diff --git a/python-aiomsa.spec b/python-aiomsa.spec new file mode 100644 index 0000000..9f72b12 --- /dev/null +++ b/python-aiomsa.spec @@ -0,0 +1,277 @@ +%global _empty_manifest_terminate_build 0 +Name: python-aiomsa +Version: 0.1.0a8 +Release: 1 +Summary: Asynchronous xApp framework +License: BSD-3-Clause +URL: https://github.com/facebookexternal/aiomsa +Source0: https://mirrors.aliyun.com/pypi/web/packages/aa/cb/f192ee60f96d3c9617f6365b1f3d6ecb0d61bfa686c878a7fd0152c7cd02/aiomsa-0.1.0a8.tar.gz +BuildArch: noarch + +Requires: python3-aiohttp +Requires: python3-aiohttp-swagger +Requires: python3-prometheus-async +Requires: python3-furo +Requires: python3-sphinx +Requires: python3-sphinx-autodoc-typehints +Requires: python3-sphinxcontrib-openapi + +%description +# aiomsa +[](https://github.com/facebookexternal/aiomsa/actions/workflows/build.yml) +[](https://github.com/psf/black) + + +*aiomsa* is a Python 3.7+ framework built using `asyncio`. At its core, *aiomsa* +provides a simple and standardized way to write xApps that can be deployed as +microservices in Python. + +## Installation +*aiomsa* can be installed from PyPI. +```bash +pip install aiomsa +``` + +You can also get the latest code from GitHub. +```bash +poetry add git+https://github.com/facebookexternal/aiomsa +``` + +## Getting Started +The follwing example shows how to use *aiomsa* to create a simple xApp for subscribing +to the E2T service for a particular custom service model. + +```python +import asyncio + +import aiomsa +import aiomsa.abc +from onos_ric_sdk_py import E2Client, SDLClient + +from .models import MyModel + + +async def run(e2: aiomsa.abc.E2Client, e2_node_id: str) -> None: + subscription = await e2.subscribe( + e2_node_id, + service_model_name="my_model", + service_model_version="v1", + subscription_id="my_app-my_model-sub", + trigger=bytes(MyModel(param="foo")), + actions=[ + aiomsa.abc.RICAction( + id=1, + type=aiomsa.abc.RICActionType.REPORT, + subsequent_action_type=aiomsa.abc.RICSubsequentActionType.CONTINUE, + time_to_wait=aiomsa.abc.RICTimeToWait.ZERO, + ) + ], + ) + + async for (_header, message) in subscription: + print(message) + + +async def main() -> None: + async with E2Client(app_id="my_app", e2t_endpoint="e2t:5150") as e2, SDLClient( + topo_endpoint="topo:5150" + ) as sdl: + async for e2_node in sdl.watch_e2_connections(): + asyncio.create_task(run(e2, e2_node.id)) + + +if __name__ == "__main__": + aiomsa.run(main()) +``` + + +%package -n python3-aiomsa +Summary: Asynchronous xApp framework +Provides: python-aiomsa +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-aiomsa +# aiomsa +[](https://github.com/facebookexternal/aiomsa/actions/workflows/build.yml) +[](https://github.com/psf/black) + + +*aiomsa* is a Python 3.7+ framework built using `asyncio`. At its core, *aiomsa* +provides a simple and standardized way to write xApps that can be deployed as +microservices in Python. + +## Installation +*aiomsa* can be installed from PyPI. +```bash +pip install aiomsa +``` + +You can also get the latest code from GitHub. +```bash +poetry add git+https://github.com/facebookexternal/aiomsa +``` + +## Getting Started +The follwing example shows how to use *aiomsa* to create a simple xApp for subscribing +to the E2T service for a particular custom service model. + +```python +import asyncio + +import aiomsa +import aiomsa.abc +from onos_ric_sdk_py import E2Client, SDLClient + +from .models import MyModel + + +async def run(e2: aiomsa.abc.E2Client, e2_node_id: str) -> None: + subscription = await e2.subscribe( + e2_node_id, + service_model_name="my_model", + service_model_version="v1", + subscription_id="my_app-my_model-sub", + trigger=bytes(MyModel(param="foo")), + actions=[ + aiomsa.abc.RICAction( + id=1, + type=aiomsa.abc.RICActionType.REPORT, + subsequent_action_type=aiomsa.abc.RICSubsequentActionType.CONTINUE, + time_to_wait=aiomsa.abc.RICTimeToWait.ZERO, + ) + ], + ) + + async for (_header, message) in subscription: + print(message) + + +async def main() -> None: + async with E2Client(app_id="my_app", e2t_endpoint="e2t:5150") as e2, SDLClient( + topo_endpoint="topo:5150" + ) as sdl: + async for e2_node in sdl.watch_e2_connections(): + asyncio.create_task(run(e2, e2_node.id)) + + +if __name__ == "__main__": + aiomsa.run(main()) +``` + + +%package help +Summary: Development documents and examples for aiomsa +Provides: python3-aiomsa-doc +%description help +# aiomsa +[](https://github.com/facebookexternal/aiomsa/actions/workflows/build.yml) +[](https://github.com/psf/black) + + +*aiomsa* is a Python 3.7+ framework built using `asyncio`. At its core, *aiomsa* +provides a simple and standardized way to write xApps that can be deployed as +microservices in Python. + +## Installation +*aiomsa* can be installed from PyPI. +```bash +pip install aiomsa +``` + +You can also get the latest code from GitHub. +```bash +poetry add git+https://github.com/facebookexternal/aiomsa +``` + +## Getting Started +The follwing example shows how to use *aiomsa* to create a simple xApp for subscribing +to the E2T service for a particular custom service model. + +```python +import asyncio + +import aiomsa +import aiomsa.abc +from onos_ric_sdk_py import E2Client, SDLClient + +from .models import MyModel + + +async def run(e2: aiomsa.abc.E2Client, e2_node_id: str) -> None: + subscription = await e2.subscribe( + e2_node_id, + service_model_name="my_model", + service_model_version="v1", + subscription_id="my_app-my_model-sub", + trigger=bytes(MyModel(param="foo")), + actions=[ + aiomsa.abc.RICAction( + id=1, + type=aiomsa.abc.RICActionType.REPORT, + subsequent_action_type=aiomsa.abc.RICSubsequentActionType.CONTINUE, + time_to_wait=aiomsa.abc.RICTimeToWait.ZERO, + ) + ], + ) + + async for (_header, message) in subscription: + print(message) + + +async def main() -> None: + async with E2Client(app_id="my_app", e2t_endpoint="e2t:5150") as e2, SDLClient( + topo_endpoint="topo:5150" + ) as sdl: + async for e2_node in sdl.watch_e2_connections(): + asyncio.create_task(run(e2, e2_node.id)) + + +if __name__ == "__main__": + aiomsa.run(main()) +``` + + +%prep +%autosetup -n aiomsa-0.1.0a8 + +%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-aiomsa -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.0a8-1 +- Package Spec generated @@ -0,0 +1 @@ +edb0a8aebddf6392eea1a871726350af aiomsa-0.1.0a8.tar.gz |