# `numina.types` — Data types

class `numina.types.base.``DataTypeBase`(*args, **kwds)

  Base class for input/output types of recipes.

  static `create_db_info`()

    Create metadata structure

  `extract_db_info`(obj, db_info_keys)

    Extract metadata from serialized file

  classmethod `isproduct`()

    Check if the DataType is the product of a Recipe

  `name`()

    Unique name of the datatype

  `update_meta_info`()

    Extract my metadata

class `numina.types.array.``ArrayNType`(dimensions, default=None)

class `numina.types.array.``ArrayType`(default=None)

  A type of array.

  `convert`(obj)

    Basic conversion to internal type

    This method is intended to be redefined by subclasses

Basic Data Products

class `numina.types.dataframe.``DataFrame`(frame=None, filename=None)

  A handle to a image in disk or in memory.

class `numina.types.datatype.``AnyType`

  Type representing anything

  `convert`(obj)

    Basic conversion to internal type

    This method is intended to be redefined by subclasses

  `validate`(obj)

    Validate convertibility to internal representation

    Returns: | True if ‘obj’ matches the data type
    Return type: | bool
    Raises: | `ValidationError` – If the validation fails

class `numina.types.datatype.``AutoDataType`(*args, **kwargs)

  Data type for types that are its own python type

class `numina.types.datatype.``DataType`(ptype, default=None, **kwds)

  Base class for input/output types of recipes.

  `convert`(obj)

    Basic conversion to internal type

    This method is intended to be redefined by subclasses

  `convert_in`(obj)

    Basic conversion to internal type of inputs.

    This method is intended to be redefined by subclasses

  `convert_out`(obj)

    Basic conversion to internal type of outputs.

    This method is intended to be redefined by subclasses

  `validate`(obj)

    Validate convertibility to internal representation

    Returns: | True if ‘obj’ matches the data type
    Return type: | bool
    Raises: | `ValidationError` – If the validation fails

class `numina.types.datatype.``ListOfType`(ref, index=0, nmin=None, nmax=None, accept_scalar=False)

  Data type for lists of other types.

  `convert`(obj)

    Basic conversion to internal type

    This method is intended to be redefined by subclasses

  `validate`(obj)

    Validate convertibility to internal representation

    Returns: | True if ‘obj’ matches the data type
    Return type: | bool
    Raises: | `ValidationError` – If the validation fails

class `numina.types.datatype.``NullType`

  Data type for None.

  `convert`(obj)

    Basic conversion to internal type

    This method is intended to be redefined by subclasses

  `validate`(obj)

    Validate convertibility to internal representation

    Returns: | True if ‘obj’ matches the data type
    Return type: | bool
    Raises: | `ValidationError` – If the validation fails

class `numina.types.datatype.``PlainPythonType`(ref=None, validator=None)

  Data type for Python basic types.

  `convert`(obj)

    Basic conversion to internal type

    This method is intended to be redefined by subclasses

class `numina.types.frame.``DataFrameType`(datamodel=None)

  A type of DataFrame.

  `convert`(obj)

    Convert

  `extract_db_info`(obj, keys)

    Extract tags from serialized file

  `validate`(value)

class `numina.types.linescatalog.``DataProductType`(ptype, default=None)

class `numina.types.linescatalog.``LinesCatalog`
  `extract_db_info`(obj, keys)

    Extract metadata from serialized file

Quality control for Numina-based applications.

class `numina.types.qc.``QC`

## QA Levels

The numeric values of the QC levels are given in this table.

Level | Numeric value
--- | ---
`GOOD` | 100
`FAIR` | 90
`BAD` | 70

class `numina.types.structured.``BaseStructuredCalibration`(instrument='unknown', datamodel=None)

  Base class for structured calibration data

  Parameters: | instrument (str) – Instrument name

  `tags`

    dict – dictionary of selection fields

  `uuid`

    str – UUID of the result

  `extract_db_info`(obj, keys)

    Extract metadata from serialized file

  `update_meta_info`()

    Extract metadata from myself