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 aPredDAGis accepted.
-
Max-Flow:
- Algorithm: Iterative augmentation using Successive Shortest Path on residual graphs, pushing flow across full ECMP/WCMP DAGs at each step. For
Proportionalplacement withrequire_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.
- Algorithm: Iterative augmentation using Successive Shortest Path on residual graphs, pushing flow across full ECMP/WCMP DAGs at each step. For
-
Analysis:
- Sensitivity Analysis: Identifies critical edges by removing each saturated edge and measuring how much total flow is lost. Supports
shortest_pathmode 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.
- Sensitivity Analysis: Identifies critical edges by removing each saturated edge and measuring how much total flow is lost. Supports
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:
FlowStateandFlowGraph*_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_pathsholds the GIL.batch_max_flowandsensitivity_analysisalso use internal worker threads, sized byNGRAPH_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)
dev/ # Developer scripts (not shipped): checks, coverage,
dev/perf/ # performance tooling and recorded A/B/A results,
dev/research/ # research prototypes and their evidence
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)
Performance work (harnesses, old/new/old protocol, recorded measurements) is described in dev/perf/README.md.
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). |
NGRAPH_CORE_SPF_QUEUE |
Frontier queue for SPF: heap forces the reference binary heap, bucket prefers the bucket queue where the graph is eligible. Unset (default) selects automatically; both give bit-identical results. Read once per process; for benchmarking and diagnosis. |
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
Metadata
Release files for netgraph-core 0.11.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| netgraph_core-0.11.0.tar.gz | 214.5 kB | Details |
Built distributions (wheels)
Total release size: 10.6 MB
Release files / netgraph_core-0.11.0.tar.gz
| Download URL | netgraph_core-0.11.0.tar.gz |
|---|---|
| Size | 214.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
32d28968c17fbf269e2742eb3295a50b5edd877602f49d1d9526c844ad7582c3
|
|
BLAKE2b-256 checksum How to use checksums |
631f668f09f13ca07e6ee6548e90c2d8978eba96da8ca895c95ff6b9b82fe846
|
| 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 Oct 2, 2026.
Transparency logRelease files / netgraph_core-0.11.0-cp314-cp314t-win_amd64.whl
| Download URL | netgraph_core-0.11.0-cp314-cp314t-win_amd64.whl |
|---|---|
| Size | 368.5 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b23d681fbf0d73c90a1713234f7f49d59f04746f697e3fb87793756a4a69d712
|
|
BLAKE2b-256 checksum How to use checksums |
f0fb1c9c2d7668287058c6ecd81037648918f05b09721df8ebe1b3f89443a25b
|
| 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 Oct 2, 2026.
Transparency logRelease files / netgraph_core-0.11.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | netgraph_core-0.11.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 546.5 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 |
7585b8bc2c52d7372f2fd3a56416fef7789e0541f8ec508c245d55ff371d526c
|
|
BLAKE2b-256 checksum How to use checksums |
adaa5de027132683220e7f5ee23d59b8afe65da6694a07fce56bb0e5599d5b93
|
| 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 Oct 2, 2026.
Transparency logRelease files / netgraph_core-0.11.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | netgraph_core-0.11.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 513.7 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 |
c7aeb92a1ebcb9c21600ace80f8ec8a89a8c066c054b5480ce1dd3e9133c0371
|
|
BLAKE2b-256 checksum How to use checksums |
dcb2a09aa270a91a5d7b9d09524772522596a5ddaffe06ec02404dbca73d82f9
|
| 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 Oct 2, 2026.
Transparency logRelease files / netgraph_core-0.11.0-cp314-cp314t-macosx_10_15_universal2.whl
| Download URL | netgraph_core-0.11.0-cp314-cp314t-macosx_10_15_universal2.whl |
|---|---|
| Size | 690.8 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 10.15+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
1d586e50f87399909135a408d5e9a1b483212348fa85f1b266e8717a2a5c1366
|
|
BLAKE2b-256 checksum How to use checksums |
b4db1fd5deef4d05ba53e645988279adff93ecd93c752fd71d7f2078353e3366
|
| 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 Oct 2, 2026.
Transparency logRelease files / netgraph_core-0.11.0-cp314-cp314-win_amd64.whl
| Download URL | netgraph_core-0.11.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 359.7 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c7fa09eee65058dad12bd3def1345c61fa7d7e1cd69edb6356bed86f7e374811
|
|
BLAKE2b-256 checksum How to use checksums |
cc335bfbd67f243670ee35687da11f059a9f70f8739600ce207b5df2a3a65cd9
|
| 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 Oct 2, 2026.
Transparency logRelease files / netgraph_core-0.11.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | netgraph_core-0.11.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 548.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 |
2811032f2f6d07659a68a5c9fe544ee83786c812d37504fd8d87462ac8597cc8
|
|
BLAKE2b-256 checksum How to use checksums |
dcaf78d891951dfffc572c5d358de09656665186574c04e248fec09abc1bf82d
|
| 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 Oct 2, 2026.
Transparency logRelease files / netgraph_core-0.11.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | netgraph_core-0.11.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 517.4 kB |
| Tags | CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
2aabbfed79d19248320e1625ab402dc1a1e5c3e03abcdca44363393260318fc1
|
|
BLAKE2b-256 checksum How to use checksums |
02551090a21a21c8601f4fc873e2405fdfc6631db520c00a52293b6dbb8bd023
|
| 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 Oct 2, 2026.
Transparency logRelease files / netgraph_core-0.11.0-cp314-cp314-macosx_10_15_universal2.whl
| Download URL | netgraph_core-0.11.0-cp314-cp314-macosx_10_15_universal2.whl |
|---|---|
| Size | 659.1 kB |
| Tags | CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
4d502187baaa7dfa2e01cf20424ecfa23c9431280ca640d94c365772b2e56b54
|
|
BLAKE2b-256 checksum How to use checksums |
4c2248960c814540922313a2cd1d742f40cd496374f129249a63e39219c419e0
|
| 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 Oct 2, 2026.
Transparency logRelease files / netgraph_core-0.11.0-cp313-cp313-win_amd64.whl
| Download URL | netgraph_core-0.11.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 349.1 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
2bbf667d3ff8bc3009e42c47edd3b746e2801f5c131afd615bf307d5aa67fa23
|
|
BLAKE2b-256 checksum How to use checksums |
84b9200d09fdc75a3c3e8d36a8642362b5040129a526b5af75ce81db230e029d
|
| 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 Oct 2, 2026.
Transparency logRelease files / netgraph_core-0.11.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | netgraph_core-0.11.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 547.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 |
12683cb58f47827bcb55b01228c26c0f14990ae72903250db9df9ca02efa6ec0
|
|
BLAKE2b-256 checksum How to use checksums |
d1d17c13a53cecc06e35423b27a8a5317f6261d4ffb02af01bbbc7fd2dd641ca
|
| 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 Oct 2, 2026.
Transparency logRelease files / netgraph_core-0.11.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | netgraph_core-0.11.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 514.9 kB |
| Tags | CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
10180a59cd680f76a71d4f6c01da2b6305fe496ec32c4f3298c3aabdf264b70e
|
|
BLAKE2b-256 checksum How to use checksums |
a4211ca3ddc111bfe2181a68657d758eccbb5c82fa3f382f3a0b8dba57b6d0cf
|
| 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 Oct 2, 2026.
Transparency logRelease files / netgraph_core-0.11.0-cp313-cp313-macosx_10_13_universal2.whl
| Download URL | netgraph_core-0.11.0-cp313-cp313-macosx_10_13_universal2.whl |
|---|---|
| Size | 657.9 kB |
| Tags | CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
2e34ab82b6e5f85bcd6a9bca251ac985002cdcbe319c8e93bfe7bd7650a3a075
|
|
BLAKE2b-256 checksum How to use checksums |
c6264355aa6889cc46da23c7d31cdf7ef2c0ee56450c3ec97f01a5fd5f271417
|
| 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 Oct 2, 2026.
Transparency logRelease files / netgraph_core-0.11.0-cp312-cp312-win_amd64.whl
| Download URL | netgraph_core-0.11.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 349.0 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b69d303293b67ca812020f172d63efed8bf40ef223d0999f1063b967cd203ae9
|
|
BLAKE2b-256 checksum How to use checksums |
28fac73a516846c6d032d2ab0f2ee8af1853dd54f179d71152d16d9422489a0e
|
| 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 Oct 2, 2026.
Transparency logRelease files / netgraph_core-0.11.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | netgraph_core-0.11.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 547.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 |
a052813dacfa10660ce4893f23330698cb868ae8582f1b4f80bcb117201144bf
|
|
BLAKE2b-256 checksum How to use checksums |
55a2d133bff665ba10ad57b11a8d96dbcdfb90240e788539a0cb65bbcecdc170
|
| 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 Oct 2, 2026.
Transparency logRelease files / netgraph_core-0.11.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | netgraph_core-0.11.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 515.0 kB |
| Tags | CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
197f5d76d839e818b7ec6dcf95334c73e325814b4be7300a93dc6a27938339b4
|
|
BLAKE2b-256 checksum How to use checksums |
3acb222d11e87d3f026df601b96e2bae51d9a00aca33c2f93aa5b7a90cc9404a
|
| 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 Oct 2, 2026.
Transparency logRelease files / netgraph_core-0.11.0-cp312-cp312-macosx_10_13_universal2.whl
| Download URL | netgraph_core-0.11.0-cp312-cp312-macosx_10_13_universal2.whl |
|---|---|
| Size | 657.9 kB |
| Tags | CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
d42e46cf503e237b514b997602c2d5f7319b903831983f88005c1d1c0b851f7a
|
|
BLAKE2b-256 checksum How to use checksums |
a6075fac5e66c56c9409c2e76c8227bd56e0db7d885e9fa47ba284aaea5fd346
|
| 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 Oct 2, 2026.
Transparency logRelease files / netgraph_core-0.11.0-cp311-cp311-win_amd64.whl
| Download URL | netgraph_core-0.11.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 344.7 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b19b0a2dd9797baaf21a05a81f934df04ef81896d0b8218c2ee109716a79de91
|
|
BLAKE2b-256 checksum How to use checksums |
90a89ca79d5f245fb57c1bcb7a0828d22453e217ba88e10ebc48cf576f57d288
|
| 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 Oct 2, 2026.
Transparency logRelease files / netgraph_core-0.11.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | netgraph_core-0.11.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 537.3 kB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
ee3c7fb3961ac553bb6065ad4bb0f5a1886100df4cde13cb9aff4ee077054869
|
|
BLAKE2b-256 checksum How to use checksums |
53973491956c58662dfcf6218ccd298e4070c85ec315a1914e31b219261eb34f
|
| 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 Oct 2, 2026.
Transparency logRelease files / netgraph_core-0.11.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | netgraph_core-0.11.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 510.1 kB |
| Tags | CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
f326e3dabedcd57d0e71956e354530912aff021407b46e77cc680c82aa6ef45a
|
|
BLAKE2b-256 checksum How to use checksums |
b2ccc73f213502cfa41cafe451e016253f8405f18c917fb6c5d9422a1f7435b8
|
| 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 Oct 2, 2026.
Transparency logRelease files / netgraph_core-0.11.0-cp311-cp311-macosx_10_9_universal2.whl
| Download URL | netgraph_core-0.11.0-cp311-cp311-macosx_10_9_universal2.whl |
|---|---|
| Size | 649.8 kB |
| Tags | CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
3d32709e6d8b254213141c0acda1c9f4194ea9527a849a31afbac932ecbb84bb
|
|
BLAKE2b-256 checksum How to use checksums |
64c6e6bd22e969169f3c24799c737de1f2be8eea8544bdf895ebd01eadb5e988
|
| 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 Oct 2, 2026.
Transparency log