Python Connect(<Echo(Boolean),> <Path(path),> <Use Python Version(string),> <Python System Path(list)>)
Description
Initializes the Python integration interfaces and returns an active Python integration interface connection as a scriptable object.
Returns
A Python scriptable object.
Optional Named Arguments
Echo(Boolean)
Global argument. Prints the Python source lines to the JMP log. The default value is true.
Path
Specifies the path to the Python DLL or shared library.
Use Python Version(string)
Specifies which version of Python should be used for JMP-to-Python processing.
Python System Path
Specifies a JSL list of paths that define a Python sys path set on macOS.
Python Control(<named arguments>)
Description
Sends control operations to signal Python with external events, such as source line echoing.
Returns
Returns 0 if the call succeeded and 1 if an error occurred.
Optional Named Arguments
Interactive(Boolean)
Enables interactive mode in the Python matplotlib package. Determines whether the graphics window is released or closed when graphics rendering is complete.
Echo(Boolean)
Global argument. Prints the Python source lines to the JMP log. The default value is true.
Python Disconnect
Description
Terminates the Python interfaces.
Python Execute({list of inputs}, {list of outputs}, Python_Code, named_arguments)
Description
Submits Python code to the active global Python integration interface connection given a list of inputs. On completion, returns a list of outputs.
Returns
Returns 0 if successful and 1otherwise.
Positional Arguments
{list of inputs}
A list of JMP variable names to be sent to Python as inputs.
{list of outputs}
A list of JMP variable names to be retrieved from Python as outputs.
Python_Code
The Python code to submit.
Named Arguments
See Python Submit(Python_Code, <named_arguments>).
Example
This example initiates the Python connection, sends a character variable, a numeric variable, and a set of matrices to Python. Python is then instructed to perform a set of matrix operations on the sent matrices. The Python Execute() function then get the set of matrices created by the matrix operations and gets the values of the character and numeric variables that was originally sent. Upon completion of the data retrieval, the Python connection is closed.
Python Init();
a = "abcdef";
d = 3.141;
v = [9 8 7, 6 5 4, 3 2 1];
m = [1 2 3, 4 5 6, 7 8 9];
ml = Python Execute(
{v, m, a, d},
{x1, x2, y1, y2, z1, z2, a, d},
"\[
import numpy as np
x1 = np.multiply(v, m) # matrix product
print('x1=', x1)
x2 = np.divide(v, m) # matrix division
print('x2=', x2)
y1 = np.dot(v, m) # dot product of v and m
print('y1=', y1)
y2 = np.dot(m, v) # dot product of m and v
print('y2=', y2)
z1 = np.inner(v, m) # inner product of v and m
print('z1=', z1)
z2 = np.inner(m, v) # inner product of m and v
print('z2=', z2)
]\"
);
Show( v, m, ml, x1, x2, y1, y2, z1, z2, a, d );
Python Term();
x1= [[ 9. 16. 21.]
[ 24. 25. 24.]
[ 21. 16. 9.]]
x2= [[ 9. 4. 2.33333333]
[ 1.5 1. 0.66666667]
[ 0.42857143 0.25 0.11111111]]
...
Python Get(name)
Description
Gets a named variable from Python to JMP.
Returns
Returns the value of the named variable.
Argument
name
The name of the Python variable to be sent to JMP. The argument can represent any of the following Python data types: numeric, quoted string, matrix, list, or data frame.
Example
Python Init(); // initiate the Python connection
qbx = "The right stuff";
// send the qbx variable and sample data table "Animals.jmp" to Python
Python Send( qbx );
dt = Open( "$SAMPLE_DATA/Animals.jmp" );
Python Send( dt );
Close( dt, nosave );
// get the Python variable qbx and place it into a JMP variable qbx
qbx = Python Get( qbx );
/* get the Python variable dt and place it into a JMP data table
referenced by df */
df = Python Get( dt );
Python Term();
Show( qbx );
df << New Data View;
Wait( 10 );
Close( df, nosave );
Python Term();
qbx = "The right stuff";
0
Python Get Graphics(format)
Description
Gets the last graphics object written to the Python graph display window in the specified graphics format. The graphics object can be returned in several different graphic formats.
Returns
Returns a JMP picture object.
Argument
format
The format that the Python graph display window contents are to be converted to. Valid formats are png, bmp, jpeg, jpg, tiff, tif, and gif.
Python Get Version
Description
Returns the version number of Python being used with the JMP Python interfaces.
Python Init(<Echo(Boolean),> <Path(path),> <Use Python Version(string),> <Python System Path({list })>
Description
Initializes the Python integration interfaces.
Returns
Returns 0 if operation is successful and 1 if not successful.
Optional Named Arguments
Echo(Boolean)
Global argument. Prints the Python source lines to the JMP log. The default value is true.
Path
Specifies the path to the Python DLL or shared library.
Use Python Version(string)
Specifies which version of Python should be used for JMP-to-Python processing.
Python System Path
Specifies a JSL list of paths that define a Python sys path set on macOS.
Python Is Connected
Description
Determines whether a Python integration interface connection is currently connected to Python.
Returns
Returns 1 if connected and 0 otherwise.
Python JMP Name to Python Name(name)
Description
Maps a JMP variable name to its corresponding Python variable name using Python variable name naming rules.
Returns
A quoted string, the mapped Python name.
Argument
name
The name of the JMP variable to be sent to Python.
Python Send(name)
Description
Sends a named variable from JMP to Python.
Returns
Returns 0 if successful.
Argument
name
The name of the JMP variable to be sent to Python.
Python Send File(filename, <, Python Name(name)>)
Description
Sends a data file to Python. The filename argument is a quoted string that specifies a pathname to the file to be sent to Python.
Python Submit(Python_Code, <named_arguments>)
Description
Submits Python code to the active global Python integration interface connection.
Returns
Returns 0 if successful and non-zero otherwise.
Named Arguments
Python_Code
The Python code to submit. Statements can be a quoted string value or a list of string values.
Expand(Boolean)
(Optional) Performs an Eval Insert() on the Python code before submission.
Echo(Boolean)
(Optional) Prints the Python source lines to the JMP log.
Example
Python Init(); // initiate the Python connection
commands =
"
friends = ['john', 'pat', 'gary', 'michael']
print(friends)
for i, name in enumerate(friends):
print( \!"iteration {iteration} is {name}\!".format(iteration=i, name=name))
";
Python Submit( commands );
Python Term();
['john', 'pat', 'gary', 'michael']
iteration 0 is john
iteration 1 is pat
iteration 2 is gary
iteration 3 is michael
0
Python Submit File(path)
Description
Submits statements to Python using the file specified in the path name.
Argument
path
The path to the file that contains the Python source lines to be executed.
Python Term
Description
Terminates the currently active Python integration interface.
Returns
Returns 0 if successful and 1 otherwise.