One question, did you read the article ?
It explains both the high level view and go into the details step by step.
Regarding the Arduino code, as written in the readme, it is located in the arduino-board folder. Because i am using Makefile to compile it, the extension is .cpp and not .ino (the file is named slave.cpp)
For the Python implementation, you can look at an example in the python repo.
Robin2:
There is a list of functions on the main link - for example read_i8(). Is that an Arduino function or a Python function, or both ?
Both. That is the all point of having a common protocol, you don't have to care about the language, same functions are provided for each implementation. Once you understand how it works for one language, it is easy to switch to another one.