%global _empty_manifest_terminate_build 0 Name: python-arena-py Version: 0.3.0 Release: 1 Summary: Draw objects and run programs in the ARENA using Python! License: BSD 3-clause "New" or "Revised License" URL: https://github.com/arenaxr/ARENA-py Source0: https://mirrors.nju.edu.cn/pypi/web/packages/4e/8b/cbc5bd1cdb5c6675e2fabc024baa0c5e68fd166f5db76e3b37f8091729ad/arena-py-0.3.0.tar.gz BuildArch: noarch Requires: python3-aiohttp Requires: python3-paho-mqtt Requires: python3-requests Requires: python3-webcolors Requires: python3-google-auth-oauthlib Requires: python3-google-auth Requires: python3-PyJWT Requires: python3-numpy Requires: python3-scipy %description # ARENA-Py Draw objects and run programs in the ARENA using Python! ## Documentation The ARENA Python library user guide and tutorials: [ARENA Documentation: Python](https://docs.arenaxr.org/content/python/). ## Setup Install package using pip: ```shell pip3 install arena-py ``` ## Hello ARENA Run the `hello.py` example: ```shell cd examples python hello.py ``` `hello.py` ```python from arena import * scene = Scene(host="mqtt.arenaxr.org", scene="example") @scene.run_once def make_box(): scene.add_object(Box()) scene.run_tasks() ``` ## ARENA-py Library The above is the simplest example of an ARENA Python program. This library sits above the ARENA pub/sub MQTT message protocol: JSON messages described in more detail at https://github.com/conix-center/ARENA-core which runs in a browser. That forms a layer, in turn, on top of [A-Frame](https://aframe.io/) and [THREE.js](http://threejs.org/) javascript libraries. ## Authentication We have added protection to the ARENA MQTT broker to limit access to change your scenes, which requires Python programs to supply authentication through a Google account. ### Sign-In Desktop OS If you have a web browser available, the ARENA-py library `Scene(host="myhost.com")` will launch a web browser the first time and ask you for an account to authenticate you with, before opening a client MQTT connection. ### Sign-In Server/Headless OS For headless environments, the ARENA-py library `Scene(host="myhost.com")` will provide you with a url to cut and paste in a browser anywhere, ask you for an account to authenticate you with, and show you a code you can enter on the command line, before opening a client MQTT connection. ## Scripts Some helper script aliases have been added in this library to help you manage authentication and quick command-line (CLI) publish and subscribe to the ARENA. ### Sign-Out ```bash arena-py-signout ``` ### Show Permissions ```bash arena-py-permissions ``` ### CLI Subscribe to Scene Messages ```bash arena-py-sub -mh mqtt.arenaxr.org -s example ``` ### CLI Subscribe to Custom Topic ```bash arena-py-sub -mh mqtt.arenaxr.org -t realm/g/a ``` ### CLI Publish a Scene Object Message ```bash arena-py-pub -mh mqtt.arenaxr.org -s example -m '{"object_id": "gltf-model_Earth", "action": "create", "type": "object", "data": {"object_type": "gltf-model", "position": {"x":0, "y": 0.1, "z": 0}, "url": "store/models/Earth.glb", "scale": {"x": 5, "y": 5, "z": 5}}}' ``` ### CLI Help ```bash arena-py-pub --help arena-py-sub --help ``` ## Changelog Changelog can be found [here](https://github.com/conix-center/ARENA-py/tree/master/CHANGELOG.md). ## ARENA-py Repository Files - [arena/](https://github.com/conix-center/ARENA-py/tree/master/arena/): The ARENA Python library. - [examples/](https://github.com/conix-center/ARENA-py/tree/master/examples/): Canonical examples of ARENA functions from the [documentation](https://docs.arenaxr.org/content/python/). - [examples/objects](https://github.com/conix-center/ARENA-py/tree/master/examples/objects): Examples on how to create various ARENA-py objects. - [examples/attributes](https://github.com/conix-center/ARENA-py/tree/master/examples/attributes): Examples on how to declare an add various ARENA-py object attributes. - [examples/legacy/](https://github.com/conix-center/ARENA-py/tree/master/examples/legacy/): **Deprecated** demos for **ARENA-py < 0.1.0**. - [examples/legacy/digital-twins/](https://github.com/conix-center/ARENA-py/tree/master/examples/legacy/digital-twins/): **Deprecated** demo of digital twins of physical spaces for **ARENA-py < 0.1.0**. - [system-tests/](https://github.com/conix-center/ARENA-py/tree/master/system-tests/): Workouts and tests for ARENA-py. - [tools/](https://github.com/conix-center/ARENA-py/tree/master/tools/): Reusable tools for any ARENA scene. %package -n python3-arena-py Summary: Draw objects and run programs in the ARENA using Python! Provides: python-arena-py BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-arena-py # ARENA-Py Draw objects and run programs in the ARENA using Python! ## Documentation The ARENA Python library user guide and tutorials: [ARENA Documentation: Python](https://docs.arenaxr.org/content/python/). ## Setup Install package using pip: ```shell pip3 install arena-py ``` ## Hello ARENA Run the `hello.py` example: ```shell cd examples python hello.py ``` `hello.py` ```python from arena import * scene = Scene(host="mqtt.arenaxr.org", scene="example") @scene.run_once def make_box(): scene.add_object(Box()) scene.run_tasks() ``` ## ARENA-py Library The above is the simplest example of an ARENA Python program. This library sits above the ARENA pub/sub MQTT message protocol: JSON messages described in more detail at https://github.com/conix-center/ARENA-core which runs in a browser. That forms a layer, in turn, on top of [A-Frame](https://aframe.io/) and [THREE.js](http://threejs.org/) javascript libraries. ## Authentication We have added protection to the ARENA MQTT broker to limit access to change your scenes, which requires Python programs to supply authentication through a Google account. ### Sign-In Desktop OS If you have a web browser available, the ARENA-py library `Scene(host="myhost.com")` will launch a web browser the first time and ask you for an account to authenticate you with, before opening a client MQTT connection. ### Sign-In Server/Headless OS For headless environments, the ARENA-py library `Scene(host="myhost.com")` will provide you with a url to cut and paste in a browser anywhere, ask you for an account to authenticate you with, and show you a code you can enter on the command line, before opening a client MQTT connection. ## Scripts Some helper script aliases have been added in this library to help you manage authentication and quick command-line (CLI) publish and subscribe to the ARENA. ### Sign-Out ```bash arena-py-signout ``` ### Show Permissions ```bash arena-py-permissions ``` ### CLI Subscribe to Scene Messages ```bash arena-py-sub -mh mqtt.arenaxr.org -s example ``` ### CLI Subscribe to Custom Topic ```bash arena-py-sub -mh mqtt.arenaxr.org -t realm/g/a ``` ### CLI Publish a Scene Object Message ```bash arena-py-pub -mh mqtt.arenaxr.org -s example -m '{"object_id": "gltf-model_Earth", "action": "create", "type": "object", "data": {"object_type": "gltf-model", "position": {"x":0, "y": 0.1, "z": 0}, "url": "store/models/Earth.glb", "scale": {"x": 5, "y": 5, "z": 5}}}' ``` ### CLI Help ```bash arena-py-pub --help arena-py-sub --help ``` ## Changelog Changelog can be found [here](https://github.com/conix-center/ARENA-py/tree/master/CHANGELOG.md). ## ARENA-py Repository Files - [arena/](https://github.com/conix-center/ARENA-py/tree/master/arena/): The ARENA Python library. - [examples/](https://github.com/conix-center/ARENA-py/tree/master/examples/): Canonical examples of ARENA functions from the [documentation](https://docs.arenaxr.org/content/python/). - [examples/objects](https://github.com/conix-center/ARENA-py/tree/master/examples/objects): Examples on how to create various ARENA-py objects. - [examples/attributes](https://github.com/conix-center/ARENA-py/tree/master/examples/attributes): Examples on how to declare an add various ARENA-py object attributes. - [examples/legacy/](https://github.com/conix-center/ARENA-py/tree/master/examples/legacy/): **Deprecated** demos for **ARENA-py < 0.1.0**. - [examples/legacy/digital-twins/](https://github.com/conix-center/ARENA-py/tree/master/examples/legacy/digital-twins/): **Deprecated** demo of digital twins of physical spaces for **ARENA-py < 0.1.0**. - [system-tests/](https://github.com/conix-center/ARENA-py/tree/master/system-tests/): Workouts and tests for ARENA-py. - [tools/](https://github.com/conix-center/ARENA-py/tree/master/tools/): Reusable tools for any ARENA scene. %package help Summary: Development documents and examples for arena-py Provides: python3-arena-py-doc %description help # ARENA-Py Draw objects and run programs in the ARENA using Python! ## Documentation The ARENA Python library user guide and tutorials: [ARENA Documentation: Python](https://docs.arenaxr.org/content/python/). ## Setup Install package using pip: ```shell pip3 install arena-py ``` ## Hello ARENA Run the `hello.py` example: ```shell cd examples python hello.py ``` `hello.py` ```python from arena import * scene = Scene(host="mqtt.arenaxr.org", scene="example") @scene.run_once def make_box(): scene.add_object(Box()) scene.run_tasks() ``` ## ARENA-py Library The above is the simplest example of an ARENA Python program. This library sits above the ARENA pub/sub MQTT message protocol: JSON messages described in more detail at https://github.com/conix-center/ARENA-core which runs in a browser. That forms a layer, in turn, on top of [A-Frame](https://aframe.io/) and [THREE.js](http://threejs.org/) javascript libraries. ## Authentication We have added protection to the ARENA MQTT broker to limit access to change your scenes, which requires Python programs to supply authentication through a Google account. ### Sign-In Desktop OS If you have a web browser available, the ARENA-py library `Scene(host="myhost.com")` will launch a web browser the first time and ask you for an account to authenticate you with, before opening a client MQTT connection. ### Sign-In Server/Headless OS For headless environments, the ARENA-py library `Scene(host="myhost.com")` will provide you with a url to cut and paste in a browser anywhere, ask you for an account to authenticate you with, and show you a code you can enter on the command line, before opening a client MQTT connection. ## Scripts Some helper script aliases have been added in this library to help you manage authentication and quick command-line (CLI) publish and subscribe to the ARENA. ### Sign-Out ```bash arena-py-signout ``` ### Show Permissions ```bash arena-py-permissions ``` ### CLI Subscribe to Scene Messages ```bash arena-py-sub -mh mqtt.arenaxr.org -s example ``` ### CLI Subscribe to Custom Topic ```bash arena-py-sub -mh mqtt.arenaxr.org -t realm/g/a ``` ### CLI Publish a Scene Object Message ```bash arena-py-pub -mh mqtt.arenaxr.org -s example -m '{"object_id": "gltf-model_Earth", "action": "create", "type": "object", "data": {"object_type": "gltf-model", "position": {"x":0, "y": 0.1, "z": 0}, "url": "store/models/Earth.glb", "scale": {"x": 5, "y": 5, "z": 5}}}' ``` ### CLI Help ```bash arena-py-pub --help arena-py-sub --help ``` ## Changelog Changelog can be found [here](https://github.com/conix-center/ARENA-py/tree/master/CHANGELOG.md). ## ARENA-py Repository Files - [arena/](https://github.com/conix-center/ARENA-py/tree/master/arena/): The ARENA Python library. - [examples/](https://github.com/conix-center/ARENA-py/tree/master/examples/): Canonical examples of ARENA functions from the [documentation](https://docs.arenaxr.org/content/python/). - [examples/objects](https://github.com/conix-center/ARENA-py/tree/master/examples/objects): Examples on how to create various ARENA-py objects. - [examples/attributes](https://github.com/conix-center/ARENA-py/tree/master/examples/attributes): Examples on how to declare an add various ARENA-py object attributes. - [examples/legacy/](https://github.com/conix-center/ARENA-py/tree/master/examples/legacy/): **Deprecated** demos for **ARENA-py < 0.1.0**. - [examples/legacy/digital-twins/](https://github.com/conix-center/ARENA-py/tree/master/examples/legacy/digital-twins/): **Deprecated** demo of digital twins of physical spaces for **ARENA-py < 0.1.0**. - [system-tests/](https://github.com/conix-center/ARENA-py/tree/master/system-tests/): Workouts and tests for ARENA-py. - [tools/](https://github.com/conix-center/ARENA-py/tree/master/tools/): Reusable tools for any ARENA scene. %prep %autosetup -n arena-py-0.3.0 %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-arena-py -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 0.3.0-1 - Package Spec generated