News in 1.2 series¶
Sympathy for Data version 1.2 is a significant minor release for Sympathy for Data. It features several prominent new features, improved stability and more. It is however not redesigned and with only a few small modifications, all existing nodes and flows should work as well as in 1.1.
The bundled python installation has been upgraded with new versions of almost every package. Added to the packages is scikit-learn, used for machine learning. Our investigations suggest that the new package versions are reasonably compatible with old nodes and cause no significant differences for the standard library.
New features¶
Added support for using environment variables, and per installation/workflow variables. The variables which can have a default value are used in string fields of configuration widgets to enable parametrization. See Using environment variables.
Added support for profiling, with the ability to produce graphs if Graphviz is available. See Profiling nodes and workflows.
Added support for debugging single nodes with data available from Sympathy using spyder. See Debugging nodes using Spyder.
Added new Node Wizard for generating new nodes. See Creating new nodes.
Added support for configuring subflows by aggregating selected node configurations. See Subflow configuration.
Improved support for plugins in third party libraries. It is no longer necessary to add the folder with the plugin to python path in preferences
Support for adding custom data types in third party libraries. See Data types.
Significantly improved handling of unicode paths including the ability to install Sympathy and third party libraries in a path with unicode characters
Nodes and plugins¶
Added CarMaker type 2 ERG ADAF importer plugin called “CM-ERG”
Plugins can now export to non-ascii filenames
Fixed MDF export of boolean signals
Added generating nodes for empty Table, Tables ADAF and ADAFs.
Convert column nodes can convert to datetime
Calculator node can produce compact output for length matched output
Lookup nodes handles both event column and other columns with datetimes
Time Sync nodes “SynchronizeLSF” strategy should work as expected again. The Vjoin index option is now only used for the ”Sync parts” strategy
New command line options¶
See Command options for more info.
Added new command line option, ‘–generate-documentation’ for generating documentation from CLI
Added ‘exit-after-exception’ argument which is activated by default in CLI. It makes Sympathy exit with error status if an unhandled exception occurs in a signal handler.
Added separate flag: –node-loglevel, for controlling the log output from nodes.
Made it possible to set the number of workers using –num-worker-processes n.
API changes¶
Libraries must now have only a single python package in their Common folders. See Node writing. In the Standard Library this package is called sylib
Removed
has_parameter_view
from node interface. See Custom GUIs.Changed default unit for time series to empty string instead of
'unknown'
.Added
has_column
method in sytable and added corresponding method intable.File
Accessing an ADAF basis which does not exist will raise a KeyError
Improved node error handling, making it possible for nodes to issue user friendly error messages as well as warnings. See Errors and warnings.
Expanded and improved documentation, including API references for all default data types, and documentation on how to create your own data type
Improved error handling in many data type API functions
User interface¶
Improved selection and context menu handling
“Help” in node context menus will now also build documentation if necessary.
Allow connections to be made by dragging from an input to an output port
Added zoom with Ctrl/Cmd + scroll wheel
Added working stop button.
Improved the presentation of data in the viewer with a clearer font and better size handling as well as coloring of columns by data type
Improved undo/redo functionality, making more operations available in the undo history
Stability¶
Avoid hanging on Windows when too much output is produced during startup
Avoid infinite wait during node validation