Skip to main content

mpylab

pipeline status coverage PyPI version Python versions documentation

This is mpylab. Mpylab is a framework for automatic measurement application and hardware device drivers (TCP/IP, GPIB, serial, USB).

This software is distributed unter GPL-3 or higher. See LICENSE for details.

Installation

pip3 install mpylab

Command-line tools

Installing mpylab provides three configuration-maintenance commands:

# Migrate legacy f condition identifiers in one DOT file or a directory.
mpylab-dot-migrate --write local-config.dot
mpylab-dot-migrate --check --recursive path/to/configurations

# Migrate legacy NPORT interpolation settings.
mpylab-nport-migrate --write local-cable.ini
mpylab-nport-migrate --check --recursive path/to/configurations

# Check NPORT coverage, sampling and interpolation quality.
mpylab-nport-check --recursive path/to/configurations \
    --json-report nport-quality.json

Both migration commands perform a dry run and show a diff unless --write or --check is selected. Use --no-diff to suppress diff output. The DOT tool can additionally validate selected signal paths with --path, --frequency-range, --path-mode and --context. Run any command with --help for its complete option list. Detailed usage is available in the documentation.

MSC virtual workflows

The MSC scripts can be run with virtual device configurations below script/conf. The pickle files written by these scripts are history containers: a new measurement loads an existing MSC instance, appends new measurement and evaluation data, and writes a new pickle containing the full previous history.

Typical sequences are:

maincal -> eutcal -> immunity
maincal -> eutcal -> emission
maincal -> eutcal -> immunity -> emission

Example from the script directory:

python msc-maincal.py conf/msc-immunity-virtual/conf.py
python msc-eutcal.py conf/msc-immunity-virtual/conf-eutcal.py
python msc-immunity.py conf/msc-immunity-virtual/conf-immunity.py
python msc-emission.py conf/msc-emission-virtual/conf-after-immunity.py

GTEM virtual workflows

The current TEM/GTEM scripts focus on one-port GTEM cells. The virtual workflow follows the traceable pickle-history model used by the MSC scripts:

e0y -> emission

Example from the script directory:

python tem-e0y.py conf/tem-gtem-e0y-virtual/conf.py
python tem-emission.py conf/tem-gtem-emission-virtual/conf.py

The measurement and evaluation workflow is based on IEC 61000-4-20:2010, especially Annex A.3.2.3 for one-port GTEM emission correlation and Annex A.3.2.3.3 for the e0y field factor.

Structured immunity results

mpylab.env.immunity_result provides a shared JSON result format for immunity applications. Its disturbance records are not tied to electric field strength: radiated applications can store field components, while conducted applications can use injected current or voltage with their own component names. SCUQ quantities retain value, uncertainty, and unit.

License

GPL-3 or higher

Repository

https://gitlab.hrz.tu-chemnitz.de/chair-of-electromagnetic-theory-and-compatibility-at-tu-dresden/mpylab/mpylab.git

The documentation is also available from the gitlab server of TU Chemnitz:

https://mpylab-75fcff.gp.hrz.tu-chemnitz.de/

Contact

Prof. Dr. Hans Georg Krauthäuser (hgk@ieee.org)
Chair for Electromagnetic Theory and Compatibility
Technische Universität Dresden, Dresden, Germany

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mpylab-1.0.12.tar.gz (22.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mpylab-1.0.12-py3-none-any.whl (662.2 kB view details)

Uploaded Python 3

File details

Details for the file mpylab-1.0.12.tar.gz.

File metadata

  • Download URL: mpylab-1.0.12.tar.gz
  • Upload date:
  • Size: 22.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for mpylab-1.0.12.tar.gz
Algorithm Hash digest
SHA256 2c8e04121cb4fbc831871f5be26a10789a4161f9ea13679b94c9a84d1bbe65e6
MD5 c46828862230ea4982c41bb9d59407e1
BLAKE2b-256 59014193005db68262efb55f38cbfb2e1dff89ab63d11cff41ef641ed90b2af5

See more details on using hashes here.

File details

Details for the file mpylab-1.0.12-py3-none-any.whl.

File metadata

  • Download URL: mpylab-1.0.12-py3-none-any.whl
  • Upload date:
  • Size: 662.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for mpylab-1.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 2d223183e341b009e33936f4dd0e9b27b9624bce20ef960afc329c5a63d7c1e5
MD5 7e5e19f118571045fe63a00a74b95fcf
BLAKE2b-256 3c783bc95111118e09f1300b39b6069eb216205293f0725cd2d72cc06d277ae9

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.23

2 files

1.0.22

2 files

1.0.21

2 files

1.0.20

2 files

1.0.19

2 files

1.0.18

2 files

1.0.17

2 files

1.0.16

2 files

1.0.15

2 files

1.0.14

2 files

1.0.13

2 files

This release

1.0.12 This release

2 files

1.0.11

2 files

1.0.10

2 files

1.0.9

2 files

1.0.8

2 files

1.0.7

2 files

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.9.5

2 files

0.9.4

2 files

0.9.3

2 files

0.9.2

2 files

0.9.1

2 files

0.9

2 files

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