Jump to content

Can IronPython be substituted by Python data functions, and is that smart to do?

Recommended Posts

In my team there is the idea of needing to stop using IronPython for our dashboards and instead use Python Data Functions. Is this something smart to do? Can Python data functions do the same functionality as IronPython? What are good reasons to keep using IronPython? I need good reasons to present them as I am all for IronPython and I have found data functions to be impossible to run scripts that include the Spotfire API library.

Link to comment
Share on other sites

Iron Python and Python have little overlap in practice. 

Iron Python is optimized for automating the display and its functionality. You can also change data and manipulate tables, but not perform any complex data manipulation.

As you said, (Python) data functions cannot handle any document API element but document properties, but you want to use them for statistical calculations and advanced data manipulations. They have access to all the advanced Python libraries.

There are other pros and cons. The data function paradigm for instance does not allow you to pass a generic table object as argument. 

Initializing Python involves some data exchange that can become a bottleneck for large datasets, whereas Iron Python is faster in that respect.  

Data functions have also stricter rules regarding I/O: for instance, if you have the same item both as input and as output, the data function will detect circular logic and you will not be able to run it automatically.

Iron Python itself can be used to call data functions, e.g. if you want to change input arguments or chain them.

So it really depends on what you need to do. If you already have both, then I would suggest to keep them both .

Link to comment
Share on other sites

Hi ,

IronPyhton and Python Data functions both have their own use cases.

IronPython scripts are technically meant to automate certain Spotfire actions/document or customizing Spotfire and are meant for implementing public Spotfire API's. You will need IronPython for writing scripts implementing Spotfire client API's as in the document : https://docs.tibco.com/pub/doc_remote/sfire_dev/area/doc/api/TIB_sfire-analyst_api/Index.aspx?_ga=2.70670032.173426507.1658746129-1798128711.1641223798

On the other hand you cannot implement Spotfire API's through Data functions.

Data Functions(TERR/Python) provides a very tight integration between advanced analytics and visual analytics and enables building easy to use analytic applications for business users utilizing Pythons extensive library of advanced analytics capabilities.


So if you can achieve some use cases with Python Data functions that were earlier done with IP. You could evaluate the speed and results etc and could make a decision.

But somethings can only be done by IronPython and some much better with Data Functions.

Hope this answers


Link to comment
Share on other sites

Hello Santiago, I'm Arnaud from the Spotfire product management team.

As Tejas and Gaia explained, IronPython and Python have little overlaps but they serve different use cases. We think IronPython is great for automations and customizations; with lots a users using IronPython every day. We have not plans to deprecate IronPython is a near future.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...