Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 33.9k
gh-138122: Integrate live profiler TUI with _colorize theming system#142360
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uh oh!
There was an error while loading. Please reload this page.
Conversation
pablogsal commented Dec 6, 2025 • edited by bedevere-app bot
Loading Uh oh!
There was an error while loading. Please reload this page.
edited by bedevere-app bot
Uh oh!
There was an error while loading. Please reload this page.
…ystem The Tachyon profiler's curses-based TUI now uses the centralized theming infrastructure in _colorize.py, enabling users to customize colors via the standard Python theming API. This adds a LiveProfiler theme section with two pre-configured themes: the default dark theme optimized for dark terminal backgrounds, and LiveProfilerLight for white/light backgrounds. Users can switch themes by calling _colorize.set_theme() in their PYTHONSTARTUP or sitecustomize.py. The table header rendering was also improved to draw a continuous background, eliminating visual gaps between columns when using reverse video styling.
f2753f1 to b024e50Comparepicnixz commented Dec 7, 2025
I thought that this wasn't yet ready for public interface? should we really advertise this feature in the NEWS (cc @hugovk) |
Uh oh!
There was an error while loading. Please reload this page.
pablogsal commented Dec 7, 2025
Is not but eventually that will be the mechanism. I can change the news entry if you want |
picnixz commented Dec 7, 2025
Originally, I preferred not advertising this interface officially for now otherwise users could assume that they can freely use it as they want (and we don't know how we eventually want to document and expose it) but I saw that we had other NEWS entries that mentioned |
hugovk commented Dec 9, 2025
Yep, hopefully we'll have something public for 3.15. In the meantime we could say experimental. |
Misc/NEWS.d/next/Library/2025-12-06-19-49-20.gh-issue-138122.m3EF9E.rst Outdated Show resolvedHide resolved
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Hugo van Kemenade <[email protected]>
Co-authored-by: Hugo van Kemenade <[email protected]>
Co-authored-by: Hugo van Kemenade <[email protected]>
Co-authored-by: Hugo van Kemenade <[email protected]>
Co-authored-by: Hugo van Kemenade <[email protected]>
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
pablogsal commented Jan 1, 2026
Fixed merge conflicts |
pablogsal commented Jan 1, 2026
I think everything should be addressed by now. |
picnixz left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. I like the mention about "experimental API" but this also makes me wonder whether we should have some "Experimental" section. Do we have APIs in mind that are experimental except _colorize? (C++ had, for a very long time, only experimental::filesystem as an experimental namespace, so having only 1 component in an experimental section would still makes sense IMO).
pablogsal commented Jan 1, 2026
pablogsal commented Jan 1, 2026
Thanks for the review @picnixz ❤️ |
e5ad7b7 into python:mainUh oh!
There was an error while loading. Please reload this page.
The Tachyon profiler's curses-based TUI now uses the centralized theming
infrastructure in _colorize.py, enabling users to customize colors via
the standard Python theming API. This adds a LiveProfiler theme section
with two pre-configured themes: the default dark theme optimized for
dark terminal backgrounds, and LiveProfilerLight for white/light
backgrounds. Users can switch themes by calling _colorize.set_theme() in
their PYTHONSTARTUP or sitecustomize.py.
The table header rendering was also improved to draw a continuous
background, eliminating visual gaps between columns when using reverse
video styling.