The primary author and maintainer of six is Benjamin Peterson. He would like to
acknowledge the following people who submitted bug reports, pull requests, and
otherwise worked to improve six:

Marc Abramowitz
immerrr again
Alexander Artemenko
Aymeric Augustin
Lee Ball
Ben Bariteau
Ned Batchelder
Wouter Bolsterlee
Brett Cannon
Jason R. Coombs
Julien Danjou
Ben Darnell
Ben Davis
Jon Dufresne
Tim Graham
Thomas Grainger
Max Grender-Jones
Pierre Grimaud
Joshua Harlow
Toshiki Kataoka
Hugo van Kemenade
Anselm Kruis
Ivan Levkivskyi
Alexander Lukanin
James Mills
Jordan Moldow
Berker Peksag
Sridhar Ratnakumar
Erik Rose
Mirko Rossini
Peter Ruibal
Miroslav Shubernetskiy
Eli Schwartz
Anthony Sottile
Victor Stinner
Jonathan Vanasco
Lucas Wiman
Jingxin Zhu

If you think you belong on this list, please let me know! --Benjamin
