Skip to content

Implement default metadata for components and adapters

Martin Lange requested to merge default-metadata into main

This implements default metadata as specified in landtrans/landtech/management#233

@muellese Should we somehow try to get the actual slot metadata (like units, grid, ...) into here too? Not sure how to represent grids, but it could IMO be useful.
Done.

TODO:

  • Update docs
  • Add book section
  • Overwrite/implement for existing components and adapters
  • Update CHANGELOG
  • Merge !273 (merged)

Example

{'adapters': {'Scale@2391719058640': {'class': 'finam.adapters.base.Scale',
                                      'in_info': {'grid': 'NoGrid (0D)',
                                                  'units': ''},
                                      'name': 'Scale',
                                      'out_info': {'grid': 'NoGrid (0D)',
                                                   'units': ''}},
              'Scale@2391719059168': {'class': 'finam.adapters.base.Scale',
                                      'in_info': {'grid': 'NoGrid (0D)',
                                                  'units': ''},
                                      'name': 'Scale',
                                      'out_info': {'grid': 'NoGrid (0D)',
                                                   'units': ''}}},
 'components': {'MockupComponent@2391719110688': {'class': 'test_schedule.MockupComponent',
                                                  'inputs': {},
                                                  'name': 'MockupComponent',
                                                  'outputs': {'Output': {'class': 'finam.sdk.output.Output',
                                                                         'has_targets': True,
                                                                         'info': {'grid': 'NoGrid (0D)',
                                                                                  'units': ''},
                                                                         'is_static': False,
                                                                         'name': 'Output'}}},
                'MockupDependentComponent@2391719111408': {'class': 'test_schedule.MockupDependentComponent',
                                                           'inputs': {'Input': {'class': 'finam.sdk.input.Input',
                                                                                'info': {'grid': 'NoGrid (0D)',
                                                                                         'units': ''},
                                                                                'is_static': False,
                                                                                'name': 'Input'}},
                                                           'name': 'MockupDependentComponent',
                                                           'outputs': {}},
                'MockupDependentComponent@2391719111696': {'class': 'test_schedule.MockupDependentComponent',
                                                           'inputs': {'Input': {'class': 'finam.sdk.input.Input',
                                                                                'info': {'grid': 'NoGrid (0D)',
                                                                                         'units': ''},
                                                                                'is_static': False,
                                                                                'name': 'Input'}},
                                                           'name': 'MockupDependentComponent',
                                                           'outputs': {}}},
 'links': [{'from': {'component': 'MockupComponent@2391719110688',
                     'output': 'Output'},
            'to': {'adapter': 'Scale@2391719059168'}},
           {'from': {'component': 'MockupComponent@2391719110688',
                     'output': 'Output'},
            'to': {'component': 'MockupDependentComponent@2391719111696',
                   'input': 'Input'}},
           {'from': {'adapter': 'Scale@2391719058640'},
            'to': {'component': 'MockupDependentComponent@2391719111408',
                   'input': 'Input'}},
           {'from': {'adapter': 'Scale@2391719059168'},
            'to': {'adapter': 'Scale@2391719058640'}}],
 'time_frame': [datetime.datetime(2000, 1, 1, 0, 0), None]}
Edited by Martin Lange

Merge request reports