varying requirements per Python version and target