- Essentially a graphical interface to dict; all items have text and value
- Assigns previously-selected text after list is cleared and repopulated
- Get, set current value
This merge converts all absolute imports into relative imports throughout pyqtgraph.
This allows pyqtgraph to be embedded as a sub-package of larger packages.
- CSV headers include data names, if available
- Exporter correctly handles items with no data
- pg.plot() avoids creating empty data item
- removed call to reduce() from exporter; not available in python 3
- Gave .name() methods to PlotDataItem, PlotCurveItem, and ScatterPlotItem
* __init__.py now contains latest release version string
* installing from git checkout that does not correspond to a release commit
will result in a more descriptive version string
New Profiler class from Antony Lee:
* Simpler API (with backward compatibility)
* Individual Profilers can be enabled by environmental variable PYQTGRAPHPROFILE
* Loads only data that is currently visible
* Downsamples to avoid plotting too many samples
* Loads data in chunks to limit memory usage during downsampling
A new function profiling system is implemented. Most importantly, this
allows one to profile various internal functions directly by setting the
`PYQTGRAPHPROFILE` environment variable to a comma separated list of
function and method names, e.g.
PYQTGRAPHPROFILE=functions.makeARGB,ImageItem.render \
python -mexamples
Specifically, items in `PYQTGRAPHPROFILE` must be of the form
`classname.methodname` or `dotted_module_name.functionname`, with the
initial "pyqtgraph." stripped from the dotted module name.
Moreover, the overhead of inactive profilers has been kept minimal: an
introspective check of the caller's name (only if `PYQTGRAPHPROFILE` is
set) and a trivial function (not method) call per profiler call.
The new profilers rely on `sys._getframe` to find the caller's name,
although the previous system (passing the caller's name explicitely)
could certainly have been kept instead.
Finally the API of profilers has been changed: register a
profiling point simply by calling the profiler, and profilers are
automatically flushed on garbage collection. See the docstring of
`pyqtgraph.debug.Profiler` for more details.