# API for plugin FS providers¶

class dataiku.fsprovider.FSProvider(root, config, plugin_config)

The base interface for a Custom FS provider

Parameters: root – the root path for this provider config – the dict of the configuration of the object plugin_config – contains the plugin settings
close()

Perform any necessary cleanup

stat(path)

Get the info about the object at the given path

Parameters: path – where the object to inspect is located a dict with the fields: ’path’ : the location of the object (relative to the root this instance was created with) ’isDirectory’ : True if the object is a folder ’size’ : size of the object in bytes, 0 for folders ’lastModified’ : modification time in ms since epoch, -1 if not defined If there is no object at the given location, return None
set_last_modified(path, last_modified)

Change the modification time of an object.

Parameters: path – where the object to modify is located. last_modidied – timestamp as ms since epoch True if the change was done, False if not or if the operation is not supported
browse(path)

Enumerate files non-recursively from a path

Parameters: path – what to enumerate a dict with the fields: ’fullPath’ : the path from the root this instance was created with ’exists’ : True if there is something at path ’directory’ : True if the path denotes a folder ’size’ : the size of the file at path; 0 if it’s a folder If the object at path is a folder, then there should be a ‘children’ attribute which is a list of dicts with the same fields (without a ‘children’ field for subfolders)
enumerate(prefix, first_non_empty)

Enumerate files recursively from a path.

Parameters: prefix – where to start the enumeration first_non_empty – if first_non_empty, stop at the first non-empty file. a list of dicts corresponding to the enumerated files (not folders). Each dict is expected to contain these fields: ’path’ : the path relative to the root this instance was created with, ’size’ : size in bytes ’lastModified’ : modification time in ms since epoch (-1 if not defined) If there is nothing at the prefix, not even empty folders, return None
delete_recursive(path)
Delete recursively
Parameters: path – path to the folder or file to remove
move(from_path, to_path)

Move (rename) an object

Parameters: from_path – where the data to move is located (relative to the root this instance was created with) to_path – the target path for the data
read(path, stream, limit)

write(path, stream)