Releases: edaa-org/pyEDAA.OutputFilter
v0.9.0
New Features
- Proper handling of repeated sections and phases.
- Read configuration file using
--config=config.yaml. - Specify user-defines coloring in configuration file.
#64 - Specify multiple output targets in configuration file.
#63 - Specify multiple filter rules in configuration file.
- Added quiet mode
#65
Changes
- Lots of restructuring.
Bug Fixes
- Live processing (no buffering) should be fixed.
See #74
Unit Tests
- Fixed some test cases.
Example Configuration
version: "0.1"
tools:
vivado:
colors:
info: "DARK_BLUE"
warning: "MAGENTA"
rule-sets:
problems:
all:
action: remove
warning:
action: keep
criticalWarning:
action: keep
error:
action: keep
critical:
all:
action: remove
criticalWarning:
action: keep
error:
action: keep
outputs:
# preprocessing: prefilter # reference a predefined rule-set
stdout:
format: plain
coloring: true # true, on, yes, false, off, no
lineNumbers: on # true, on, yes, false, off, no
timestamps: datetime # datetime, timeonly, deltatime, undefine
problems:
path: "tests/data/problems.log"
format: plain
rule-sets:
- problems
critical:
path: "tests/data/critical.log"
format: plain
rule-sets:
- critical # reference a predefined rule-setRelated Issues and Pull-Requests
- Fixes #26
/cc @tasgomes
Published from Pipeline workflow triggered by github-actions[bot] on 2026-06-08 07:11:08 UTC.
This automatic release was created by pyTooling/Actions::Release.yml
v0.8.0
New Features
- Provide
StartDateTimeandExitDateTimeas properties onProcessor. - Added an iterator on class
Lineto iterate forward and backward within the log stating at a certain line.
(Line objects are a doubly linked list.)
Changes
- Bumped dependencies.
Bug Fixes
- Fixed forward and backward linking of Line objects.
Unit Tests
- Test doubly linked list connectivity.
Published from Pipeline workflow triggered by github-actions[bot] on 2026-05-25 23:57:19 UTC.
This automatic release was created by pyTooling/Actions::Release.yml
v0.7.1
Bug Fixes
- Added missing colors for nested phases and nested tasks.
Unit Tests
- Added checks (
assertNotIn) when TCL commands should be missing in a logfile.
Published from Pipeline workflow triggered by github-actions[bot] on 2026-05-25 18:37:01 UTC.
This automatic release was created by pyTooling/Actions::Release.yml
v0.7.0
New Features
- Handle nested task
Physical SynthesiswithinBUFG Insertion- Handle nested phase
Physical Synthesis InitializationwithinPhysical Synthesis
- Handle nested phase
- Added
SubSubSubPhaseWithTasks - Added
NestedTask - Added
NestedTaskWithPhases - Added
NestedPhase
Bug Fixes
- Allow preambles up to 30 lines.
Unit Tests
- Reactivated disabled assertions.
- Added check that no warnings were collected while report analysis.
- Added check that all processed lines are
Lineobjects.
Published from Pipeline workflow triggered by github-actions[bot] on 2026-05-25 12:50:24 UTC.
This automatic release was created by pyTooling/Actions::Release.yml
v0.6.0
New Features
- Compute logfile duration based on a Vivado session start and exit.
- Added more Vivado message types e.g. Info messages without a tool ID.
- Added a Postamble parser.
Changes
- Bumped dependencies.
- Removed some duplicated sections.
Bug Fixes
- Fixed collected Vivado messages (info, warning, ...) per subparser.
Mismatches (duplicates, misses) are fixed and verified in many testcases. - Fixed type hints.
Documentation
- Fixed shields.
- Added some more doc-strings.
Unit Tests
- All unittests are passing.
- All example synthesis logs (Vivado 2019.1 to Vivado 2025.1) are passing.
- All example implementation logs (Vivado 2019.1 to Vivado 2025.1) are passing.
Known issues
- Some sections appear multiple times and overwrite previously collected data.
Published from Pipeline workflow triggered by github-actions[bot] on 2026-05-24 11:16:25 UTC.
This automatic release was created by pyTooling/Actions::Release.yml
v0.5.1
Changes
- Bumped documentation dependencies.
Published from Pipeline workflow triggered by github-actions[bot] on 2026-01-20 23:22:44 UTC.
This automatic release was created by pyTooling/Actions::Release.yml
v0.5.0
Caution
This release is an intermediate step with lots of valuable enhancements with respect to code quality and how logs are parsed and processed. Still is contains known issues:
- For some older Vivado versions, internal errors are reported within the logfile processing code.
- When summing up e.g. INFO messages for individual sections and the overall logfile, these counts do not match.
Investigation is complicated, due to long logfiles. It doesn't happen for simple logfiles.
New Features
- Reworked exceptions and warnings:
- Integrated
pyTooling.Warning.WarningCollector.
- Integrated
- Parsing of section/phase beginnings is based on regular expressions.
→ Reduced duplicated code snippets due to moved sections/phases from tool version to tool version.- Finding ends is based on generated static patterns.
- Generalized handling of sections/phases with and without child elements.
- Reworked generator and subgenerator handling. Especially, nextLines are now returned as generator exit values.
Changes
- Bumped dependencies.
- Updated pyproject configuration due to pytest v9.0 changes.
- Improved typehints.
Bug Fixes
- Many, many, many
Unit Tests
- Unit tests testing against provided synthesis log files (*.vds) of a Mercury ZX5 board for Vivado 2019.1 to 2025.1.
- Unit tests testing against provided implementation log files (*.vdi) of a Mercury ZX5 board for Vivado 2019.1 to 2025.1.
- Updated pyTooling/Actions from
@r6to@r7.- Restructured
requirements.txtfiles.
- Restructured
Related Issues and Pull-Requests
- Implemented extensions to #26
- New synthesis and implementation reports provided by @tasgomes in #35.
Published from Pipeline workflow triggered by github-actions[bot] on 2026-01-11 21:43:32 UTC.
This automatic release was created by pyTooling/Actions::Release.yml
v0.4.0
Important
Under certain circumstances, a single [INFO] line gets duplicated within phys_opt_design command region.
Investigation is ongoing.
New Features
- Vivado:
- Handle implementation commands:
link_designopt_designplace_designphys_opt_designroute_designwrite_bitstream
link_design:- Collect Vivado messages
- Collect loaded common XDC files and Vivado messages per file.
- Collect loaded XDC files per cell and Vivado messages per file and cell (
SCOPE_TO_REF).
opt_design:- Collect Vivado messages
- Detect tasks
- Detect phases in
Logic Optimizationtask
place_design:- Collect Vivado messages
- Detect tasks
- Detect phases, subphases, ...
phys_opt_design:- Collect Vivado messages
- Detect tasks
- Detect phases, subphases, ...
route_design:- Collect Vivado messages
- Detect tasks
- Detect phases, subphases, ...
- Handle implementation commands:
- Read input data from file or
STDINvia CLI option--stdinor--file=-.
Changes
- Coloring classified output lines is based on an internal dictionary.
This can later be replaced by a configuration file section. - Added more classifications to
LineKind. Processorpreserves an internal array if processed lines accessible via propertyProcessor.Lines.
Unit Tests
- Updated junit tests.
Related Issues and Pull-Requests
- Implemented #26
Published from Pipeline workflow triggered by github-actions[bot] on 2025-07-27 20:58:48 UTC.
This automatic release was created by pyTooling/Actions::Release.yml
v0.3.0
New Features
- Vivado logs:
- Discover Vivado TCL commands like
synth_design. synth_design:- Handle sections and subsections.
- Handle
ROM, RAM, DSP, Shift Register and Retiming Reportingsection.
See #18 - Handle intermediate
Finished ... Phase ...outputs.
- Vivado message collection per
- Processor
- per TCL command
- per section
- per subsection
- New policy:
IsIncompleteLog
- Line objects are now a double-linked list. Each line has a
PreviousandNextline object.
- Discover Vivado TCL commands like
Changes
- Vivado logs:
Preambleis now a member onProcessor.- Synthesis related properties have been moved from
ProcessortoSynthesizeDesign.
- CLI tool
pyedaa-outputfilter:- Changed command
vivado-synthtovivado.
- Changed command
Bug Fixes
- Handle
----...----line before a section start.
Unit Tests
- Enhanced unit tests for
synth_design.
Related Issues and Pull-Requests
- Fixes #18
Published from Pipeline workflow triggered by github-actions[bot] on 2025-07-06 06:33:44 UTC.
This automatic release was created by pyTooling/Actions::Release.yml
v0.2.0
New Features
- Write colored log file lines to console.
- Create summary of extracted information (just for testing and demonstration purposes).
- New extracted information:
- FPGA part name
- Rewrite VivadoMessages to more specific messages
VHDLReportMessageVHDLAssertionMessage
- New pseudo section:
ConstraintValidation
Changes
- Bumped dependencies.
- Reworked parsing strategy and architecture to use Python generators and nested generators.
- Generalized handling of section start and section finished parts
- Generalized uninteresting section handling.
- Handle subsections
Generated Outputs:
| Colored Output 1 | Colored Output 2 |
|---|---|
![]() |
![]() |
| Colored Output 3 | Extraction Summary |
![]() |
![]() |
Published from Pipeline workflow triggered by github-actions[bot] on 2025-06-22 23:56:42 UTC.
This automatic release was created by pyTooling/Actions::Release.yml



