# GraalPy or GraalJS with Ignition

**URL:** <https://forum.inductiveautomation.com/t/graalpy-or-graaljs-with-ignition/96136>\
**Category:** Ignition\
**Tags:** python\
**Created:** [September 18, 2024, 3:34pm UTC](https://forum.inductiveautomation.com/t/graalpy-or-graaljs-with-ignition/96136 "2024-09-18T15:34:25Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nick\_Hotto](https://avatars.discourse-cdn.com/v4/letter/n/3d9bf3/32.png) [@Nick\_Hotto](https://forum.inductiveautomation.com/u/Nick_Hotto)\
**Post date:** [September 18, 2024, 3:34pm UTC](https://forum.inductiveautomation.com/t/graalpy-or-graaljs-with-ignition/96136/1 "2024-09-18T15:34:25Z")

</div>

With GraalPy gaining traction as the de facto Python 3 runtime on the JVM - has anyone tried implementing GraalPy or GraalJS with ignition?

> **[Getting Started with GraalPy on the JVM](https://www.graalvm.org/latest/reference-manual/python/)**
>
> GraalVM is an advanced JDK with ahead-of-time Native Image compilation.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [September 18, 2024, 10:01pm UTC](https://forum.inductiveautomation.com/t/graalpy-or-graaljs-with-ignition/96136/3 "2024-09-18T22:01:25Z")

</div>

> [@Nick\_Hotto](#):
>
> GraalPy gaining traction

Citation needed 😄

GraalVM is very interesting, but one big worry about integrating an Oracle product into Ignition is long-term licensing. If GraalVM suddenly becomes a commercial project, but is deeply entangled into our system, we're "on the hook" to pay for it, with few other options.

Suffice to say that we're not pretending Jython is the forever solution for Ignition scripting - but we're also not convinced by any of the alternative solutions we've encountered yet.

> [@Python version 3 update?](https://forum.inductiveautomation.com/t/python-version-3-update/10106/9):
>
> I guess I can paraphrase what I said on stage at the dev panel at this year's ICC, for posterity and so I can link to this in the future: So, the question people usually ask is "When is Python 3 coming to Ignition?". But in practice, there's really two broad reasons people are actually asking that question: They've heard that Python 2.7 is deprecated/old/unmaintained/a security risk/whatever. But that doesn't apply to Ignition, for a few reasons: When folks say "Python" out in the world, the…

---

<div class="post-metadata">

**Author:** ![Nick\_Hotto](https://avatars.discourse-cdn.com/v4/letter/n/3d9bf3/32.png) [@Nick\_Hotto](https://forum.inductiveautomation.com/u/Nick_Hotto)\
**Post date:** [September 19, 2024, 7:57pm UTC](https://forum.inductiveautomation.com/t/graalpy-or-graaljs-with-ignition/96136/4 "2024-09-19T19:57:26Z")

</div>

> Citation needed 😄

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/4/4/44f99d85ba7f3f66a3c2760801b5394f7d2c24f1.png)

🤔

> GraalVM is very interesting, but one big worry about integrating an Oracle product into Ignition is long-term licensing.

Implementing GraalPy as an Ignition Module to start would minimize entanglement. Testing the water to see if you think embedding into a module would be possible?

https://www.graalvm.org/python/#getting-started

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [September 19, 2024, 7:58pm UTC](https://forum.inductiveautomation.com/t/graalpy-or-graaljs-with-ignition/96136/5 "2024-09-19T19:58:26Z")

</div>

You could stick it into a module that does... something? I don't know what you are thinking.

You'll never replace Ignition's scripting engine from a module, though.

---

<div class="post-metadata">

**Author:** ![Nick\_Hotto](https://avatars.discourse-cdn.com/v4/letter/n/3d9bf3/32.png) [@Nick\_Hotto](https://forum.inductiveautomation.com/u/Nick_Hotto)\
**Post date:** [September 19, 2024, 7:59pm UTC](https://forum.inductiveautomation.com/t/graalpy-or-graaljs-with-ignition/96136/6 "2024-09-19T19:59:53Z")

</div>

Oh for sure - we're hoping to expose some endpoints through a GraalPy module that could then be called from within the existing scripting engine.

Would keep us from having to manage another service...
