skillfed

asammdf

ASAM MDF measurement data file parser

asammdf v8.8.23 1.6M downloads/30d#3,756 on PyPI801
Copyleft license LGPLv3+ Active released

What it is and what it does

asammdf is a parser and editor for ASAM MDF measurement data files used in automotive and industrial testing. It reads MDF versions 2, 3, and 4, extracts channels and signals, and supports operations like filtering, time-slicing, and format conversion. The library is built around a Signal class for unified handling of multi-rate time-series data from different sources, which is more flexible than pandas DataFrames when channels have mismatched time bases.

The package depends on numpy, pandas, lxml, and several compression libraries (lz4, zstd, isal) to handle large measurement files efficiently. It includes support for CAN and LIN bus logging extraction, attachment handling, and export to multiple formats (HDF5, Matlab v7.3, CSV, parquet). The library targets Python 3.10+ and is actively maintained with a stable, production-ready status.

Use it for:

  • Extract and plot specific signals from automotive test measurement files for analysis and visualization.
  • Filter a subset of channels from a large MDF file and cut to a time window for focused analysis.
  • Convert MDF v3 or v4 files to v4.10 format or export to pandas/HDF5 for downstream processing.
  • Parse CAN bus logging measurements and extract signals using a CAN database (.dbc or .arxml).
  • Merge multiple MDF files with the same structure while handling large files on resource-constrained systems.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

asammdf parses, edits, and exports ASAM MDF measurement data files (versions 2, 3, and 4), supporting CAN/LIN bus logging, channel filtering, time-domain operations, and conversion to pandas, HDF5, Matlab, CSV, and parquet formats.

Yes, with conditions. Install if you work with ASAM MDF files and need a Python-native parser with active maintenance and no known vulnerabilities. The LGPLv3+ copyleft license is a blocker for proprietary software distribution; the medium install friction (12 dependencies) is manageable for most environments. The 801 GitHub stars and recent activity (9 days since last release) indicate a stable, well-supported project.

Install

asammdf on PyPI

pip

pip install asammdf

uv

uv add asammdf

poetry

poetry add asammdf

Installing asammdf

Before you install

Medium install friction due to 12 runtime dependencies including numpy, pandas, lxml, and compression libraries (lz4, zstd, isal). Actively maintained with recent releases; last commit 2026-08-06 and 801 GitHub stars indicate stable, ongoing development.

License in practice

LGPLv3+ copyleft license requires derivative works to be licensed under compatible terms and source code to be made available; acceptable for internal use and open-source projects, but restrictive for proprietary software distribution.

Quickstart

from asammdf import MDF

mdf = MDF('sample.mdf')
speed = mdf.get('WheelSpeed')
short = mdf.filter(['WheelSpeed']).cut(start=10, stop=12)
short.convert('4.10').save('output.mf4')

Requires Python >= 3.10; MDF file must be a valid ASAM MDF v2, v3, or v4 file.

Verify before relying

  • Performance comparison claims ('faster than other Python-based mdf libraries') lack quantitative benchmarks in the fact sheet.
  • Actual memory footprint and scalability limits for 'large files' (e.g., 5GB merges) are not specified.
  • Whether CAN/LIN database support (.dbc, .arxml) is fully functional or experimental.

Package facts

License LGPLv3+ (copyleft)
Python support supports the current Python release (>=3.10)
Install friction medium — platform-specific wheel
Runtime dependencies 12 — chardet, canmatrix, isal, deflate, lxml, lz4, numexpr, numpy, pandas, python-dateutil, typing-extensions, zstd
Maintenance actively maintained — 9 days since the last release
Last repo commit
First released
Downloads 1,566,663/month — #3,756 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: asammdf-8.8.23-cp310-abi3-macosx_11_0_arm64.whl; asammdf-8.8.23-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; asammdf-8.8.23-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; asammdf-8.8.23-cp310-abi3-win_amd64.whl

Keywords: read, reader, edit, editor, parse, parser, asam, mdf, measurement

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15Topic :: Scientific/EngineeringTopic :: Software Development

Tags

MDF file parserASAM measurement data formatCAN bus logging readerMDF to pandas convertermeasurement data editorMDF v3 v4 parsertime series data extraction
automotive-datatime-series-analysismeasurement-format

More Software Development packages