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

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 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 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.

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

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.24.tar.gz (23.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arena_py-0.1.24-py3-none-any.whl (36.4 kB view details)

Uploaded Python 3

File details

Details for the file arena-py-0.1.24.tar.gz.

File metadata

  • Download URL: arena-py-0.1.24.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/54.1.2 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.9.2

File hashes

Hashes for arena-py-0.1.24.tar.gz
Algorithm Hash digest
SHA256 293147a1b4c35e077bbc1e2b9823cc7ef4df5dbefd05f535703f33dfc6448b7b
MD5 4922c77a11dd2220cea182737b64dd7a
BLAKE2b-256 a999bcdc340885df284113c7720edd9d5ed83604bbb40615888509552aa29b0b

See more details on using hashes here.

File details

Details for the file arena_py-0.1.24-py3-none-any.whl.

File metadata

  • Download URL: arena_py-0.1.24-py3-none-any.whl
  • Upload date:
  • Size: 36.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/54.1.2 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.9.2

File hashes

Hashes for arena_py-0.1.24-py3-none-any.whl
Algorithm Hash digest
SHA256 2b300bb9350a1a1bc000f4b7b32c00160cdba1ecd5cbb76c8216ad32a7446e69
MD5 b36c0fcb8b25d678a64e51bb80244a4d
BLAKE2b-256 fa405e844141d9a8359545e4c148669ce14a1356460e59a8c98dceb4a689cd1e

See more details on using hashes here.

Supported by

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