.. This file is part of Sympathy for Data. .. Copyright (c) 2020 Combine Control Systems AB .. .. 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, version 3 of the License. .. .. 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 . .. _datatypeapis: Data types ========== Sympathy stores data internally as a few different data types. Learning how to use the APIs for those data types is essential when writing your own nodes or when using the :ref:`F(x) nodes `. For a basic introduction to data types, see :ref:`basic_data_types`. Built in Types -------------- The following builtin container types are available. .. toctree:: :maxdepth: 2 dict_api.rst lambda_api.rst list_api.rst record_api.rst tuple_api.rst The built in types are all subclasses of sygroup, for API level description, see the following section. Base class reference ^^^^^^^^^^^^^^^^^^^^ .. class:: sygroup(container_type) Abstract base class for builtin types. .. method:: create() Return a new sygroup, not connected to any file. The same container type is used for the new sygroup. .. method:: source(other, shallow=False): Fill with elements from other sygroup. .. method:: __copy__(): Return a shallow copy. .. method:: __deepcopy__(memo=None): Return a deep copy. Methods and fields that are not documented can be considered internal and should not be used in third party nodes. Built in TypeAliases -------------------- The following builtin type aliases. .. toctree:: :maxdepth: 2 table_api.rst adaf_api.rst dsrc_api.rst text_api.rst plot_api.rst json_api.rst The built in type-aliases are all subclasses TypeAlias, for API level description, see the following section. Base class reference ^^^^^^^^^^^^^^^^^^^^ .. autoclass:: sympathy.api.typeutil.TypeAlias :members: viewer, icon, names, source, sync, __deepcopy__, init Methods and fields that are not documented can be considered internal and should not be used in third party nodes. Other data types ---------------- .. toctree:: :maxdepth: 2 matlab_api.rst