quam


Namequam JSON
Version 0.3.7 PyPI version JSON
download
home_pageNone
SummaryQuantum Abstract Machine (QuAM) facilitates development of abstraction layers in experiments.
upload_time2024-11-01 13:04:27
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseBSD-3-Clause
keywords quantum-computing experiment-control quantum-infrastructure abstraction-layer abstraction-library
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # QuAM: Quantum Abstract Machine

## Overview
QuAM (Quantum Abstract Machine) is an innovative software framework designed to provide an abstraction layer over the QUA programming language, facilitating a more intuitive interaction with quantum computing platforms. Aimed primarily at physicists and researchers, QuAM allows users to think and operate in terms of qubits and quantum operations rather than the underlying hardware specifics.

Explore detailed documentation and get started with QuAM here: [QuAM Documentation](https://qua-platform.github.io/quam/).

## Key Features
- **Abstraction Layer**: Simplifies quantum programming by providing higher-level abstractions for qubit operations.
- **Component-Based Structure**: Utilize modular components like Mixers and IQChannels for flexible quantum circuit design.
- **Automated Configuration**: Generate QUA configurations from QuAM setups seamlessly.
- **Extensibility**: Extend QuAM with custom classes to handle complex quantum computing scenarios.
- **State Management**: Features robust tools for saving and loading your quantum states, promoting reproducibility and consistency.

## Installation
To install QuAM, first ensure you have 3.8 ≤ Python ≤ 3.11 installed on your system.  
Then run the following command: 

```bash
pip install quam
```

## Quick Start
Here’s a basic example to get you started with QuAM:

```python
from quam.components import BasicQuAM, SingleChannel, pulses
from qm import qua

# Create a root-level QuAM instance
machine = BasicQuAM()

# Add a qubit connected to an OPX output channel
qubit = SingleChannel(opx_output=("con1", 1))
machine.channels["qubit"] = qubit

# Add a Gaussian pulse to the channel
qubit.operations["gaussian"] = pulses.GaussianPulse(
    length=100,  # Pulse length in ns
    amplitude=0.5,  # Peak amplitude of Gaussian pulse
    sigma=20,  # Standard deviation of Guassian pulse
)

# Play the Gaussian pulse on the channel within a QUA program
with qua.program() as prog:
    qubit.play("gaussian")

# Generate the QUA configuration from QuAM
qua_configuration = machine.generate_config()
```


## License
QuAM is released under the BSD-3 License. See the LICENSE file for more details.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "quam",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "quantum-computing, experiment-control, quantum-infrastructure, abstraction-layer, abstraction-library",
    "author": null,
    "author_email": "Serwan Asaad <serwan.asaad@quantum-machines.co>",
    "download_url": "https://files.pythonhosted.org/packages/70/08/c332f8e21f59965cd148a31348706afe9e16d43fbc8e7448a38417813dbd/quam-0.3.7.tar.gz",
    "platform": null,
    "description": "# QuAM: Quantum Abstract Machine\n\n## Overview\nQuAM (Quantum Abstract Machine) is an innovative software framework designed to provide an abstraction layer over the QUA programming language, facilitating a more intuitive interaction with quantum computing platforms. Aimed primarily at physicists and researchers, QuAM allows users to think and operate in terms of qubits and quantum operations rather than the underlying hardware specifics.\n\nExplore detailed documentation and get started with QuAM here: [QuAM Documentation](https://qua-platform.github.io/quam/).\n\n## Key Features\n- **Abstraction Layer**: Simplifies quantum programming by providing higher-level abstractions for qubit operations.\n- **Component-Based Structure**: Utilize modular components like Mixers and IQChannels for flexible quantum circuit design.\n- **Automated Configuration**: Generate QUA configurations from QuAM setups seamlessly.\n- **Extensibility**: Extend QuAM with custom classes to handle complex quantum computing scenarios.\n- **State Management**: Features robust tools for saving and loading your quantum states, promoting reproducibility and consistency.\n\n## Installation\nTo install QuAM, first ensure you have 3.8 \u2264 Python \u2264 3.11 installed on your system.  \nThen run the following command: \n\n```bash\npip install quam\n```\n\n## Quick Start\nHere\u2019s a basic example to get you started with QuAM:\n\n```python\nfrom quam.components import BasicQuAM, SingleChannel, pulses\nfrom qm import qua\n\n# Create a root-level QuAM instance\nmachine = BasicQuAM()\n\n# Add a qubit connected to an OPX output channel\nqubit = SingleChannel(opx_output=(\"con1\", 1))\nmachine.channels[\"qubit\"] = qubit\n\n# Add a Gaussian pulse to the channel\nqubit.operations[\"gaussian\"] = pulses.GaussianPulse(\n    length=100,  # Pulse length in ns\n    amplitude=0.5,  # Peak amplitude of Gaussian pulse\n    sigma=20,  # Standard deviation of Guassian pulse\n)\n\n# Play the Gaussian pulse on the channel within a QUA program\nwith qua.program() as prog:\n    qubit.play(\"gaussian\")\n\n# Generate the QUA configuration from QuAM\nqua_configuration = machine.generate_config()\n```\n\n\n## License\nQuAM is released under the BSD-3 License. See the LICENSE file for more details.\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "Quantum Abstract Machine (QuAM) facilitates development of abstraction layers in experiments.",
    "version": "0.3.7",
    "project_urls": {
        "Homepage": "https://github.com/entropy-lab/quam"
    },
    "split_keywords": [
        "quantum-computing",
        " experiment-control",
        " quantum-infrastructure",
        " abstraction-layer",
        " abstraction-library"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dffe0d0d54b7a987873d4f3042eee0ef777957ae6fabb34ef8cb4f3acaeff327",
                "md5": "6966ca63999dd1d9cdc0d874e3f7e65d",
                "sha256": "637130fbaa1b6c743299b1fc1e225bba451ce1c809f506e27bb3206f481c2432"
            },
            "downloads": -1,
            "filename": "quam-0.3.7-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6966ca63999dd1d9cdc0d874e3f7e65d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 58789,
            "upload_time": "2024-11-01T13:04:26",
            "upload_time_iso_8601": "2024-11-01T13:04:26.001595Z",
            "url": "https://files.pythonhosted.org/packages/df/fe/0d0d54b7a987873d4f3042eee0ef777957ae6fabb34ef8cb4f3acaeff327/quam-0.3.7-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7008c332f8e21f59965cd148a31348706afe9e16d43fbc8e7448a38417813dbd",
                "md5": "869bfa805c3fa04d2131553865b40c2f",
                "sha256": "d544aed0fbd13d58662f264ab2da9d2d0f280a36283f2cba8a076a56e87733fe"
            },
            "downloads": -1,
            "filename": "quam-0.3.7.tar.gz",
            "has_sig": false,
            "md5_digest": "869bfa805c3fa04d2131553865b40c2f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 116851,
            "upload_time": "2024-11-01T13:04:27",
            "upload_time_iso_8601": "2024-11-01T13:04:27.889433Z",
            "url": "https://files.pythonhosted.org/packages/70/08/c332f8e21f59965cd148a31348706afe9e16d43fbc8e7448a38417813dbd/quam-0.3.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-01 13:04:27",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "entropy-lab",
    "github_project": "quam",
    "github_not_found": true,
    "lcname": "quam"
}
        
Elapsed time: 0.42186s