Datasource API¶
API for working with the Datasource type.
Import this module like this:
from sympathy.api import datasource
Class datasource.Datasource
¶
- class sympathy.api.datasource.Datasource(filename: str | None = None, mode: str = 'r', **kwargs)¶
Datasource covers the case of specifying data resources and supports four different formats: File (local file), Database (ODBC), Database SQLAlchemy and URL (for example, HTTP request).
Any node port with the Datasource type will produce an object of this kind.
Formats:
- File:
Absolute filename to a local file.
- Database (ODBC):
Connection string for use with a ODBC database.
- Database SQLAlchemy:
Engine connection string for use with SQLAlchemy.
- URL:
Arbitrary URL, can support file or http(s) schemes. In addition to the URL itself this format format allows storage of a separate environment dictionary, for example, to use as HTTP headers.
- decode()¶
Return the full dictionary for this data source.
- decode_path()¶
Return the path.
In a file data source this corresponds to the path of a file. In a data base data source this corresponds to a connection string. That can be used for accessing the data base. Returns None if path hasn’t been set.
Changed in version 1.2.5: Return None instead of raising KeyError if path hasn’t been set.
- decode_type()¶
Return the type of this data source.
It can be either
'FILE'
or'DATABASE'
. Returns None if type hasn’t been set.Changed in version 1.2.5: Return None instead of raising KeyError if type hasn’t been set.
- encode(datasource_dict)¶
Store the info from datasource_dict in this datasource.
- Parameters:
datasource_dict – should be a dictionary of the same format that you get from
to_file_dict()
orto_database_dict()
.
- encode_database(*args, **kwargs)¶
Store data base access info.
- encode_path(filename)¶
Store a path to a file in this datasource.
- Parameters:
filename – should be a string containing the path. Can be relative or absolute.
- classmethod from_filename(filename)¶
Return new file type datasource constructed from filename.
- get()¶
Return text data.
- classmethod icon()¶
Return full path to svg icon.
- names(kind=None, fields=None, **kwargs)¶
Return a formatted list with a name and type of the data. columns.
- set(data)¶
Set text data.
- static to_file_dict(fq_filename)¶
Create a dictionary to be used for creating a file data source.
You usually want to use the convenience method
encode_path()
instead of calling this method directly.
- classmethod viewer()¶
Return viewer class, which must be a subclass of sympathy.api.typeutil.ViewerBase