Interactive process tree visualization widget for security and forensics analysis in marimo notebooks
Project description
process-tree-widget
An interactive process tree visualization widget for security and forensics analysis, built for marimo notebooks using the anywidget framework.
Please refer to this blog post for background and context.
Overview
The widget ingests OS process telemetry from two sources:
- MDE (Microsoft Defender for Endpoint)
ProcessCreatedevents - Volatility
pstreememory forensics output
Both are normalized to a common ASIM schema, assembled into a tree structure, and rendered as an interactive D3-backed visualization with expand/collapse, zoom, right-click context menu, and an optional time-range filter.
JavaScript rendering
The widget uses a vendored copy of DependenTree (located in js/dependentree/) for the D3 tree layout, bundled directly by esbuild — no CDN fetch at runtime.
Development setup
Python:
uv venv --python 3.12
uv sync
source .venv/bin/activate
JavaScript:
npm install
npm run dev # watches js/ (including js/dependentree/) and rebuilds on change
Demo notebook:
marimo edit notebooks/demo_mde.py
# or
marimo edit notebooks/demo_vol.py
Build commands
npm run build # bundle js/ → src/process_tree_widget/static/ (esbuild, ESM, minified)
npm run dev # same with inline sourcemaps + watch mode
uv build # full Python package build (triggers npm run build via hatch-jupyter-builder)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file process_tree_widget-0.1.3.tar.gz.
File metadata
- Download URL: process_tree_widget-0.1.3.tar.gz
- Upload date:
- Size: 133.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45c5b83cae9414b95eb4d64991f28ed576bc9df1a358c4a5b4021414f6fc96ed
|
|
| MD5 |
d90513766d5a0222b47e9f067cfa2ed5
|
|
| BLAKE2b-256 |
24c2d6cabc0232a7e3abd3e502cf6a23c3329f9c158d26d0352d1ca2b5a62410
|
File details
Details for the file process_tree_widget-0.1.3-py3-none-any.whl.
File metadata
- Download URL: process_tree_widget-0.1.3-py3-none-any.whl
- Upload date:
- Size: 136.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
078ccc5792a08ea1298c7dfee7ba1c9b631f4a937dc9b36d0008257317dfcb07
|
|
| MD5 |
e7c8f02ce84b4be84cbef77481d199ae
|
|
| BLAKE2b-256 |
7c9d06a70c62d07bb9c9ddb4947b1ccc82a2a2c6fba25c6e799864fa2597ddab
|