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:
parse_file,
parse_string,
analyze_file, and
analyzer_string.
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.