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.18/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.
Changelog
All notable changes to this project will be documented in this file.
[8.1.18.post2] - 2022-07-09
Bug Fixes
- add typing to Java code (#29)
Refactor
- use java.lang.String (#30)
Revert
- undo change on
mypy
(34492d7)
[8.1.18.post1] - 2022-07-05
CI
- use Python 2 mode for mypy (#25)
Features
- implement all LoggerEx functions (#27)
Miscellaneous Tasks
- improve typing for
ignition-api-stubs
(#24)
Build
- pre-commit autoupdate (#26)
[8.1.18] - 2022-06-20
Features
- add fields to Results class (#22)
- add
readRaw
,writeRaw
tobacnet
module (#23)
Build
- bump actions/setup-python from 3 to 4 (#21)
[8.1.17] - 2022-05-13
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
- cleanup
.pylintrc
(11a9218)
Styling
- format
pyproject.toml
withpyproject-fmt
(1340e23)
Build
[8.1.13.post1] - 2022-01-20
Features
- update type hinting on
translate
(3e0ef7f)
Miscellaneous Tasks
Revert
- undo
java.lang.String
(8b9c99c)
[8.1.13] - 2021-12-22
CI
Documentation
- update packages' descriptions (275e1c7)
Features
- simplify
beep
code (5074d09)- BREAKING:
system.util.beep()
will print "Beep!" when called regardless of platform
- BREAKING:
Miscellaneous Tasks
- add
cliff.toml
file for changelog generation (e63ff91) - format setup.cfg file (5915921)
- update
.pylintrc
removeunused-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 tojava.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
- add
String
type (215ad67)
Miscellaneous Tasks
- release 8.1.12.post3 (f6a5ae1)
[8.1.12.post2] - 2021-11-26
Miscellaneous Tasks
- release 8.1.12.post2 (7324f0b)
Build
[8.1.12.post1] - 2021-11-26
Bug Fixes
- install now requires
typing
(7ed8b2b)
Miscellaneous Tasks
- release 8.1.12.post1 (e9bebaf)
[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 usingdatetime
functions- remove deprecated functions from
system.tag
Miscellaneous Tasks
Styling
- use
black
default settings (5b1da1f)
Build
- add project_urls (8a37d41)
- add setup.py (4c4cae6)
- update
black
hook (a39dcdc) - pre-commit autoupdate (#51)
- deprecate Python 2.7 (3c79759)
- pre-commit autoupdate (3556987)
- pre-commit autoupdate (d250949)
- pre-commit autoupdate (4e067e3)
[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-10
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
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-24
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
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
[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-05
Features
Refactor
- java.util.Date (370503c)
[8.1.6] - 2021-05-24
Miscellaneous Tasks
Styling
- change from single quotes to double quotes (021ed8b)
Build
- rearrange hooks (ada39b0)
- add pydocstyle hook (384dd21)
- remove D209 from ignored codes (35374c7)
- remove E211 and E99 from ignore (0edf0ec)
- remove W503 from ignore (ac25bbe)
[8.1.5-fix] - 2021-05-11
Bug Fixes
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-28
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
- update docstrings (8f8ee33)
[8.1.4] - 2021-04-02
Documentation
- update the copyright notice date (95cd608)
Features
- add getSessionInfo (7f64b25)
Build
- bump flake8 and isort to latest version (f4d8fef)
[8.1.3] - 2021-03-04
Features
- add new arguments to Perspective functions (fd1beb3)
Miscellaneous Tasks
- update .gitignore (1be4f3c)
Styling
[8.1.2] - 2021-02-12
Features
- add flake8 and isort pre-commit hooks (0288aab)
Miscellaneous Tasks
Styling
- flake8 [py27] (2123ca8)
- add flake8 and isort badges (a0319f7)
- :art: make isort compatible with black (df9d357)
[8.1.1] - 2020-12-09
Styling
- Black (9db745d)
[8.1.0] - 2020-11-15
All
- Updated copyright legend. (31c53f7)
Db
- Added getConnectionInfo and setDataSeourceEnabled. (db6dfd6)
File
- Fixed docstring. (7f8a07d)
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
- Added get_timer (d9b0a70)
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
Built Distribution
Hashes for ignition_api-8.1.18.post2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc746b30d0bf00039bea9c718396fbf9d78060f682201d0e87e2a9f00f45460d |
|
MD5 | d9c95da743bb2ce98324d022def37bc9 |
|
BLAKE2b-256 | 8e6dd794f22bf19d2d4f643d068cb117e74b945f458b56f00331e71d5293f997 |
Hashes for ignition_api-8.1.18.post2-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf282c471c618f74915212d4364d2108ec79d67709a22d266d3cb50c27b8ddad |
|
MD5 | 681ee58adf8c60e061412af9c8c95743 |
|
BLAKE2b-256 | fa9da98f88bd906224fff1b6c0a8218167271d297247b806a5874c9790be7594 |