Ignition Scripting API
Project description
ignition-api 8.1
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
- Installation and usage
- Project structure
- Contributing
- Discussions
- Contributors
- License
- Code of conduct
Prerequisites
Before you begin, ensure you have met the following requirements:
- You have installed Python 2.7.18 (download here)
- You are familiar with Ignition 8.1 System Functions
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.
- Clone the repo or download from releases
- With your project open where you want to include
ignition-api
, navigate toFile > Open
and select theignition-api
project folder - Choose
Attach
when prompted - Under the
ignitition-api
project folder, right-click on thesrc/
folder and chooseMark 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
tobacnet
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 tojava.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 usingdatetime
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 topip
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
Built Distribution
Hashes for ignition_api-8.1.19-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff3347037a85176fef29645d51e1a5d33b78ef2800ee83c3432c84d57d205b55 |
|
MD5 | 406a38a4be7583a9fd4eed49dce572f5 |
|
BLAKE2b-256 | 0ccae104255c690e16562e015020f4a90ba8227431b3667ad13eeaab0e036e9b |