Skip to main content

Native code for BQSKit

bqskitrs is a Python package that implements circuit instantiation and simulation to accelerate BQSKit.

Installing bqskitrs

You can often install bqskitrs via PyPi with pip:

pip install bqskitrs

this will use pre-built wheels. Sometimes wheels are not available, so you must build from source.

Building bqskitrs

Linux

It's best to build and install the manylinux version with the provided docker container:

git clone https://github.com/BQSKit/bqskitrs.git --recursive
cd bqskitrs
docker run -e OPENBLAS_ARGS="DYNAMIC_ARCH=1" --rm -v $(pwd):/io edyounis/bqskitrs-manylinux:1.1 build  --release --features=openblas --compatibility=manylinux2014
pip install --no-index --find-links=target/wheels bqskitrs

MacOS

Make sure the version of pip you have is at least 20.0.2. You can check via pip -V and upgrade via python3 -m pip install -U pip.

First, install the dependencies. We use homebrew here, which is what we build the official package against.

brew install gcc ceres-solver eigen lapack

Once that is complete you should then install Rust like as follows:

curl https://sh.rustup.rs -sSf | sh -s -- -y

Then clone and enter enter the bqskitrs directory:

git clone https://github.com/BQSKit/bqskitrs.git --recursive
cd bqskitrs

Then build the wheel (package file) with maturin:

pip install -U setuptools wheel maturin
maturin build --features="accelerate" --release

If you encounter issues on an intel x86 Mac computer with a message like "rust failed to run custom build command for cxx', you may need to run the following build command instead:

MACOSX_DEPLOYMENT_TARGET=11.0 maturin build --features="accelerate"

Finally install the wheel that you built:

pip install --no-index --find-links=target/wheels bqskitrs

Once it is done installing the wheel, verify that the installation succeeded by running

python3 -c 'import bqskitrs'

It should not print anything out nor give any error.

Windows

Make sure the version of pip you have is at least 20.0.2. You can check via pip -V and upgrade via python3 -m pip install -U pip.

Download and install rust via the installer found at https://rustup.rs/. Accept all of the defaults.

Close your shell and open a new one (this updates the enviroment).

Then install cargo-vcpkg, which will help install dependencies for us. You can install it via

cargo install cargo-vcpkg

cargo is installed with Rust so this should "just work".

Then clone and enter enter the bqskitrs directory:

git clone https://github.com/BQSKit/bqskitrs.git --recursive
cd bqskitrs

Then build the dependencies with vcpkg.

cargo vcpkg build

This will take quite a while.

Then build the wheel (package file) with maturin:

python -m pip install maturin
python -m maturin build --interpreter $(which python) --features="openblas,openblas-src/system" --release

Finally install the wheel that you built:

pip install --no-index --find-links=target/wheels bqskitrs

Once it is done installing the wheel, verify that the installation succeeded by running

python3 -c 'import bqskitrs'

It should not print anything out nor give any error.

Metadata

Release files for bqskitrs 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for bqskitrs 0.4.1
File
bqskitrs-0.4.1-cp38-abi3-win_amd64.whl CPython 3.8 abi3 Windows x86-64 Details
bqskitrs-0.4.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 abi3 Linux glibc 2.17+ x86-64 Details
bqskitrs-0.4.1-cp38-abi3-macosx_11_0_arm64.whl CPython 3.8 abi3 macOS 11.0+ ARM64 Details
bqskitrs-0.4.1-cp38-abi3-macosx_10_12_x86_64.whl CPython 3.8 abi3 macOS 10.12+ x86-64 Details

Total release size: 45.8 MB

Release files / bqskitrs-0.4.1-cp38-abi3-win_amd64.whl

Download URL bqskitrs-0.4.1-cp38-abi3-win_amd64.whl
Size 1.9 MB
Tags CPython 3.8 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
92f438063ce769a5fdb35220666cd90bb6c20551147cc5c72e77b0996fb4bef4
BLAKE2b-256 checksum
How to use checksums
e61d64c6fd3f1b4180dd7c4766cfd7d241a0d7d432a477dca34fbf23386f88bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / bqskitrs-0.4.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL bqskitrs-0.4.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 40.0 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
1f8be7289bea26ca862c789210937aa0ef630a5505440e4c3b2799896e7a6aa2
BLAKE2b-256 checksum
How to use checksums
39973403af17d09e4b8bb071c3f19986894f734812408a8cb2e821d1acea5b4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / bqskitrs-0.4.1-cp38-abi3-macosx_11_0_arm64.whl

Download URL bqskitrs-0.4.1-cp38-abi3-macosx_11_0_arm64.whl
Size 1.8 MB
Tags CPython 3.8 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4412e27f7d0fdd06e73d9cb347f5bd8c4f55f5a8477eded39f24b938d0380e42
BLAKE2b-256 checksum
How to use checksums
abc2baf3af2a45243d0bcd3fef3ede3435325277d939b13afda2d6b7605e45da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / bqskitrs-0.4.1-cp38-abi3-macosx_10_12_x86_64.whl

Download URL bqskitrs-0.4.1-cp38-abi3-macosx_10_12_x86_64.whl
Size 2.1 MB
Tags CPython 3.8 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
12e54f7b1022c7f94223b8587dcdc0b8a4a1f886ebf41fcd2b26a7428880ac06
BLAKE2b-256 checksum
How to use checksums
4122dc1d72f7fa3c795a2b0a4b59e6bbb1ba643d1fd5879749bc6cf213c156fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page