LEQO Backend ============ This `project `_ is part of the `LEQO-Framework `_ . It primarily desinged to be the backend for the `LEQO low-code-modeler `_. However, since it provides its services via a simple REST-API, it can also be used as a standalone tool. Features -------- - Provide a REST-API for the `LEQO frontend `_ - Retrieve `OpenQASM `__ implementations for low-code nodes - Merge low-code models into a single `OpenQASM `__ program compatible with `Qiskit `_ - Support OpenQASM 2 input via an internal converter - Optimize circuits by reusing ancilla qubits automatically - Can handle nested low-code nodes: If-Then-Else and Repeat - Build to be extensible Overview -------- The backend is build to retrieve a :class:`~app.model.CompileRequest.CompileRequest` representing a graph modeled by the low-code-modeler. The :class:`~app.enricher.Enricher` then retrieves implementations for the nodes if not explicitly given. After that, :class:`~app.processing.MergingProcessor` merges the graph to a single program with the modeled semantic. .. warning:: The backend requires special annotations in the implementations of the single nodes. If the implementation for a node is written by the user itself, he needs to comply with the specification discussed in :doc:`annotations `. Further Information ------------------- - Instructions on how to use the low-code-modeler with the backend: :doc:`Setup ` - Endpoints provided by the backend: :doc:`REST API ` - Information on the configuration options of the backend: :doc:`Configuration ` - Annotation specification for custom implementations: :doc:`Annotations `. - Information for further development: :doc:`Development ` .. toctree:: :caption: Usage :hidden: :maxdepth: 2 usage/setup.rst usage/rest-api.rst usage/config.rst usage/annotations.rst .. toctree:: :caption: Development :hidden: :maxdepth: 2 dev/overview.rst dev/architecture.rst dev/testing.rst dev/docs.rst dev/sbom.rst dev/openqasm3