Project: https://github.com/chrisjsewell/pandas3js
An extension for traitlets and pythreejs that:
- Provides a 2-way pandas dataframe interface for trait objects.
- Provides simple, high level (renderer agnostic) geometries, with default json specified mappings to pythreejs primitives.
- Creates bespoke 3D Graphics GUIs in the Jupyter Notebook with only a few lines of code.
From: pandas3js_example.ipynb
For more information, all functions contain docstrings with tested examples.
$ pip install pandas3js $ jupyter nbextension enable --py --sys-prefix pythreejs
pandas3js
is integration tested against python versions 2.7, 3.4, 3.5 and 3.6
Employing a meta Model/View design; Unique geometry objects are stored in a GeometryCollection
model object,
which can be viewed as (and modified by) a pandas.DataFrame
, containing objects (by row) and traits/object_type (by column).
The GeometryCollection
(and its objects) can then be directionally synced to a pythreejs.Scene
(and pythreejs.3DObjects
)
view, via a json mapping specification.