cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar
0 Kudos

Better integration with Python scripts and Conda environments

Hello, 

I often experiment with several packages installed in my local conda environments. I would like to be able to use them to create new columns in JMP data table to benefit from JMP's graph builder capabilities.

More concretely, I would like to create a .JSL script that:

  1. sends the current state of the JMP data table to 
  2. a python script .py or a python notebook .ipynb that is executed on
  3. a specific conda environment installed on my computer
  4. and then sends back the result of the script/notebook back to the JMP data table and updates it.

Ideally, I would like to simply have to specify the python script or notebook's path and the conda environment's path in the .JSL script.

For the time being, a blank "template" on how to achieve this with the current JMP version would also be very appreciated.

Thank you.

Best,

1 Comment
Paul_Nelson
Staff

Conda support has always been problematic.  

 

With JMP 18.0, that no longer matters.  JMP installs an isolated an embedded Python.org based Python 3.11.x distribution as part of JMP.  JMP 18 now works out of the box without configuration, but JMP no longer connects to any external Python distributions.  Think of this as a JMP private virtual environment.  

 

With this update to the Python Integration, you now have the ability to access, modify, and create JMP data tables directly from Python.  A Python aware script editor supporting syntax highlighting, and the ability to run scripts pure Python scripts straight from the editor.  A import jmp package that provides the data table access and a run_jsl() command that lets you run JSL from the Python script.  The data table access is live, and Python Send( dt ) and Python Get ( dt ) no longer create a copy of the table but rather a Python object holding a reference to the data table. The Scripting Index contains a new 'Python' category which provides documentation and samples of the new Python functionality.