Hi, I made a module/library to write and read the flash memory of the Arduino boards in Python that have Atmel AVR8 CPUs, for example: Nano, Uno, Mega 2560.
To install you can run: pip install arduinobootloader
The documentation is on: Welcome to ArduinoBootloader’s documentation! — ArduinoBootloader 0.0.6 documentation
The project can be clones from github: https://github.com/jjsch-dev/PyArduinoFlash
There are two examples of use, one is one script that emulate arvdude and the another is a GUI interface in KivyMd