There is over 30 calendar years worth, many man centuries, of development effort in JMP. The Python Integration that began with JMP 18 has come forward dramatically in the period of just two JMP major versions. The design philosophy has been to provide the user with additional tools and enhance the Python workflow, not rewrite JSL support. Everything we build in the Python environment, we want to ensure it behaves the way a Python programmer would expect. The integrated capabilities are improving with every release. Sometimes that means JSL is the best place to work, other times Python is the place.
The Python integration can be used to install addition file type support, or additional statistics that JMP has not implemented. Even GPUs can be accessed from Python using appropriate packages such as PyOpenCL or PyCuda. (And of course appropriate video card and drivers).
The current focus in 18 and 19 has been data interoperability between JMP, JSL, and Python. Efficiently getting data across the environments so that you can build upon the foundation we have provided.
In 19 we have built our support for SAS, R, Matlab and Data Connectors on top of the Python Integration. There are lots of examples in the Scripting Index showing the details of interoperating between JMP and JSL.
Suggestions are always welcome. We certainly can look at what is involved in honoring data filtering. The data table as seen by Python is the same data table as seen by JSL. JMP 19's jmp.globals[] and jmp.here[] give direct Python access to JSL variables in the globals and here namespaces.