Is It Easy to Use?
Luckily, Python is a simple language to get started with, and using it in an event-driven system takes away a lot of the extra code that normally makes programming time consuming. For those that are already familiar with scripting (and those of you that are learning), we also have a huge list of functions inside Ignition to do some of the common tasks in a single line of code. These System Functions are available while typing. Just start with "system" and press "ctrl-space" to see a list of available functions. The list will filter itself as you continue typing.

Where Is Scripting Used?
Python is used in many places in Ignition. Each location has its own events that trigger your scripts to run, and add functionality to your projects in different ways.
- Components - Add actions to components like buttons, customize the look and feel of charts and tables, and even setup a custom navigation schema.
- Tags - Create a script that runs on a Tag change, when an alarm goes active, and more!
- Reports - Use scripting to create a customized datasource, or create your own unique action to use with the scheduling system.
- Alarm Notification - Create custom rosters using scripting to dynamically change who gets notified with each new alarm event.
- Client and Gateway - Add a script that will run when certain events happen, such as when the Client or Gateway starts up, or on certain keystrokes.
Users that are new to Ignition focus mainly on the Component Binding system, and for good reason. It's simple, flexible, and generally easy to understand without much of a computer background. However, Ignition has a complete scripting system built into every place you can think of. Using it is not a requirement, but it can add a significant degree of flexibility and customization to your projects. It allows you to create exactly what you need, giving you total control where pre-canned options fall short.
The majority of your scripting will be done in Event Handlers inside of components. This system makes it very easy to get started scripting with little to no experience. With the four script builders, basic scripting like Navigation and setting Tag values takes just a few clicks!