canml Module
This is the top‐level package for canml.
- canml.iter_blf_chunks(blf_path: str, db: Database, config: CanmlConfig, filter_ids: Set[int] | None = None, filter_signals: Set[str] | None = None) Iterator[DataFrame][source]
Stream-decode BLF file into DataFrame chunks.
- Parameters:
blf_path – .blf file path.
db – loaded CantoolsDatabase.
config – CanmlConfig instance.
filter_ids – set of arbitration IDs to include.
filter_signals – set of signal names to include.
- Yields:
pandas.DataFrame chunks of decoded messages.
- canml.load_blf(blf_path: str, db: Database | str | List[str], config: CanmlConfig | None = None, message_ids: Set[int] | None = None, expected_signals: Iterable[str] | None = None) DataFrame[source]
Load an entire BLF file into a DataFrame, decoding and aligning signals.
- Parameters:
blf_path – .blf file path.
db – CantoolsDatabase or DBC file path(s).
config – CanmlConfig instance.
message_ids – IDs to include (None=all).
expected_signals – signals to include (None=all in DBC).
- Returns:
pandas.DataFrame with columns [timestamp,…signals].
- canml.load_dbc_files(dbc_paths: str | List[str], prefix_signals: bool = False) Database[source]
Load and optionally prefix one or more DBC files into a Cantools database.
- Parameters:
dbc_paths – path or list of paths to .dbc files.
prefix_signals – if True, prefix signal names with their message name.
- Returns:
Cached CantoolsDatabase instance.
- canml.to_csv(df_or_iter: DataFrame | Iterable[DataFrame], output_path: str, mode: str = 'w', header: bool = True, pandas_kwargs: Dict[str, Any] | None = None, columns: List[str] | None = None, metadata_path: str | None = None) None[source]
Write DataFrame or iterable of DataFrames to CSV, exporting metadata.
- Parameters:
df_or_iter – single DataFrame or iterable of chunks.
output_path – CSV file path.
mode – ‘w’ or ‘a’.
header – write header row.
pandas_kwargs – extra pandas.to_csv kwargs.
columns – subset/order of columns to write.
metadata_path – JSON file path to save df.attrs[“signal_attributes”].
- canml.to_parquet(df: DataFrame, output_path: str, compression: str = 'snappy', pandas_kwargs: Dict[str, Any] | None = None, metadata_path: str | None = None) None[source]
Write DataFrame to Parquet with optional metadata export.
- Parameters:
df – DataFrame to write.
output_path – .parquet file path.
compression – Parquet codec.
pandas_kwargs – kwargs for pandas.to_parquet.
metadata_path – JSON path for signal_attributes metadata.