Skip to main content

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

  1. Run the hello.py example:
cd examples
python hello.py

hello.py

from arena import *

arena = Arena(host="arena.andrew.cmu.edu", realm="realm", scene="example")

@arena.run_once
def make_box():
    arena.add_object(Box())

arena.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()"

ARENA-py Repository Files

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

arena-py-0.1.11.tar.gz (20.6 kB view hashes)

Uploaded Source

Built Distribution

arena_py-0.1.11-py3-none-any.whl (32.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page