Spyder Variable explorer how to show custom data types?
Question: The Spyder Variable explorer looks very interesting to me, but currently it
can show only a limited number of data types:
<https://pythonhosted.org/spyder/variableexplorer.html>

If I define a **custom** class/data type, its instances will not show in the
Variable explorer by default; if I _uncheck_ the option "Exclude unsupported
data types", then there will be overwhelming (global) variables and functions
showing in the Variable explorer, making it very hard to use.

So my questions are:

  1. is there a protocol/configuration to **add a custom data type** into the "list of supported data types" of Spyder, so that the custom data type will show in the Variable explorer by default? (e.g., by making the custom data type picklable?)

  2. is it possible for the Variable explorer to show only variables created **after** starting Spyder/IPython console (after loading pylab or whatever in the IPython startup script etc.)? If so, a lot of variables can be filtered out and the users can focus on the new variables.

  3. is there a switch to simply apply a filter to the data types in the Variable explorer, e.g., filtering out all functions/methods/Class definitions, and only leaving the class instances/primitives, so that the Variable explorer is more focused on the "data", similar to the Matlab style?

BTW, is there any "best practice" configuration of the Variable explorer for
"data-oriented" development?

Thank you all in advance!


Answer: (_Spydere dev here_) Regarding your questions:

  1. No, there is no configuration to add custom data types. We haven't considered that important so far because all data types we support have associated an specialized viewer (e.g. DataFrames and Numpy arrays).

  2. You'll be happy to know that since Spyder 2.3.2 (to be released in a few days), our IPython consoles will show much less variables than in previous versions. There was an error that lead us to pollute the variable explorer, and it was fixed in this version.

  3. We don't have any such filter but I think it's not hard to add. Please open an issue in our issue tracker so that we don't forget to work on that for 2.4.

