Feature/new py requires #5804
It is not possible now either, as they are evaluated much sooner than the settings or options are there. This doesn't change.
We need a syntax to access them from within the recipe, any other suggestion? It is ok about
No longer needed. The nice and clean way to have it is:
class SomeClass(object): .... class Pkg(ConanFile): ....
class Recipe(ConanFile): python_requires = "tool/..." python_requires_extend = "tool.SomeClass"
I think it reads much nicer than a wrapper method.
Sure, can be added, it shouldnt be a problem for lockfiles, I will add the test.
As said before, it is not possible to delay that far the evaluation of python_requires, specially if we want to extend the class from them, we need them much before having settings and options defined. Furthermore, it has not been requested, I'd vote to keep this one as simple as possible.
Feel free to suggest real alternatives, but please take into account that most of this effort is to reduce complexity on our side, yes, even at the expense of a not very pythonic approach. The code to inject the base class is around 4-5 lines, please try to keep the alternatives simple.
Thanks for the review!