Skip to content

edaa-org/pyEDAA.OutputFilter

Repository files navigation

Sourcecode on GitHub Sourcecode License Documentation Documentation License
PyPI PyPI - Status PyPI - Python Version
GitHub Workflow - Build and Test Status Libraries.io status for latest release Codacy - Quality Codacy - Coverage Codecov - Branch Coverage

Main Goals

  • Live and offline parsing and classification of message lines from tool outputs.
  • Provide a data model for tool specific log files.
  • Extract values, lists and tables of embedded reports or summaries.
  • Implement checks and policies.

Use Cases

  • Write colorized logs to CI server logs or to shells based on classification.
  • Increase or decrease the severity level of message.
  • List messages of a certain kind (e.g. unused sequential elements).
  • Check for existence / non-existence of messages or outputs (e.g. latches).
  • Collect statistics and convert to datasets for a time series database (TSDB).

Examples

from pathlib import Path
from pyEDAA.OutputFilter.Xilinx.SynthesizeDesign import Processor

logfile = Path("tests/data/Stopwatch/toplevel.vds")
processor = Processor(logfile)
processor.Parse()

print(f"CRITICAL WARNING Messages ({len(processor.CriticalWarningMessages)}):")
for message in processor.CriticalWarningMessages:
  print(f"  {message}")

Contributors

License

This Python package (source code) is licensed under Apache License 2.0. The accompanying documentation is licensed under Creative Commons - Attribution 4.0 (CC-BY 4.0).


SPDX-License-Identifier: Apache-2.0