<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>rss.livelink.thread@place:occasion</title>
    <link>https://community.jmp.com/t5/Learn-JMP-Events/Developer-Tutorial-New-Python-Integration-and-Scripting/ec-p/810150#M524</link>
    <description>&lt;DIV class="lia-quilt-row lia-quilt-row-header"&gt;
&lt;DIV class="lia-quilt-column lia-quilt-column-16 lia-quilt-column-left lia-quilt-column-header-left"&gt;
&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-left"&gt;
&lt;DIV class="lia-message-author-avatar lia-component-author-avatar lia-component-message-view-widget-author-avatar"&gt;
&lt;DIV class="UserAvatar lia-user-avatar lia-component-common-widget-user-avatar"&gt;From&amp;nbsp;&lt;A id="link_26" class="lia-link-navigation lia-page-link lia-user-name-link" style="font-family: inherit; background-color: #ffffff;" href="https://community.jmp.com/t5/user/viewprofilepage/user-id/26800" target="_self" aria-label="View Profile of hogi"&gt;&lt;SPAN class="login-bold"&gt;hogi&lt;/SPAN&gt;&lt;/A&gt;&amp;nbsp;on&amp;nbsp;&lt;SPAN class="local-date"&gt;‎03-22-2024&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="local-time"&gt;06:55 PM&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="lia-quilt-row lia-quilt-row-main"&gt;
&lt;DIV class="lia-quilt-column lia-quilt-column-24 lia-quilt-column-single lia-quilt-column-main"&gt;
&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-single"&gt;
&lt;DIV class="lia-message-body-wrapper lia-component-message-view-widget-body"&gt;
&lt;DIV id="bodyDisplay_1" class="lia-message-body"&gt;
&lt;DIV class="lia-message-body-content"&gt;
&lt;BLOCKQUOTE&gt;&lt;A href="https://community.jmp.com/t5/user/viewprofilepage/user-id/2313" target="_blank" rel="noopener"&gt;@gail_massari&lt;/A&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Q: If I want to access a JMP data table from jupyter notebook in a different Python environment, would the 'import ‘JMP' instruction still work?&lt;/P&gt;
&lt;P&gt;A: No.&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;How about "same Python environment" - is it possible to link python IDEs like Spyder or Visual Studio Code Editors&amp;nbsp; to the JMP Python installation?&lt;/P&gt;
&lt;P&gt;To have all the Python programming functionality of the IDEs + the possibility to&lt;/P&gt;
&lt;PRE&gt;import 'JMP'&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
    <pubDate>Fri, 08 Nov 2024 16:20:11 GMT</pubDate>
    <dc:creator>gail_massari</dc:creator>
    <dc:date>2024-11-08T16:20:11Z</dc:date>
    <item>
      <title>Developer Tutorial:  New Python Integration and Scripting Capabilities in JMP 18</title>
      <link>https://community.jmp.com/t5/Learn-JMP-Events/Developer-Tutorial-New-Python-Integration-and-Scripting/ec-p/810055#M498</link>
      <description>&lt;P&gt;This video includes Q&amp;amp;A from attendees who attended the live webinar on March 21, 2024. at time 25:36- 50:39 and 01:00:21&amp;nbsp; A summary of some of the Q&amp;amp;A is provided below.&amp;nbsp; For a full answer, consider reviewing the Q&amp;amp;A in the video.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;DIV class="lia-vid-container video-embed-center"&gt;&lt;DIV id="lia-vid-6349495464112w960h540r571" class="lia-video-brightcove-player-container"&gt;&lt;VIDEO-JS data-video-id="6349495464112" data-account="6058004218001" data-player="default" data-embed="default" class="vjs-fluid" controls="" data-application-id="" style="width: 100%; height: 100%;"&gt;&lt;/VIDEO-JS&gt;&lt;/DIV&gt;&lt;SCRIPT src="https://players.brightcove.net/6058004218001/default_default/index.min.js"&gt;&lt;/SCRIPT&gt;&lt;A class="video-embed-link" href="https://community.jmp.com/t5/video/gallerypage/video-id/6349495464112" target="_blank"&gt;(view in My Videos)&lt;/A&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Q: Can you send me what the GAPs are from JMP 16 to 18.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A: See the &lt;A href="https://community.jmp.com/t5/JMP-Knowledge-Base/JMP-New-Features-and-Release-Notes/ta-p/575202" target="_blank"&gt;full release notes&lt;/A&gt; and &lt;A href="https://community.jmp.com/t5/Support-Library/JMP-Software-Maintenance-Updates/ta-p/719442" target="_blank"&gt;version update notes&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Q: If python 3.11 is the default version, what about using libraries that rely on older versions of python?&amp;nbsp; Will there be some level of backwards compatibility with no guarantee of script running?&lt;/P&gt;
&lt;P&gt;A: It will depend on what you can get from package repositories for 3.11.&amp;nbsp; If they work across versions. ,they may not run&amp;nbsp; or you may get message ‘package not found.’&amp;nbsp; Some packages require compilation and you must compile in a development environment on your system and in a few cases you have to install a standard 3.11 installation.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Q: I want to ensure that this is doesn't require Anaconda/Miniconda/Conda due to the cost and license requirement of these platforms.&lt;/P&gt;
&lt;P&gt;A: These are NOT required.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Q: Can package installation be redirect to a controlled repository?&amp;nbsp; We cannot install directly from pypi.org without auditing them first.&amp;nbsp; I wasn't clear from your description if we could, for instance, create a venv, do package installation and then run that script in JMP's script editor.&lt;/P&gt;
&lt;P&gt;A: No, we do not support venv and our environment is very close to that.&amp;nbsp; Most redirected packages require carefully changing vars in the jpip wrapper.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Q: Is possible to read the Python JMP environment and know how many packages you have installed?&amp;nbsp; as a user would like to keep track of packages version.&lt;/P&gt;
&lt;P&gt;A: pip will give you the list of packages installed.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Q: Is there any tab level dependency to the python code in this environment?&lt;/P&gt;
&lt;P&gt;A: The editor follows Python conventions.&amp;nbsp; Reformat is not enabled.&amp;nbsp; We will look at this for future release.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Q: Can I bundle python packages for my enterprise installation of JMP so my end user does not need to install libraries? For example, if I wanted to do a Python statistical analysis currently not in JMP (like Paul showed) can I publish that analysis report to JMP Live for my org to view and interact with.&lt;/P&gt;
&lt;P&gt;A: If you can get your output into a JMP report you can publish it.&amp;nbsp; At present JMP Live does not support Python scripts running on the server but there are some security concerns that require more research to assure we don't compromise security.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Q: Does this mean JMP can't use other versions of Python? On the whole, if that's the tradeoff to having all the environment stuff handled so nicely, I think it's probably great, but just wondering.&lt;/P&gt;
&lt;P&gt;A: Yes, you can use Python in JMP and then save to your external process and operate on the saved file. Python.org supports a Python version for only 5 years, so we chose this version to try to give us a full JMP 18-month cycle for users to use this.&amp;nbsp; We will switch to later versions later to give users a full 5 years if possible. To clarify:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;JMP 18 will only utilize the installed embedded Python 3.11. &amp;nbsp;Python Init() and Python Connect() parameters for selecting a Python installation have all been deprecated and the parameters ignored.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;JMP 18's Python is an isolated environment so it will not (&lt;EM&gt;should not)&amp;nbsp;&lt;/EM&gt;conflict with other Python installations on your system. &amp;nbsp;There is nothing that prevents you from utilizing your&amp;nbsp;&lt;/SPAN&gt;existing Python pipeline. &amp;nbsp;You can use JMP's Python to get data to and from JMP to hand off to your existing pipeline.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Q: Today as user i create Add-ins in JSL. Can i with JMP 18 &amp;nbsp;create add-ins that combine JSL and Python as I see best fit?&lt;/P&gt;
&lt;P&gt;A: Yes ,with the caveat that the add-in builder does not recognize Python files yet but you can edit the zip file and you can add the python file and JMP can run it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Q: If I want to access a JMP data table from jupyter notebook in a different Python environment, would the 'import ‘JMP' instruction still work?&lt;/P&gt;
&lt;P&gt;A: No.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Resources&lt;/P&gt;
&lt;SECTION class="content"&gt;
&lt;DIV class="main"&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://community.jmp.com/t5/Abstracts/Peaks-Pipes-Presets-Profiles-and-Python-in-JMP-18/ev-p/708889" target="_self"&gt;Peaks, Pipes, Presets, Profiles, and Python in JMP® 18&lt;/A&gt; Plenary from European JMP Discovery Summit.&amp;nbsp; Paul's Python presentations starts at Time 40:31&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://community.jmp.com/t5/JMPer-Cable/JMP-18-Going-beyond-simply-satisficing-Pythonistas/ba-p/724805" target="_self"&gt;Going Beyond Simply Satisficing Pythonistas&lt;/A&gt; blog that includes interview with Paul Nelson&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/SECTION&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 07 Nov 2024 22:42:28 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Learn-JMP-Events/Developer-Tutorial-New-Python-Integration-and-Scripting/ec-p/810055#M498</guid>
      <dc:creator>gail_massari</dc:creator>
      <dc:date>2024-11-07T22:42:28Z</dc:date>
    </item>
    <item>
      <title>Re: Developer Tutorial:  New Python Integration and Scripting Capabilities in JMP 18</title>
      <link>https://community.jmp.com/t5/Learn-JMP-Events/Developer-Tutorial-New-Python-Integration-and-Scripting/ec-p/810148#M523</link>
      <description>&lt;P&gt;From&amp;nbsp;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/7172"&gt;@Paul_Nelson&lt;/a&gt;&amp;nbsp; on&amp;nbsp;&lt;SPAN class="local-date"&gt;‎03-22-2024&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="local-time"&gt;04:03 PM&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;I want to clarify the response to the question:&lt;/P&gt;
&lt;P&gt;Q:&amp;nbsp;&lt;SPAN&gt;Does this mean JMP can't use other versions of Python?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;JMP 18 will only utilize the installed embedded Python 3.11. &amp;nbsp;Python Init() and Python Connect() parameters for selecting a Python installation have all been deprecated and the parameters ignored.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;JMP 18's Python is an isolated environment so it will not (&lt;EM&gt;should not)&amp;nbsp;&lt;/EM&gt;conflict with other Python installations on your system. &amp;nbsp;There is nothing that prevents you from utilizing your&amp;nbsp;&lt;/SPAN&gt;existing Python pipeline. &amp;nbsp;You can use JMP's Python to get data to and from JMP to hand off to your existing pipeline.&lt;/P&gt;</description>
      <pubDate>Fri, 08 Nov 2024 16:17:21 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Learn-JMP-Events/Developer-Tutorial-New-Python-Integration-and-Scripting/ec-p/810148#M523</guid>
      <dc:creator>gail_massari</dc:creator>
      <dc:date>2024-11-08T16:17:21Z</dc:date>
    </item>
    <item>
      <title>Re: Developer Tutorial:  New Python Integration and Scripting Capabilities in JMP 18</title>
      <link>https://community.jmp.com/t5/Learn-JMP-Events/Developer-Tutorial-New-Python-Integration-and-Scripting/ec-p/810150#M524</link>
      <description>&lt;DIV class="lia-quilt-row lia-quilt-row-header"&gt;
&lt;DIV class="lia-quilt-column lia-quilt-column-16 lia-quilt-column-left lia-quilt-column-header-left"&gt;
&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-left"&gt;
&lt;DIV class="lia-message-author-avatar lia-component-author-avatar lia-component-message-view-widget-author-avatar"&gt;
&lt;DIV class="UserAvatar lia-user-avatar lia-component-common-widget-user-avatar"&gt;From&amp;nbsp;&lt;A id="link_26" class="lia-link-navigation lia-page-link lia-user-name-link" style="font-family: inherit; background-color: #ffffff;" href="https://community.jmp.com/t5/user/viewprofilepage/user-id/26800" target="_self" aria-label="View Profile of hogi"&gt;&lt;SPAN class="login-bold"&gt;hogi&lt;/SPAN&gt;&lt;/A&gt;&amp;nbsp;on&amp;nbsp;&lt;SPAN class="local-date"&gt;‎03-22-2024&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="local-time"&gt;06:55 PM&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="lia-quilt-row lia-quilt-row-main"&gt;
&lt;DIV class="lia-quilt-column lia-quilt-column-24 lia-quilt-column-single lia-quilt-column-main"&gt;
&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-single"&gt;
&lt;DIV class="lia-message-body-wrapper lia-component-message-view-widget-body"&gt;
&lt;DIV id="bodyDisplay_1" class="lia-message-body"&gt;
&lt;DIV class="lia-message-body-content"&gt;
&lt;BLOCKQUOTE&gt;&lt;A href="https://community.jmp.com/t5/user/viewprofilepage/user-id/2313" target="_blank" rel="noopener"&gt;@gail_massari&lt;/A&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Q: If I want to access a JMP data table from jupyter notebook in a different Python environment, would the 'import ‘JMP' instruction still work?&lt;/P&gt;
&lt;P&gt;A: No.&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;How about "same Python environment" - is it possible to link python IDEs like Spyder or Visual Studio Code Editors&amp;nbsp; to the JMP Python installation?&lt;/P&gt;
&lt;P&gt;To have all the Python programming functionality of the IDEs + the possibility to&lt;/P&gt;
&lt;PRE&gt;import 'JMP'&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Fri, 08 Nov 2024 16:20:11 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Learn-JMP-Events/Developer-Tutorial-New-Python-Integration-and-Scripting/ec-p/810150#M524</guid>
      <dc:creator>gail_massari</dc:creator>
      <dc:date>2024-11-08T16:20:11Z</dc:date>
    </item>
    <item>
      <title>Re: Developer Tutorial:  New Python Integration and Scripting Capabilities in JMP 18</title>
      <link>https://community.jmp.com/t5/Learn-JMP-Events/Developer-Tutorial-New-Python-Integration-and-Scripting/ec-p/810152#M525</link>
      <description>&lt;DIV class="lia-quilt-row lia-quilt-row-header"&gt;
&lt;DIV class="lia-quilt-column lia-quilt-column-16 lia-quilt-column-left lia-quilt-column-header-left"&gt;
&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-left"&gt;
&lt;DIV class="lia-message-author-avatar lia-component-author-avatar lia-component-message-view-widget-author-avatar"&gt;
&lt;DIV class="UserAvatar lia-user-avatar lia-component-common-widget-user-avatar"&gt;From&amp;nbsp;&lt;A id="link_27" class="lia-link-navigation lia-page-link lia-user-name-link" style="font-family: inherit; background-color: #ffffff;" href="https://community.jmp.com/t5/user/viewprofilepage/user-id/7172" target="_self" aria-label="View Profile of Paul_Nelson"&gt;&lt;SPAN class="login-bold"&gt;Paul_Nelson&amp;nbsp;&lt;/SPAN&gt;&lt;/A&gt;&amp;nbsp;on&amp;nbsp;&lt;SPAN class="local-date"&gt;‎03-25-2024&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="local-time"&gt;01:04 PM&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="lia-quilt-row lia-quilt-row-main"&gt;
&lt;DIV class="lia-quilt-column lia-quilt-column-24 lia-quilt-column-single lia-quilt-column-main"&gt;
&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-single"&gt;
&lt;DIV class="lia-message-body-wrapper lia-component-message-view-widget-body"&gt;
&lt;DIV id="bodyDisplay_2" class="lia-message-body"&gt;
&lt;DIV class="lia-message-body-content"&gt;
&lt;P&gt;The&lt;EM&gt;&amp;nbsp;&lt;STRONG&gt;import jmp&lt;/STRONG&gt;&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;statement will only function from within JMP itself. &amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It is not implemented as a shared library or Python script, the bridge from Python to JMP functionality is C++ code internal to the JMP executable itself.&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Fri, 08 Nov 2024 16:20:39 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Learn-JMP-Events/Developer-Tutorial-New-Python-Integration-and-Scripting/ec-p/810152#M525</guid>
      <dc:creator>gail_massari</dc:creator>
      <dc:date>2024-11-08T16:20:39Z</dc:date>
    </item>
    <item>
      <title>Re: Developer Tutorial:  New Python Integration and Scripting Capabilities in JMP 18</title>
      <link>https://community.jmp.com/t5/Learn-JMP-Events/Developer-Tutorial-New-Python-Integration-and-Scripting/ec-p/810154#M526</link>
      <description>&lt;DIV class="lia-quilt-row lia-quilt-row-header"&gt;
&lt;DIV class="lia-quilt-column lia-quilt-column-16 lia-quilt-column-left lia-quilt-column-header-left"&gt;
&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-left"&gt;
&lt;DIV class="lia-message-author-avatar lia-component-author-avatar lia-component-message-view-widget-author-avatar"&gt;
&lt;DIV class="UserAvatar lia-user-avatar lia-component-common-widget-user-avatar"&gt;From&amp;nbsp;&lt;A id="link_28" class="lia-link-navigation lia-page-link lia-user-name-link" style="font-family: inherit; background-color: #ffffff;" href="https://community.jmp.com/t5/user/viewprofilepage/user-id/26800" target="_self" aria-label="View Profile of hogi"&gt;&lt;SPAN class="login-bold"&gt;hogi on&amp;nbsp;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN class="local-date"&gt;‎03-25-2024&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="local-time"&gt;04:31 PM&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="lia-quilt-row lia-quilt-row-main"&gt;
&lt;DIV class="lia-quilt-column lia-quilt-column-24 lia-quilt-column-single lia-quilt-column-main"&gt;
&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-single"&gt;
&lt;DIV class="lia-message-body-wrapper lia-component-message-view-widget-body"&gt;
&lt;DIV id="bodyDisplay_3" class="lia-message-body"&gt;
&lt;DIV class="lia-message-body-content"&gt;
&lt;P&gt;When sending tables with images to Python, is it possible to access the images from within Python?&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Fri, 08 Nov 2024 16:21:01 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Learn-JMP-Events/Developer-Tutorial-New-Python-Integration-and-Scripting/ec-p/810154#M526</guid>
      <dc:creator>gail_massari</dc:creator>
      <dc:date>2024-11-08T16:21:01Z</dc:date>
    </item>
    <item>
      <title>Re: Developer Tutorial:  New Python Integration and Scripting Capabilities in JMP 18</title>
      <link>https://community.jmp.com/t5/Learn-JMP-Events/Developer-Tutorial-New-Python-Integration-and-Scripting/ec-p/810157#M527</link>
      <description>&lt;DIV class="lia-quilt-row lia-quilt-row-header"&gt;
&lt;DIV class="lia-quilt-column lia-quilt-column-16 lia-quilt-column-left lia-quilt-column-header-left"&gt;
&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-left"&gt;
&lt;DIV class="lia-message-author-avatar lia-component-author-avatar lia-component-message-view-widget-author-avatar"&gt;
&lt;DIV class="UserAvatar lia-user-avatar lia-component-common-widget-user-avatar"&gt;From&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/7172"&gt;@Paul_Nelson&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class="local-date"&gt;‎on&amp;nbsp; 04-17-2024&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="local-time"&gt;03:39 PM&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="lia-quilt-row lia-quilt-row-main"&gt;
&lt;DIV class="lia-quilt-column lia-quilt-column-24 lia-quilt-column-single lia-quilt-column-main"&gt;
&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-single"&gt;
&lt;DIV class="lia-message-body-wrapper lia-component-message-view-widget-body"&gt;
&lt;DIV id="bodyDisplay_4" class="lia-message-body"&gt;
&lt;DIV class="lia-message-body-content"&gt;
&lt;PRE class="lia-code-sample  language-python"&gt;&lt;CODE&gt;# getColImage.py
# 
# Description: 
#   Get a picture from an image column using Python
#   JMP 18 only supports numeric and character column types for transfer
#   but the value can be grabbed via JSL, and passed to Python as a string
#   in the meantime.  The Python code will need to trim off the 
#   New Image( Char To Blob()) and decode the image back to binary.
import jmp

dt = jmp.open(jmp.SAMPLE_DATA + 'Big Class Families.jmp')

jmp.run_jsl('''
Names Default to Here(1);
dt = Current Data Table();

img = dt:picture[1];		// get the picture
img_str = char(img);		// make it a string
Python Send(img_str);		// send Python the string
''')

# print the object's JSL representation
# which is text encoding of the binary, a description of the 
# encoding and image format type.
print(img_str)
			&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;With output:&lt;/P&gt;
&lt;P&gt;New Image(Char To Blob( "1iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAYAAABxLuK ...&lt;/P&gt;
&lt;P&gt;VORK5CYII=", "base64compressed" ), "png")&lt;/P&gt;
&lt;P&gt;From the Python side you need to parse out the Blob string, compression method, and format, decode the image from text to binary.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;However, an alternate and likely better way is to use &amp;lt;&amp;lt; Get Pixels("rgba"); on the column to get a 4 element list of matrices which is supported via Python Send().&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Updated getColImage.py&lt;/P&gt;
&lt;PRE class="lia-code-sample  language-python"&gt;&lt;CODE&gt;# getColImage.py
# 
# Description: 
#   Get a picture from an image column using Python
#   JMP 18 only supports numeric and character column types for transfer
#   but the value can be grabbed via JSL, and passed to Python as a string
#   in the meantime.  The Python code will need to trim off the 
#   New Image( Char To Blob()) and decode the image back to binary.
#
#   Alternatively use &amp;lt;&amp;lt; Get Pixels("rgba");  to get a list of matricies
#   which is passable from JSL to Python using Python Send();
#
import jmp

dt = jmp.open(jmp.SAMPLE_DATA + 'Big Class Families.jmp')

jmp.run_jsl('''
Names Default to Here(1);
dt = Current Data Table();

img = dt:picture[1];		// get the picture
img_str = char(img);		// make it a string
Python Send(img_str);		// send Python the string

asRGBA = { r, g, b, a} = dt:picture[1] &amp;lt;&amp;lt; Get Pixels("rgba");
Python Send(asRGBA);
''')

# print the object's JSL representation
# which is text encoding of the binary, a description of the 
# encoding and image format type.
print(img_str)
print(asRGBA)				&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="gail_massari_4-1731082900358.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/69981iF9B0747FD5E3D66F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="gail_massari_4-1731082900358.png" alt="gail_massari_4-1731082900358.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="tr-msz"&gt;This post originally written in German has been computer translated for you. When you reply, it will also be translated back to German.&lt;/P&gt;</description>
      <pubDate>Fri, 08 Nov 2024 16:24:14 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Learn-JMP-Events/Developer-Tutorial-New-Python-Integration-and-Scripting/ec-p/810157#M527</guid>
      <dc:creator>gail_massari</dc:creator>
      <dc:date>2024-11-08T16:24:14Z</dc:date>
    </item>
    <item>
      <title>Re: Developer Tutorial:  New Python Integration and Scripting Capabilities in JMP 18</title>
      <link>https://community.jmp.com/t5/Learn-JMP-Events/Developer-Tutorial-New-Python-Integration-and-Scripting/ec-p/810159#M528</link>
      <description>&lt;DIV class="lia-quilt-row lia-quilt-row-header"&gt;
&lt;DIV class="lia-quilt-column lia-quilt-column-16 lia-quilt-column-left lia-quilt-column-header-left"&gt;
&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-left"&gt;
&lt;DIV class="lia-message-author-avatar lia-component-author-avatar lia-component-message-view-widget-author-avatar"&gt;
&lt;DIV class="UserAvatar lia-user-avatar lia-component-common-widget-user-avatar"&gt;From&amp;nbsp;&lt;A id="link_30" class="lia-link-navigation lia-page-link lia-user-name-link" style="font-family: inherit; background-color: #ffffff;" href="https://community.jmp.com/t5/user/viewprofilepage/user-id/7172" target="_self" aria-label="View Profile of Paul_Nelson"&gt;&lt;SPAN class="login-bold"&gt;Paul_Nelson&amp;nbsp;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN class="local-date"&gt;on ‎04-17-2024&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="local-time"&gt;03:41 PM&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="lia-quilt-row lia-quilt-row-main"&gt;
&lt;DIV class="lia-quilt-column lia-quilt-column-24 lia-quilt-column-single lia-quilt-column-main"&gt;
&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-single"&gt;
&lt;DIV class="lia-message-body-wrapper lia-component-message-view-widget-body"&gt;
&lt;DIV id="bodyDisplay_5" class="lia-message-body"&gt;
&lt;DIV class="lia-message-body-content"&gt;
&lt;P&gt;Somewhere the first few lines of the post got clipped.&lt;/P&gt;
&lt;P&gt;No, not directly possible using the Python Integration in JMP 18, but a work around is possible using JSL.&lt;/P&gt;
&lt;P&gt;The focus on JMP 18 was character and numeric columns. Full support of the data table is current ongoing development.&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Fri, 08 Nov 2024 16:25:12 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Learn-JMP-Events/Developer-Tutorial-New-Python-Integration-and-Scripting/ec-p/810159#M528</guid>
      <dc:creator>gail_massari</dc:creator>
      <dc:date>2024-11-08T16:25:12Z</dc:date>
    </item>
  </channel>
</rss>

