The aim of this backward incompatible change is to simplify the installation of custom modules, which has been very painful to achieve with the current strategy.
The custom module or alternative version can be defined in alternative to the original module, any custom dependency will have to be defined in the dependency of the module itself using the PEP508 syntax, however, this is an advanced use case which I do not want to recommend to users, because I don't want novice people mess with the system and then come to cry for help to us when they screw it up, so I didn't add instructions on the usage of PEP508 in the README, I think we should keep the instructions simple and good enough for general cases, advanced usage like PEP508 is still possible for those who know how to do it.
The aim of this backward incompatible change is to simplify the installation of custom modules, which has been very painful to achieve with the current strategy.
The custom module or alternative version can be defined in alternative to the original module, any custom dependency will have to be defined in the dependency of the module itself using the PEP508 syntax, however, this is an advanced use case which I do not want to recommend to users, because I don't want novice people mess with the system and then come to cry for help to us when they screw it up, so I didn't add instructions on the usage of PEP508 in the README, I think we should keep the instructions simple and good enough for general cases, advanced usage like PEP508 is still possible for those who know how to do it.
Closes #193