Skip to main content

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

midden-0.2.0.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

midden-0.2.0-py3-none-any.whl (21.6 kB view details)

Uploaded Python 3

File details

Details for the file midden-0.2.0.tar.gz.

File metadata

  • Download URL: midden-0.2.0.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.30 {"installer":{"name":"uv","version":"0.11.30","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

Hashes for midden-0.2.0.tar.gz
Algorithm Hash digest
SHA256 00ebefd7eb1c7ad966b1a66943ad1cc901cbf105bafc1922ce274e3ec6844324
MD5 93ce2b425d1b23cbae7f863054065a29
BLAKE2b-256 d3e2d828dfc4bb4178a01735cc3f5a0047fd870045a1c90c01d854a350d3f460

See more details on using hashes here.

File details

Details for the file midden-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: midden-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 21.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.30 {"installer":{"name":"uv","version":"0.11.30","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

Hashes for midden-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4699e0357fb64573e927bc1552cf49eac4121e6d3eda2b8ab2ddcb5932ffe790
MD5 72608f7e3c4ba5c60a229fbabe4ef0a0
BLAKE2b-256 c110c7f378f1fe8e2f2b9e9ffdc852ec6b69cceec06825ef8b9f954979331450

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page