QuTech-Delft / libqasm

libQASM: Library to parse cQASM files
https://arxiv.org/abs/1805.09607
Other
15 stars 16 forks source link

[Python] Let `libqasm` be the only top level module, `v3x` being a submodule of it, and removing the need of the `cqasm` module. #226

Open rturrado opened 1 month ago

rturrado commented 1 month ago

At the moment, when creating the Python library, we create two top level modules: libqasm, and cqasm.

The cqasm module contains a single submodule: v3x.

So, at the moment, we can import libqasm, and then import cqasm.v3x, import cqasm.v3x.ast, and so on.

The libqasm module gives us access to the V3xAnalyzer class, with the following API:

Whereas the cqasm.v3x module is also available for a more fine-grained use of the library.

import cqasm.v3x.ast
import cqasm.v3x.instruction
import cqasm.v3x.primitives
import cqasm.v3x.semantic
import cqasm.v3x.types
import cqasm.v3x.values

Ideally, I would like to have a single top level module, libqasm, with v3x being a submodule of it.