Skip to main content

Ignition Scripting API

Project description

ignition-api 8.1

GitHub last commit (8.1) GitHub contributors Downloads Sourcery Code style: black Imports: isort Imports: flake8 Imports: pydocstyle linting: pylint pre-commit.ci status Join us on GitHub discussions

ignition-api is a Python package that allows developers to get code completion for Ignition Scripting API scripting functions in their IDE of choice.

Table of contents

Prerequisites

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

Installation and usage

To use ignition-api, 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 such as PyCharm and Visual Studio Code.

$ 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

Downloading from releases

You may also download the code targeted to your desired version from the releases page and add it as a dependency to your scripting project.

Using as a dependency in PyCharm

To include ignition-api as a dependency in 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-api, navigate to File > Open and select the ignition-api project folder
  3. Choose Attach when prompted
  4. Under the ignitition-api project folder, right-click on the src/ folder and choose Mark Directory as > Sources Root

Project structure

Packages

This project consists of the following packages:

  • com.inductiveautomation
  • java
  • javax
  • org
  • system

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.19/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.

org.slf4j

This package includes supporting classes and interfaces from SLF4J API Module. For more information, see documentation here: https://www.javadoc.io/doc/org.slf4j/slf4j-api/1.7.26/overview-summary.html.

system

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

Contributing

See CONTRIBUTING.md.

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.

v8.1.19 (2022-07-29)

Feat

  • system: add new perspective and tag functions (#44)
  • system: add constants to all (#43)
  • improve type hints (#39)
  • ia: add type hints to all PyUser functions (Sourcery refactored) (#38)
  • system: add db constants to all (#36)

Fix

  • java: rollback change on classproperty (#42)
  • improve type hinting (#41)

Refactor

  • improve code quality (#32)
  • org: add TYPE field to PyObject class (#31)

v8.1.18.post2 (2022-07-09)

Refactor

  • use java.lang.String (#30)

Fix

  • java: add typing to Java code (#29)

v8.1.18.post1 (2022-07-05)

Feat

  • ia: implement all LoggerEx functions (#27)

v8.1.18 (2022-06-20)

Feat

  • system: add readRaw, writeRaw to bacnet module (#23)
  • system: add fields to Results class (#22)

v8.1.17 (2022-05-13)

Fix

  • system: update type hint for html arg (#20)

Refactor

  • system: update type hint for payload arg

v8.1.16.post1 (2022-04-08)

Feat

  • system: add perspective.authenticationChallenge (#17)

v8.1.16 (2022-04-06)

Feat

  • system: add version argument to httpClient (#16)

Refactor

  • improve Version comparison logic (#11)
  • Sourcery refactored main branch (#1)
  • change parent class to Java Object

Fix

  • ci: fix ci.yml (#5)

v8.1.15 (2022-03-02)

Feat

  • add system.user.getUserSources function

v8.1.14 (2022-01-27)

v8.1.13.post1 (2022-01-20)

Feat

  • mypy: update type hinting on translate

v8.1.13 (2021-12-22)

Refactor

  • move String alias to java.util
  • define ColType as a type alias
  • integrate minor changes
  • rename argument from pageID to pageId
  • change return type to unicode

Feat

  • simplify beep code

BREAKING CHANGE

  • system.util.beep() will print "Beep!" when called regardless of platform

v8.1.12.post3 (2021-11-29)

Feat

  • add String type

v8.1.12.post2 (2021-11-26)

v8.1.12.post1 (2021-11-26)

Fix

  • install now requires typing

v8.1.12 (2021-11-23)

Feat

  • add type hints on all system functions
  • improve date.format
  • add symbols to format to cover most cases

BREAKING CHANGE

    • Python versions below or above 2.7.18 are not supported
  • system.date and Java's Date are no longer using datetime functions
  • remove deprecated functions from system.tag

v8.1.11 (2021-10-20)

Feat

  • add AlarmEvent, PyAlarmEvent, and PyAlarmEventImpl
  • add org.python.core package
  • add Iterable Java interface

v8.1.10.post7 (2021-10-11)

Feat

  • add PrintStream class to java.io package

v8.1.10.post6 (2021-10-10)

Feat

  • add Java supporting classes
  • add fields and implement more methods
  • return instance of BasicDataset

Refactor

  • informal interfaces
  • return instance of implementing classes
  • switch to informal interfaces
  • turn fields into properties

Fix

  • PyUser now returns an instance of User

v8.1.10.post5 (2021-09-24)

Fix

  • remove builtins import statement

v8.1.10.post4 (2021-09-22)

Feat

  • make code compatible with Python3

v8.1.10.post3 (2021-09-21)

Feat

  • make PyDataSet iterable

v8.1.10.post2 (2021-09-20)

Feat

  • add com package to pip release
  • setup: disallow installation on Python 3

Refactor

  • improve code quality
  • improve code quality
  • add com package

Fix

  • move WindowUtilities to the correct package

v8.1.10 (2021-09-09)

Feat

  • 8.1.10
  • setup: add setup.py

Refactor

  • allow any import level for winsound
  • add pylint

v8.1.9 (2021-08-09)

Feat

  • add new OPC-UA functions

v8.1.7 (2021-06-05)

Feat

  • release: 8.1.7
  • ignition: bump Ignition 8.1.5 -> 8.1.6

Refactor

  • java.util.Date

v8.1.6 (2021-05-24)

v8.1.5-fix (2021-05-11)

Fix

  • add missing parameter to…
  • correct typo in docstring

Feat

  • pre-commit: update black 21.5b0 -> 21.5b1
  • pre-commit: update flake8 3.9.1 -> 3.9.2
  • pre-commit: update black 21.4b2 -> 21.5b0

v8.1.5 (2021-04-28)

Feat

  • add 8.1.5 changes
  • pre-commit: update black 21.4b1 -> 21.4b2
  • pre-commit: update black 21.4b0 -> 21.4b1
  • pre-commit: update black 20.8b1 -> 21.4b0
  • pre-commit: bump flake8 to 3.9.1
  • add toParseableString implementation
  • add build number and update all references

v8.1.4 (2021-04-02)

Feat

  • perspective: add getSessionInfo

v8.1.3 (2021-03-04)

Feat

  • add new arguments to Perspective functions

v8.1.2 (2021-02-12)

Feat

  • add flake8 and isort pre-commit hooks

v8.1.1-fix (2021-01-05)

v8.1.1 (2020-12-09)

v8.1.0 (2020-11-15)

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ignition_api-8.1.19.tar.gz (123.9 kB view hashes)

Uploaded Source

Built Distribution

ignition_api-8.1.19-py2-none-any.whl (152.3 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page