Draw objects and run programs in the ARENA using Python!
Project 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.
Setup
Install package using pip:
pip3 install arena-py
Hello ARENA
Run the hello.py
example:
cd examples
python hello.py
hello.py
from arena import *
scene = Scene(host="arena.andrew.cmu.edu", realm="realm", 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 and THREE.js javascript libraries.
Authentication
We are adding protection to the ARENA MQTT broker, eventually to host an ACL list to limit access to change your scenes. As a first step, we are requiring Python programs to supply authentication through a Google account.
Sign-In Desktop OS
If you have a web browser available, the ARENA library Arena(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 library Arena(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.
Sign-Out
python3 -c "from arena import auth; auth.signout()"
Show Permissions
python3 -c "from arena import auth; auth.permissions()"
Changelog
Changelog can be found here.
ARENA-py Repository Files
- arena/: The ARENA Python library
- examples/: Canonical examples of ARENA functions from the documentation
- examples/legacy/: Deprecated demos for ARENA-py < 0.1.0
- examples/legacy/digital-twins/: Deprecated demo of digital twins of physical spaces for ARENA-py < 0.1.0
- system-tests/: Workouts and tests for ARENA-py
- tools/: Reusable tools for any ARENA scene
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for arena_py-0.1.16-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | abc84c1ad4c44c8da8467e068c80be13891199237e40a5ac2c2ac70d9884d8ad |
|
MD5 | 1df073b2eb6f3f0bf79ad90b50b678b6 |
|
BLAKE2b-256 | 2e9704fadf350e17f8a39e66d8140e583a02886e91c8d8c94a23cf72ec93c32e |