SupplyNetPy: An Open-Source Python Library for High-Fidelity Modeling and Simulation of Arbitrary Supply Chain and Inventory Networks
06:00 · July 14, 2026 · arXiv cs.AI RSS

This paper introduces SupplyNetPy, an open-source, well-documented Python library for modeling and discrete-event simulation of supply chain networks with arbitrary multi-echelon structures. It supports multiple replenishment policies, perishable inventory, node disruptions, and stochastic demand and lead times. All components are extensible via inheritance. Users describe a supply chain as a graph with node and link attributes, while the library handles simulation, providing logs and extensive node and network level performance reports. This paper presents the motivation, design, key features, and architecture of SupplyNetPy, along with detailed validation results (against analytical benchmarks, a commercial tool, and a published case study). A key motivation behind SupplyNetPy's development is programmatic generation and simulation of complex models, enabling design-space exploration, what-if analysis, training data generation, and supply chain digital twins.
Summary
SupplyNetPy is an open-source Python library for discrete-event simulation of supply chain networks that can take arbitrary multi-echelon topologies. Users represent a network as a graph whose nodes carry attributes such as inventory capacity, replenishment policy, reorder levels, disruption distributions and shelf-life parameters, while links specify transportation costs and stochastic lead times. The library, built on SimPy, executes the simulation, records event logs and automatically produces node- and network-level statistics covering inventory trajectories, shortages, waste, costs and service levels.
Beyond standard inventory policies, the package supports perishable stock tracked on a per-unit FIFO basis, node failures for resilience studies and fully stochastic demand and replenishment processes. Every component is implemented as an extensible Python class, so new policies, supplier-selection heuristics or transport models can be introduced by subclassing without altering the core code. The same graph representation also enables fully programmatic generation of thousands of distinct network instances, a capability intended to support large-scale design-space exploration, what-if experiments and the automated creation of training corpora for graph-structured machine-learning models such as Graph Neural Networks.
Validation has been performed against closed-form analytical results, deterministic unit tests run in the commercial tool AnyLogistix and published outcomes from an existing case study. The authors position SupplyNetPy as a documented, actively maintained alternative to both general-purpose simulators that require users to rebuild supply-chain logic from scratch and existing open-source packages that are limited to single-echelon structures or lack discrete-event semantics.
Why it matters
This library is highly relevant for Dutch AI researchers and practitioners, given the Netherlands' status as a premier European logistics hub. It provides an accessible, Python-native tool to generate synthetic training data for AI models and build supply chain digital twins, directly supporting AI innovation in the logistics sector.



