Package that extends and wraps Ignition Scripting API
Project description
incendium
(/inˈken.di.um/)
noun.
- A fire, inferno, conflagration; heat; torch.
- (heat of) passion, vehemence
:package: Package that extends and wraps some functions from Ignition's Scripting API.
For more information, please refer to the Wiki.
incendium
Project
We have moved the project
branch to its own repo, incendium-project
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 incendium, 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 incendium
This will install it as package to your Python installation, which will allow you to call incendium
's Scripting functions from Python's REPL, and get code completion using an IDE (Pycharm or 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 incendium.vision.gui
>>> print(incendium.vision.gui.__doc__)
GUI module.
>>> incendium.vision.gui.warning("This one is a warning")
This one is a warning es_MX False
Warning es_MX False
None This one is a warning Warning 2 None
And to uninstall:
python2 -m pip uninstall incendium
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 incendium
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
incendium
, navigate toFile > Open
and select theincendium
project folder - Choose
Attach
when prompted - Under the
incendium
project folder, right-click on thesrc/
folder and chooseMark Directory as > Sources Root
Installing incendium
as a Project on your Gateway
To install incendium on your Gateway follow these steps:
- Download incendium.x.x.x.zip from the latest release or from Ignition Exchange
- Browse to your Ignition Gateway (version 8.0+)
- Go to Config > Projects and click on Import project...
- Click on Choose File and select the downloaded ZIP file
- Enter incendium as the Project Name
- If you're replacing a previous version, make sure to check Allow Overwrite
- Click on Import
Alternatively you could follow the instructions for cloning the project
branch directly into $IGNITION_DIR/data/projects
found here.
Contributing to incendium
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 LICENSE.
Code of conduct
See CODE_OF_CONDUCT.md.
v2023.4.0 (2023-04-18)
Feat
- db: handle concurrent DisposableConnection connections (#142)
v2023.3.0 (2023-03-30)
Feat
- dataset: add from_list_of_dicts (#140)
Refactor
- helper: move SProcResult from helper.types to db module (#141)
v2023.2.0 (2023-02-25)
Feat
- vision: add authentication and authorization (#137)
Refactor
- ci: remove matrix strategy (#116)
v2023.1.0 (2023-01-09)
Refactor
- add call to super in base classes (#111)
- ci: run on ubuntu-20.04 (#98)
v2022.9.2 (2022-09-21)
Refactor
- db: cast return value to str (#78)
- db: return BasicDataset on get_data and o_get_data (#77)
v2022.9.1 (2022-09-03)
Fix
- db: fix o_get_data docstring (#72)
v2022.9.0.post1 (2022-09-03)
v2022.9.0 (2022-09-02)
Feat
- db: add repr and str functions to Param (#70)
- date: add functions to get first and last day of the month (#69)
- db: add functions to get OUTPUT parameters (#68)
Fix
- db: accept unicode type for [In|Out]Param (#67)
- exceptions: fix inner_exception warning (#66)
Refactor
- exceptions: improve repr and str functions (#71)
v2022.8.2.post1 (2022-08-23)
Fix
- db: refactor types module (#61)
v2022.8.2 (2022-08-05)
Refactor
- dataset: work with nested Datasets on to_jsonobject (#56)
v2022.8.1 (2022-08-05)
Refactor
- db: remove unnecessary str cast
v2022.8.0 (2022-08-05)
Feat
- add type hints (#52)
- dataset: add to_jsonobject function (#50)
Refactor
- dataset: use Dataset instance functions (#51)
- dataset: remove default value for
root
(#49) - dataset: use Dataset to check instance
v2022.3.2 (2022-03-24)
Feat
- add
get_users
function (#36)
Fix
- ci: run
ci
on all PRs (#40)
Refactor
- ci: update
ci.yml
(#38) - apply multiple refactorings to
dataset
(#34)
v2022.3.1 (2022-03-03)
Refactor
- fix
perflint
W8202
- reduce cognitive complexity
v2022.2.1 (2022-02-09)
Fix
- add
get_timestamp
to__all__
v2022.2.0 (2022-02-09)
Feat
- add
get_timestamp
function
v2.0.2 (2022-01-25)
BREAKING CHANGE
- stop checking instance of
in_params
andout_params
Refactor
- fix SonarLint and Sourcery issues
v2.0.1 (2021-12-17)
Fix
- db: check instance of
out_params
v2.0.0 (2021-10-20)
BREAKING CHANGE
- calls to
db
functions should switch from passingdict
tolist[InParam]
andlist[OutParam]
where applicable
Feat
- add InParam, OutParam and Param to db
v1.1.2 (2021-10-18)
Fix
- update icendium.vision.gui constants
v1.1.1 (2021-10-18)
Fix
- bring back gui.CURSOR* constants
v1.1.0 (2021-10-15)
BREAKING CHANGE
- this project has turned into a pure Python project. Jython is no longer recommended.
Fix
- setup: modify Python 2 Only classifier
Refactor
- move version information into its own module
- rename
_User
class toIncendiumUser
- import and use implementing classes rather than interfaces
- import unicode_literals
- remove copyright from modules
v1.0.7.post2 (2021-09-13)
v1.0.7.post1 (2021-09-13)
Fix
- setup: include
__cycle__
in packageversion
v1.0.7 (2021-09-11)
Feat
- release: v1.0.7
Fix
- setup: fix path to version.py
Refactor
- add pylint
v1.0.6 (2021-08-04)
BREAKING CHANGE
DisposableConnection
'sdb
field has been renamed todatabase
to conform with snake_case naming style and to match the name used in somesystem.db
functions.
Fix
- break loop after expected conditions have been met
Refactor
- conform to snake_case naming style
v1.0.5 (2021-06-22)
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
- 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
Refactor
- modify imports
v1.0.4 (2021-02-24)
Feat
- :sparkles: add function to convert Dataset into JSON
- add flake8 pre-commit hook
Refactor
- :zap: simplify sequence comparison
v1.0.3 (2020-11-12)
v1.0.2 (2020-10-17)
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 incendium-2023.4.0-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 880e030949bf1d9794691502bfc8e1f7f3622b6fb6f35a2f130169d12aca73e2 |
|
MD5 | 7a1d194ea60a32ad26082cb68ce54d0d |
|
BLAKE2b-256 | 232aa3b34b3453509b7d6383be8f9724068b89eba0ccea039590d18eece2c955 |