*****************************
Supported Formats and Layouts
*****************************

Generics
========

These export into common, general-purpose formats.

Available:

* suitcase-tiff --- image data TIFF stacks or individual TIFF files
* suitcase-csv --- scalar data as Common-Separated Values
* suitcase-json-metadata --- JSON with just experiment metadata ("header")

In Progress:

Planned:

* suitcase-yaml-metadata --- YAML with just experiment metadata ("header")

There is often room for interpretation in how exactly to lay out the data into
a given file format. If a generic suitcase does not meet your needs, we
encourage you to write (or request) a one-off.

"One-offs"
==========

These are tailored to one specific application, writing files to the
requirements of a particular software program or user.

Available:

* suitcase-specfile --- Text files traditionally generated by SPEC. There is no
  formal schema for the format and details vary by implementation. This one
  validated using the specfile importer in
  `PyMca <http://pymca.sourceforge.net/>`_.

In Progress:

* suitcase-nexus-archive --- a variety of the NeXuS HDF5 layout

Planned:

* suitcase-data-exchange --- `DataExchange from APS <https://www.aps.anl.gov/Science/Scientific-Software/DataExchange>`_
* suitcase-xafs-data-interchange --- XAFS Data Interchange (doi:10.1088/1742-6596/712/1/012148)


Backends
========

These encode the data into a format intended to be accessed through a
programmatic interface such as databroker. They are not generally intended to
be read by humans or opened directly by data analysis software. Rather, they
are for internal archival.

Available:

* suitcase-msgpack (`msgpack <https://msgpack.org/index.html>`_)
* suitcase-jsonl (`Newline-delimited JSON <http://jsonlines.org>`_)
* suitcase-mongo

Planned:

* suitcase-bson
