Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

quip-solver-core

This repository is the shared Quip solver contract. A solver binary accepts Ising problems and returns spin configurations with their energies.

Rust solvers supply a Sampler and call run. C and C++ solvers register sampling callbacks with the C library. The Python wheel and npm package carry consensus primitives and generated gRPC stubs. Python and TypeScript solvers provide their own session loops.

The full contract is in SPEC.md. CHANGELOG.md lists the 0.0.2-rc3 changes. MIGRATING.md covers solver API changes. Release 0.0.2-rc3 requires protocol version 2. Update the coordinator and solvers together using the coordinator upgrade guide.

Crates

Crate What it holds
quip-solver-core The Sampler trait, Ising and compressed sparse row types, inverse-temperature ladder, adaptive budget, session loop
quip-proto Generated tonic and prost stubs for proto/quip/v1/miner.proto
quip-protocol Wire codec, energy and diversity scoring, handshake, ChaCha8 draw, nonce derivation
quip-solver-conformance Golden vectors and the scripted session driver
quip-protocol-py PyO3 bindings exposing quip-protocol scoring and wire primitives to Python
quip-protocol-wasm WebAssembly bindings behind the npm package
quip-solver-c C binary interface over the session loop, shipped as a release artifact

Install

Every binding ships from its own registry. The C library ships as a release artifact, because a C consumer wants the compiled object and the header.

Rust

[dependencies]
quip-solver-core = "0.0.2-rc3"

[dev-dependencies]
quip-solver-conformance = "0.0.2-rc3"

One dependency is enough. quip-solver-core re-exports quip_proto and quip_protocol. Default Sampler implementations use IsingGraph<f64> and quip_solver_core::quip_protocol::scoring::energy_milli.

A solver can select Sampler<Milli> to receive exact wire coefficients. Import Milli from quip_solver_core::coefficient. Its stored integer is available through .0. Score those integers with quip_solver_core::quip_protocol::scoring::energy_from_milli. The Rust example shows this choice.

Python

pip install quip-solver-core

Node packages

npm install @quip.network/quip-solver-core@rc

Native libraries

Download quip-solver-clib-<tag>-linux-amd64.tar.gz from the release page. It holds libquip_solver_c.so, libquip_solver_c.a, and include/quip_solver.h.

Samples

examples/ holds a conformant mock solver in four languages. Rust, C++, Python, and TypeScript each consume the published artifact and pass quip-solver-drive. Start there rather than from this README.

Conformance

A solver is conformant when quip-solver-drive reports a conformant session.

cargo build -p quip-solver-conformance --bin quip-solver-drive --release
./target/release/quip-solver-drive <solver-binary> unix:///tmp/quip-check.sock

Exit code 0 means conformant. The driver spawns any executable, so this works for a solver in any language.

Licence

Apache-2.0. See LICENSE and NOTICE.

Release files for quip-solver-core 0.0.2rc3

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

Source distribution (sdist)

Source distribution for quip-solver-core 0.0.2rc3
File Size Uploaded
quip_solver_core-0.0.2rc3.tar.gz 123.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for quip-solver-core 0.0.2rc3
File Interpreter ABI Platform
quip_solver_core-0.0.2rc3-cp311-abi3-manylinux_2_34_x86_64.whl CPython 3.11 abi3 Linux glibc 2.34+ x86-64 Details
quip_solver_core-0.0.2rc3-cp311-abi3-manylinux_2_34_aarch64.whl CPython 3.11 abi3 Linux glibc 2.34+ ARM64 Details
quip_solver_core-0.0.2rc3-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details

Total release size: 932.8 kB

Release files / quip_solver_core-0.0.2rc3.tar.gz

Download URL quip_solver_core-0.0.2rc3.tar.gz
Size 123.6 kB
Tags Source
SHA-256 checksum
How to use checksums
d42782c0cb425e5279741f3e9f977296659a2aab434029ceea5c2c1bb3e6a81e
BLAKE2b-256 checksum
How to use checksums
f77d2f80e0458cb9bbea2c07818c957cbef68cb61cbbd7eb5d15fd9c66987c03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / quip_solver_core-0.0.2rc3-cp311-abi3-manylinux_2_34_x86_64.whl

Download URL quip_solver_core-0.0.2rc3-cp311-abi3-manylinux_2_34_x86_64.whl
Size 279.6 kB
Tags CPython 3.11 Linux glibc 2.34+ x86-64 abi3
SHA-256 checksum
How to use checksums
ca9f07b335f5e164e58c2be75163232f6380769ff63ce545b4a565c03f2d2a04
BLAKE2b-256 checksum
How to use checksums
74c91c5a57de2dea7030af4e88096cb38012f2dd03b60ed542f37e5aefa485e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / quip_solver_core-0.0.2rc3-cp311-abi3-manylinux_2_34_aarch64.whl

Download URL quip_solver_core-0.0.2rc3-cp311-abi3-manylinux_2_34_aarch64.whl
Size 276.6 kB
Tags CPython 3.11 Linux glibc 2.34+ ARM64 abi3
SHA-256 checksum
How to use checksums
ebaeefefc82804fb7947a7ef1c969e2c2a9656130eaa36bde0a1d9d6a0c74378
BLAKE2b-256 checksum
How to use checksums
16e0373366c2dd04ef630f54385fcd899eed04dbaa49bb1a5018e82ddbcd5efd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / quip_solver_core-0.0.2rc3-cp311-abi3-macosx_11_0_arm64.whl

Download URL quip_solver_core-0.0.2rc3-cp311-abi3-macosx_11_0_arm64.whl
Size 253.0 kB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e0fb91c7540057022a7f35210b83a835fa4485813eae50623616337b89e3792c
BLAKE2b-256 checksum
How to use checksums
56ded192ec83a46276e9c30122b8602073cb7146d8e9f849a4952d933405e801
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.11.16
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