qua-platform / quam

The Quantum Abstract Machine (QuAM) is a comprehensive framework designed to abstract and manage quantum programming environments, providing robust tools for configuring and running quantum operations effectively. It is built over the QUA programming language, offering an organized structure for handling complex quantum components and operations.
http://qua-platform.github.io/quam/
BSD 3-Clause "New" or "Revised" License
8 stars 3 forks source link

Feat/Sort config generation #5

Closed nulinspiratie closed 9 months ago

nulinspiratie commented 9 months ago

Allows sorting of QuAM components upon generating the qua config. This is useful when a component needs to add to the config, but requires another QuAM component to do so first

Usage:

    @quam_dataclass
    class LaterComponent(QuamComponent):
        name: str
        earlier_component: QuAMComponent

        @property
        def config_settings(self):
            return {"after": [self.earlier_component]}