- Posted on
Sun Apr 14, 2013 9:51 am
-
matt (support)
offline
- Site Admin
-
- Posts: 21418
- Joined: Jan 27, 2003
- Location: Texas
-
Good question. Indigo's python based plugin and script context is not a python library/module that can be included by any running python interpreter.
Rather, it is a process that when launched connects to the Indigo Server and then executes python commands within a special context from which you can then make calls to Indigo, inspect devices/etc., and if you are a plugin, receive python callbacks when actions occur/etc. So this process (which we call the IPH, Indigo Plugin Host) is a special Indigo client that exposes Indigo functionality via python calls.
We had a couple of choices when deciding how the IPH would call python. We could either include our own python library, in which case we could include the most recent version of 2.x or 3.x or we could rely on the python framework included in OS X. We decided for the latter. The gotcha is that we have to use the minimum python version supported by the minimum version of OS X under which Indigo Server can run. That is OS X 10.5. For consistent results, we want the python environment used by Indigo to be the same regardless of the Mac OS X version you are running. So we have to use OS X's version of python 2.5 across all versions of OS X (even ones that have more recent python versions).
I think it is possible for us to embed our own python framework that works well under OS X, but getting that built/QA'd/installed is non-trivial. So for the time being (v6 at the very least), we will be relying on OS X's python framework.