We need to migrate from setup.py and setuptools to pyproject.toml using hatch due to an impending issue with pip 25, which introduces stricter handling of development dependencies that could lead to installation failures and compatibility issues with our current setup. By adopting the pyproject.toml format, we align with modern Python packaging standards, provide clearer dependency management, and mitigate issues related to pip 25, ensuring a smoother development experience and better support for our project's future growth.