=========================
Streamlined API Reference
=========================

The classes and functions that form the Streamlined API are grouped by database element, to help you find what you need:

.. _session-level:

Session level
*************

Session
#######

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi.Session
   :members:
   
   
    .. automethod:: __init__
  

AttributeFetcher
################

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi.AttributeFetcher
   :members:
   
   
   .. automethod:: __init__
   

AssociatedRecordFetcher
#######################

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi.AssociatedRecordFetcher
   :members:
   
   
   .. automethod:: __init__

   
LinkFetcher
###########

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi.LinkFetcher
   :members:
    
   
   .. automethod:: __init__

   
ReleaseStateFetcher
###################

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi.ReleaseStateFetcher
   :members:
   
   
   .. automethod:: __init__

   
BulkRecordDeleterWithdrawer
###########################

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi.BulkRecordDeleterWithdrawer
   :members:
   
   
   .. automethod:: __init__

   
.. _dbtable-level:
   
Database and Table level
************************

Database
########

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_tree_classes.Database
   :members:
   
   
   .. automethod:: __init__

   
Table
#####

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_tree_classes.Table
   :members:
   
   
   .. automethod:: __init__

   
LinkGroupDetails
################

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_meta_classes.LinkGroupDetails
   :members:
   
   
   .. automethod:: __init__


TableLayout
###########

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_meta_classes.TableLayout
   :members:
   
   
   .. automethod:: __init__
   

Exporter
########

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi.Exporter
   :members:
   
   
   .. automethod:: __init__


.. _record-level:
   
Record level
************

.. _recorddatastructure:

RecordDataStructure
###################

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_record_classes.RecordDataStructure
   :members:
   
   
   .. automethod:: __init__

   
.. _record:
   
Record
######

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_record_classes.Record
   :members:
   
   .. automethod:: __init__


.. _attribute-level:
   
Attribute level
***************

There are two types of attribute object at the attribute level: :ref:`attribute-defs` and :ref:`attribute-vals`.

.. _attribute-defs:

Attribute Definitions
#####################

These classes describe how an attribute appears in the schema of a given table. There are ten types.

 * :ref:`attribute-def` - Base class, and parent of all `AttributeDefinition` classes; covers all attributes not covered by those below
 * :ref:`attribute-def-disc` - Child class covering discrete attributes
 * :ref:`attribute-def-multi` - Child class covering multi-valued attributes such as functional, or point
 * :ref:`attribute-def-point` - Child class covering point attributes
 * :ref:`attribute-def-range` - Child class covering range attributes
 * :ref:`attribute-def-integer` - Child class covering integer attributes
 * :ref:`attribute-def-datetime` - Child class covering datetime attributes
 * :ref:`attribute-def-tabl` - Child class covering tabular attributes
 * :ref:`attribute-def-unsup` - Child class covering unsupported attribute types (maths functional and discrete functional)
 * :ref:`pseudo-attribute-def` - Class for pseudo-attributes. Operates like :ref:`attribute-def` but is not a child of it.

.. _attribute-def:

AttributeDefinition
-------------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_classes.AttributeDefinition
   :members:
   
   
   .. automethod:: __init__

   
.. _attribute-def-disc:

AttributeDefinitionDiscrete
---------------------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_classes.AttributeDefinitionDiscrete
   :members:
   
   
   .. automethod:: __init__

   
.. _attribute-def-multi:

AttributeDefinitionMultiValue
-----------------------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_classes.AttributeDefinitionMultiValue
   :members:
   
   
   .. automethod:: __init__
   

.. _attribute-def-point:

AttributeDefinitionPoint
------------------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_classes.AttributeDefinitionPoint
   :members:
   :inherited-members: AttributeDefinitionMultiValue
   
   
   .. automethod:: __init__
   

.. _attribute-def-range:

AttributeDefinitionRange
------------------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_classes.AttributeDefinitionRange
   :members:
   :inherited-members: AttributeDefinition
   
   .. automethod:: __init__


.. _attribute-def-integer:

AttributeDefinitionInteger
--------------------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_classes.AttributeDefinitionInteger
   :members:
   :inherited-members: AttributeDefinition
   
   .. automethod:: __init__


.. _attribute-def-datetime:

AttributeDefinitionDatetime
---------------------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_classes.AttributeDefinitionDatetime
   :members:
   :inherited-members: AttributeDefinition
   
   
   .. automethod:: __init__

   
.. _attribute-def-tabl:

AttributeDefinitionTabular
--------------------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_classes.AttributeDefinitionTabular
   :members:
   
   
   .. automethod:: __init__

   
.. _attribute-def-unsup:

AttributeDefinitionUnsupported
------------------------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_classes.AttributeDefinitionUnsupported
   :members:
   
   
   .. automethod:: __init__

   
.. _pseudo-attribute-def:   

PseudoAttributeDefinition
-------------------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_classes.PseudoAttributeDefinition
   :members:
   
   
   .. automethod:: __init__

   
.. _attribute-vals:

Attribute Values
################

These classes are attribute objects that contain data. There is (at least) one for each type.

 * :ref:`attribute-val` - Base class for all attributes
 * :ref:`attribute-val-bin` - Parent class for the binary attributes, :ref:`attribute-val-pic` and :ref:`attribute-val-file`
 
   * :ref:`attribute-val-pic` - Attribute value class covering picture data
   * :ref:`attribute-val-file` - Attribute value class covering file data
 
 * :ref:`attribute-val-dttm` - Attribute value class covering datetime data
 * :ref:`attribute-val-disc` - Attribute value class covering discrete data
 * :ref:`attribute-val-func` - Attribute value class covering functional data. This is subclassed by :ref:`attribute-val-series` and :ref:`attribute-val-grid`.
 
   * :ref:`attribute-val-series` - Attribute value class covering float functional series data
   * :ref:`attribute-val-grid` - Attribute value class covering float functional gridded data
 
 * :ref:`attribute-val-hlnk` - Attribute value class covering hyperlink data
 * :ref:`attribute-val-int` - Attribute value class covering integer data 
 * :ref:`attribute-val-logi` - Attribute value class covering logical data
 * :ref:`attribute-val-poin` - Attribute value class covering point with parameter data
 * :ref:`attribute-val-rnge` - Attribute value class covering range data
 * :ref:`attribute-val-tabl` - Attribute value class covering tabular data 
 * :ref:`attribute-val-short-text` - Attribute value class covering short text data
 * :ref:`attribute-val-long-text` - Attribute value class covering long text data
 * :ref:`attribute-val-unsup` - Attribute value class covering unsupported data
 * :ref:`pseudo-attribute-val` - Pseudo-attribute value class covering all pseudo-attribute types


.. _attribute-val:
 
AttributeValue
--------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.AttributeValue
   :members:
   
   
   .. automethod:: __init__

   
.. _attribute-val-bin:

AttributeBinary
---------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.AttributeBinary
   :members:
   
   
   .. automethod:: __init__

   
.. _attribute-val-pic:

AttributePicture
----------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.AttributePicture
   :members:
   
   
   .. automethod:: __init__

   
.. _attribute-val-file:

AttributeFile
-------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.AttributeFile
   :members:
   
   
   .. automethod:: __init__

   
.. _attribute-val-dttm:
   
AttributeDate
-------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.AttributeDate
   :members:
   
   
   .. automethod:: __init__

   
.. _attribute-val-disc:
   
AttributeDiscrete
-----------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.AttributeDiscrete
   :members:
   
   
   .. automethod:: __init__

   
.. _attribute-val-func:
   
AttributeFunctional
-------------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.AttributeFunctional
   :members:
   
   
   .. automethod:: __init__

   
.. _attribute-val-series:
   
FunctionalSeries
----------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.FunctionalSeries
   :members:
   
   
   .. automethod:: __init__

   
.. _attribute-val-grid:
   
FunctionalGrid
--------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.FunctionalGrid
   :members:
   
   
   .. automethod:: __init__

   
.. _attribute-val-hlnk:
   
AttributeHyperlink
------------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.AttributeHyperlink
   :members:
   
   
   .. automethod:: __init__

   
.. _attribute-val-int:
   
AttributeInteger
------------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.AttributeInteger
   :members:
   
   
   .. automethod:: __init__

   
.. _attribute-val-logi:
   
AttributeLogical
----------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.AttributeLogical
   :members:
   
   
   .. automethod:: __init__

   
.. _attribute-val-poin:
   
AttributePoint
--------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.AttributePoint
   :members:
   
   
   .. automethod:: __init__

   
.. _attribute-val-rnge:
   
AttributeRange
--------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.AttributeRange
   :members:
   
   
   .. automethod:: __init__

   
.. _attribute-val-tabl:
   
AttributeTabular
----------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.AttributeTabular
   :members:
   
   
   .. automethod:: __init__

   
.. _attribute-val-short-text:
   
AttributeShortText
------------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.AttributeShortText
   :members:
   
   
   .. automethod:: __init__


.. _attribute-val-long-text:
   
AttributeLongText
-----------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.AttributeLongText
   :members:
   
   
   .. automethod:: __init__

   
.. _attribute-val-unsup:
   
AttributeUnsupported
--------------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.AttributeUnsupported
   :members:
   
   
   .. automethod:: __init__

   
.. _pseudo-attribute-val:
   
PseudoAttributeValue
--------------------

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.PseudoAttributeValue
   :members:
   
   
   .. automethod:: __init__

   
.. _sub-attribute-level:   
   
Sub-attribute level
*******************

Classes that are used by attribute objects but are not attributes themselves.

.. _parameter-def:

ParameterDefinition
###################

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_classes.ParameterDefinition
   :members:
   
   
   .. automethod:: __init__

   
.. _object-history:
   
ObjectHistory
#############

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_meta_classes.ObjectHistory
   :members:
   
   
   .. automethod:: __init__

   
.. _search-crit:
   
SearchCriterion
###############

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_meta_classes.SearchCriterion
   :members:
   
   
   .. automethod:: __init__


.. _hyperlink-type:

Hyperlink
#########

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.Hyperlink
   :members:
   
   
   .. automethod:: __init__
   
   
.. _binary-type:
   
BinaryType
##########

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.BinaryType
   :members:
   
   
   .. automethod:: __init__

   
.. _picture-type:
   
Picture
#######

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.Picture
   :members:
   
   
   .. automethod:: __init__

.. _file-type:
   
File
####

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_attribute_value_classes.File
   :members:
   
   
   .. automethod:: __init__

   
.. _tabl-units:
   
TabularUnits
############

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_meta_classes.TabularUnits
   :members:
   
   
   .. automethod:: __init__


.. _async-jobs:   
   
Asynchronous Job Queue
**********************

These classes allow users to interact with the MI Asynchronous Job Queue, submitting Excel and Text importer jobs and monitoring their progress. This functionality relies on the external library `requests`.

.. _async-job-queue:

AsyncJobQueue
#############

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_async_jobs.AsyncJobQueue
   :members:
   
   
   .. automethod:: __init__
   

.. _import-job-request:

ImportJobRequest
################

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_async_jobs.ImportJobRequest
   :members:
   
   
   .. automethod:: __init__
   
.. _excel-import-job-request:

ExcelImportJobRequest
#####################

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_async_jobs.ExcelImportJobRequest
   :members:
   
   
   .. automethod:: __init__
   

.. _text-import-job-request:

TextImportJobRequest
####################

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_async_jobs.TextImportJobRequest
   :members:
   
   
   .. automethod:: __init__
   
   
.. _async-job:

AsyncJob
########

.. autoclass:: GRANTA_MIScriptingToolkit.granta.mi_async_jobs.AsyncJob
   :members:


.. _functions:
   
Helper Functions
****************


connect
#######

.. autofunction:: GRANTA_MIScriptingToolkit.granta.mi_functions.connect


extract_parameter_value
#######################

.. autofunction:: GRANTA_MIScriptingToolkit.granta.mi_functions.extract_parameter_value


get_foundation_logger
#####################
   
.. autofunction:: GRANTA_MIScriptingToolkit.granta.mi_functions.get_foundation_logger


log_to_file_in_local_app_data
#############################
   
.. autofunction:: GRANTA_MIScriptingToolkit.granta.mi_functions.log_to_file_in_local_app_data
