Code Overview

Solidipes curation process relies on the following classes:

  • Report

    Defines a script that is callable from the command solidipes report. It would typically use a Scanner for the curation process. Web based reports rely on widgets <solidipes.report.widgets>.

    Inheritance diagram of solidipes.reports.report, solidipes.reports.curation, solidipes.reports.jtcam, solidipes.reports.web_report

  • Scanner

    Defines a set of methods that scan directories, build a tree of files (or group of files), and allow the application of functions on the elements of the tree. One typical use case it to try to load each element of the tree using one of the DataContainer classes.

  • DataContainer

    Also referred as Loader. Defines a container for data that allows loading it on demand and applies checks to validate the data in the curation process. One important subclass is the File class, that is used to load files from disk (specified by their mime-type and extension), and allows caching computed information about the files. The DataContainer also lists a set of compatible Viewer classes.

    Inheritance diagram of solidipes.loaders.file, solidipes.loaders.file_sequence, solidipes_core_plugin.loaders.binary, solidipes_core_plugin.loaders.code_snippet, solidipes_core_plugin.loaders.gnuplot, solidipes_core_plugin.loaders.hdf5, solidipes_core_plugin.loaders.image.Image, solidipes_core_plugin.loaders.image_sequence, solidipes_core_plugin.loaders.matlab, solidipes_core_plugin.loaders.notebook, solidipes_core_plugin.loaders.pdf, solidipes_core_plugin.loaders.python_pickle, solidipes_core_plugin.loaders.symlink, solidipes_core_plugin.loaders.table, solidipes_core_plugin.loaders.text, solidipes_core_plugin.loaders.tikz, solidipes_core_plugin.loaders.video, solidipes_core_plugin.loaders.xml

  • Viewer

    Defines a viewer for compatible DataContainer classes. It is used to display data in various backends (e.g. terminal, Jupyter notebook, Streamlit).

    Inheritance diagram of solidipes.viewers.viewer, solidipes_core_plugin.viewers.binary, solidipes_core_plugin.viewers.code_snippet, solidipes_core_plugin.viewers.hdf5, solidipes_core_plugin.viewers.image, solidipes_core_plugin.viewers.image_source, solidipes_core_plugin.viewers.matlab, solidipes_core_plugin.viewers.notebook, solidipes_core_plugin.viewers.pdf, solidipes_core_plugin.viewers.python_pickle, solidipes_core_plugin.viewers.symlink, solidipes_core_plugin.viewers.table, solidipes_core_plugin.viewers.text, solidipes_core_plugin.viewers.video, solidipes_core_plugin.viewers.xml

Other dataset management features of Solidipes rely on the following classes:

  • Downloader

    Defines a script that is callable from the command solidipes download.

    Inheritance diagram of solidipes.downloaders.downloader, solidipes.downloaders.zenodo

  • Uploader

    Defines a script that is callable from the command solidipes upload.

    Inheritance diagram of solidipes.uploaders.uploader, solidipes.uploaders.renku, solidipes.uploaders.zenodo