The proliferation of requirements.txt is one of the key reasons why Python packaging sucks so much.
It already exists, it's called pyproject.toml. It already existed for years in the form of setup.py. Requirements.txt means that projects can't be automatically installed which contributes massively to the difficulty of getting packages to work.