Metadata-Version: 2.1
Name: incendium
Version: 2023.2.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).
        
        ## `incendium` Project
        
        We have moved the `project` branch to its own repo, [`incendium-project`](https://github.com/thecesrom/incendium-project)
        
        ## 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`
        
        See [CONTRIBUTING.md](./CONTRIBUTING.md).
        
        ## 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 [LICENSE](./LICENSE).
        
        ## Code of conduct
        
        See [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md).
        
        ## 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` and `out_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  passing
        `dict` to `list[InParam]` and `list[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 to `IncendiumUser`
        - 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 package `version`
        
        ## 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`'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.
        
        ### 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)
        
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
