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

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.

Changelog

All notable changes to this project will be documented in this file.

[8.1.17] - 2022-04-14

Bug Fixes

  • update type hint for html arg (#20)

Refactor

  • update type hint for payload arg (b8995ab)

Build

  • update pylint configuration (#18)

[8.1.16.post1] - 2022-04-08

Features

  • add perspective.authenticationChallenge (#17)

[8.1.16] - 2022-04-06

Bug Fixes

  • fix ci.yml (#5)

CI

  • fix packaging issues (#2)
  • update build action (#4)
  • maintenance (#6)
  • use deps scope for pre-commit.ci (#10)

Documentation

  • update downloads badge (f162972)
  • add discussions badge (7c2aa6f)
  • replace old project name (#3)
  • use pepy.tech for counting downloads (#13)
  • add link to org CONTRIBUTING.md (#14)
  • fix link to CONTRIBUTING header (72023b6)

Features

  • add version argument to httpClient (#16)

Miscellaneous Tasks

  • move project to github org (240c95f)

Refactor

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

Build

  • bump actions/checkout from 2 to 3 (#7)
  • bump actions/setup-python from 2 to 3 (#8)
  • bump .pylintrc from 2.12.2 to 2.13.2 (#12)
  • pre-commit autoupdate (#15)

Revert

  • remove condition from job (#9)

[8.1.15] - 2022-03-02

Features

  • add system.user.getUserSources function (9dcfa9a)

Miscellaneous Tasks

Styling

  • format pyproject.toml with pyproject-fmt (1340e23)

Build

  • update black from 21.12b0 to 22.1.0 (df5d6e9)
  • add sort-all@v1.2.0 (3eeeb97)

[8.1.13.post1] - 2022-01-21

Features

  • update type hinting on translate (3e0ef7f)

Miscellaneous Tasks

Revert

[8.1.13] - 2021-12-23

CI

Documentation

  • update packages' descriptions (275e1c7)

Features

  • simplify beep code (5074d09)
    • BREAKING: system.util.beep() will print "Beep!" when called regardless of platform

Miscellaneous Tasks

  • add cliff.toml file for changelog generation (e63ff91)
  • format setup.cfg file (5915921)
  • update .pylintrc remove unused-import (832cb11)
  • prepare from v8.1.13 (cbbe7c5)

Refactor

  • change return type to unicode (ddb184d)
  • rename argument from pageID to pageId (45bbf4f)
  • integrate minor changes (a008eed)
  • define ColType as a type alias (d18d44d)
  • move String alias to java.util (ea530ac)

Styling

  • tell isort to sort using Python 2.7 (72fd6d0)

Build

  • update pydocstyle hook (b04be0b)
  • pre-commit autoupdate (#52)
  • remove files from MANIFEST.in (d0fa375)

[8.1.12.post3] - 2021-11-29

Features

Miscellaneous Tasks

[8.1.12.post2] - 2021-11-27

Miscellaneous Tasks

Build

[8.1.12.post1] - 2021-11-26

Bug Fixes

  • install now requires typing (7ed8b2b)

Miscellaneous Tasks

[8.1.12] - 2021-11-23

Documentation

  • include org.python package (b0ec4b5)

Features

  • add symbols to format to cover most cases (9948292)
  • improve date.format (0e527d2)
  • add type hints on all system functions (51ed6a2)
    • BREAKING: * 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

Miscellaneous Tasks

Styling

  • use black default settings (5b1da1f)

Build

[8.1.11] - 2021-10-20

Documentation

  • update usage instructions (63e6c14)

Features

  • add Iterable Java interface (c23a469)
  • add org.python.core package (bb8ac0c)
  • add AlarmEvent, PyAlarmEvent, and PyAlarmEventImpl (13907c9)

Miscellaneous Tasks

Build

  • pre-commit autoupdate (#49)
  • require setuptools >= 42 (c784e57)

[8.1.10.post7] - 2021-10-11

Features

  • add PrintStream class to java.io package (32d0479)

Miscellaneous Tasks

  • git ignore dist-build directory (368efb9)

[8.1.10.post6] - 2021-10-11

Bug Fixes

  • PyUser now returns an instance of User (65dbaaa)

CI

  • update PyPI upload workflow (93917b6)

Documentation

Features

  • return instance of BasicDataset (2473ff4)
  • add fields and implement more methods (1f17c83)
  • add Java supporting classes (f56f2a4)

Miscellaneous Tasks

  • prepare for version 8.1.11 (88c45c4)
  • prepare for v8.1.10.post6 (54da8c2)

Refactor

  • turn fields into properties (bcc57c2)
  • switch to informal interfaces (aba37e1)
  • return instance of implementing classes (e08bbf9)
  • informal interfaces (b79ca39)

Build

[8.1.10.post5] - 2021-09-25

Bug Fixes

  • remove builtins import statement (3c62913)

[8.1.10.post4] - 2021-09-22

Documentation

  • update installation and usage (2acc3c0)

Features

  • make code compatible with Python3 (29d87d1)

[8.1.10.post3] - 2021-09-21

Features

  • make PyDataSet iterable (ccea300)

[8.1.10.post2] - 2021-09-20

Bug Fixes

  • move WindowUtilities to the correct package (5af2ad8)

CI

  • disable consider-using-f-string (347607a)

Features

  • disallow installation on Python 3 (4397007)
  • add com package to pip release (533169b)

Refactor

Styling

  • put all in a single line (5d44f14)

Build

[8.1.10] - 2021-09-09

Documentation

Features

Refactor

Styling

  • fix pylint found errors (ef8b662)

Build

  • pre-commit autoupdate (#46)
  • skip pylint (7dc2336)
  • add pylint workflow (fb675a9)

[8.1.9] - 2021-08-09

Documentation

  • update README.md (4cf18f4)
  • update README.md (95d2f88)
  • update README.md (8531b0e)
  • replaced datetime for Date (dbc151a)
  • add instructions for PyCharm (#42)

Features

  • add new OPC-UA functions (6a4ba1b)

Build

  • add ci block (a4626df)
  • pre-commit autoupdate (#40)
  • check max complexity (c9e185f)
  • pre-commit autoupdate (#43)
  • pre-commit autoupdate (#44)
  • pre-commit autoupdate (#45)

[8.1.7] - 2021-06-06

Features

Refactor

[8.1.6] - 2021-05-24

Miscellaneous Tasks

Styling

  • change from single quotes to double quotes (021ed8b)

Build

[8.1.5-fix] - 2021-05-12

Bug Fixes

  • correct typo in docstring (bfc95e9)
  • add missing parameter to… (1185e03)

Features

  • update black 21.4b2 -> 21.5b0 (616009d)
  • update flake8 3.9.1 -> 3.9.2 (b67503c)
  • update black 21.5b0 -> 21.5b1 (9226438)

[8.1.5] - 2021-04-29

Features

  • add build number and update all references (7747ba5)
  • add toParseableString implementation (0224a9e)
  • bump flake8 to 3.9.1 (5a5de40)
  • update black 20.8b1 -> 21.4b0 (e2f713e)
  • update black 21.4b0 -> 21.4b1 (3845ac8)
  • update black 21.4b1 -> 21.4b2 (1aeb50a)
  • add 8.1.5 changes (4abd6fa)

Styling

[8.1.4] - 2021-04-02

Documentation

  • update the copyright notice date (95cd608)

Features

Build

  • bump flake8 and isort to latest version (f4d8fef)

[8.1.3] - 2021-03-05

Features

  • add new arguments to Perspective functions (fd1beb3)

Miscellaneous Tasks

Styling

  • :art: tell isort to use Python27 (873015f)
  • remove blank line (8b62da4)

[8.1.2] - 2021-02-13

Features

  • add flake8 and isort pre-commit hooks (0288aab)

Miscellaneous Tasks

  • modify .py files permission (7208fb0)
  • add targeted Ignition version (5c89c85)

Styling

  • flake8 [py27] (2123ca8)
  • add flake8 and isort badges (a0319f7)
  • :art: make isort compatible with black (df9d357)

[8.1.1] - 2020-12-10

Styling

[8.1.0] - 2020-11-16

All

  • Updated copyright legend. (31c53f7)

Db

  • Added getConnectionInfo and setDataSeourceEnabled. (db6dfd6)

File

Incendium.gui

  • added warning, modified error. Added java.lang, and javax.swing packages. Opting for JOptionPane over Ignition's own errorBox and warningBox. (ff1c03e)
  • Modified info method in order to use JOptionPane. (487231e)
  • Added input function. (0d8320a)

Incendium.util

Java

  • Updated copyright legend. (b7a2f31)

Javax

  • Updated copyright legend. (ab859d3)

Lang

  • Throwable now inherits from BaseException. (5f19240)

Perspective

  • Added missing methos to all (1f2dc97)

System

  • Updated copyright legend. (7b4852d)

Tag

Util

  • Added argument to winsound.MessageBeep funciton call. (d06c492)

Validate_form

  • For numbers and collections we should compare to None. (7a07ba5)

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.17.tar.gz (128.6 kB view hashes)

Uploaded Source

Built Distribution

ignition_api-8.1.17-py2-none-any.whl (136.9 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