Skip to main content

Python library to visualize data in Virtual and Extended Reality using Aframe components.

Project description

AFrameXR

PyPI License

AFrameXR is a declarative Python library for building immersive 3D and XR data visualizations — directly in your browser, with no 3D experience required.

Inspired by Vega-Altair and Vega-Lite, AFrameXR lets you define interactive 3D charts using a simple grammar, and render them directly in the browsers and XR devices — without low-level 3D programming.

Live Demo

https://davidlab20.github.io/TFG/examples/index.html

Features

  • Declarative API — Define charts using a high-level grammar
  • XR Visualization — Explore charts in immersive environments
  • Notebook Integration — Works with Jupyter and Marimo
  • Browser Rendering — Visualize charts directly in the browser
  • Interactive Exploration — Navigate and interact with your data

Why AFrameXR?

AFrameXR brings the declarative visualization paradigm to 3D and XR environments.

  • No need to learn complex 3D engines
  • Inspired by proven visualization tools like Vega-Lite
  • Built for the web and XR from the ground up
  • Clean and concise API for rapid prototyping

Installation

pip install aframexr

Simple example

import aframexr
from aframexr.datasets import data

# Load dataset
cars = data.cars()

# Create a 3D chart
aframexr.Chart(
    cars,
    position="0 2 -5"
).mark_bar().encode(
    x="model",
    y="sales",
    z="doors:N",  # :N indicates a categorical (nominal) field
    color="motor"
)

Supported Environments

  • Jupyter Notebook
  • Marimo Notebooks
  • Modern web browsers (Chrome, Firefox)
  • XR devices

Documentation

Full documentation: https://davidlab20.github.io/TFG/

User Study

Try AFrameXR in a short usability study (~10–15 min).

If you'd like to participate: Go to experiment instructions

What you'll do

  • Complete a few small visualization tasks
  • No prior 3D experience required

Your feedback is extremely valuable!

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

aframexr-0.10.4.tar.gz (47.1 kB view details)

Uploaded Source

Built Distribution

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

aframexr-0.10.4-py3-none-any.whl (37.5 kB view details)

Uploaded Python 3

File details

Details for the file aframexr-0.10.4.tar.gz.

File metadata

  • Download URL: aframexr-0.10.4.tar.gz
  • Upload date:
  • Size: 47.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for aframexr-0.10.4.tar.gz
Algorithm Hash digest
SHA256 e45bd029d85cc1cf93dbc09f1e49fa1df1db47ecf300715bf9972c8680060040
MD5 b432b4a5ce5e045420db97aae99a9558
BLAKE2b-256 60a3436cd411c29b772f7e27c80108cc117eeec41e54e3d9d7f83a43029ca8e7

See more details on using hashes here.

File details

Details for the file aframexr-0.10.4-py3-none-any.whl.

File metadata

  • Download URL: aframexr-0.10.4-py3-none-any.whl
  • Upload date:
  • Size: 37.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for aframexr-0.10.4-py3-none-any.whl
Algorithm Hash digest
SHA256 110f99910d1b39f39cb651374ad32fdd5c208858c882ef653ab1ffaf98f3fc65
MD5 6fb241995e0771936722ab1548b7fee2
BLAKE2b-256 3ffcbe156e69f17e48a580fb2d07470d3814ca4c4857dd3ab37dffaf817dbeda

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