Skip to main content

No project description provided

Project description

https://github.com/qc-design/plaquette-graph/actions/workflows/tests_linux.yml/badge.svg https://github.com/qc-design/plaquette-graph/actions/workflows/docs_linux.yml/badge.svg

About

The plaquette-graph plugin extends the Plaquette error correction software, providing a fast graph library written in C++.

Installation

The C++ tests/examples and python bindings can be built independently by

cmake -Bbuild -G Ninja -DPLAQUETTE_GRAPH_BUILD_TESTS=On -DPLAQUETTE_GRAPH_BUILD_BINDINGS=On
cmake --build ./build

You can run the C++ backend tests with

make test-cpp

You can install just the python interface with (this quietly builds the C++ backend):

pip install -r requirements.txt
pip install .

or get the latest stable release from PyPI

pip install plaquette_graph

You can run the python frontend tests with

make test-python

To generate the documentation you will need to install graphviz and doxygen. Then run

pip install -r doc/requirements.txt
make docs
firefox ./doc/_build/html/index.html

Usage

The primary graph class is SparseGraph, an undirected immutable graph structure stored in CSR format for extremely fast lookup of neighbouring vertices and edges. See the documentation for other types of graphs we support.

Python Frontend

import plaquette_graph as pg

edges = [(0, 1), (0, 2), (1, 2)]
num_vertices = 3
graph = pg.SparseGraph(num_vertices, edges)

C++ Backend

#include "SparseGraph.hpp"

int main(int argc, char *argv[]) {

  using namespace Plaquette;
  std::vector<std::pair<size_t,size_t>> edges = {{0,1},{0,2},{1,2}};
  size_t num_vertices = 3;
  auto graph = SparseGraph(num_vertices, edges);

}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

plaquette_graph-0.0.1a0-cp311-cp311-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.11 Windows x86-64

plaquette_graph-0.0.1a0-cp311-cp311-musllinux_1_1_x86_64.whl (638.2 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

plaquette_graph-0.0.1a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (114.0 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

plaquette_graph-0.0.1a0-cp311-cp311-macosx_10_9_x86_64.whl (83.2 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

plaquette_graph-0.0.1a0-cp310-cp310-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.10 Windows x86-64

plaquette_graph-0.0.1a0-cp310-cp310-musllinux_1_1_x86_64.whl (638.2 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

plaquette_graph-0.0.1a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (114.1 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

plaquette_graph-0.0.1a0-cp310-cp310-macosx_13_0_arm64.whl (79.1 kB view details)

Uploaded CPython 3.10 macOS 13.0+ ARM64

plaquette_graph-0.0.1a0-cp310-cp310-macosx_10_9_x86_64.whl (83.3 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

File details

Details for the file plaquette_graph-0.0.1a0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for plaquette_graph-0.0.1a0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e1f95665a30ad74f109d363f87fcb0128ec8932892e2cf03feff29f497cd1fa4
MD5 76eed2ea8182f180185095f17995ab60
BLAKE2b-256 e74bb45dbec9e63e069445710f4723a82455866cbbe759cf1e60934911936dd3

See more details on using hashes here.

File details

Details for the file plaquette_graph-0.0.1a0-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for plaquette_graph-0.0.1a0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 436dba058657f387e443262132585af4f9c38e9a1deb3195b65a7d0336640fbd
MD5 df07caf46f8d718bce0b90b751d6834f
BLAKE2b-256 6de184893b06a9ba5e930cccbccf9ba9509958245a38c6188d2ffc5b1e4cf45e

See more details on using hashes here.

File details

Details for the file plaquette_graph-0.0.1a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for plaquette_graph-0.0.1a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a2050c6d9c9d9d793ddc46d5f318a3df79a6a30ecbf366217cbc374bbcd8cfb2
MD5 8bd6e28afec9cf3ebbb2f29e758c2d9d
BLAKE2b-256 fc02ed18008f598ef96eb0ae95cf0048105964ce3c951c179c0b8683f2275ba0

See more details on using hashes here.

File details

Details for the file plaquette_graph-0.0.1a0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for plaquette_graph-0.0.1a0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 32b71cda3442a9abc52fc5989eff91eab8db1c3c7809681c790c948b5e8e059e
MD5 fc5abe4006a63087fa1036d5166b38be
BLAKE2b-256 33243c38f4939f5b4375e77c9ebbefbd04ed25f156936d97bc45378d0b8251c2

See more details on using hashes here.

File details

Details for the file plaquette_graph-0.0.1a0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for plaquette_graph-0.0.1a0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8890a27e42a67c3d440b3152a06da856d9ed2cd509f15fa818e6f1e74505e735
MD5 2cc25599861edf05d2838f6e728b45e1
BLAKE2b-256 6a29b2cceba0866b1425196feea913c54e7fd89e36f4f01c57159c5a40d69388

See more details on using hashes here.

File details

Details for the file plaquette_graph-0.0.1a0-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for plaquette_graph-0.0.1a0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 106f6abcb8e0811244bfd6baeda5fc61acfce161479869c6da1efcabd1d47366
MD5 fe66d76fd34901c01766de05142d7ec4
BLAKE2b-256 0deb0b6e8b397495b92d4a08c0820f840abab2b039587b7880968799d8fe3e44

See more details on using hashes here.

File details

Details for the file plaquette_graph-0.0.1a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for plaquette_graph-0.0.1a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 884e556d84344221fab38fc24cb04f912e1e349fe4f8133a916f97600a9d587b
MD5 f568f811fcdcf3145029cb833c68c421
BLAKE2b-256 69e8aab8cddd266e1f87207a10338557e32b1635269ae14fd7b31962c9a96460

See more details on using hashes here.

File details

Details for the file plaquette_graph-0.0.1a0-cp310-cp310-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for plaquette_graph-0.0.1a0-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 fd9366541f57192edf74c51975a41635fe020769aa7c1112e27feff2ec9618e7
MD5 714df523e8b4ace5c82115dbea99f24a
BLAKE2b-256 9c0462588b97bf39e6c3e7dc38edd3ba0e1336b57a948630d06e75da16a68706

See more details on using hashes here.

File details

Details for the file plaquette_graph-0.0.1a0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for plaquette_graph-0.0.1a0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2e75951aded86bdc51680643c67c2339816874da056b95c9ed84f142700763f7
MD5 2c9753ba3e27b71c19509f357fc97056
BLAKE2b-256 ea7a048cd19ea3894f972a2f5ec1be8c061c6cc665fbc93d7320fd075be64ad1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page