  In this sequence of two papers, we introduce a curvature flow on (mixed)
weighted graphs which is based on the Bakry-\'Emery calculus. The flow is
described via a time-continuous evolution through the weighting schemes. By
adapting this flow to preserve the Markovian property, its limits turn out to
be curvature sharp. Our aim is to present the flow in the most general case of
not necessarily reversible random walks allowing laziness, including vanishing
transition probabilities along some edges ("degenerate" edges). This approach
requires to extend all concepts (in particular, the Bakry-\'Emery curvature
related notions) to this general case and it leads to a distinction between the
underlying topology (a mixed combinatorial graph) and the weighting scheme
(given by transition rates). We present various results about curvature sharp
vertices and weighted graphs as well as some fundamental properties of this new
curvature flow. This paper is accompanied by a second paper discussing the
curvature flow implementation in Python for practical use. In this second paper
we present examples and exhibit further properties of the flow.
