Skip to content

Feature: Make Accelerator independent of ConfigurationManager #307

Description

@TeresiaOlsson

Description, motivation and use case

At the moment Accelerator.load uses the ConfigurationManager to load and build the configuration from a file. I think this makes it more complicated for the users to understand what happens during the loading process since they need to understand the ConfigurationManager despite that it in this case just loads a single file and calls Accelerator.from_dict.

It also makes the Accelerator dependent on the ConfigurationManager which might not be the most modular choice for the future.

There is also a use case for building single devices without building the whole accelerator and if the ConfigurationManager is made more modular it might be interesting in the future to extend it to not only aggregate an accelerator configuration from fragments but also extract fragments from an existing accelerator configuration to build single devices.

Proposed solution

Make the ConfigurationManager an external tool which can be used to build a single configuration from fragments. Instead of ConfigurationManager.build building an accelerator object it should build a configuration object/dict which can be feed into the factory to build any object.

The goal should be to eventually move it out from the pyaml repository into it's own repository.

Checklist

  • I've assigned this issue to a project
  • I've @-mentioned relevant people

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions