14. Prerequisites should be mutually exclusive Proposal:
Modules should only be listed once across all prerequisite categories. E.g. a 'requires' module shouldn't be listed in 'test_requires'; a 'configure_requires' module shouldn't be listed in 'build_requires'. Instead, the spec should define which combinations of categories should be available at which stages of the install process. (Dagolden) The exception would be 'conflicts', which by its nature should be a duplicate of a module listed elsewhere in the prerequisite structure. Comments: * This would be less work for users and less prone to stupid processing errors -- like generating a list of ''all'' requirements and then subtracting 'build_requires' (Dagolden) * I think this would remove a certain amount of useful flexibility, standard light weight "META Object" modules could easily automate the production of the merged list. This feels like sacrificing on a fundamental point to make life easier when you don't have tools that haven't been written yet --Adam K