Metadata-Version: 2.1
Name: incendium
Version: 2022.8.0
Summary: Package that extends and wraps Ignition Scripting API
Home-page: https://github.com/thecesrom/incendium
Author: César Román
Author-email: cesar@thecesrom.dev
License: MIT
Project-URL: Source, https://github.com/thecesrom/incendium
Project-URL: Documentation, https://github.com/thecesrom/incendium/wiki
Project-URL: Funding, https://github.com/sponsors/thecesrom
Project-URL: Tracker, https://github.com/thecesrom/incendium/issues
Description: # incendium
        
        <!--- Badges --->
        [![GitHub contributors](https://img.shields.io/github/contributors/thecesrom/incendium)](https://github.com/thecesrom/incendium/graphs/contributors)
        [![Downloads](https://pepy.tech/badge/incendium)](https://pepy.tech/project/incendium)
        [![PyPI](https://img.shields.io/pypi/v/incendium)](https://pypi.org/project/incendium/)
        ![GitHub last commit (code)](https://img.shields.io/github/last-commit/thecesrom/incendium)
        [![time tracker](https://wakatime.com/badge/github/thecesrom/incendium.svg)](https://wakatime.com/badge/github/thecesrom/incendium)
        [![Sourcery](https://img.shields.io/badge/Sourcery-enabled-brightgreen)](https://sourcery.ai)
        [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
        [![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/)
        [![Imports: flake8](https://img.shields.io/badge/%20imports-flake8-%231674b1?style=flat&labelColor=ef8336)](https://flake8.pycqa.org/en/latest/)
        [![Imports: pydocstyle](https://img.shields.io/badge/%20imports-pydocstyle-%231674b1?style=flat&labelColor=ef8336)](https://www.pydocstyle.org/en/stable/)
        [![linting: pylint](https://img.shields.io/badge/linting-pylint-yellowgreen)](https://github.com/PyCQA/pylint)
        [![pre-commit.ci status](https://results.pre-commit.ci/badge/github/thecesrom/incendium/code.svg)](https://results.pre-commit.ci/latest/github/thecesrom/incendium/code)
        [![Join us on GitHub discussions](https://img.shields.io/badge/github-discussions-informational)](https://github.com/thecesrom/incendium/discussions)
        
        >(/inˈken.di.um/)
        >
        >_noun_.
        >
        >1. A fire, inferno, conflagration; heat; torch.
        >1. (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](https://github.com/thecesrom/incendium/wiki).
        
        ## Branches
        
        This repository consists of the following branches:
        
        ### [code](https://github.com/thecesrom/incendium/tree/code)
        
        This branch will contain the source code for incendium's scripting functions.
        
        ### [project](https://github.com/thecesrom/incendium/tree/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](https://www.python.org/downloads/release/python-2718/))
        * You are familiar with [Ignition 8.1 System Functions](https://docs.inductiveautomation.com/display/DOC81/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.
        
        ```bash
        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).
        
        ```bash
        $ 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:
        
        ```bash
        python2 -m pip uninstall incendium
        ```
        
        ### Downloading from releases
        
        You may also download the code targeted to your desired version from the [releases page](https://github.com/thecesrom/incendium/releases) 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.
        
        1. Clone the repo or download from [releases](https://github.com/thecesrom/incendium/releases)
        2. With your project open where you want to include `incendium`, navigate to `File > Open` and select the `incendium` project folder
        3. Choose `Attach` when prompted
        4. Under the `incendium` project folder, right-click on the `src/` folder and choose `Mark Directory as > Sources Root`
        
        #### Installing incendium as a Project on your Gateway
        
        To install incendium on your Gateway follow these steps:
        
        1. Download **incendium.x.x.x.zip** from the [latest release](https://github.com/thecesrom/incendium/releases/latest) or from [Ignition Exchange](https://inductiveautomation.com/exchange/2104)
        1. Browse to your Ignition Gateway (version 8.0+)
        1. Go to **Config > Projects** and click on **Import project...**
        1. Click on **Choose File** and select the downloaded ZIP file
        1. Enter **incendium** as the **Project Name**
            1. If you're replacing a previous version, make sure to check Allow Overwrite
        1. Click on **Import**
        
        Alternatively you could follow the instructions for cloning the `project` branch directly into `$IGNITION_DIR/data/projects` found [here](https://github.com/thecesrom/incendium/tree/project#cloning-this-branch).
        
        ## Contributing to incendium
        
        To contribute to incendium, follow these steps:
        
        1. Fork this repository
        2. Create a local copy on your machine
        3. Create a branch
        4. Make sure to run `pre-commit install` to install required pre-commit hooks
        5. Make your changes and commit them
        6. Push to the `code` branch
        7. Create the pull request
        
        Alternatively see the GitHub documentation on [creating a pull request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request).
        
        ## Discussions
        
        Feel free to post your questions and/or ideas at [Discussions](https://github.com/thecesrom/incendium/discussions).
        
        ## Contributors
        
        Thanks to everyone who has contributed to this project.
        
        Up-to-date list of contributors can be found [here](https://github.com/thecesrom/incendium/graphs/contributors).
        
        ## License
        
        See the [LICENSE](https://github.com/thecesrom/incendium/blob/HEAD/LICENSE).
        
        ## Code of conduct
        
        This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
        
        ## 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 `ci` on all PRs (#40)
        
        ### Refactor
        
        - **ci**: update `ci.yml` (#38)
        - apply multiple refactorings to `dataset` (#34)
        
        ### Feat
        
        - add `get_users` function (#36)
        
        ## 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)
        
        ### Refactor
        
        - fix SonarLint and Sourcery issues
        
        ### BREAKING CHANGE
        
        - stop checking instance of `in_params` and `out_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 `db` functions should switch from  passing
        `dict` to `list[InParam]` and `list[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 `_User` class to `IncendiumUser`
        - 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 package `version`
        
        ## 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`'s `db` field has been renamed to
        `database` to conform with snake_case naming style and to match the name
        used in some `system.db` functions.
        
        ## 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)
        
Keywords: hmi,ignition,inductive automation,scada
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Manufacturing
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2 :: Only
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Testing :: Mocking
Requires-Python: ==2.7.18
Description-Content-Type: text/markdown
