Skip to main content

Build status

pipeline coverage badge

Tools

types - mypy test - pytest code style - ruff docs - sphinx


What is it?

Dymoval is a Python package for analyzing measurement data and validating models.

Dymoval validates models based only on measurements and simulated data, and it is completely independent of the used modeling tool. That means that it does not matter if a model has been developed with Simulink, Modelica, etc., dymoval will only look at the produced data from the model.





If you are tracking your models changes in a CI/CD environment, then dymoval API can be easily used to run tests in Jenkins or GitHub Actions pipelines as it enables unit-testing on models.

Finally, dymoval provides a number of functions for for handling measurements data, addressing common issues such as noise, missing data, and varying sampling intervals.

Installation

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

pip install dymoval
conda install -c conda-forge dymoval

Getting started

Suppose you want to validate a model and you have the simulated out y_sim the measured input u_meas, and the measured out y_meas time-series sampled with period sampled_period. Just call the following function:

from dymoval.validation import validate_models

validate_models(
    measured_in=u_meas,
    measured_out=y_meas,
    simulated_out=y_sim,
    sampling_period = sampling_period
)

to get something like the following:

  Input whiteness (abs_mean-max)      0.3532
  R-Squared (%)                      65.9009
  Residuals whiteness (abs_mean-max)  0.1087
  Input-Res whiteness (abs_mean-max)  0.2053

           My_Model
  Outcome: PASS

Congrats! Your model passed the test!

But what if the test didn't pass? Don't worry, it might not be the model's fault.

For example, you could be dealing with noisy measurements, over-sampled signals, missing data, and other factors that might affect the results. Take a look at the tutorial to learn how to address such issues:

  import dymoval as dmv
  dmv.open_tutorial()

The above commands 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.

And if you want to discover more on model validation and Dymoval check out the docs.

Main Features

Model validation

  • Validation metrics:
    • R-square fit
    • Residuals auto-correlation statistics
    • Input-Residuals cross-correlation statistics
  • Coverage region
  • MIMO models
  • Independence of the modeling tool used.
  • API suitable for model unit-tests

Measurement data analysis and manipulation

  • Time and frequency analysis
  • Easy plotting
  • Missing data handling
  • Linear filtering
  • Means and offsets removal
  • Re-sampling
  • Physical units

License

Dymoval is licensed under BSD 3 license.

Metadata

Release files for dymoval 0.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dymoval 0.9.0
File Size Uploaded Provenance Actions
dymoval-0.9.0.tar.gz 4.5 MB Without provenance Details for dymoval-0.9.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for dymoval 0.9.0
File Interpreter ABI Platform Actions
dymoval-0.9.0-py3-none-any.whl Python 3 none any Details for dymoval-0.9.0-py3-none-any.whl

Total release size: 9.0 MB

Release files / dymoval-0.9.0.tar.gz

Download URL dymoval-0.9.0.tar.gz
Size 4.5 MB
Tags Source
SHA-256 checksum
How to use checksums
f843cfe24388ec4cf27f92335114511917697445f9aa3ce4da8fbafba9851462
BLAKE2b-256 checksum
How to use checksums
2656fa03101ce74aa407ed77daa6c9748d420ccd52cafd6283433b90bd8f8aad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.21.0 CPython/3.11.3 Darwin/24.1.0

Release files / dymoval-0.9.0-py3-none-any.whl

Download URL dymoval-0.9.0-py3-none-any.whl
Size 4.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
1da92f0b7f62ad93f17277ad3fa13a5f14988e3c45008baa7d457c51f47c1cb1
BLAKE2b-256 checksum
How to use checksums
19b527692639fc3b57625ed90e2c343f8090ee81387eb7550b62f63c2ac12083
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.21.0 CPython/3.11.3 Darwin/24.1.0

Security for dymoval 0.9.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page