Flexibility?
Flexibility?
Adding custom programming logic into the requirements' file isn't really an issue, when setup.py could already grab a C compiler and start binding in system libraries into its package.
And unless you're using a homoiconic format, code is not (easily) parsable as data.
1. The executable format is used to create and output a .lock file, which is JSON and is the thing actually used to reproduce the environment (i.e., the .lock file is what you'd use when deploying the full environment).
2. TOML and other formats are being considered; right now something that parses to a Python AST is used for convenience to work out the API.
Of course, nobody commenting in this thread actually read any of that, so it's just people reiterating "I can't believe they didn't consider this thing they considered!"