.. This file is part of Sympathy for Data.
..
.. Copyright (c) 2010-2017 System Engineering Software Society
..
.. Sympathy for Data is free software: you can redistribute it and/or modify
.. it under the terms of the GNU General Public License as published by
.. the Free Software Foundation, either version 3 of the License, or
.. (at your option) any later version.
..
.. Sympathy for Data is distributed in the hope that it will be useful,
.. but WITHOUT ANY WARRANTY; without even the implied warranty of
.. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.. GNU General Public License for more details.
.. You should have received a copy of the GNU General Public License
.. along with Sympathy for Data. If not, see .
What's new
==========
News in 1.4.5
-------------
Platform changes:
^^^^^^^^^^^^^^^^^
* Fixed problem inserting linked subflow.
* Minor documentation fixes.
* Fixed default editor for list parameters.
* Improved backwards compatibility for empty selection in list parameters.
Node/plugin changes:
^^^^^^^^^^^^^^^^^^^^
* Fixed empty handling of :ref:`Filter rows in Tables`.
News in 1.4.4
-------------
Platform changes:
^^^^^^^^^^^^^^^^^
* Add default workflow environment variable SY_PARENT_FLOW_FILEPATH.
* Always show empty item in comboboxes when no selection has been made.
* Confirmation dialog when canceling node configurations with unsaved changes is
no longer experimental and is on by default.
* More operations, such as, edit are available for locked subflows.
* Locked subflows are now available under Execution Mode.
* Limit the number of characters written to Messages window, this improves
performance. Default setting of 32000 characters can be changed in
Preferences -> Advanced.
* Setting to change the behaviour of moving views has been added in
Preferences -> General.
* Reload library updates nodes that were previously missing in library.
* Running nodes can now be deleted.
* Improved font and icon rendering on high-dpi Windows 8, 10.
* Searchable text fields in Flow overview.
* New option to enable/disable window docking in General pane.
* Textfields can be manually ordered to choose how they overlap.
New nodes:
^^^^^^^^^^
* :ref:`Update Configuration with Table`: updates a node
configuration using a table. This can be used to set almost any
configuration option programmatically.
* Image filtering algorithms have been split from the
:ref:`Filter Image (deprecated)` into the more specific nodes
:ref:`Edge detection`, :ref:`Corner detection`,
:ref:`Morphology (single input)`, :ref:`Transform image`,
:ref:`Threshold image`, :ref:`Color space conversion`,
:ref:`Color range conversion`, and :ref:`Filter image`.
Additional algorithms have been added to some of these nodes.
* :ref:`Cartesian Product Table` node creating a table with all
combinations of rows in the input tables. Useful for generating XY
data for heatmap generation.
* :ref:`Insert List`, :ref:`Chunk List`.
* :ref:`Table to Text`.
* :ref:`Debug Import`, :ref:`Debug Export`.
Node/plugin changes:
^^^^^^^^^^^^^^^^^^^^
* ORB feature detection algorithm now also outputs XY coordinates.
* :ref:`Jinja2 template` node now give the same context for Python expressions
as the calculator node, as far as allowed by the Jinja2 template engine.
* Add optional Datasources port to :ref:`Export Texts`.
* Allow adding more ports to :ref:`Concatenate texts`.
* Fix bug where :ref:`Copy Files` would drop extensions if configured with a
directory.
* ATF importer includes more attributes.
* LAA importer, support for autodetection
* Importers: better support for opening a large number of sydata files.
* :ref:`Export Tables`, ability to control filename using datasource.
* Customizable ports for :ref:`Append List` and :ref:`Bisect List`.
* Customizable port for :ref:`Propagate First Input`, deprecated
:ref:`Propagate Input`.
* :ref:`Calculator`, input port can be removed.
* Added support for masked arrays to :ref:`Replace Values in Tables` nodes.
* Showing progress for Map, Apply and Locked subflows.
* Calculator plugins can add their own packages via import statements.
* Export Datasources has changed name to :ref:`Archive files` and now supports
packing and unpacking of ZIP, GZ, and TAR formats.
* Added progress to :ref:`F(x) nodes`,
:ref:`Convert columns nodes` and
:ref:`Predicate list nodes`.
API changes:
^^^^^^^^^^^^
* New API for accessing worker settings: sympathy.api.nodeconfig.settings.
* Improved implementation of ``set_list()`` and the resulting ``ParameterList``
with stricter promises. Parameters are given exactly as before during execute,
but some nodes might need to be updated to make configuration work. Overall,
this will make working with lists much easier.
* Allow the options in the combobox editor to be a dictionary with keys and
display texts.
* Allow choosing the available states (abs/rel/flow etc.) in filename editors.
* Improved API for setting parameter editors: They can now be found in
``node.editors`` (as well as their old location) and ``.value()`` is no longer
needed. Default to combobox editor for list parameters without an editor.
* Two new editors: ``synode.editors.multilist_editor`` and
``synode.editors.textarea_editor`` to :ref:`parameter_editors`.
* Allow passing controllers structure to ParameterGroup.gui() to ensure that it
builds with the relevant controllers.
* New method: types, added to TypeAlias API.
* Added 'ts' and 'rasters' as new kinds of names from adaf to be used in adjust.
* Added ``raster`` method to :class:`adaf.TimeSeries`.
News in 1.4.3
-------------
Platform changes:
^^^^^^^^^^^^^^^^^
* Improved handling of labels for linked subflows. Changing the label of a
linked subflow only changes the link label. The original source label can be
seen in the subflows tooltip. Both labels can be changed individually in the
subflow's properties.
* A little plus sign has been added to subflows with overrides.
* Fixed a problem with encoding the character sequence `]]>` when saving flows.
* Using synchronous state machine for more predictable state changes, hoping to
avoid random problems with nodes ending up in the wrong state.
* Improved performance in some situations by validating fewer nodes.
* Added destination folder argument to documentation generation. See
:ref:`start_options`.
* Fixed :ref:`Table viewer` glob filtering.
* Added ability to generate documentation for node plugins.
Preferences changes:
^^^^^^^^^^^^^^^^^^^^
* Added option to the Advanced pane to clear cached Sympathy files
(temporary files and generated documentation). Also an option to clear
settings, restoring Sympathy to its orignial state. This may be used for
debugging purposes.
* Changed the default MATLAB JRE setting to be disabled since it gives a big
performance boost in cases when JRE is not used (which would be most of them).
For existing installations you will have to change this manully, in the MATLAB
pane.
* New library layout: Separated tag layout, which uses the same ordering as
Tag layout, but separated into libraries.
API changes:
^^^^^^^^^^^^
* Added methods :meth:`RasterN.update_basis` and :meth:`RasterN.update_signal`.
* Improved performance and memory usage when running locked subflows and
lambdas.
* Standardized ADAF attribute interfaces, based on abc.MutableMapping.
* Added include_empty=bool to combobox editors, usable for representing no
selection.
* Added shallow=bool argument to :meth:`TypeAlias.source`. Custom types need to be
updated, adding keyword shallow=False should be enough. Using shallow=True in
calls to source can improve performance.
Node/plugin changes:
^^^^^^^^^^^^^^^^^^^^
* Improved path editors. For example, using the dialog to select a file will
result in a path with the same state as was selected before the dialog.
* Optionally include index column in output from :ref:`Pivot Table`.
* Improved performance in Select columns in ADAFs in some situations.
* xls/xlsx importer plugins is better at handling columns with mixed types,
especially integers and strings.
* xls/xlsx can import tables with missing values. Those positions in the table
will be masked.
* Replaced :ref:`Jinja2 template` node with a new version accepting generic arguments, allowing
for instance lists of tables or ADAFs as input to expression.
* Renamed node Either With Data Predicate to :ref:`Conditional Propagate`.
* Renamed Select columns in ADAF with Table to
:ref:`Select columns in ADAF with structure Table`
* :ref:`Heatmap calculation` uses masked arrays instead of nan in its output.
* Improvements and bug fixes to the :ref:`figure nodes
`.
* A Datasource output to Scatter 3D Table has been added.
* Options for relative and absolute paths in :ref:`Datasource to Table` and
:ref:`Table to Datasources`.
* Added support for integers and floating point values in
:ref:`Replace values in Table`.
* :ref:`Datasource` has had its tabbed inteface replaced with a dropbox.
* When using a manual timestep in :ref:`Interpolate ADAF`, the time step is
added to the raster's column attributes.
* Manually create Tables can now use 'nan' and '±inf' as float values.
* The node :ref:`Select column by type in Table` has been added.
News in 1.4.2
-------------
Node/plugin changes:
^^^^^^^^^^^^^^^^^^^^
* Improved performance of :ref:`Select Columns in Table` in cases when lots of
columns are discarded.
* Added the node :ref:`Periodic Sequence Split Table` that can split up a Table
into a Tables list where each element holds one periodic event.
* Support for creating masked values in :ref:`Lookup Table` and
:ref:`Pivot Table`. Pivot node now works with any data type.
* Improved performance in all :ref:`Vjoin Tables`/:ref:`ADAFs`
nodes with a single list input, in the case when the input list contains a
single element.
* Optimization and new option for :ref:`HJoin Tables` with different number
of rows analogous to :ref:`VJoin Tables`.
* Optional creation of masked array in :ref:`Ensure columns in Tables with Table`.
* Harmonized quoting for CSV importers and exporters.
* Chunked MDF writing to improve performance when exporting large Rasters.
* Extended :ref:`Vjoin Tables` with more options for controlling how to handle
missing index.
Machine learning:
^^^^^^^^^^^^^^^^^
New machine learning nodes based on `scikit-learn `_.
Features include:
* Operates on tabular (nummeric) data, texts, or images converted to tables
* Supervised learning using :ref:`Multi-Layer Perceptron Classifier` neural
networks, :ref:`Support Vector Classifier`, :ref:`Logistic Regression`,
:ref:`Decision Tree Classifier` and :ref:`Random Forest Classifier`.
* Regression using :ref:`Linear Regression`, :ref:`Kernel Ridge
Regression`, and :ref:`Epsilon Support Vector Regression`.
* Clustering using :ref:`K-means Clustering`
* Exporting/importing trained models, extracting and visualising attributes
* Many preprocessing models including nodes such as :ref:`Normalizer`,
:ref:`Robust Scaler`, :ref:`Label Binarizer`, :ref:`Principal
Component Analysis (PCA)`, :ref:`Polynomial Features`.
* Combining models in a chain using :ref:`Pipeline` nodes
* Creating ensembles from models using :ref:`Voting Classifier` nodes
* Hyper parameter search using :ref:`Grid Parameter Search` or simple
:ref:`Randomized Parameter Search`.
* Various cross-validation schemes
* Model metrics such as ROC-curves, :ref:`Confusion Matrix`, or :ref:`Learning Curve` nodes.
See also the machine learning examples from the install path of the Sympathy node library.
Platform:
^^^^^^^^^
* It is now possible to enter a minimum version for a workflow, in flow
properties. Bear in mind that this feature is not very useful until it has
existed for a few versions.
* Possibility to jump from an error message to the node/flow that caused the
error.
* Some default workflow variables have been removed. Only SY_FLOW_FILEPATH and
SY_FLOW_DIR remain.
* Lambdas can be configured to show input ports that can be used to perform
configuration against data. See :ref:`lambda_function`.
* Improved performance of the Figure type in some situations.
* Redesigned sympathy.api.dtypes, this API should be stable.
* Configurable node ports can now be added and removed when the nodes are
connected. See :ref:`node_section_ports`.
* Made it possible to build GUI:s from group parameters which includes children.
* Improved handling of flows and libraries in non-ascii paths.
* Reduced the maximum number of worker processes, used by default, to 4.
News in 1.4.1
-------------
Node/plugin changes:
^^^^^^^^^^^^^^^^^^^^
* Select columns in Table(s) uses new multiselect editor mode to offer more
options when it comes to unknown signals.
* Added new Convert columns in Table(s) nodes, old ones were renamed to Convert
specific columns in Table(s). New ones use multiselect editor mode to offer
more options when it comes to unknown signals.
* Added som new nodes for manipulating files: copying, deleting, renaming,
and moving files.
* Added node for getting table names, :ref:`Get Table Name`.
* Added node for creating json, :ref:`Manually Create JSON`.
* Added nodes for converting json, :ref:`Text to JSON` and :ref:`JSON to Text`.
* Several improvements for :ref:`Manually Create Table`. It now allows you to
create masked arrays, floating point numbers with arbitrary precision and more
relaxed syntax, and date time columns. It also has a new undo functionality
which allows you to undo mistakes while editing a table.
* All functions supplied by the :ref:`Calculator` plugin in
the standard library can now handle masked array.
* Improved performance of :ref:`Interpolate ADAF(s)` when
several signals from the same raster are resampled. For a file with 1000
resampled columns the new implementation was about three times faster.
* Added option to export just the time basis in :ref:`Interpolate ADAFs`.
* Add variable 'arg' for :ref:`Jinja2 template` allowing iterating over full table.
* :ref:`F(x)` nodes now correctly produce errors for some cases where they previously
executed, but ignored the entire source file.
* MDF importer handles rasters with a basis and no timeseries.
* :ref:`HJoin ADAFs` now has an option to merge rasters with the same name
in systems with the same name.
* Added option to :ref:`Sort Columns in Table` to select sort order.
* :ref:`Generic Calculator` nodes have been added, which can
take any type as input.
Image processing:
^^^^^^^^^^^^^^^^^
New image processing nodes based on `scikit-image `_
for automated image analysis, features include:
* Images as a new Sympathy datatype with custom image viewers. Support
for alpha channel and any number of colour channels.
* >50 algorithms for :ref:`Filter Image`, :ref:`Morphological Image Operations`
or :ref:`Extract Image Data`. Includes edge/corner detection, hough transforms,
feature detection, adaptive thresholding, morphology, blob
detection, labeling, and many more algorithms.
* Extracting :ref:`Image Statistics` and features/lines into Sympathy
tables for further processing of results.
* Visualization by :ref:`Draw on Image` for displaying identified objects or
features. :ref:`Overlay Images` using image layer operations.
Platform:
^^^^^^^^^
* Configurable number of node ports (select nodes). See :ref:`custom_ports`.
* Ability to modify configuration using an optional json configuration port
available to any node. See :ref:`configuration_port`.
* New method: ParameterList.selected_names (usable with multiselect editor).
* Changes to ParameterEditorListWidget in multiselect: moved selection buttons
to context menu. Context menu is always available.
* New boolean option: mode, for multiselect editor which adds choice of how to
interpret the selection in selected_names.
* New api function: nodeconfig.adjust, useful for implementing
adjust_parameters.
* New typealias method: names, useful for implementing adjust_parameters and
as a common way of accessing names of different kind.
* Extended output of profiling, with graphs of nodes and flows if Graphviz is
available. See :ref:`profiling`.
* Changed and documented API for creating new types. See :ref:`create_type`.
* Improved performance when working lists or tuples of figures.
* Improved performance of some operations like reloading and unlinking subflows.
* More extensive linking of propagated data that has not been accessed. This
greatly improves performance of nodes that operate on the outer container
when working with composite elements. For example, `Item to List` with
`Random ADAFs` as input.
* Subflow progress overlay has been improved and stays visible while
nodes are executing. Completion of nodes affect the progress meter
and Locked subflows and Lambdas are counted as 1 node.
* Improved presentation of node errors when running sympathy in CLI mode.
* Copying subflows with parameter overrides is more reliable.
News in 1.4.0
-------------
Sympathy for Data version 1.4.0 offers support for Python 3, improved
responsiveness and several new features such a Flow overview window, a popup
dialog for adding nodes and an improved library filter with highlighting of
matches.
Many small improvements were made to the standard node library, for example,
exporter plugins preview the filenames automatically.
Nodes and flows from 1.3.0 should be compatible with 1.4.0.
Node/plugin changes:
^^^^^^^^^^^^^^^^^^^^
* :ref:`Table Search and Replace` has been replaced with
:ref:`Replace values in Table with Table`.
* Old Matlab nodes have been replaced with new ones, which are using the new
:ref:`MATLAB API`.
* A bug which prevented all markers being used in the Figure nodes has been
resolved.
* :ref:`TimeSync ADAF` can now use both integer and float time bases and
propagates basis unit.
* :ref:`Filter ADAFs` filter column can be selected from a dropdown list
instead of being hardcoded.
* Workflow examples have been added for (almost) all library nodes.
* Improved performance of :ref:`Interpolate ADAF(s)`.
* Future imports in :ref:`Calculator` and other code input. This changes
the meaning of the operator ``/`` to always mean "true division". To get
floor division use the operator ``//``. Literal strings will also be
interpreted differently. The syntax ``'text'`` will now produce a text object
(``str`` in python 3, ``unicode`` in python 2). Use the syntax ``b'binary'``
to produce a binary object (``bytes`` in python 3, ``str`` in python 2).
* Preview button have been removed and preview handling have been updated for
all export/import nodes.
* Node :ref:`Export Texts` can now use dynamic file extensions.
* Many obsolete nodes have been deprecated and are due for removal in the next
major version, 1.5.0. To see if your flows contain any of these nodes, go to
File/Preferences/Advanced and check 'Display a warning when running
deprecated nodes', and run your flows. You can then use the new Flow overview
to find these nodes.
* :ref:`TimeSync ADAFs` now correctly saves column attributes for the raster
column.
* :ref:`Set column attributes in Table(s)` can
remove attributes.
* Icons for all standard library nodes previously missing an icon. Default icon
has been updated.
Platform:
^^^^^^^^^
* Support for running Sympathy under `Python `_ 3. The
platform and nodes from the standard library should work well under
Python 3. Third party libraries written for Python 2 will probably need to be
upgraded to run on Python 3. See :ref:`python3`.
* Synchronous task handling based on Twisted instead of ZeroMQ. This should
reduce delay when executing and make the GUIs more responsive overall while
lowering the load on your system.
* Automatic viewer reload when nodes are executed.
* Improved handling of node states.
For example, if a node produces an error all following nodes will be clearly
marked as not executable.
* Significant GUI speedups when working with large flows with many subflows.
* Improved :ref:`library view` with a new search
algorithm which gives better, more focused search results, and an advanced
search and search highlighting.
* Add nodes by starting a connection and dropping it on an empty part of the
flow. This opens a popup which allows to quickly search and insert a new node
from the library. The shortcut ``Ctrl+Shift+N`` also opens the same popup at
the current mouse position.
* Flow overview showing all subflows and nodes, and the ability to search for
nodes within flows (including subflows and linked flows). Click a node or
subflow to go directly to that node or subflow. See :ref:`flow_overview` for
more details.
* Button in the data viewer for jumping to a specific row. When data is
transposed this will scroll the view horizontally instead of vertically.
* Improved layering of nodes so that selected and moved nodes
always end up on top.
* :ref:`MATLAB API` introduced, with Table-like functions,
which is much simpler to use.
* The old MATLAB API has been removed.
* Flow environment variables are now added by right clicking in a flow,
clicking Properties, and then going to the Environment variables tab.
This was previously done in Preferences.
* Added a small example on how to use environment variables for CLI execution.
* Viewers show the node icon and the name indicates which node/port that
is shown.
News in 1.3.5
-------------
Node/plugin changes:
^^^^^^^^^^^^^^^^^^^^
* Calculations in :ref:`Calculator` can be deselected for output
enabling better support for intermediary calculations. This also enables
intermediary calculations to have different lengths from output columns.
* The input table(s) in :ref:`Calculator` can be easily copied over to
the output table(s) with the new *Copy Input* parameter. Calculations with
the same column name override columns from the input table(s).
* :ref:`MATLAB nodes` and :ref:`Matlab Calculator` have gotten
better cross-platform compatibility.
* :ref:`Matlab Calculator` has been updated with the same GUI and (almost) the
same functionality as :ref:`Calculator List`.
* :ref:`Matlab Table` and :ref:`Matlab Tables` have gotten a new simplified
format. See the documentation for details on how to use that. This format can
also be imported and exported in :ref:`Table` and :ref:`Export Tables`
respectively. A Table-like API is planned for a future release. The API that
currently resides in Sympathy/Matlab will also be deprecated in a later
release, in favor of the new format. The old nodes are left for
compatibility, so current flows and scripts will still work.
* The generic :ref:`Empty` node allows to specify the data type of the output
port. The previous, specific, Empty-nodes have been deprecated.
* :ref:`Rename column nodes` have more consistent
priority rules when more that one column are renamed to the same name.
* :ref:`Extract lambda nodes` are more robust with regard to
corrupt flows. One corrupt flow should no longer stop the nodes from
extracting other lambdas.
* New node: :ref:`Heatmap calculation` useful for feeding the heatmap in
:ref:`Figure(s) from Table(s)
`.
* New features for heatmaps in :ref:`Figure(s) from Table(s)
`: logarithmic color scales and Z labels.
* :ref:`Datasource` and other nodes where you specify a file path can specify
paths relative to its own workflow or the top workflow. This can make a
difference when working with linked subflows.
* :ref:`Datasources` GUI is no longer slowed down when searching large folder
structures. If the search takes to long it is aborted, and to get the full
results the node has to be executed.
* The table name used for the output in :ref:`HJoin Table` can now be selected.
* Fixes to extract flows as lambdas so that workflow environment variables and
flow name are set correctly.
* :ref:`Timesync ADAFs` can now use integer timebases and correctly displays
datetimes in the plot.
* :ref:`Assert equal table` now treats NaNs as equal.
* Improved config gui and handling of NaN values, masked values and non-ascii
binary data in :ref:`VSplit Table(s)`.
* A new node has been added :ref:`HJoin ADAFs pairwise`.
* When zooming and panning in :ref:`Plot Table` and using datetime as X axis,
the current time span in the plot is displayed.
* SQL importer plugin can use SQLAlchemy and provide betters autodetection of
existing tables.
* SQL exporter plugin can use SQLAlchemy.
* Improved documentation generation with support for libraries on different
drives or on unicode paths.
Platform:
^^^^^^^^^
* Nodes have gotten dynamic port icons that display the actual types.
* Color of textfields can now be changed.
* A textfields can be moved by dragging on any part of it. It is now edited by
double clicking it or by right clicking and choosing "Edit".
* The table viewer and any viewer which uses that component (i.e. ADAF viewer)
can now be transposed for better viewing of long column names and tables with
few rows but many columns.
* Table viewer now supports copying values and/or column names as a table or as
text.
* The viewer can now show histograms for more types of data.
* Allow maximizing subflow configurations.
* Linked flows can now be placed on a different drive than their parent flows.
* combo_editor for string parameters can now have an empty list of options.
* Invalid subflows are more reliably shown as invalid (gray). Now any subflow
which looks executable should be executable.
* Subflows show an error indicator if they contain any nodes that are not found
in the node library. This should make such nodes much easier to find.
* Better feedback when trying to open a non-existing or corrupt workflow.
* The platform can handle a larger number of linked files without running into
the OS limit.
* An Advanced tab has been added to Preferences, with one option to limit the
number of concurrent nodes that may be executed, and one option to display
warnings about deprecated nodes.
* New preference option to set number of concurrent worker processes. This may
help with performance for heavily branched flows.
* Python 3 support for files created with the node and function wizards.
* Library wizard can create subdirectories.
* Spyder can't handle files on file paths contaning non-ascii characters, and
will fail to start when trying to debug nodes. An error message is now
displayed to notify the user of this.
* Improved stability of type inference.
* File datasources always store absolute paths.
* Database datasources can use SQLalchemy in addition to ODBC.
News in 1.3.4
-------------
Sympathy for Data version 1.3.4 offers improvements to existing nodes,
including several new plot types for the figure nodes and overall polish.
Node/plugin changes:
^^^^^^^^^^^^^^^^^^^^
* :ref:`Figure nodes
` have been massively improved with
several new plot types (scatter/bar plots/histograms/heatmaps), improved gui,
etc
* Extended :ref:`figure export node` with plugin exporter
structure as for other types and choice of specifying image size in mm and
dpi
* :ref:`Reporting Nodes` have been improved with rulers in
layout window, pdf exporting and auto creation of tree structures
* :ref:`Calculator`, allows accessing the input table
directly under the name "table" allowing for a way to test if a column
exists. The node was also extended with the json module in the execution
context
* ca.changed now correctly returns empty array for empty input
* Added functions ca.global_min and ca.global_max to standard calculator
plugin. These handle empty input as you would expect
* :ref:`Interpolate ADAF` nodes have improved handling of missing values and
resampling of zero-length signals
* :ref:`Datasource` and :ref:`exporter`/:ref:`importer
`
of SQL can use SQLAlchemy
* :ref:`Pad List` input can be different types of lists
* :ref:`Predicate` nodes have new editors for writing
code
* :ref:`VJoin` nodes can mask missing values
* MDF importer creates MDF_datetime metadata
* :ref:`Assert Equal Table` allows approximate comparison of floats
* Added documentation for internal nodes (:ref:`Apply`, :ref:`Map`, etc.)
APIs:
^^^^^
* Made it possible to specify viewer and icon for custom types (TypeAlias). For
details, see :ref:`create_type`
* Only scanning Libraries for plugins, PYTHONPATH is no longer included
* Scalar parameters can use the new combobox editor. See
:ref:`All parameters example` for an example
* Code parameter editor for string parameters. See :ref:`parameter_editors` for
details and :ref:`All parameters example` for an example
* Allow :ref:`controllers` to trigger on user-specified value. For an example
of this see :ref:`Controller example`
* Implemented ``cols()`` and added documentation for col/cols and
Column class. See :ref:`Table API`
* Added ``attrs`` property to :ref:`Table API`
* Expose dtypes module in sympathy.api
New nodes:
^^^^^^^^^^
* :ref:`Histogram calculation`
* :ref:`Bisect list`
* :ref:`Empty`
* :ref:`Extract Flows as Lambdas`
* :ref:`Export Figures with Datasources`
* :ref:`Concatenate texts`
* :ref:`Jinja2 template`
* :ref:`Select columns in Table with Regex`
UI:
^^^
* Improved look and feel of wizards
* Library wizard has new examples
* Node wizard can select tags
* Show filename in flow tab unless flow label has been explicitly set by user. This means that a flow created in 1.3.4 will have no flow label when opened in older versions.
Platform:
^^^^^^^^^
* More robust checks of port types
* Masked arrays
Deprecated nodes:
^^^^^^^^^^^^^^^^^
* Raw Tables nodes
* Scatter 3D ADAF
News in 1.3.3
-------------
Sympathy for Data version 1.3.3 offers improvements to existing nodes, the
table viewer and automatic parameter validation when configuring nodes.
GUI:
^^^^
* Behaviour change of “?” wildcard in :ref:`Table viewer`
:ref:`search bar ` to match single character only
* General improvements of Table viewer GUI
* General improvements of parameter validation
New nodes/plugins:
^^^^^^^^^^^^^^^^^^
* New node: :ref:`Conditional error/warning`
* New node: :ref:`Cartesian product tuple2`
Changes in nodes/plugins:
^^^^^^^^^^^^^^^^^^^^^^^^^
* Allow unicode characters in :ref:`Calculator` node
* Improved default behaviour of Calculator node
* Improved rescaling of preview plot in :ref:`Filter ADAFs` node
* Improved :ref:`XLSX export` output compatibility
* :ref:`Extract Lambdas` can be configured when connected
* Improved performance of :ref:`VSplit Table`
* Improved bounds checking for calculator functions ``shift_seq_start`` and
``shift_seq_end``
* Improve gui in :ref:`Manually Create Table`. Now allows removing selected
rows/columns as well as changing name and datatype of existing columns
* Improved handling of bad timebases in :ref:`interpolation nodes
`
APIs:
^^^^^
* Added ``value_changed`` propagation to parameters
* Made :ref:`verify_parameters ` validate every change to
configured parameters, for nodes with generated configurations
Miscellaneous:
^^^^^^^^^^^^^^
* Fixed update method for tuple type
* :reF:`data_viewer` can once again be run stand alone
* Updated icons
News in 1.3.2
-------------
Sympathy for Data version 1.3.2 offers several new and prominent features, such
as the ability to specify libraries used by workflows, new window handling
which brings open, but minimized, configurations and viewers into focus, a
reworked save dialog that properly detects changes in subflows and many
improvements to existing nodes.
GUI
^^^
* Raise open Configuration/Settings/Viewer windows on consecutive clicks
* Improved save confirmation for workflows
* Improvements to the function wizard. Including updating it to work with the
new generic :ref:`F(x)` nodes
New features
^^^^^^^^^^^^
* Flows can now specify libraries and python paths in the Info dialog. These
are added to the global library/python paths when loading the flow
* New error message box for node dialogs for showing validation errors/messages
in node configurations
* Support for storing masked arrays, but not every node can handle them
correctly
New nodes/plugins
^^^^^^^^^^^^^^^^^
* Figure nodes with support for Tables
* New version of :ref:`Transpose Table(s)`. These handle
multiple rows and columns
* :ref:`Assert Equal Table`: for checking if two tables are equal. Mostly
useful for testing purposes
* Generic :ref:`F(x)` nodes replacing all the previous type-specific f(x) nodes
* ATFX importer plugin for :ref:`ADAF`
* Set and Get nodes for :ref:`Table attributes` and
:ref:`Table column attributes`
* :ref:`Propagate First Input (Same Type)`. Can be used for constraining
type if needed.
Changes in nodes/plugins
^^^^^^^^^^^^^^^^^^^^^^^^
* Renamed Plot to Figure for nodes using the Figure type
* :ref:`Figure Compressor`, :ref:`Layout Figures in Subplots`: added auto
recolor and auto rescale
* Improved datetime handling in Figure nodes
* MDF :ref:`exporter` plugin: encode unicode columns instead of
ignoring them
* :ref:`Convert columns in Table(s)`: converts string
dates to either UTC or Naive datetimes. Choosing UTC, localized times will be
converted to UTC. Choosing naive, the time zone info in the input is simply
ignored. Old nodes will automatically use UTC
* Improved performance of :ref:`Select rows in Table(s)