plotly/python-api — pull request #12 by theengineear (2014-04-02 08:15:29+00:00)
Title: Changed inheritance schemes, Data->Trace, no more mako, added metaclass.

Inheritance schemes:
--------------------
* All dictionaries containing data now subclass from Trace. Data means
something completely different now. For example:
```
class Scatter(Trace):
...
```

* Data now refers to a PlotlyList, which makes more sense.

No more mako:
-------------
* using templating from mako was starting to be more trouble than it was
worth. We were forced to develop in a *hidden* file, installing required
extra steps, and the documentation was scattered.

Added metaclass:
----------------
* meta classes are classes that create classes. Python's usual meta
class is `type`, this creates all classes. By subclassing type, you can
make python < 3.3 docstrings mutable, hooray!

* so far, only DictMeta, a class to create PlotlyDict subclasses has
been created.

* IMPORTANT. A lot of headache was saved by *cheating* a bit and using
class names as keys in the INFO dictionary. Therefore, ALL CLASSES
SHOULD HAVE A MATCHING (lower case) ENTRY IN `INFO`!!!