mikedh / trimesh

Python library for loading and using triangular meshes.
https://trimesh.org
MIT License
3.03k stars 584 forks source link

Remove setuptools requirement #1475

Closed EpicWink closed 2 years ago

EpicWink commented 2 years ago

setuptools is listed in the (default) requirements for Trimesh, but isn't used anywhere. In the setup.py, the comment says it's for packaging, but this is not a runtime thing anyway

mikedh commented 2 years ago

setup.py has from setuptools import setup it but it's true nowhere in the actual module uses it. It seems like pip comes with setuptools installed through some means, and if you didn't have setuptools setup.py wouldn't run far enough to list dependencies anyway. So yeah agreed we could probably remove it completely.

EpicWink commented 2 years ago

When there's no pyproject.toml with a build-system.requires key, pip goes into legacy mode where setuptools (and wheel) is installed in a new environment and a Trimesh wheel is built. This separation of build and install (along with their respective requirements) is called PEP517 (and PEP518).