Newer PyYAML versions require Python 3.5. Python 3.4 is EOL for some time and even 3.5 reached EOL recently. So just switch to that as minimum version.
stcgal - STC MCU ISP flash tool
stcgal is a command line flash programming tool for STC MCU Ltd. 8051 compatible microcontrollers.
STC microcontrollers have an UART/USB based boot strap loader (BSL). It utilizes a packet-based protocol to flash the code memory and IAP memory over a serial link. This is referred to as in-system programming (ISP). The BSL is also used to configure various (fuse-like) device options. Unfortunately, this protocol is not publicly documented and STC only provide a (crude) Windows GUI application for programming.
stcgal is a full-featured Open Source replacement for STC's Windows software; it supports a wide range of MCUs, it is very portable and suitable for automation.
Features
- Support for STC 89/90/10/11/12/15/8 series
 - UART and USB BSL support
 - Display part info
 - Determine operating frequency
 - Program flash memory
 - Program IAP/EEPROM
 - Set device options
 - Read unique device ID (STC 10/11/12/15/8)
 - Trim RC oscillator frequency (STC 15/8)
 - Automatic power-cycling with DTR toggle or a custom shell command
 - Automatic UART protocol detection
 
Quickstart
Install stcgal (might need root/administrator privileges):
pip3 install stcgal
Call stcgal and show usage:
stcgal -h
Further information
License
stcgal is published under the MIT license.