A simple heap analysis and visualization tool.
Project description
Midden
Midden is a tool for dumping and analysing heaps from Python programs.
It takes a "dump first, ask questions later" approach, making it easy to grab a heap dump from a running application, then analyse it offline later in its UI, potentially on a different machine entirely.
Installing
If you just want to grab a heap dump, you can install everything you need with:
pip install midden
# Or if you're using uv
uv add midden
If you want to analyse the data, you'll need the extra UI dependencies, which you can install with
pip install midden[ui]
# Or if you're using uv
uv add midden[ui]
Grabbing a Heap Dump
Grabbing a heap dump can be as simple as:
# Assuming pid we want to grab heap from is pid 12345
midden-inject 12345 --output-file /tmp/dump.jsonl
On Python 3.14 and newer, this will use sys.remote_exec, which means no extra dependencies.
You will need appropriate permissions as documented here.
Roughly speaking, you either need to be root/administrator, or be running on Linux with ptrace protection disabled.
On Python 3.10 to 3.13, injection is done with gdb, which means gdb needs to be installed. Gdb-based injection is only tested on Linux.
Analysing a Heap Dump
You can run the analysis UI with
midden-ui
This will start a web application, and pop up a web browser pointing at the analysis application. Upload a heap dump
generated with midden-inject to get started.
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 midden-0.1.0.tar.gz.
File metadata
- Download URL: midden-0.1.0.tar.gz
- Upload date:
- Size: 12.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10b20a9d741266df82c9009b1c9a8e68c590e9feeedfc45bb8cb404ebc571bf8
|
|
| MD5 |
e68e337faed3a696555564042d94c335
|
|
| BLAKE2b-256 |
1c227ef21a0d7d6b52609c11eacf08013c1d548cbca3b49e1cb04155137617d7
|
File details
Details for the file midden-0.1.0-py3-none-any.whl.
File metadata
- Download URL: midden-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da5178865ac14d5dae4fe29cdaad4afd6f8d067d6d14efdda02dd8df30a9e958
|
|
| MD5 |
3b8cd02af9cdccd5539c65c7767b1bf3
|
|
| BLAKE2b-256 |
112dc544c952f25554383f5d84a46f2c3fb63894a979c9a567013873f0c380db
|