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.
Branches
This repository consists of the following branches:
code
This branch will contain the source code for incendium's scripting functions.
project
This branch will contain the project folder structure as stored under $IGNITION_DIR/data/projects, and gives you the ability to get the latest code by cloning at the projects folder.
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 > Openand select theincendiumproject folder - Choose
Attachwhen prompted - Under the
incendiumproject 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
To contribute to incendium, follow these steps:
- Fork this repository
- Create a local copy on your machine
- Create a branch
- Make sure to run
pre-commit installto install required pre-commit hooks - Make your changes and commit them
- Push to the
codebranch - Create the pull request
Alternatively see the GitHub documentation on creating a pull request.
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.
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)
Fix
- ci: run
cion all PRs (#40)
Refactor
- ci: update
ci.yml(#38) - apply multiple refactorings to
dataset(#34)
Feat
- add
get_usersfunction (#36)
v2022.3.1 (2022-03-03)
Refactor
- fix
perflintW8202 - reduce cognitive complexity
v2022.2.1 (2022-02-09)
Fix
- add
get_timestampto__all__
v2022.2.0 (2022-02-09)
Feat
- add
get_timestampfunction
v2.0.2 (2022-01-25)
Refactor
- fix SonarLint and Sourcery issues
BREAKING CHANGE
- stop checking instance of
in_paramsandout_params
v2.0.1 (2021-12-17)
Fix
- db: check instance of
out_params
v2.0.0 (2021-10-20)
Feat
- add InParam, OutParam and Param to db
BREAKING CHANGE
- calls to
dbfunctions should switch from passingdicttolist[InParam]andlist[OutParam]where applicable
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)
Fix
- setup: modify Python 2 Only classifier
Refactor
- move version information into its own module
- rename
_Userclass toIncendiumUser - import and use implementing classes rather than interfaces
- import unicode_literals
- remove copyright from modules
BREAKING CHANGE
- this project has turned into a pure Python project. Jython is no longer recommended.
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)
Fix
- setup: fix path to version.py
Feat
- release: v1.0.7
Refactor
- add pylint
v1.0.6 (2021-08-04)
Fix
- break loop after expected conditions have been met
Refactor
- conform to snake_case naming style
BREAKING CHANGE
DisposableConnection'sdbfield has been renamed todatabaseto conform with snake_case naming style and to match the name used in somesystem.dbfunctions.
v1.0.5 (2021-06-22)
Refactor
- modify imports
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
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file incendium-2022.8.0.tar.gz.
File metadata
- Download URL: incendium-2022.8.0.tar.gz
- Upload date:
- Size: 19.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.27.1 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/2.7.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85e26372b10ac44aed5ab198707df130be1fe55762e170a7062476cc24933d1b
|
|
| MD5 |
8b80707b9be86b8198a6a771f1ea8965
|
|
| BLAKE2b-256 |
0f24458e1cb1ca067356a6da58b23ab0038ff4bb04744f09590152856be51d7b
|
File details
Details for the file incendium-2022.8.0-py2-none-any.whl.
File metadata
- Download URL: incendium-2022.8.0-py2-none-any.whl
- Upload date:
- Size: 21.1 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.27.1 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/2.7.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6bd4f6c8007971ec5d441fe1e35d21201021853a1a0ca1f95627748d354cdb58
|
|
| MD5 |
674770b0ac7e2e1183b384fcc02c654b
|
|
| BLAKE2b-256 |
b053b16a18fea017b1ff9c8113e200fbbb4d328dd2f284922da9a6a09f01f8c3
|