LGTM
To clarify in this spec to specify a couple of requirements for the [foo] extra would you have to say
[foo] requests
[foo] sqlalchemy
Compare to requires.txt from setuptools which IIRC is a plain text file like so, with normal requirements not in a section, and extra or conditional requirements in sections named [extra_name;marker]:
unconditional
requirements==4.7
[;marker]
non-extra requirement if marker evaluates to true
[extra]
unconditional
requirements
for
extra
[extra;marker]
requirement for extra with if marker evaluates to true