Socket
Socket
Sign inDemoInstall

amazon-braket-schemas

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

amazon-braket-schemas

An open source library that contains the schemas for Amazon Braket


Maintainers
1

Amazon Braket Python Schemas

Latest Version Supported Python Versions Build status codecov Documentation Status

Amazon Braket Python Schemas is an open source library that contains the schemas for Braket, including:

  • intermediate representations (IR) for Amazon Braket quantum tasks and offers serialization and deserialization of those IR payloads. Think of the IR as the contract between the Amazon Braket SDK and Amazon Braket API for quantum programs.
  • schemas for the S3 results of each quantum task
  • schemas for the device capabilities of each device

Installation

Prerequisites

  • Python 3.9+

Steps

The preferred way to get Amazon Braket Python Schemas is by installing the Amazon Braket Python SDK, which will pull in the schemas. Follow the instructions in the README for setup.

However, if you only want to use the schemas, it can be installed on its own as follows:

pip install amazon-braket-schemas

You can install from source by cloning this repository and running a pip install command in the root directory of the repository:

git clone https://github.com/amazon-braket/amazon-braket-schemas-python.git
cd amazon-braket-schemas-python
pip install .

You can check your currently installed version of amazon-braket-schemas with pip show:

pip show amazon-braket-schemas

or alternatively from within Python:

>>> import braket._schemas as braket_schemas
>>> braket_schemas.__version__

Usage

OpenQASM (Open Quantum Assembly Language) is one type of IR. See below for its usage.

Serializing python structures

from braket.ir.openqasm import Program as OpenQASMProgram

program = OpenQASMProgram(source="OPENQASM 3.0; cnot $0, $1;")
print(program.json(indent=2))

"""
{
  "braketSchemaHeader": {
    "name": "braket.ir.openqasm.program",
    "version": "1"
  },
  "source": "OPENQASM 3.0; cnot $0, $1;",
  "inputs": null
}
"""

Deserializing into python structures

from braket.ir.openqasm import Program as OpenQASMProgram

openqasm_string = """
{
  "braketSchemaHeader": {
    "name": "braket.ir.openqasm.program",
    "version": "1"
  },
  "source": "OPENQASM 3.0; cnot $0, $1;"
}"""

program = OpenQASMProgram.parse_raw(openqasm_string)
print(program)

"""
braketSchemaHeader=BraketSchemaHeader(name='braket.ir.openqasm.program', version='1') source='OPENQASM 3.0; cnot $0, $1;' inputs=None
"""

Documentation

Detailed documentation, including the API reference, can be found on Read the Docs.

You can also generate the docs from source. First, install tox:

pip install tox

To build the Sphinx docs, run the following command in the root repo directory:

tox -e docs

You can then find the generated HTML files in build/documentation/html.

Testing

Make sure to install test dependencies first:

pip install -e "amazon-braket-schemas-python[test]"

To run the unit tests:

tox -e unit-tests

You can also pass in various pytest arguments to run selected tests:

tox -e unit-tests -- your-arguments

To run linters and doc generators and unit tests:

tox

For more information, please see pytest usage.

License

This project is licensed under the Apache-2.0 License.

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc