There is more to a chess engine than simply its depth.
Since we cannot compute the whole game of chess at some point we need to make some evaluation as to the current value of the board. The more accurate this evaluation the better the algorithm will be.
Also it would be a waste of resources to check ever branch to the same depth. For instance say in one branch you lose your queen for free. 99% of the time this will be a dead branch, and any resources used to compute further down this branch would be wasted.
Finally most chess computers use databases for playing the opening and endgames, and the sophistication of these databases have a massive effect on the ability of the computer.
If these three factors remain constant then the only other main factor is the depth of search. However I have not looked at stockfish in python, but from my experience building chess computers move depth can be not such an effective metric. As the game goes on the move depths increase as there are less pieces to consider. Usually I scale computation time with difficulty.