####################
Device Manager API
####################

**Module:** ``typhoon.api.device_manager``

Device Manager API set of functions/methods to manipulate current HIL setup
(add or remove devices), create new ones from scratch programmaticaly and
connect/disconnect current setup.
This is most commonly used for creating scripts for **testing** and
**automating** repetitive tasks, but its use is not restricted for these use
cases only.

Examples
--------
Following two examples illustrates how you can use Device Manager API.

Example 1
=========
This example illustrates adding/removing device to
setup and how to connect/disconnect current setup.

.. literalinclude:: device_manager_examples/device_manager_example.py
   :language: python
   :lines: 2-

Script output:

Example 2
=========
This example illustrates loading an existing setup and connecting it.

.. literalinclude:: device_manager_examples/device_manager_example1.py
   :language: python
   :lines: 2-

Script output:

.. autoclass:: typhoon.api.device_manager.DeviceManagerAPI
   :inherited-members:

