What is setuptools?