Skip to main content

NetGraph-Core

C++ graph engine for network flow analysis, traffic engineering simulation, and capacity planning.

Overview

NetGraph-Core provides a specialized graph implementation for networking problems. Key design priorities:

  • Determinism: Guaranteed reproducible edge ordering by (cost, src, dst).
  • Flow Modeling: Native support for multi-commodity flow state, residual tracking, and ECMP/WCMP placement.
  • Performance: Immutable CSR (Compressed Sparse Row) adjacency, and zero-copy NumPy views over mutable flow state.

Core Features

1. Graph Representations

  • StrictMultiDiGraph: Immutable directed multigraph using CSR adjacency. Supports parallel edges (multi-graph), essential for network topologies.
  • FlowGraph: Topology overlay managing mutable flow state, per-flow edge allocations, and residual capacities.

2. Network Algorithms

  • Shortest Paths (SPF):

    • Modified Dijkstra returns a Predecessor DAG to capture all equal-cost paths.
    • Supports ECMP (Equal-Cost Multi-Path) routing.
    • Features node/edge masking and residual-aware tie-breaking.
  • K-Shortest Paths (KSP):

    • Yen's algorithm returning DAG-wrapped paths.
    • Configurable constraints on cost factors (e.g., paths within 1.5x of optimal).
  • Explicit Paths:

    • PredDAG.from_edges(graph, edges) builds a path bundle from an operator-supplied edge sequence, usable anywhere a PredDAG is accepted.
  • Max-Flow:

    • Algorithm: Iterative augmentation using Successive Shortest Path on residual graphs, pushing flow across full ECMP/WCMP DAGs at each step. For Proportional placement with require_capacity=True, a final residual completion phase augments with reverse arcs so the result is a true maximum flow; the other modes are placement models and may report less.
    • Traffic Engineering (TE) Mode: Routing adapts to residual capacity (progressive fill).
    • IP Routing Mode: Cost-only routing (ECMP/WCMP) ignoring capacity constraints.
  • Analysis:

    • Sensitivity Analysis: Identifies critical edges by removing each saturated edge and measuring how much total flow is lost. Supports shortest_path mode to analyze only edges used under ECMP routing (IP/IGP networks) vs. full max-flow (SDN/TE networks).
    • Min-Cut: Computes minimum cuts on residual graphs.

3. Flow Policy Engine

Unified configuration object (FlowPolicy) that models diverse routing behaviors:

  • Modeling: Unified configuration for IP Routing (static costs) and Traffic Engineering (dynamic residuals).
  • Placement Strategies:
    • EqualBalanced: ECMP (equal splitting) - equal distribution across next-hops and parallel edges.
    • Proportional: WCMP (weighted splitting) - distribution proportional to residual capacity.
  • Lifecycle Management: Handles demand placement, re-optimization of existing flows, and constraints (path cost, stretch factor, flow counts).
  • Static (Pinned) Paths: FlowPolicy.set_static_paths() pins a demand to explicit path bundles (MPLS-style). One flow per usable bundle; a bundle with no path surviving the failure masks is down and carries nothing, since a pinned path does not reroute.

4. Python Integration

  • Zero-Copy: FlowState and FlowGraph *_view() methods expose C++ buffers as read-only NumPy arrays that track mutation in place. StrictMultiDiGraph.*_view() returns copies instead, so the graph's immutability cannot be violated.
  • Concurrency: Releases the Python GIL during the long-running algorithms (SPF, KSP, max-flow, placement) to enable threading. PredDAG.resolve_to_paths holds the GIL. batch_max_flow and sensitivity_analysis also use internal worker threads, sized by NGRAPH_CORE_BATCH_THREADS / NGRAPH_CORE_SENSITIVITY_THREADS.

Quick Start

import numpy as np
import netgraph_core as ngc

# Two parallel paths from node 0 to node 3.
graph = ngc.StrictMultiDiGraph.from_arrays(
    num_nodes=4,
    src=np.array([0, 1, 0, 2], dtype=np.int32),
    dst=np.array([1, 3, 2, 3], dtype=np.int32),
    capacity=np.array([10.0, 10.0, 5.0, 5.0], dtype=np.float64),
    cost=np.array([1, 1, 1, 1], dtype=np.int64),
    ext_edge_ids=np.arange(4, dtype=np.int64),  # your own stable edge ids
)

algs = ngc.Algorithms(ngc.Backend.cpu())
handle = algs.build_graph(graph)

total, summary = algs.max_flow(handle, 0, 3)
print(total)                            # 15.0
print(summary.min_cut.edges.tolist())   # [0, 1] -- bottleneck edge ids

Installation

pip install netgraph-core

Or from source:

pip install -e .

Build Optimizations

Default builds include LTO and loop unrolling. For local development:

make install-native   # CPU-specific optimizations (not portable)

Repository Structure

src/                    # C++ implementation
include/netgraph/core/  # Public C++ headers
bindings/python/        # pybind11 bindings
python/netgraph_core/   # Python package
tests/cpp/              # C++ tests (googletest)
tests/py/               # Python tests (pytest)

Development

make dev        # Setup: venv, dependencies, pre-commit hooks
make check      # Run all tests and linting (auto-fix formatting)
make check-ci   # Strict checks without auto-fix (for CI)
make test       # Python tests
make cpp-test   # C++ tests only
make cov        # Combined coverage report (C++ + Python)

Environment Variables

Variable Effect
NGRAPH_CORE_PROFILE=1 Enable profiling of C++ hot paths (profiling_dump() / profiling_reset()).
NGRAPH_CORE_BATCH_THREADS Worker threads for batch_max_flow (default: hardware concurrency). Set to 1 when calling from your own worker pool.
NGRAPH_CORE_SENSITIVITY_THREADS Worker threads for sensitivity_analysis (default: hardware concurrency).

Requirements

  • C++: C++20 compiler (GCC 10+, Clang 12+, MSVC 2019+)
  • Python: 3.11+
  • Build: CMake 3.23+, scikit-build-core
  • Dependencies: pybind11, NumPy

License

MIT License

Metadata

Release files for netgraph-core 0.8.0

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

Source distribution (sdist)

Source distribution for netgraph-core 0.8.0
File Size Uploaded
netgraph_core-0.8.0.tar.gz 185.8 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for netgraph-core 0.8.0
File
netgraph_core-0.8.0-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
netgraph_core-0.8.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
netgraph_core-0.8.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
netgraph_core-0.8.0-cp314-cp314t-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 free-threading macOS 10.15+ universal2 (ARM64, x86-64) Details
netgraph_core-0.8.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
netgraph_core-0.8.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
netgraph_core-0.8.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
netgraph_core-0.8.0-cp314-cp314-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) Details
netgraph_core-0.8.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
netgraph_core-0.8.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
netgraph_core-0.8.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
netgraph_core-0.8.0-cp313-cp313-macosx_10_13_universal2.whl CPython 3.13 CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) Details
netgraph_core-0.8.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
netgraph_core-0.8.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
netgraph_core-0.8.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
netgraph_core-0.8.0-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details
netgraph_core-0.8.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
netgraph_core-0.8.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
netgraph_core-0.8.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
netgraph_core-0.8.0-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details

Total release size: 9.6 MB

Release files / netgraph_core-0.8.0.tar.gz

Download URL netgraph_core-0.8.0.tar.gz
Size 185.8 kB
Tags Source
SHA-256 checksum
How to use checksums
7246ab9db2d64d8cfab814c91f7442d5d584eed10a873b8a47cf647f2cf7ed23
BLAKE2b-256 checksum
How to use checksums
cce79d7fa6cac8b6410582826fb7545181d67a255f1c225c13c5af2b74307690
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / netgraph_core-0.8.0-cp314-cp314t-win_amd64.whl

Download URL netgraph_core-0.8.0-cp314-cp314t-win_amd64.whl
Size 344.6 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
66553bbc8e205db0f40e8cb8c44d1929d9cacc2e688cd5f4c3541b6b1144640c
BLAKE2b-256 checksum
How to use checksums
00aa37eeba73fedefdd2657b963fbabd78a076bae16f89890ca5c5175aec500c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / netgraph_core-0.8.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL netgraph_core-0.8.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 486.3 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
df0372b662dbefc73471a306e1782c12b246006b9f944f02f5365f85ae52a3ad
BLAKE2b-256 checksum
How to use checksums
b0f2a85f797c96375995e0a2196215894b3ceda400dd4ceea13e5d0016a448ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / netgraph_core-0.8.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL netgraph_core-0.8.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 457.0 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
bdd2530ff1cdeb8b2af6863262de31073c08a573e3ce7bdd1136c697efd6598e
BLAKE2b-256 checksum
How to use checksums
42b7133060f8cb91f3067c2d5a42244b36ca6c77d96295a98f4a35b73f4346cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / netgraph_core-0.8.0-cp314-cp314t-macosx_10_15_universal2.whl

Download URL netgraph_core-0.8.0-cp314-cp314t-macosx_10_15_universal2.whl
Size 637.1 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
56049935d05f4471c81db85c78d0b0622cfa649f45887d1cb573076b97f098a5
BLAKE2b-256 checksum
How to use checksums
58270953c2dadf5b8374db07e61d5bf84562200252de82b5cf9b0826bd139923
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / netgraph_core-0.8.0-cp314-cp314-win_amd64.whl

Download URL netgraph_core-0.8.0-cp314-cp314-win_amd64.whl
Size 335.2 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
d9ccd756257720b215e969b02ab4ef40a15f8dd8ebaf63163122c6423786a6d3
BLAKE2b-256 checksum
How to use checksums
31d6846258d328989a15d839f8d653e0be68cc2e31838ecdfaf1e55ba1537504
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / netgraph_core-0.8.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL netgraph_core-0.8.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 485.2 kB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
33b89da259e315fa9dd3fc30763ef8659b440c0fea0d6a40d024299bc97c9288
BLAKE2b-256 checksum
How to use checksums
3435c2d14cca32ef037fff043bc98a2e7fd34cbcd693893fc5d567a7136979b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / netgraph_core-0.8.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL netgraph_core-0.8.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 458.7 kB
Tags CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
45a4286e7771d750e2fd9c9c4da4628d1ef23e4c66560b699e9bd9c2b246eb86
BLAKE2b-256 checksum
How to use checksums
177d88e87d7431d0a986a2da5e1ea6ce64c5d47d6837b2e741e89ff6541e3641
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / netgraph_core-0.8.0-cp314-cp314-macosx_10_15_universal2.whl

Download URL netgraph_core-0.8.0-cp314-cp314-macosx_10_15_universal2.whl
Size 605.3 kB
Tags CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
16463910d91511a1be3562ab3de8f459e5a3c4f592119623242ae95e0715a0a2
BLAKE2b-256 checksum
How to use checksums
4f51d330cf3e6b4a42f4c633b95e3b7de4aaea93725a9a2c7016c0da44061af5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / netgraph_core-0.8.0-cp313-cp313-win_amd64.whl

Download URL netgraph_core-0.8.0-cp313-cp313-win_amd64.whl
Size 325.3 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
f395418d6faf48797c7a1ac98d092603718714887807a12c570f22e88a8abaa4
BLAKE2b-256 checksum
How to use checksums
8342b8bcc03e727946601e39d086a3e5c0c0c73a1fa8fc99db2ba25a307a1a2e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / netgraph_core-0.8.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL netgraph_core-0.8.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 484.3 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5401f410819cf1109ad0dfe8c09b088aab762accb551b02e87ff613c42c42a4a
BLAKE2b-256 checksum
How to use checksums
3632cf4e47aba9629b37e595ff17ff5ff9662d163d28ee197fe166ee9184637d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / netgraph_core-0.8.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL netgraph_core-0.8.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 455.9 kB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
e62eb71fb501cf7be64faf1a274f244c7057ebe8c39dbbcf51aad1e2fe3af6c6
BLAKE2b-256 checksum
How to use checksums
b3cd347ef6ec2d0579c96545f00556c41e4953013d5f15ba9797c67b32ad9b28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / netgraph_core-0.8.0-cp313-cp313-macosx_10_13_universal2.whl

Download URL netgraph_core-0.8.0-cp313-cp313-macosx_10_13_universal2.whl
Size 604.1 kB
Tags CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
6814a2b3c0d6058822beab06e5ad1b88c570a3df6d5766278f8816c3b38effd2
BLAKE2b-256 checksum
How to use checksums
55fe95db26e4907a2a0db1c4f643064e6b8be4f900925506fbcaebee369b6af5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / netgraph_core-0.8.0-cp312-cp312-win_amd64.whl

Download URL netgraph_core-0.8.0-cp312-cp312-win_amd64.whl
Size 325.3 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
e624ed18d3d20e651333fc67ea117fbd319ca05d0100b8279fe4247cb3296fd1
BLAKE2b-256 checksum
How to use checksums
7a0aed4ce10a33bcbb164dd859fe5a321950616f8ce8e33692faa3b42c44b5b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / netgraph_core-0.8.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL netgraph_core-0.8.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 484.2 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
427b15aaf48c9501dcfdadd98d86c0b539cf8c22ef254a62afa96ce9be42bfd7
BLAKE2b-256 checksum
How to use checksums
a7eee97046e342d78eadf4dd70ee0c9741e1e6e65c606134f2d5ba548e6ec073
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / netgraph_core-0.8.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL netgraph_core-0.8.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 456.2 kB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
6f6e0f6e61d86325fb57a29b4451be06046e02fb540232c4dc8cc27afb5b19a5
BLAKE2b-256 checksum
How to use checksums
a376e5bddf19b168dbd0a0c3f9ed3573ef638b4c7d989dfc3e8d01b6e6aab3f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / netgraph_core-0.8.0-cp312-cp312-macosx_10_13_universal2.whl

Download URL netgraph_core-0.8.0-cp312-cp312-macosx_10_13_universal2.whl
Size 604.0 kB
Tags CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
72e4e09965f9357d2c5681f6b408f44c7d54fc0338cbae74a8aca0d94c64545a
BLAKE2b-256 checksum
How to use checksums
963e142393e06a87d520ddff780ff4b2a3beb5d7daa1a6de178ca23d26461ece
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / netgraph_core-0.8.0-cp311-cp311-win_amd64.whl

Download URL netgraph_core-0.8.0-cp311-cp311-win_amd64.whl
Size 321.6 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
ebd96cf44098a545abd5326b8e2017f9adae0df558d4a47f49fcca278cd04546
BLAKE2b-256 checksum
How to use checksums
7a24b5a8af3a76ffd92a82f5817d82bda54e783f3e32c00c453c5166785fd70c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / netgraph_core-0.8.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL netgraph_core-0.8.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 476.6 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
027774382fb480e8cafa3ebfb275d7cd385fa7c91fc29851eeb5c7f1150ecda8
BLAKE2b-256 checksum
How to use checksums
bcd5d836f3123a3df891b3534ef24c37a020340c5088f6e129d383772febddfe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / netgraph_core-0.8.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL netgraph_core-0.8.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 455.1 kB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a6931d921d58c32a6150ed78d5b5d0ee8549d50d883f98f45c73dbe6993f7174
BLAKE2b-256 checksum
How to use checksums
2b12997b467dc53fd1d876616a6c1b0265e13fab586222817861e925d4da62a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / netgraph_core-0.8.0-cp311-cp311-macosx_10_9_universal2.whl

Download URL netgraph_core-0.8.0-cp311-cp311-macosx_10_9_universal2.whl
Size 596.1 kB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
c1608498aea0a25a5d21614051b4680f53a54da294070c6edd4cd9840dba2fed
BLAKE2b-256 checksum
How to use checksums
a5cdd5c5d7a9ad1f491ff483a39d09e56acbed79817e8c8cfcc3e6d447ec1ed8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release history Release notifications | RSS feed

0.9.0

21 release files

This release

0.8.0 This release

21 release files

0.7.2

21 release files

0.7.0

16 release files

0.6.0

16 release files

0.5.0

16 release files

0.4.1

16 release files

0.4.0

11 release files

0.3.6

7 release files

0.3.4

7 release files

0.3.2

7 release files

0.3.1

7 release files

0.3.0

7 release files

0.2.0

16 release files

0.1.0

16 release files

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