Skip to main content

Python bindings for the Customizable Contraction Hierarchies (CCH) implementation from RoutingKit.

Project description

routingkit-cch

Crates.io Pypi Docs License

Rust/Python bindings for the Customizable Contraction Hierarchies (CCH) implementation from RoutingKit. CCH is a three‑phase shortest path acceleration technique for large directed graphs (e.g. road networks) that allows fast re-weighting while keeping very low query latency.

Why CCH?

CustomizableContractionHierarchies (CCH) are an index-based speedup technique for shortest paths in directed graphs that can quickly be adapted to new weights. CCHs use, contrary to regulars CHs, a three phase setup:

  1. Preprocessing
  2. Customization
  3. Query

The preprocessing is slow but does not rely on the arc weights. The Customization introduces the weights and is reasonably fast. Finally, the actual paths are computed in the query phase. A common setup consists of doing the preprocessing once and the customization per user upon login. Further one can use a customization to incorporate live-traffic updates.

Features

  • Safe ergonomic Rust API on top of proven C++ core via cxx.
  • Build indices from raw edge lists (tail/head arrays).
  • Ordering helpers: nested dissection (inertial separator heuristic) and degree fallback.
  • Sequential & parallel customization, and partial weight update afterwards.
  • Reusable query object supporting multi-source / multi-target searches.
  • Path extraction: node sequence & original arc id sequence.
  • Thread-safe sharing of immutable structures (CCH, CCHMetric).

Installation


Rust stable release from crates.io:

[dependencies]
routingkit-cch = "0.1"

Or track the repository:

[dependencies]
routingkit-cch = { git = "https://github.com/HellOwhatAs/routingkit-cch" }

Python stable release from pypi:

pip install routingkit-cch

Or track the repository:

pip install git+https://github.com/HellOwhatAs/routingkit-cch

For the git form ensure the RoutingKit submodule is present:

git submodule update --init --recursive

Requirements: C++17 compiler (MSVC / gcc / clang). OpenMP is enabled automatically by the build script; ensure your toolchain provides an OpenMP runtime (e.g. install libomp on macOS). Without it the build may fail when CCHMetric::parallel_new is called.

Quick Start

For a python example, see examples/draft.py.

use routingkit_cch::{CCH, CCHMetric, CCHQuery, compute_order_degree};

// Small toy graph: 0 -> 1 -> 2 -> 3
let tail = vec![0, 1, 2];
let head = vec![1, 2, 3];
let weights = vec![10, 5, 7]; // total 22 from 0 to 3
let node_count = 4u32;

// 1) Compute a (cheap) order; for real data prefer compute_order_inertial (requires lat,lon).
let order = compute_order_degree(node_count, &tail, &head);
let cch = CCH::new(&order, &tail, &head, |_| {}, false);

// 2) Bind weights & customize (done inside CCHMetric::new here).
let metric = CCHMetric::new(&cch, weights.clone());

// 3) Run a shortest path query 0 -> 3.
let mut q = CCHQuery::new(&metric);
q.add_source(0, 0);
q.add_target(3, 0);
let res = q.run();
assert_eq!(res.distance(), Some(22));
let node_path = res.node_path();
assert_eq!(node_path, vec![0, 1, 2, 3]);
let arc_path = res.arc_path();
assert_eq!(arc_path, vec![0, 1, 2]);

Building an Order

For production use prefer the inertial nested dissection based order:

use routingkit_cch::compute_order_inertial;
let order = compute_order_inertial(node_count, &tail, &head, &latitude, &longitude);

Better separators -> faster customization & queries. External advanced orderers (e.g. FlowCutter) could be integrated offline; you only need to supply the permutation.

(Parallel) Customization

use routingkit_cch::{CCH, CCHMetric};
let metric = CCHMetric::new(&cch, weights.clone()); // single thread
let metric = CCHMetric::parallel_new(&cch, weights.clone(), 0); // 0 -> auto threads

Use when graphs are large enough; for tiny graphs overhead may outweigh benefit.

Incremental (Partial) Weight Updates

If only a small subset of arc weights change (e.g. traffic incidents), you can avoid a full re-customization:

let mut metric = CCHMetric::parallel_new(&cch, weights.clone(), 0);
let mut updater = CCHMetricPartialUpdater::new(&cch);
// ... run queries ...
// Update two arcs (id 12 -> 900, id 77 -> 450)
updater.apply(&mut metric, &BTreeMap::from_iter([(12, 900), (77, 450)]));
// New queries now see updated weights.

Query

let mut q = CCHQuery::new(&metric);
q.add_source(0, 0);
q.add_target(3, 0);
{
    let res = q.run();
    printf("{:?}", res.distance());
} // drop res before reusing q since res takes &mut q
q.add_source(2, 0);
q.add_target(5, 0);
{
    let res = q.run();
    // ...
}

CCHQuery is not thread-safe; create one instance per thread and reuse it is far cheaper than constructing a new one.

Path Reconstruction

After run() -> CCHQueryResult:

  • CCHQueryResult::distance() -> Option<u32> (None = unreachable)
  • CCHQueryResult::node_path() -> Vec<node_id> (empty = unreachable)
  • CCHQueryResult::arc_path() -> Vec<original_arc_id> (empty = unreachable)

Thread Safety

Type Send Sync Notes
CCH yes yes Immutable after build
CCHMetric yes yes Read-only after customization / partial-update
CCHQuery yes no Internal mutable labels; reuse it within thread
CCHQueryResult yes no Runned state of CCHQuery, actually &mut of it
CCHMetricPartialUpdater no no Should have nothing to do with parallel

Create separate queries per thread for parallel batch querying.

Project details


Download files

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

Source Distribution

routingkit_cch-0.1.3.tar.gz (177.3 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

routingkit_cch-0.1.3-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl (6.7 MB view details)

Uploaded PyPymusllinux: musl 1.2+ x86-64

routingkit_cch-0.1.3-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl (6.5 MB view details)

Uploaded PyPymusllinux: musl 1.2+ ARM64

routingkit_cch-0.1.3-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl (394.3 kB view details)

Uploaded PyPymanylinux: glibc 2.34+ x86-64

routingkit_cch-0.1.3-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl (375.1 kB view details)

Uploaded PyPymanylinux: glibc 2.34+ ARM64

routingkit_cch-0.1.3-cp314-cp314-manylinux_2_34_x86_64.whl (390.7 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

routingkit_cch-0.1.3-cp314-cp314-manylinux_2_34_aarch64.whl (371.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ ARM64

routingkit_cch-0.1.3-cp314-cp314-macosx_11_0_arm64.whl (319.6 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

routingkit_cch-0.1.3-cp313-cp313t-musllinux_1_2_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

routingkit_cch-0.1.3-cp313-cp313t-musllinux_1_2_aarch64.whl (6.5 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

routingkit_cch-0.1.3-cp313-cp313-win_amd64.whl (204.1 kB view details)

Uploaded CPython 3.13Windows x86-64

routingkit_cch-0.1.3-cp313-cp313-musllinux_1_2_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

routingkit_cch-0.1.3-cp313-cp313-musllinux_1_2_aarch64.whl (6.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

routingkit_cch-0.1.3-cp313-cp313-manylinux_2_34_x86_64.whl (390.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

routingkit_cch-0.1.3-cp313-cp313-manylinux_2_34_aarch64.whl (370.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

routingkit_cch-0.1.3-cp313-cp313-macosx_11_0_arm64.whl (319.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

routingkit_cch-0.1.3-cp313-cp313-macosx_10_12_x86_64.whl (343.4 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

routingkit_cch-0.1.3-cp312-cp312-win_amd64.whl (204.2 kB view details)

Uploaded CPython 3.12Windows x86-64

routingkit_cch-0.1.3-cp312-cp312-musllinux_1_2_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

routingkit_cch-0.1.3-cp312-cp312-musllinux_1_2_aarch64.whl (6.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

routingkit_cch-0.1.3-cp312-cp312-manylinux_2_34_x86_64.whl (390.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

routingkit_cch-0.1.3-cp312-cp312-manylinux_2_34_aarch64.whl (370.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

routingkit_cch-0.1.3-cp312-cp312-macosx_11_0_arm64.whl (319.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

routingkit_cch-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl (343.6 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

routingkit_cch-0.1.3-cp311-cp311-win_amd64.whl (206.1 kB view details)

Uploaded CPython 3.11Windows x86-64

routingkit_cch-0.1.3-cp311-cp311-musllinux_1_2_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

routingkit_cch-0.1.3-cp311-cp311-musllinux_1_2_aarch64.whl (6.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

routingkit_cch-0.1.3-cp311-cp311-manylinux_2_34_x86_64.whl (393.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

routingkit_cch-0.1.3-cp311-cp311-manylinux_2_34_aarch64.whl (373.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

routingkit_cch-0.1.3-cp311-cp311-macosx_11_0_arm64.whl (322.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

routingkit_cch-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl (346.6 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

routingkit_cch-0.1.3-cp310-cp310-win_amd64.whl (205.9 kB view details)

Uploaded CPython 3.10Windows x86-64

routingkit_cch-0.1.3-cp310-cp310-musllinux_1_2_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

routingkit_cch-0.1.3-cp310-cp310-musllinux_1_2_aarch64.whl (6.5 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

routingkit_cch-0.1.3-cp310-cp310-manylinux_2_34_x86_64.whl (393.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

routingkit_cch-0.1.3-cp310-cp310-manylinux_2_34_aarch64.whl (373.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

routingkit_cch-0.1.3-cp39-cp39-win_amd64.whl (207.2 kB view details)

Uploaded CPython 3.9Windows x86-64

routingkit_cch-0.1.3-cp39-cp39-musllinux_1_2_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

routingkit_cch-0.1.3-cp39-cp39-musllinux_1_2_aarch64.whl (6.5 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

routingkit_cch-0.1.3-cp39-cp39-manylinux_2_34_x86_64.whl (394.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ x86-64

routingkit_cch-0.1.3-cp39-cp39-manylinux_2_34_aarch64.whl (375.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ ARM64

routingkit_cch-0.1.3-cp38-cp38-musllinux_1_2_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

routingkit_cch-0.1.3-cp38-cp38-musllinux_1_2_aarch64.whl (6.5 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ ARM64

routingkit_cch-0.1.3-cp38-cp38-manylinux_2_34_x86_64.whl (394.8 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.34+ x86-64

routingkit_cch-0.1.3-cp38-cp38-manylinux_2_34_aarch64.whl (375.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.34+ ARM64

File details

Details for the file routingkit_cch-0.1.3.tar.gz.

File metadata

  • Download URL: routingkit_cch-0.1.3.tar.gz
  • Upload date:
  • Size: 177.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.6

File hashes

Hashes for routingkit_cch-0.1.3.tar.gz
Algorithm Hash digest
SHA256 56759da054e38357114636154fa9940d8be04904a07a442182c889a76f0ce2a3
MD5 26b986a8c95b8ac06e978ecc82c35bd7
BLAKE2b-256 94da7fa03f23a64b98fc9de2b08d4c8427cdeb9bd16c54d8b0897fad94b42509

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8ec17442645cf9dfdf8cf770fc582d630cd7d541be7d8ebff7c417a5f95b1c3d
MD5 5022fd2c5429a4364909caa787697b98
BLAKE2b-256 76e73f608576fe0c7da107497c9312a503c221181795a07113e919e0649c32a9

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3a4cf27dadd1f5b388f0f9a0e8d5a2b5c2e7e34ae62a7a5e0e9ae98d593de53b
MD5 b55a9ea053497057dd102a6070756377
BLAKE2b-256 14d9d66c28ce5c75c24fc8a9a5fae6a4427cc6b2dcf1c87509218be02ba28e9e

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 7b84a6b8d45229c49f0319bd9235772e6b835031bf2d0f216e6825bb08d3bea1
MD5 89d0ebfa484403f7fcef6a36eebe86db
BLAKE2b-256 d9a6d5d0946c1bd8acce38beb967c20c0a5df8759d0cff7a8c209fbfd56ca37f

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 5a22ac9c50dac5f55d9cda29289c98ef0c4124c60e577525b0a95b8fa49ccb01
MD5 0b4cc856383e3d6552711f07a15ec57f
BLAKE2b-256 6fc63882b42ccdbc7d472cc74a3f7b1d9285b746e4dfb00a9d944c070e542d06

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp314-cp314-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 3b1e7eecae50cd2230da5c71694588c7dd33b6d78031266b10ca61c7b7d43f69
MD5 8c2d83d42a36379b61a322e349351cf6
BLAKE2b-256 38f52b484c6aa50f72bca5d927cee6e6bc1689231469b6e15e09a1eaa893642f

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp314-cp314-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp314-cp314-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 c499a57d12f56967751d590ed5772c8c3648d00eb9df950ba8a47bd95f98e94a
MD5 430c08406cdf1cc09f40bdb468d56222
BLAKE2b-256 75fb1e6272887d0dae2299ae375c769779d28200d5491944a9ee67f3f2f2f9cd

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e7a2dec515007f08685900f3fc083bd0fb288d5c40bce1e21f2e2efe73f344db
MD5 f6e79a71274efa20ba8c05465a797846
BLAKE2b-256 0f99cbeeb2ddb6667250d76f74139d8b871663d72a07272f2ac8f64f31e5590e

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp313-cp313t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8dfa2331364bf1a3fb3555ed6f6028bb02f7494b6fe0cf2333ed31fc351ee228
MD5 5955f9be3a8ba7d4da2a4717308ecbbe
BLAKE2b-256 ea1d51d6bebf6b99149d493205eb66a51086d0914deba142ba4bccfb03b862f6

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp313-cp313t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e780203ebbedb28226db2fd3d4a16b0f70eeadec330f9da5c3fbc6422014d850
MD5 66ade13bbbd0aaa526aec1c88fbfed9c
BLAKE2b-256 884c481c64dc82d02818f19d734c74972d0c64002e526ca57682c2eeeb08a15c

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2bb153cf451530a73f793fe7bf90f1993dd0066114a5b6a15bc9d2137c0d28e5
MD5 ee8e86e2a811c26cc0222f7569e391e0
BLAKE2b-256 73754f7de995f062fab3a9343f1adb8510f30431e2b3ed3f56f2bb8fda547fea

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c10671a83ee0dff8ddb44637cf6ed508cb1e9d8fe0f7736a6f5e870c76f1eed4
MD5 01a227ee1f05e0625d1bd5c036b346c4
BLAKE2b-256 ba43cf3554840b1494172a028167ac6c67360cf4a79e4a9c3dfa3503fd8eab95

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 164bd2775028e563b84471b0036820ba60098a63161e8f49f979d3bc9f8c0f8b
MD5 8e5f2357c01d0cb6eb53f1768ad90471
BLAKE2b-256 18bd4cda24393943ef66a2df946404fdbbbbd836d27639c31a08a9dad8220ae8

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 9e3657574b47a7d9ddddb75320fb5024eebd9df776fd3e0c20cc1afbf950ea2b
MD5 e1d2b4e3677893ebf43963b258aa2f44
BLAKE2b-256 c621ef450995537a2c02ce1ff7d00a9763afc2a4b6bb03a287051d214f1b9543

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp313-cp313-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 747654f7de1415970318ffdc6e82e1c56bd56b607c0f5b0895d57b12a9f3d3f9
MD5 4fe6ea9be689ce532758fa9f526f6b28
BLAKE2b-256 c863fbf4892c328e088188138f71b4d5d898f60c00584408c734efcf9e16b40a

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 539a1f15cf85508871f9a94831c89cbdbf8d4d2e9411b28a2dd7f1e37998425f
MD5 daacbb7e1d0c8d4d4a628bb6851b1b2a
BLAKE2b-256 401cad92066348eb357467f42364fea40760a903f05dcf060358bc7fd297fed6

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d9c40375465648554a750fb5e038b6ca9aba0bd44ddcf3f28707bee1941e083c
MD5 cb593a707515066024111b431cc342e8
BLAKE2b-256 0615de8d4a5b87f242183d8f6c4645ce2773d90da2bdb877674704571e1a3a3d

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 16217d816f8d9ba39a1ef3d7247c53552eb0c62deb76366e2b90d99b9390fcc2
MD5 de3eb12817d9fdfbb6e1e9e4307cca11
BLAKE2b-256 93019782719304de6f0ef0a4bed6a6c81a8f09c52f052b6888ee67f67a5e5505

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cf14a751a628bc711b2b97ef4ab299063879bdcf0791d5adf4761d8e66f0f8f6
MD5 70aad1adaa0a821f5ca5d5774c94541d
BLAKE2b-256 abce1c6ff90249be85234ee5bac99e89fba05c26f07e1c11d7eb2f9f09ed5112

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b80526b4950efad02c64ead1da48b965994c8cf75d2aee46dcef4c6076053a75
MD5 f3517479dffb0ff89c175284744ad2d1
BLAKE2b-256 a9813c49047f36ebef50f4bdb9fbde336d1cfb66818ae29cf30af11086ece27b

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 ffd2d98449875563f4447605c21cdcd95fb24aab943304835e4e7d1b5470e2ac
MD5 964c3e0c0707aacaf44cc06473cebe1b
BLAKE2b-256 d519e6e94112210cefca7dab5c1553ad2ab3de36919be79d755fe6f6d67343f3

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 1ed798d1881153ddde16650940196724101b6e84040f2b5d016e38387c5e9bce
MD5 beac9c73f7df4b12f440e02a4daaa3c3
BLAKE2b-256 29ef3bff7ecb312cb3f45cf7a58a769487db78b78bd278ba52f819e75eddb833

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4fb1706dcbf94a69f93c4d784213df9050fa977daf1bad38fbba124c3d035655
MD5 03876f8804199f573eea5605cbd7c272
BLAKE2b-256 ac6a1c2c56a5c5b09554383f267260b6a7787a16e5a6673dca1a3ece93ea3da2

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9194218893df247a54670197d30436922a44e197bae97c8c2251aa4c8a23b1b4
MD5 0f4f3bbbc12d899162325b0ce477d319
BLAKE2b-256 0006137a19d3ad001471be0e121fd8c6e47f8e0d9d18a8c41f298801b96bf2ae

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 06edc9ac975dcbbbeea423b7516603c9da6ace7f8b31d811514e1f3569a41051
MD5 ed6d1538602566ab9ce29f34e696d0c8
BLAKE2b-256 d78fdab6bfd3347f76cd09205c3ebd968192111f7066d4f1e93663f6c8f24a8a

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f4085bc4ce7aa519314d38be1fbad71aa97d163f749634597cc4796c556f5d07
MD5 90d56a216cc8d497a4df5b92ff91d9ca
BLAKE2b-256 3b6c1be05d031671243660079d1a36414fec2a78d7cee41e18d711aa0aed735c

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 efa725b3709923c9687bfc67948ecbe2b891042e15b9362309dc980783f9a446
MD5 dfec730dc2a8c6f92ae25e64141659c7
BLAKE2b-256 24da5ae93124f1ff9887a39c255bdec260cd8e3d77a0f89d8fdbc6ad271c700f

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 50b94e0929bc1ebd5acc7cd87767b8d2f5dcc6283737ab90d2935801f557817a
MD5 b9ced1d62c70fdd22c5ece4c6b4900d7
BLAKE2b-256 589c1f0f9fbc7360475473d651679e972804b023cb2ea6e981b1dd0748173e39

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp311-cp311-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 00c02c44cef41345b4ad993f92b8f185e8ebb1449a13f9ca929efea790c16f40
MD5 7baad981edba96193dbef40aa0dba61f
BLAKE2b-256 a02310bd530cea94be518ebbedf712daa6d33611c61cc72e9353477896dd7431

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0ba193a250276cf748ab07e01b4aea9d31a9975456c4f6c2ff5f54c852aad3f4
MD5 83a6f5c7e8f30952ebbc1ecbc9e28559
BLAKE2b-256 5c7a174923935bf4495c791c127051f4b5dcd14b363a94796a55504a5c5ec8a5

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 121995b8891f89c6233c6b71319ab23733ec3e2123d77fa10f2330edcacc7950
MD5 5cecd5db67f0d48594d9eab3f644ca4d
BLAKE2b-256 7799e4a150d38998e1ab0937ba51cbc0c032e4f8effe980bb4780cda2d3cc4f9

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 05b180182601a8c934d7dfdc133cfad6cdc3d7c961b36ba2d6367decd5026195
MD5 f3629f0b4e737e1ff7c5d88e1c57f838
BLAKE2b-256 cadb18ccf48b80ea7a9f3146a8e6904c9beb9203ecda90ac2c8e516ccdf4d475

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5802b7b23ed7ad0e51671b29a366cf3fd74f9ae42136f9f020770b356ae2945f
MD5 8d976ef74216a7c8d2f753ddf6dc37af
BLAKE2b-256 64ce724f1bd333e217978f13b644ca267a48dc207598d279ffbac82eff0d9c91

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3ce8f233626a16d8b133e4e79bf834303e14830801ed7cce6ec230a8c3c38f04
MD5 8cee6164180caf7746545ccae7b2f832
BLAKE2b-256 b64841250de985292205383d22a70b3971545d0843d53068a5dbd6dd7a0329b5

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 0f9cf2106a0d2c7b6a5be1e369aacce0f60ec8ae12f8fc94d874e75d5e54cdc2
MD5 837de8d165f828f0381981cdf22a9f5a
BLAKE2b-256 4d18716a302b310d7babff34489243c525ba08188c93def6656be8974723c2b7

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp310-cp310-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 9a61144bb058415ba690debf8c71ce530271381c43d389fdde813c4494e17344
MD5 c0e9bfc75fb398d91a9172c72b3deca8
BLAKE2b-256 a4375990b3b7fd483bc5bc59645d6e150cac042edc04e0a6dfbfffa791dd8f3b

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 34b57207233035be27661b4f4c3082d2a7ce75a848555c1049b11c7a8ed7e5b8
MD5 cb2740fb4001c3f187738ff9e357268e
BLAKE2b-256 d3c6fd959c377bf70239b3e43951b7d03019e3ee834dca3435d96c767af8e685

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 383fa78fd74ac11f8251d6d0215d8cc17d9c794b6ff54e62f43426d07874595f
MD5 9472fed804659b831e5edd568ca01196
BLAKE2b-256 358d6489256e3be5ed285fa393ba424ba2c80d355f95be3897662a1bb4072d1f

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b230c74a1480f1fe3a8bf5189a1fa98e77d7fd34b9b2cc66e39441dcadd049d4
MD5 bfb4fa17d2f8850973b4d0439a7fb665
BLAKE2b-256 ca5ba07e46d64dc57e6df188a050e8bbbf88b47973dde48306994356a5a4de80

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp39-cp39-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 96058035429a2bf995d07bb3488f238a1b3f578424e0534e763af1961f1974ef
MD5 599d9de9df2cac64f7f7e9f0f948e0be
BLAKE2b-256 4f76baadea8fed95f911e92f710372da48c67cfb6422134dabeae4478bb758f1

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp39-cp39-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp39-cp39-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 5e0abe7e142e16ead471c08de878eed6df70d17e65f2caad9fad05257113ed12
MD5 e25faa6d0cca73e14d7862784796eccb
BLAKE2b-256 a54031385be552c54971df6edf7fd8bb8cbb8e04d3bc14a06a90b929f871f235

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7adce69a4e0995f5fc31eb56d224504d01dc505eb80a1b88fc83454f4da56425
MD5 08b3bd6d0a92b993c48487b006bb5baa
BLAKE2b-256 9f9b42b02036bba7a39bfda34c5f4c4aec5086701f821fcfd7bc0ae83193286e

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp38-cp38-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4e3a3c8d2bdf575adfcce445b0fb5fd5d4c9bb2120dd750496986383a078f218
MD5 e051af91330c64c6900dddc4ebf76884
BLAKE2b-256 6a279373685379b3027b99e802654480b90fb7b49d08662fa4928325b66e9fd5

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp38-cp38-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp38-cp38-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 052c60933393e5b4e0548dd158fd246899ee4d0eb36e0fd422a03757c5a50af5
MD5 b1c2382f9247e799785f786272c4c704
BLAKE2b-256 55b92c03efb8c0d7a4054b5ecf0c15fc9820f971b90aff5e0683d63f7a09069d

See more details on using hashes here.

File details

Details for the file routingkit_cch-0.1.3-cp38-cp38-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for routingkit_cch-0.1.3-cp38-cp38-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 27edf57d2fe7f8af5689973d1d284d914abcb5be8ec28e46611596c7ffd4832a
MD5 cf60f9de248ebe44ec58d1584d0acd91
BLAKE2b-256 144cd52b3a470e2ae2ed53e3c5db6356a33af365798be035a0bd7dec419de925

See more details on using hashes here.

Supported by

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