Dear Matthew, Lukas, and Giordon,
Thank you for reaching out and considering our opinions about the future direction of pyhf. I have discussed this topic with Danny and Nikolai (cc) and we have collected our opinions here.
Overall, we believe transitioning to JAX is a positive step. We are supportive of the decision to drop the TensorFlow and PyTorch backends in favour of JAX.
However, we do have reservations about completely dropping support for the NumPy backend. While we understand the rationale behind this proposed change, as it could potentially streamline development and optimize performance, the ability to work with plain NumPy arrays has been one of the appealing aspects of pyhf, particularly for experimenting with the code. Additionally, it's worth noting that transitioning exclusively to a JAX backend may exclude existing codebases built upon pyhf that rely on the NumPy backend and may not be autodiffable.
In conclusion, while we are supportive of the proposed shift towards JAX and the benefits it offers, we advocate for maintaining support for the NumPy backend rather than entirely discontinuing it.
Thank you once again for seeking input from users and contributors.
Best regards,
Danny, Nikolai and Lorenz