Real Python 3 — requests, pandas, numpy, and the rest of PyPI — callable from any Ignition 8.3 gateway as if it were a native scripting library.
Repository: ignition-module-python3 | Module ID: com.gaskony.python3
Ignition is built on Jython 2.7 and realistically always will be — but nearly
every programmer today works in Python 3, and the packages that matter
(requests, pandas, numpy, …) are Python 3 only. This module makes
Python 3 feel like a native part of any Ignition 8.3 gateway: write and test
a Python 3 script in a first-class editor, save it into a Project-Library-like
tree, and call it from anywhere Jython runs — Perspective pages, tag scripts,
gateway events — via system.python3.*.
The full purpose, definition of done, and permanent won't-do list live in docs/PROJECT_CHARTER.md — the charter drives every release decision.
The browser-based IDE: real code, run against a real warm Python 3 process, with the script's own printed output shown inline. No Designer required.
Scripts are organised into folders and are real files on disk — select one to see its source, description and last-modified time.
Diagnostics: pool utilisation and the module's own log stream — including the per-call audit trail (mode, code hash, duration) — filterable by level.
Multiple Python versions can be installed side by side; scripts pick which one they run against.
The landing dashboard: module health, process pool and installed versions at a glance.
The Designer-scope Script Console: real Python 3 code, syntax-highlighted, run against the same warm process pool as the Web UI — connected, 3/3 workers available, Python 3.11.6.
| Feature | What it gives you |
|---|---|
system.python3.* scripting functions |
Call Python 3 from any Jython scope — Perspective bindings, tag events, gateway timers — via exec, eval, callScript, callModule |
| Gateway Web UI IDE | Browser-based editor with syntax highlighting, script folders, autocomplete and inline output — no Designer needed |
| Designer Script Console + Project Browser | A native Designer editor plus a "Python 3 Scripts" node in the project tree, for developers who live in the Designer |
| Process pool of warm subprocesses | 3–20 pre-warmed Python interpreters (configurable) so exec calls skip process-start cost; health-checked every 30 s and self-recovers from a crashed worker |
| Multiple installable Python versions | 3.9–3.13 installed side by side; each script picks which one it runs against |
| Package management | Search and install PyPI packages per Python version, from the gateway UI |
| REST API | POST /exec, /eval, /call-module; GET /version, /pool-stats, /health, /diagnostics — token-gated, HTTPS-required for admin mode |
| File-backed script library | Scripts are real .py files on disk (gateway-global, hot-reloaded on external edit), not an opaque blob |
| Live diagnostics | Pool utilisation, execution metrics and an auditable log of every call, in one view |
See CHANGELOG.md for the full release history.
./gradlew clean build --no-daemon
# Install build/Python3-4.6.1.modl via Gateway > Config > System > ModulesThen, from any Jython scope (Script Console, a tag event, a Perspective binding):
result = system.python3.exec("import requests; result = requests.get('https://example.com').status_code")
print(result) # 200Or open the browser IDE at Config → Python 3 → IDE (/app/python3-ide on
the gateway) to write, run and save scripts without touching a project. See
docs/getting-started/QUICK_START.md
and docs/getting-started/INSTALLATION.md
for the full walkthrough.
- REST API: docs/api/REST_API.md
- Architecture: docs/architecture/OVERVIEW.md
- Security model: SECURITY.md
- Development guide: CLAUDE.md — for contributors
- Changelog: CHANGELOG.md — release history
# Build module
./gradlew clean build --no-daemon
# Test with Docker
docker-compose up -d
# Access at http://localhost:9088- Version workflow: docs/development/VERSION_WORKFLOW.md
- Testing guide: docs/development/TESTING.md
- Official SDK docs: https://www.sdk-docs.inductiveautomation.com/
- SDK examples: https://github.com/inductiveautomation/ignition-sdk-examples
- Forum: https://forum.inductiveautomation.com/c/module-development/7
- Gradle plugin: https://github.com/inductiveautomation/ignition-module-tools
Python 3 Integration Module developed by Gaskony with assistance from Claude Code (Anthropic).
Built using the Ignition 8.3 SDK from Inductive Automation.
Apache License 2.0 — see LICENSE.