Skip to content
forked from arenaxr/arena-py

Python library for accessing the ARENA

License

Notifications You must be signed in to change notification settings

syreal17/ARENA-py

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Python library for accessing the ARENA

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.7%
  • Makefile 0.3%