Using the Shapiro-Wilk W test algorithm.
import msparser
sw = msparser.ms_shapiro_wilk()
sw.appendSampleValue(-0.1420)
sw.appendSampleValue(-0.1184)
sw.appendSampleValue(-0.0583)
sw.appendSampleValue(-0.0402)
sw.appendSampleValue(-0.0363)
sw.appendSampleValue(-0.0363)
sw.appendSampleValue(-0.0348)
sw.appendSampleValue(-0.0333)
sw.appendSampleValue(-0.0222)
sw.appendSampleValue(-0.0139)
sw.appendSampleValue(-0.0114)
sw.appendSampleValue(-0.0042)
sw.appendSampleValue(-0.0036)
sw.appendSampleValue(-0.0026)
sw.appendSampleValue( 0.0000)
sw.appendSampleValue( 0.0016)
sw.appendSampleValue( 0.0058)
sw.appendSampleValue( 0.0077)
sw.appendSampleValue( 0.0084)
sw.appendSampleValue( 0.0102)
sw.appendSampleValue( 0.0132)
sw.appendSampleValue( 0.0172)
sw.appendSampleValue( 0.0180)
sw.appendSampleValue( 0.0191)
sw.appendSampleValue( 0.0194)
sw.appendSampleValue( 0.0200)
sw.appendSampleValue( 0.0246)
sw.appendSampleValue( 0.0293)
sw.appendSampleValue( 0.0533)
sw.appendSampleValue( 0.0987)
sw.calculate(30,30,15)
print("Test should give W = %8.6f and P = %8.6f" % (0.892184, 0.0054))
print("Results: W = %8.6f and P = %8.6f; error code = %d" % (
sw.getResult(), sw.getPValue(), sw.getErrorCode()
))