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 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.3.tar.gz (47.0 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.3-py3-none-any.whl (37.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aframexr-0.10.3.tar.gz
  • Upload date:
  • Size: 47.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","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.3.tar.gz
Algorithm Hash digest
SHA256 4aebdccf8bb1847c50d0457dd12a792f47695392d718bbbd9270810daec293bd
MD5 9149cbf7b1cf48a646433d7a6491c11e
BLAKE2b-256 3ef2ba46ffdbaa0b2656bce5489d9237dc837970ed9f1b9111545175d6f60923

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aframexr-0.10.3-py3-none-any.whl
  • Upload date:
  • Size: 37.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 603de7403d8a9dd110a766e47d80c9dc6b4b7315c8c8a94b978ed9e4c3e4b1ea
MD5 a7e8292c6ce2b7ad35c6a75fab324f29
BLAKE2b-256 6ab655a36de02988c756c92aa4817d14ea097cd88d8e50897f2b10ecf4df15e0

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