To clarify, "_ElementStringResult" and "_ElementStringResult" are both private classes (as is basically everything that is underscore-prefixed in lxml's API). The first has become unused by the changes in lxml 5.1.0, could never reasonably be used outside of lxml, and was now removed. This is a simple cleanup, not a change that breaks the public API or its usage.
The library basically has two options: stick with lxml 5.0.x if they want to depend on the class (it's up to them to do that, and it might be a viable choice for you as well for the time being), or remove their usage of the non-public class.
I'm closing this as "won't fix" because this class will be removed either way, even if it was temporarily added back as a dummy name. It's really not something that users should ever touch.
To clarify, "_ElementString Result" and "_ElementString Result" are both private classes (as is basically everything that is underscore-prefixed in lxml's API). The first has become unused by the changes in lxml 5.1.0, could never reasonably be used outside of lxml, and was now removed. This is a simple cleanup, not a change that breaks the public API or its usage.
The library basically has two options: stick with lxml 5.0.x if they want to depend on the class (it's up to them to do that, and it might be a viable choice for you as well for the time being), or remove their usage of the non-public class.
I'm closing this as "won't fix" because this class will be removed either way, even if it was temporarily added back as a dummy name. It's really not something that users should ever touch.