eta-utility


Nameeta-utility JSON
Version 3.1.0 PyPI version JSON
download
home_pagehttps://www.ptw.tu-darmstadt.de
SummaryA framework for researching energy optimization of factory operations
upload_time2024-03-05 10:44:28
maintainer
docs_urlNone
authorTechnical University of Darmstadt, Institute for Production Management, Technology and Machine Tools (PTW).
requires_python>=3.9,<3.12
licenseBSD-2-Clause
keywords connectors servers simulators industrial energy optimization rolling horizon optimization
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ETA Utility Functions
======================

While there are many tools which are useful in the area of energy optimized factory operations, at the
`ETA-Fabrik <https://www.ptw.tu-darmstadt.de>`_ at Technical University of Darmstadt we have recognized a lack of
comprehensive frameworks which combine functionality for optimization, simulation and communication with
devices in the factory.

Therefore, we developed the *eta_utility* framework, which provides a standardized interface for the development
of digital twins of factories or machines in a factory. The framework is based on the Gymnasium environment
and follows a rolling horizon optimization approach. It provides standardized connectors for multiple
communication protocols, including OPC UA and Modbus TCP. These facilities can be utilized to easily implement
rolling horizon optimizations for factory systems and to directly control devices in the factory with the
optimization results.

Full Documentation can be found on the
`Documentation Page <https://eta-utility.readthedocs.io/>`_.

You can find the `source code on github <https://github.com/PTW-TUDa/eta_utility/>`_. If you would like to contribute, please
check our `working repository <https://git.ptw.maschinenbau.tu-darmstadt.de/eta-fabrik/public/eta-utility/>`_.


.. warning::
    This is beta software. APIs and functionality might change without prior notice. Please fix the version you
    are using in your requirements to ensure your software will not be broken by changes in *eta_utility*.

The package *eta_utility* consists of five main modules and some additional functionality:

- *eta_x* is the rolling horizon optimization module which combines the functionality of the
  other modules. It is based on the *gymnasium* framework and utilizes
  algorithms and functions from the *stable_baselines3* package. *eta_x* also contains extended base classes for
  environments and additional agents (or algorithms).
- The *connectors* module provides a standardized way to connect to machines and devices in a
  factory or other factory systems (such as energy management systems). The **connectors** can also
  handle subscriptions, for example to regularly store values in a database.
- The *servers* module can be used to easily instantiate servers, for example to publish optimization
  results.
- *simulators* are interfaces based on the *fmpy* package which provide a way to simulate FMU
  (Functional Mockup Unit) models.
  The  *simulators* can be used to perform quick complete simulations or to step through simulation
  models, as would be the case in rolling horizons optimization.
- *timeseries* is an interface based on the *pandas* package to load and manipulate timeseries data
  from CSV files. It can for example rename columns, resample data in more complex ways such as
  multiple different resampling intervals or select random time slices from data. The *scenario_from_csv* function combines much of this functionality.
- Other functionality includes some general utilities which are available on the top level of the
  package.

Some particularities
----------------------

If you want to have logging output from eta utility, call:

.. code-block::

    from eta_utility import get_logger
    get_logger()

**eta_utility** uses dataframes to pass timeseries data and the dataframes are ensured to
contain timezone information where sensible.

Citing this project
--------------------

Please cite this project using our publication:

.. code-block::

    Grosch, B., Ranzau, H., Dietrich, B., Kohne, T., Fuhrländer-Völker, D., Sossenheimer, J., Lindner, M., Weigold, M.
    A framework for researching energy optimization of factory operations.
    Energy Inform 5 (Suppl 1), 29 (2022). https://doi.org/10.1186/s42162-022-00207-6

We would like to thank the many contributors who developed functionality for the package, helped with
documentation or provided insights which helped to create the framework architecture.

- *Niklas Panten* for the first implementation of the rolling horizon optimization now available in
  *eta_x*,
- *Nina Strobel* for the first implementation of the connectors,
- *Thomas Weber* for contributions to the rolling horizon optimization with MPC algorithms,
- *Guilherme Fernandes*, *Tobias Koch*, *Tobias Lademann*, *Saahil Nayyer*, *Magdalena Patyna*, *Jerome Stock*,
- and all others who made small and large contributions.

Contributions
--------------------

If you would like to contribute, please create an issue in the repository to discuss you suggestions.
Once the general idea has been agreed upon, you can create a merge request from the issue and
implement your changes there.

            

Raw data

            {
    "_id": null,
    "home_page": "https://www.ptw.tu-darmstadt.de",
    "name": "eta-utility",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9,<3.12",
    "maintainer_email": "",
    "keywords": "connectors,servers,simulators,industrial energy optimization,rolling horizon optimization",
    "author": "Technical University of Darmstadt, Institute for Production Management, Technology and Machine Tools (PTW).",
    "author_email": "info@ptw.tu-darmstadt.de",
    "download_url": "https://files.pythonhosted.org/packages/47/93/728be460c7bf01174cf444fadae0cf9c43d5a346b624febbffe610133df0/eta_utility-3.1.0.tar.gz",
    "platform": null,
    "description": "ETA Utility Functions\n======================\n\nWhile there are many tools which are useful in the area of energy optimized factory operations, at the\n`ETA-Fabrik <https://www.ptw.tu-darmstadt.de>`_ at Technical University of Darmstadt we have recognized a lack of\ncomprehensive frameworks which combine functionality for optimization, simulation and communication with\ndevices in the factory.\n\nTherefore, we developed the *eta_utility* framework, which provides a standardized interface for the development\nof digital twins of factories or machines in a factory. The framework is based on the Gymnasium environment\nand follows a rolling horizon optimization approach. It provides standardized connectors for multiple\ncommunication protocols, including OPC UA and Modbus TCP. These facilities can be utilized to easily implement\nrolling horizon optimizations for factory systems and to directly control devices in the factory with the\noptimization results.\n\nFull Documentation can be found on the\n`Documentation Page <https://eta-utility.readthedocs.io/>`_.\n\nYou can find the `source code on github <https://github.com/PTW-TUDa/eta_utility/>`_. If you would like to contribute, please\ncheck our `working repository <https://git.ptw.maschinenbau.tu-darmstadt.de/eta-fabrik/public/eta-utility/>`_.\n\n\n.. warning::\n    This is beta software. APIs and functionality might change without prior notice. Please fix the version you\n    are using in your requirements to ensure your software will not be broken by changes in *eta_utility*.\n\nThe package *eta_utility* consists of five main modules and some additional functionality:\n\n- *eta_x* is the rolling horizon optimization module which combines the functionality of the\n  other modules. It is based on the *gymnasium* framework and utilizes\n  algorithms and functions from the *stable_baselines3* package. *eta_x* also contains extended base classes for\n  environments and additional agents (or algorithms).\n- The *connectors* module provides a standardized way to connect to machines and devices in a\n  factory or other factory systems (such as energy management systems). The **connectors** can also\n  handle subscriptions, for example to regularly store values in a database.\n- The *servers* module can be used to easily instantiate servers, for example to publish optimization\n  results.\n- *simulators* are interfaces based on the *fmpy* package which provide a way to simulate FMU\n  (Functional Mockup Unit) models.\n  The  *simulators* can be used to perform quick complete simulations or to step through simulation\n  models, as would be the case in rolling horizons optimization.\n- *timeseries* is an interface based on the *pandas* package to load and manipulate timeseries data\n  from CSV files. It can for example rename columns, resample data in more complex ways such as\n  multiple different resampling intervals or select random time slices from data. The *scenario_from_csv* function combines much of this functionality.\n- Other functionality includes some general utilities which are available on the top level of the\n  package.\n\nSome particularities\n----------------------\n\nIf you want to have logging output from eta utility, call:\n\n.. code-block::\n\n    from eta_utility import get_logger\n    get_logger()\n\n**eta_utility** uses dataframes to pass timeseries data and the dataframes are ensured to\ncontain timezone information where sensible.\n\nCiting this project\n--------------------\n\nPlease cite this project using our publication:\n\n.. code-block::\n\n    Grosch, B., Ranzau, H., Dietrich, B., Kohne, T., Fuhrl\u00e4nder-V\u00f6lker, D., Sossenheimer, J., Lindner, M., Weigold, M.\n    A framework for researching energy optimization of factory operations.\n    Energy Inform 5 (Suppl 1), 29 (2022). https://doi.org/10.1186/s42162-022-00207-6\n\nWe would like to thank the many contributors who developed functionality for the package, helped with\ndocumentation or provided insights which helped to create the framework architecture.\n\n- *Niklas Panten* for the first implementation of the rolling horizon optimization now available in\n  *eta_x*,\n- *Nina Strobel* for the first implementation of the connectors,\n- *Thomas Weber* for contributions to the rolling horizon optimization with MPC algorithms,\n- *Guilherme Fernandes*, *Tobias Koch*, *Tobias Lademann*, *Saahil Nayyer*, *Magdalena Patyna*, *Jerome Stock*,\n- and all others who made small and large contributions.\n\nContributions\n--------------------\n\nIf you would like to contribute, please create an issue in the repository to discuss you suggestions.\nOnce the general idea has been agreed upon, you can create a merge request from the issue and\nimplement your changes there.\n",
    "bugtrack_url": null,
    "license": "BSD-2-Clause",
    "summary": "A framework for researching energy optimization of factory operations",
    "version": "3.1.0",
    "project_urls": {
        "Documentation": "https://eta-utility.readthedocs.io/",
        "Homepage": "https://www.ptw.tu-darmstadt.de",
        "Issues": "https://git.ptw.maschinenbau.tu-darmstadt.de/eta-fabrik/public/eta-utility/-/issues",
        "Repository": "https://github.com/PTW-TUDa/eta_utility/"
    },
    "split_keywords": [
        "connectors",
        "servers",
        "simulators",
        "industrial energy optimization",
        "rolling horizon optimization"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8ec10a1b80fa75df1be9359399fab5e9be9df82c4e66730eade08c91324511a9",
                "md5": "dae7dc844171ef45cba93a2a26336548",
                "sha256": "6a9116fdf45b47aeb599dba755270ae0fe257eca752ea2c1668450ced107cef3"
            },
            "downloads": -1,
            "filename": "eta_utility-3.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "dae7dc844171ef45cba93a2a26336548",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9,<3.12",
            "size": 186148,
            "upload_time": "2024-03-05T10:44:21",
            "upload_time_iso_8601": "2024-03-05T10:44:21.985746Z",
            "url": "https://files.pythonhosted.org/packages/8e/c1/0a1b80fa75df1be9359399fab5e9be9df82c4e66730eade08c91324511a9/eta_utility-3.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4793728be460c7bf01174cf444fadae0cf9c43d5a346b624febbffe610133df0",
                "md5": "b56249ed743592b1a1604efeda5270c7",
                "sha256": "45c0d0290c3e246538b7fb3ac35e6dae0efdc32663f9b1539835ae032eb28b17"
            },
            "downloads": -1,
            "filename": "eta_utility-3.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "b56249ed743592b1a1604efeda5270c7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9,<3.12",
            "size": 39378662,
            "upload_time": "2024-03-05T10:44:28",
            "upload_time_iso_8601": "2024-03-05T10:44:28.662019Z",
            "url": "https://files.pythonhosted.org/packages/47/93/728be460c7bf01174cf444fadae0cf9c43d5a346b624febbffe610133df0/eta_utility-3.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-05 10:44:28",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "PTW-TUDa",
    "github_project": "eta_utility",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "eta-utility"
}
        
Elapsed time: 0.20045s