jarzul/use dce progress api for progress bar#88
Merged
JulienArzul merged 5 commits intomainfrom Apr 2, 2026
Merged
Conversation
…ogging configuration and when creating a rich Progress This allows for all logs to go through rich and making regular logs behave correctly out-of-the box with the rich Progress bar
…e from the events received and the actual rendering using rich's Progress bar
Contributor
Author
|
Example with 30 sqlite datasources to build: Screen.Recording.2026-04-01.at.14.40.28.movIn this example, the build for each datasource is quite fast and the only thing that takes some time is the embedding step for each datasource => so we almost only see the progress waiting at 33% of each datasource (the first step is the actual introspection which is super fast on sqlite because there is no profiling done and the last step is storing everything in the DB which is also very fast) |
gasparian
approved these changes
Apr 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What?
Following up on #36, this is refactoring the implementation reading the DCE logs to actually use the ProgressCallback API from DCE (as originally intended in the previous PR)
How?
I've reused the initial implementation from Mateus in the other PR but I've made a couple of changes.
1. Rich console used for logging
instead of relying on a complex logic trying to go through all loggers to make them compatible with the rich Progress (and then restoring the original logger's stdio), I'm now relying fully on Rich within the project.
A new
rich_consolesingleton has been added and both the logging configuration and the cli_progress are using it. That means that we don't need to do anything for the Progress to behave correctly incli_progress: the loggers are already printing on the rich console.2. Separate event handling and rendering
To make the code a bit more understandable (IMO), I've separated it into two: