canml Module

canml icon

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.