# QUAM API Reference

Welcome to the API Reference section of the Quantum Abstract Machine (QUAM) documentation. Here, you'll find comprehensive details on all components, classes, and methods that make up the QUAM framework. This documentation is designed to help developers understand and effectively utilize the powerful capabilities of QUAM for quantum computing applications.

## Quick Links

- [**Core Components**](core/quam_classes_API)
  Details on fundamental building blocks like [QuamBase][quam.core.quam_classes.QuamBase], [QuamComponent][quam.core.quam_classes.QuamComponent] and [QuamRoot][quam.core.quam_classes.QuamRoot].
  [QuamBase][quam.core.quam_classes.QuamBase]

- [**Channel Components**](components/channels_API)
  Learn about channel configurations and their operations within the QUAM framework.

- [**Pulse Components**](components/pulses_API)
  A detailed look at various pulse types and their properties used in quantum operations.

- [**Port Components**](components/ports_API)
  Comprehensive documentation on port abstractions including analog and digital inputs/outputs, and port containers.

- [**Hardware Components**](components/hardware_API)
  Explore the hardware-related classes such as [Mixer][quam.components.hardware.Mixer], [LocalOscillator][quam.components.hardware.LocalOscillator], and [FrequencyConverter][quam.components.hardware.FrequencyConverter].

- [**Octave Components**](components/octave_API)
  Documentation on the `Octave` component and its associated up and down converters.

- [**Quantum Components**](components/quantum_components_API)
  High-level abstractions for qubits and qubit pairs, enabling gate-level quantum programming.

- [**Macro Operations**](components/macro_API)
  Pre-built macro operations for common quantum gate sequences on qubits and qubit pairs.

- [**BasicQUAM Class**](components/basic_quam_API)
  Details on the `BasicQUAM` class, the root-level QUAM instance that serves as the entry point for QUAM configurations.
