Semi-lib