Specify Datasource.

The primary usecase for this node is to specify a resource for use with an import or export node. But in principle, any node may use datasource input in the same way.


Choose from existing filenames on disk or edit the filename directly to point to non-existing files. For example, to point to output files that have not yet been created.

The filename has at most different: absolute path, relative to top-flow, relative to sub-flow and relative to library root.

All filenames are made absolute and normalized before they are written to the output and even the options which allow you to specify relative filenames will result in absolute output filenames.

Absolute path

Absolute path is the most basic selection. Input the absolute filename and that filename will be used as output.

Relative to top-flow

Relative to top-flow is one of the relative ways to reference files and is used to express filenames relative to the file of the top-flow (the .syx file opened from disk).

Relative to sub-flow

Relative to sub-flow is one of the relative ways to reference files and is used to express filenames relative to the file of the sub-flow. The sub-flow location can be different from that of the top-flow when the Datasource node is part of a linked sub-flow.

Relative to library root

Relative to library is one of the relative ways to reference files and is used to express filenames relative to the library location of the current sub-flow node. This option is only available for sub-flow nodes added to a library and offers a way to express paths to other resources within the same library.


Specify properties for SQLAlchemy or ODBC database connections.

See Engine for details about how to specify SQLAlchemy engine URL for different databases.

See Connection String Syntax for information about how to specify ODBC connection strings.


Specify an URL, for example, in HTTP(s) scheme. URL environment might be handled differently depending on the scheme and corresponds to HTTP headers for the HTTP(s) case.


Input ports

Output ports



Datasource with path to file

Filename (filename)

A filename including path if needed

SQLAlchemy engine URL (db_sqlalchemy_engine_url)

SQLAlchemy engine URL for connecting to the database

Database connection method (db_method)

Select which Database connection method that you want to use.

Database driver (db_driver)

Database driver to use.

Server name (db_servername)

A valid name to a database server.

Database name (db_databasename)

The name of the database.

User (db_user)

A valid database user.

Password (db_password)

A valid password for the selected user.

Connection string (db_connection_string)

A connection string that will override other settings.

URL string (url_str)

Uniform Resource Locator (URL) string

Url environment (url_env)

Environment for URL. Used as headers in case of HTTP URL. Input as a Python expression that evaluates to.

Datasource type (datasource_type)

Type of datasource.

In Sympathy for Data, the action of pointing out where data is located and actual import of data are separated into two different categories of nodes. The internal data type Datasource is used to carry the information about the location of the data to the import nodes.

There exist two nodes for establishing paths to locations with data, either you are interested in a single source of data, Datasource, or several sources, File Datasources. The single source can either be a data file or a location in a data base. While for multiple sources only several data files are handled.

class node_file_datasource.FileDatasource[source]

Related nodes

Example flows