Metadata-Version: 2.0
Name: pandas3js
Version: 0.1.4.1
Summary: a pandas dataframe interface for traitlets and pythreejs
Home-page: https://github.com/chrisjsewell/pandas3js
Author: Chris Sewell
Author-email: chrisj_sewell@hotmail.com
License: MIT
Keywords: pythreejs,traitlets,graphics,3D,pandas,ipython,jupyter,three.js,webgl
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: traitlets
Requires-Dist: ipython (<6)
Requires-Dist: pythreejs
Requires-Dist: ipywidgets
Requires-Dist: pandas
Requires-Dist: numpy
Requires-Dist: matplotlib (>=2)

====================================================
pandas3js: 3D Graphics UIs in the Jupyter Notebook
====================================================

**Project**: https://github.com/chrisjsewell/pandas3js

.. image:: https://travis-ci.org/chrisjsewell/pandas3js.svg?branch=master
    :target: https://travis-ci.org/chrisjsewell/pandas3js

An extension for `traitlets <https://traitlets.readthedocs.io/en/stable/index.html>`_ and `pythreejs <https://github.com/jovyan/pythreejs>`_ that:

1. Provides a 2-way `pandas <http://pandas.pydata.org/>`_ dataframe interface for trait objects.
2. Provides simple, high level geometries, with default json specified mappings to pythreejs primitives.
3. Creates bespoke 3D Graphics GUIs in the Jupyter Notebook with only a few lines of code.

From: `pandas3js_example.ipynb <https://github.com/chrisjsewell/pandas3js/raw/master/pandas3js_example.ipynb>`_

.. image:: https://github.com/chrisjsewell/pandas3js/raw/master/pandas3js_example.gif

For more information, all functions contain docstrings with tested examples.

Installation
------------

.. parsed-literal::

    $ 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

Technical Details
-----------------

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.




