View on GitHub

Ignition

⚡ A set of packages and modules that allows developers to get code completion for Ignition Scripting API scripting functions in their IDE of choice.

Ignition

GitHub last commit (main) GitHub contributors GitHub downloads time tracker Sourcery Code style: black Imports: isort Imports: flake8 Imports: pydocstyle pre-commit.ci status

Ignition is a set of packages and modules that allows developers to get code completion for Ignition Scripting API scripting functions in their IDE of choice.

Table of contents

Releases

Check the releases page and download the one for your current version.

Branches

This repository consists of the following branches:

main

This branch will contain all Scripting Functions from the latest Ignition Release.

7.9

This branch will contain all Scripting Functions from the latest Ignition Release for the 7.9 version.

8.0

This branch will contain all Scripting Functions from the latest Ignition Release for the 8.0 version.

jython [Archived]

This branch is no longer maintained and it has been archived here: https://github.com/thecesrom/ignition-api-jython.

Cloning a single branch

If you wish to clone just one branch in particular, use any of the following commands:

Prerequisites

Before you begin, ensure you have met the following requirements:

Packages

Ignition consists of the following packages:

com.inductiveautomation

This package includes supporting Inductive Automation’s classes and interfaces. For more information, see documentation here: https://files.inductiveautomation.com/sdk/javadoc/ignition81/8.1.12/index.html.

java/javax

These packages include supporting Java classes and interfaces. For more information, see documentation here: https://docs.oracle.com/en/java/javase/11/docs/api/index.html.

org.apache

This package includes supporting classes and interfaces from Apache Commons Math API. For more information, see documentation here: https://commons.apache.org/proper/commons-math/javadocs/api-3.6.1/index.html

org.python

This package includes supporting Jython classes and interfaces. For more information, see documentation here: https://www.javadoc.io/doc/org.python/jython-standalone/2.7.2/index.html.

system

This package includes all Ignition Scripting Functions. For more information, see documentation here: https://docs.inductiveautomation.com/display/DOC81/System+Functions.

Installation and usage

To use Ignition, you may install it by doing any of the following.

Installing with pip

The preferred method is to install it by running pip. It requires Python 2.7.18.

python2 -m pip install ignition-api

This will install it as package to your Python installation, which will allow you to call Ignition Scripting functions from Python’s REPL, and get code completion using an IDE (we recommend PyCharm).

$ python2
Python 2.7.18 (default, Nov  9 2020, 16:23:15) 
[GCC Apple LLVM 12.0.0 (clang-1200.0.32.21)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from __future__ import print_function
>>> import system.util
>>> print(system.util.__doc__)
Utility Functions.

The following functions give you access to view various Gateway and
Client data, as well as interact with other various systems.

>>> system.util.beep()
>>> quit()

And to uninstall:

python2 -m pip uninstall ignition-api
Using Ignition as a dependency on PyCharm

To include Ignition as a dependency on PyCharm, you will need to attach it to your project.

  1. Clone the repo or download from releases
  2. With your project open where you want to include Ignition, navigate to File > Open and select the Ignition project folder
  3. Choose Attach when prompted
  4. Under the Ignition project folder, right-click on the src/ folder and choose Mark Directory as > Sources Root

Contributing to Ignition

To contribute to Ignition, follow these steps:

  1. Fork this repository
  2. Create a local copy on your machine
  3. Create a branch
  4. Make your changes and commit them
  5. Push to the main branch
  6. Create the pull request

Alternatively see the GitHub documentation on creating a pull request.

Discussions

Feel free to post your questions and/or ideas at Discussions.

Contributors

Thanks to everyone who has contributed to this project.

Up-to-date list of contributors can be found here.

License

See the LICENSE.

Code of conduct

This project has adopted the Microsoft Open Source Code of Conduct.