The average simulation time using different cell sizes (indicated by total number of atoms per simulation box) is depicted in Fig. . Without Numba, the elapsed time per kMC step remains approximately constant ∼ 10 -1 s (dashed black line). Numba accelerates significantly the kMC simulation by factor of ∼2 (10 -3 s, solid black line). The speedup by Numba is weakened when the simulation cell becomes larger. Therefore, Numba can enable access to longer and larger scale simulations with kMCpy 28 . As 1 kMC pass is just the total number of available sites within the simulation cell, the run time per kMC pass grows linearly when the cell size (i.e., number of atoms) become larger. Fig. and demonstrate the effect of the coupling strength between events as well as the basis set size, which also contribute a quasi-linear increase towards the run time per kMC pass. These results show that the time complexity of the implemented kMC algorithm is O(∼ N). In summary, we presented kMCpy, a light-weight open-source python package to perform kMC simulations of ionic transport in crystalline solids, with inputs from DFT calculations. kMCpy and its implemented workflow provide a framework to the scientific community to predict transport properties of any crystalline solid with high accuracy and performance. The design of kMCpy should facilitate its use on most available computational platforms from standard laptops to high performance supercomputers. The modular framework makes it highly customizable and easily programmable. By utilizing the JIT compiler -Numba, kMCpy achieves high computational performance. Both the input and the output files of kMCpy rely on the human-readable JSON format, which is easy to distribute. Future developments of kMCpy include: i) utilizing GPU-based acceleration for better performance, ii) developing a thermodynamic (CMC/GCMC) module and a structure enumerator, and iii) adding additional models for the evaluation of E KRA that are alternative to LCE.