2010-10-12 Supporting Python

At my dayjob, we have created an application for sensor readout and control. We are creating a software design to support Python for scripting, analysis and plotting, besides the already present combo of Perl for scripting and IDL for analysis.

The list of steps comes down to:

  1. User defines a script
  2. User defines a plot
  3. User kicks off a Perl script that retrieves data
  4. Certain data triggers an IDL script in the EGSE server
  5. After the IDL script has ran (if you want to plot analyzed data), it calls a glue function so the EGSE server plots something
  6. Sometimes the Perl script requests the results as well

What we really want is that all of this happens in Python:

  1. User defines a plot
  2. Python script retrieves data
  3. Python script sends data to plot, which is maintained by a running Python process

The problem here is that the old situation allows for configuration of plots in advance. The disadvantage is that this needs a bunch of glue code, and doesn't allow for version control. The advantage is these are defined in a graphical way, and doesn't need any scripting.