NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3668 most downloaded on PyPI
A debugging and profiling tool that can trace and visualize python code execution
Last release 10 months ago
11 Nov 2025
Release timing varies
gaps range from 2 weeks to 6 months
Nearly every release is documented
notes for 56 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
86 releases · first in 2020
One column per quarter.
VizLogging, VizObject and VizCounter can handle `tracer = None` now.
VizLogging, VizObject and VizCounter can handle tracer = None now.
Use get_tracer() instead of the global variable __viz_tracer__
added a filter ignore_non_file
You can automatically log function arguments now
tracer can be accessed globally now if `viztracer` is used. Some bug fixes
tracer can be accessed globally now if viztracer is used. Some bug fixes
Default tracer_entries is reduced so all computers can open the report with no issues.
Default tracer_entries is reduced so all computers can open the report with no issues.
Counter and Objects can be displayed in vdb now
You can debug between multiple processes/threads now.
You can debug between multiple processes/threads now.
add a couple commands and fixed some bugs in source file displaying
Virtual debug feature is introduced but still in alpha. You can debug your json report now.
Virtual debug feature is introduced but still in alpha. You can debug your json report now.
Now if the file name does not exist, VizTracer will try to find its absolute path by using `which` on Linux/MacOS. This can make VizTracer run on flas
Now if the file name does not exist, VizTracer will try to find its absolute path by using which on Linux/MacOS. This can make VizTracer run on flask.
Fixed the bug in `add_functionarg()`.
Fixed the bug in add_functionarg().
Reduced the overhead by moving converting data to parsing phase. Should save some run time memory as well.
We can log function arguments now. Also we have a handler for `logging` module.
We can log function arguments now. Also we have a handler for logging module.
tracer_entries can be set through `VizTracer` now
tracer_entries can be set through VizTracer now
We converted to circular buffer so we can log forever!
We converted to circular buffer so we can log forever!
Underlying C structure for the module is changed. Most global variables are moved to objects, which means each `VizTracer` object actually has their o
Underlying C structure for the module is changed. Most global variables are moved to objects, which means each VizTracer object actually has their own set of data.
We support module run now with viztracer -m module
@trace_and_save is added to periodically save trace in a long program
--log_return_value is supported
some fixes on fork_save
Fix flamegraph, it's been not working for a while and I did not realize it.
Fix flamegraph, it's been not working for a while and I did not realize it.
Fix important command line bugs, where "__name__" is not __main__. Also not even the script run exit() in their code, they will have trace.
Added secret feature fork_save, has not documented it yet. That's prepared for the next "profile as you run" feaature
0.4.0 is the same as 0.3.4, We boosted the minor version for Windows support.
0.4.0 is the same as 0.3.4, We boosted the minor version for Windows support.
We now support Windows! viztracer can be directly called through console command `viztracer your_script.py`
We now support Windows! viztracer can be directly called through console command viztracer your_script.py
VizTracer now supports gz file, which could save disk space significantly while still being compatible with Chrome.
VizTracer now supports gz file, which could save disk space significantly while still being compatible with Chrome.
Several optimizations were applied
realpathorjson, json can be directly dumped without decoding and encoding againUnified the customized event VizCounter and VizObject. Now they have similar interface and it's easier to use them. Also fixed a source tar error that
Unified the customized event VizCounter and VizObject. Now they have similar interface and it's easier to use them. Also fixed a source tar error that the header file is not included in the .tar file.
Two custom events are added, Counter and Object. Now the users have more ways to log their data structures
Two custom events are added, Counter and Object. Now the users have more ways to log their data structures
Multi-process is supported. Help message is polished.
Multi-process is supported. Help message is polished.
Timestamp is fixed. It was off by 1000x. Input check is implemented.
Timestamp is fixed. It was off by 1000x. Input check is implemented.
A very important optimization which cut file size in half and speed up everything is applied. Also you can overload print and ignore function now. A M
A very important optimization which cut file size in half and speed up everything is applied. Also you can overload print and ignore function now. A MacOS triggered bug is fixed, also C_EXCEPTION return is fixed.
VizTracer is capable of generating flamegraph now.
VizTracer is capable of generating flamegraph now.
0.2.0 is the same as 0.1.3. All features listed for 0.2.0 is finished so we promote the minor version.
0.2.0 is the same as 0.1.3. All features listed for 0.2.0 is finished so we promote the minor version.
MacOS is officially supported. Instant feature is added
MacOS is officially supported. Instant feature is added
Multi-thread is supported. Parsing is moved to C code so it's faster now.
Multi-thread is supported. Parsing is moved to C code so it's faster now.
CodeSnap is renamed to VizTracer now.
CodeSnap is renamed to VizTracer now.
Add filter functions
Your coding agent can read these notes before it upgrades. Set up the MCP server →