dymoval


Namedymoval JSON
Version 0.8.84 PyPI version JSON
download
home_page
SummaryDymoval is a Python package for validating models and analyzing datasets.
upload_time2024-03-14 10:32:27
maintainer
docs_urlNone
author
requires_python>=3.10
licenseBSD 3-Clause License Author: Ubaldo Tiberi. Copyright (c) 2018, Volvo Autonomous Solutions. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
keywords data-analysis modeling model validation dataset data
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">

<img src="https://github.com/VolvoGroup/dymoval/blob/main/docs/source/figures/DymovalLogo.svg" data-canonical-src="[https://github.com/VolvoGroup/dymoval/blob/main/docs/source/figures/DymovalLogo.svg](https://github.com/VolvoGroup/dymoval/blob/main/docs/source/figures/DymovalLogo.svg)" width="800" class="center" />


</div>

### Build status
![pipeline](https://github.com/VolvoGroup/dymoval/actions/workflows/pipeline.yml/badge.svg)
![coverage badge](./coverage.svg)

### Tools
[![Build - pdm](https://img.shields.io/badge/build-pdm-blueviolet)](https://pdm.fming.dev/latest/)
[![code check - flake8](https://img.shields.io/badge/checks-flake8-green.svg)](https://pypi.org/project/flake8)
[![types - Mypy](https://img.shields.io/badge/types-mypy-orange.svg)](https://github.com/python/mypy)
[![test - pytest](https://img.shields.io/badge/tests-pytest-brightgreen.svg)](https://github.com/pytest-dev/pytest)
[![code style - black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![docs - sphinx](https://img.shields.io/badge/docs-sphinx-blue.svg)](https://github.com/sphinx-doc/sphinx)
-----

## What is it?

**Dymoval**  (**Dy**namic **Mo**del **Val**idation) is a Python package for analyzing *datasets* and validate *models*.

It does not matter if your model is a Deep Neural Network, an ODE or something more complex, nor is important if you use Modelica or Simulink or whatever as modeling tool.
All you need to do is to feed *Dymoval* with real-world measurements and model-generated data and you will get a model quality evaluation in r-squared fit, residuals norms and coverage region.


<div align="center" >
	<br>
	<br>
<img src="https://github.com/VolvoGroup/dymoval/blob/main/docs/source/figures/DymovalNutshell.svg" data-canonical-src="[https://github.com/VolvoGroup/dymoval/blob/main/docs/source/figures/DymovalNutshell.svg](https://github.com/VolvoGroup/dymoval/blob/main/docs/source/DymovalNutshell.svg)" width="600" class="center"  />
	<br>
	<br>
	<br>
</div>


If you are developing your models in a CI/CD environment, then *Dymoval* can help you in deciding if merging or not the latest model changes.
In-fact, *Dymoval* functions can also be included in development pipelines scripts, so the whole CI/CD process can be fully automatized.

*Dymoval* finally provides you with some essential functions for dealing with dataset analysis and manipulation.

Although the tool has been thought with engineers in mind, no one prevents you to use it in other application domains.



## Main Features

 **Datasets analysis and manipulation**
- Time and frequency analysis
- Physical units
- Easy plotting of signals
- Missing data handling
- Linear filtering
- Means and offsets removal
- Re-sampling

**Model validation**
- Validation metrics:
	- R-square fit
	- Residuals auto-correlation
	- Input-Residuals cross-correlation
- Coverage region
- Enable model unit-tests
- Work for both SISO and MIMO models
- Modeling tool independence
- Easily integrate with CI/CD pipelines.


## Installation
Dymoval exists on both `pip` and `conda`, so you can choose between the
following:

    pip install dymoval
    conda install -c ubaldot dymoval
    conda install -c conda-forge dymoval


## Getting started

If you are already familiar with model validation, then the best way to get started with dymoval is to run the tutorial scripts that you can open with

	import dymoval as dmv
	dmv.open_tutorial()


This create a `dymoval_tutorial` folder containing all the files needed to
run the tutorial in your `home` folder. All you have to do is to run Jupyter notebook named
`dymoval_tutorial.ipynb`. You need an app for opening `.ipynb` files.


For more info on what is model validation and what is implemented in *dymoval* along with the *dymoval* complete API, you can check the [docs](https://volvogroup.github.io/dymoval/).

## License
Dymoval is licensed under [BSD 3](https://github.com/VolvoGroup/dymoval/blob/main/LICENSE) license.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "dymoval",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "",
    "keywords": "data-analysis modeling model validation dataset data",
    "author": "",
    "author_email": "Ubaldo Tiberi <ubaldo.tiberi@volvo.com>, Ubaldo Tiberi <ubaldo.tiberi@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/67/9d/6845069e4bf61aff8d58193f7af2cf72ad71ca1c18f1c30d70bd9188ee88/dymoval-0.8.84.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n\n<img src=\"https://github.com/VolvoGroup/dymoval/blob/main/docs/source/figures/DymovalLogo.svg\" data-canonical-src=\"[https://github.com/VolvoGroup/dymoval/blob/main/docs/source/figures/DymovalLogo.svg](https://github.com/VolvoGroup/dymoval/blob/main/docs/source/figures/DymovalLogo.svg)\" width=\"800\" class=\"center\" />\n\n\n</div>\n\n### Build status\n![pipeline](https://github.com/VolvoGroup/dymoval/actions/workflows/pipeline.yml/badge.svg)\n![coverage badge](./coverage.svg)\n\n### Tools\n[![Build - pdm](https://img.shields.io/badge/build-pdm-blueviolet)](https://pdm.fming.dev/latest/)\n[![code check - flake8](https://img.shields.io/badge/checks-flake8-green.svg)](https://pypi.org/project/flake8)\n[![types - Mypy](https://img.shields.io/badge/types-mypy-orange.svg)](https://github.com/python/mypy)\n[![test - pytest](https://img.shields.io/badge/tests-pytest-brightgreen.svg)](https://github.com/pytest-dev/pytest)\n[![code style - black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![docs - sphinx](https://img.shields.io/badge/docs-sphinx-blue.svg)](https://github.com/sphinx-doc/sphinx)\n-----\n\n## What is it?\n\n**Dymoval**  (**Dy**namic **Mo**del **Val**idation) is a Python package for analyzing *datasets* and validate *models*.\n\nIt does not matter if your model is a Deep Neural Network, an ODE or something more complex, nor is important if you use Modelica or Simulink or whatever as modeling tool.\nAll you need to do is to feed *Dymoval* with real-world measurements and model-generated data and you will get a model quality evaluation in r-squared fit, residuals norms and coverage region.\n\n\n<div align=\"center\" >\n\t<br>\n\t<br>\n<img src=\"https://github.com/VolvoGroup/dymoval/blob/main/docs/source/figures/DymovalNutshell.svg\" data-canonical-src=\"[https://github.com/VolvoGroup/dymoval/blob/main/docs/source/figures/DymovalNutshell.svg](https://github.com/VolvoGroup/dymoval/blob/main/docs/source/DymovalNutshell.svg)\" width=\"600\" class=\"center\"  />\n\t<br>\n\t<br>\n\t<br>\n</div>\n\n\nIf you are developing your models in a CI/CD environment, then *Dymoval* can help you in deciding if merging or not the latest model changes.\nIn-fact, *Dymoval* functions can also be included in development pipelines scripts, so the whole CI/CD process can be fully automatized.\n\n*Dymoval* finally provides you with some essential functions for dealing with dataset analysis and manipulation.\n\nAlthough the tool has been thought with engineers in mind, no one prevents you to use it in other application domains.\n\n\n\n## Main Features\n\n **Datasets analysis and manipulation**\n- Time and frequency analysis\n- Physical units\n- Easy plotting of signals\n- Missing data handling\n- Linear filtering\n- Means and offsets removal\n- Re-sampling\n\n**Model validation**\n- Validation metrics:\n\t- R-square fit\n\t- Residuals auto-correlation\n\t- Input-Residuals cross-correlation\n- Coverage region\n- Enable model unit-tests\n- Work for both SISO and MIMO models\n- Modeling tool independence\n- Easily integrate with CI/CD pipelines.\n\n\n## Installation\nDymoval exists on both `pip` and `conda`, so you can choose between the\nfollowing:\n\n    pip install dymoval\n    conda install -c ubaldot dymoval\n    conda install -c conda-forge dymoval\n\n\n## Getting started\n\nIf you are already familiar with model validation, then the best way to get started with dymoval is to run the tutorial scripts that you can open with\n\n\timport dymoval as dmv\n\tdmv.open_tutorial()\n\n\nThis create a `dymoval_tutorial` folder containing all the files needed to\nrun the tutorial in your `home` folder. All you have to do is to run Jupyter notebook named\n`dymoval_tutorial.ipynb`. You need an app for opening `.ipynb` files.\n\n\nFor more info on what is model validation and what is implemented in *dymoval* along with the *dymoval* complete API, you can check the [docs](https://volvogroup.github.io/dymoval/).\n\n## License\nDymoval is licensed under [BSD 3](https://github.com/VolvoGroup/dymoval/blob/main/LICENSE) license.\n",
    "bugtrack_url": null,
    "license": "BSD 3-Clause License\n        \n        Author: Ubaldo Tiberi.\n        Copyright (c) 2018, Volvo Autonomous Solutions.\n        All rights reserved.\n        \n        Redistribution and use in source and binary forms, with or without\n        modification, are permitted provided that the following conditions are met:\n        \n        * Redistributions of source code must retain the above copyright notice, this\n          list of conditions and the following disclaimer.\n        \n        * Redistributions in binary form must reproduce the above copyright notice,\n          this list of conditions and the following disclaimer in the documentation\n          and/or other materials provided with the distribution.\n        \n        * Neither the name of the copyright holder nor the names of its\n          contributors may be used to endorse or promote products derived from\n          this software without specific prior written permission.\n        \n        THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n        AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n        IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n        DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n        FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n        DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n        SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n        CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n        OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n        OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.",
    "summary": "Dymoval is a Python package for validating models and analyzing datasets.",
    "version": "0.8.84",
    "project_urls": {
        "Bug tracker": "https://github.com/ubaldot/dymoval/issues",
        "Documentation": "https://ubaldot.github.io/dymoval/",
        "Homepage": "https://github.com/ubaldot/dymoval"
    },
    "split_keywords": [
        "data-analysis",
        "modeling",
        "model",
        "validation",
        "dataset",
        "data"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "077124ef523c8b673911e6006cb5f7e59ead5aa6d26686e40cdf0914a085df79",
                "md5": "185d61150bd818291d8b1406a1a1cf3f",
                "sha256": "2b6058c4c3a5d0b63703dbf0a12900cb01e031dca3e39ad3d6b2e9be72c7500c"
            },
            "downloads": -1,
            "filename": "dymoval-0.8.84-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "185d61150bd818291d8b1406a1a1cf3f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 1651135,
            "upload_time": "2024-03-14T10:32:24",
            "upload_time_iso_8601": "2024-03-14T10:32:24.705811Z",
            "url": "https://files.pythonhosted.org/packages/07/71/24ef523c8b673911e6006cb5f7e59ead5aa6d26686e40cdf0914a085df79/dymoval-0.8.84-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "679d6845069e4bf61aff8d58193f7af2cf72ad71ca1c18f1c30d70bd9188ee88",
                "md5": "7845943a1a9ae6f4b151f72dbd204f41",
                "sha256": "c1228dae844a5859f1551c9ded69658308b0aab8c922471172f19352332f07d5"
            },
            "downloads": -1,
            "filename": "dymoval-0.8.84.tar.gz",
            "has_sig": false,
            "md5_digest": "7845943a1a9ae6f4b151f72dbd204f41",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 1669234,
            "upload_time": "2024-03-14T10:32:27",
            "upload_time_iso_8601": "2024-03-14T10:32:27.275295Z",
            "url": "https://files.pythonhosted.org/packages/67/9d/6845069e4bf61aff8d58193f7af2cf72ad71ca1c18f1c30d70bd9188ee88/dymoval-0.8.84.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-14 10:32:27",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ubaldot",
    "github_project": "dymoval",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "dymoval"
}
        
Elapsed time: 4.14099s