Integration package for ASAM related projects
Project description
asamint (ASAM integration package) integrates several automotive related opensource projects.
The projects in question projects are mainly following an mechanism-not-policy approach, but asamint aims to add higher level APIs, that could be used to implement common measurement and calibration tasks.
To put it into another words, asamint will be a command-line MCS (measurement and calibration system).
The aggregated Python projects in alphabetical order:
Project / repository |
pip/PyPI name |
|---|---|
asammdf |
|
objutils |
|
pya2ldb |
|
pyxcp |
And yes, all listed projects are Raspberry PI tested :smile:
Installation
clone / fork / download from here.
Then run
python setup.py develop
Dependencies
asamint currently doesn’t specify dependencies on its own – installing the above listed projects should be sufficient.
License
asamint is released under GPLv2 license terms.
Features
Note: At this stage, the project is highly experimental and hacky, so don’t expect stable APIs and tons of features!
Functions are basically orchestrated using ASAM MCD-2MC (A2L) files.
Some examples include (not necessarily in a working condition yet):
Create calibration data files (ASAM CDF) from XCP slaves or HEX files.
Setup dynamic DAQs.
High-level API to create MDF files.
Migration & Compatibility
Prefer public imports from asamint.api (Calibration/OfflineCalibration/OnlineCalibration, ParameterCache, measurement helpers, finalize_daq_csv, config snapshots) instead of deep package paths; consume pyxcp/pya2l/asammdf/objutils only through their adapters.
CLI/config: use asamint.cmdline.finalize_daq_csv for DAQ CSV → CSV/HDF5 finalization; configuration is traitlets-based (asamint.config) with Path and configure_logging defaults.
Fixtures stay under tests/ (A2L/HEX/MSRSW, DAQ CSV/HDF5); external-facing formats (CDF/MDF/HDF5) remain compatible, with new helpers added behind existing facades.
When migrating older code, update imports, replace direct adapter usage, and validate with poetry run pytest plus poetry run ruff check ..
API Stability & Deprecation
The stable public surface is exported from asamint.api. Prefer these names in application code.
Renamed or removed API names are kept as deprecated aliases in asamint.api and emit DeprecationWarning when accessed.
Deprecated aliases include a removal version in asamint.api._DEPRECATED_ALIASES; remove legacy usage before that version.
If you need a new alias for migration, add it to asamint.api._DEPRECATED_ALIASES and cover it with a small test.
Please refer to examples directory.
Measurement Formats & Registry
CSV, HDF5, and MDF handling lives under asamint.measurement.{csv,hdf5,mdf} and is registered in the measurement format registry; thin shims stay at asamint.hdf5/asamint.mdf for compatibility.
Custom backends can be registered without touching core code. Example (InfluxDB placeholder):
from pathlib import Path
from asamint.adapters.measurement import MeasurementFormat, register_measurement_format
from asamint import measurement
def persist_influx(*, data, units=None, project_meta=None, output_path: str | Path | None = None, **kwargs):
return measurement.RunResult(
mdf_path=None,
csv_path=None,
hdf5_path=str(output_path) if output_path else None,
signals={},
timebases=None,
)
register_measurement_format(
MeasurementFormat(
name="INFLUX",
persist=persist_influx,
description="Persist measurements to InfluxDB",
default_extension=".influx",
)
)
Further Readings
Here’s a collection of some public accessible documents, if you want to dig deeper into the wonderworld of automotive measurement and calibration.
Miscellaneous
asamint includes some more or less useful tools.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file asamint-0.2.2.tar.gz.
File metadata
- Download URL: asamint-0.2.2.tar.gz
- Upload date:
- Size: 352.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f4172147aeb9670ff61048da49ba830149ea622e01a1524e449092104fa7b7d
|
|
| MD5 |
b1829688665267c7b8b1cf0f29e252b8
|
|
| BLAKE2b-256 |
cd7963a533ba213499610930e5b3137546179ea83ab05f221da4d4ef2eaf93ca
|