
Research
SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.
vprof
Advanced tools
vprof is a Python package providing rich and interactive visualizations for various Python program characteristics such as running time and memory usage. It supports Python 3.4+ and distributed under BSD license.
The project is in active development and some of its features might not work as expected.

All contributions are highly encouraged! You can add new features, report and fix existing bugs and write docs and tutorials. Feel free to open an issue or send a pull request!
Dependencies to build vprof from source code:
pipnpm >= 3.3.12npm is required to build vprof from sources only.
All Python and npm module dependencies are listed in package.json and
requirements.txt.
vprof can be installed from PyPI
pip install vprof
To build vprof from sources, clone this repository and execute
python3 setup.py deps_install && python3 setup.py build_ui && python3 setup.py install
To install just vprof dependencies, run
python3 setup.py deps_install
vprof -c <config> <src>
<config> is a combination of supported modes:
c - CPU flame graph ⚠️ Not available for windows #62Shows CPU flame graph for <src>.
p - profilerRuns built-in Python profiler on <src> and displays results.
m - memory graphShows objects that are tracked by CPython GC and left in memory after code
execution. Also shows process memory usage after execution of each line of <src>.
h - code heatmapDisplays all executed code of <src> with line run times and execution counts.
<src> can be Python source file (e.g. testscript.py) or path to package
(e.g. myproject/test_package).
To run scripts with arguments use double quotes
vprof -c cmh "testscript.py --foo --bar"
Modes can be combined
vprof -c cm testscript.py
vprof can also profile functions. In order to do this,
launch vprof in remote mode:
vprof -r
vprof will open new tab in default web browser and then wait for stats.
To profile a function run
from vprof import runner
def foo(arg1, arg2):
...
runner.run(foo, 'cmhp', args=(arg1, arg2), host='localhost', port=8000)
where cmhp is profiling mode, host and port are hostname and port of
vprof server launched in remote mode. Obtained stats will be rendered in new
tab of default web browser, opened by vprof -r command.
vprof can save profile stats to file and render visualizations from
previously saved file.
vprof -c cmh src.py --output-file profile.json
writes profile to file and
vprof --input-file profile.json
renders visualizations from previously saved file.
Check vprof -h for full list of supported parameters.
To show UI help, press h when visualizations are displayed.
Also you can check examples directory for more profiling examples.
python3 setup.py test_python && python3 setup.py test_javascript && python3 setup.py e2e_test
BSD
FAQs
Visual profiler for Python
We found that vprof demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.

Company News
Socket is proud to join the OpenJS Foundation as a Silver Member, deepening our commitment to the long-term health and security of the JavaScript ecosystem.

Security News
npm now links to Socket's security analysis on every package page. Here's what you'll find when you click through.