tinybpf

A minimal Python library for loading CO-RE eBPF programs.

Install

uv add tinybpf --index https://gregclermont.github.io/tinybpf
pip install tinybpf --extra-index-url https://gregclermont.github.io/tinybpf

Example: inspect a .bpf.o file

# /// script
# dependencies = ["tinybpf"]
# [[tool.uv.index]]
# url = "https://gregclermont.github.io/tinybpf"
# ///
"""Inspect a compiled eBPF object file."""
import sys
import tinybpf

with tinybpf.load(sys.argv[1]) as obj:
    for p in obj.programs.values():
        print(f"prog: {p.name} ({p.type.name})")
    for m in obj.maps.values():
        print(f"map:  {m.name} ({m.type.name})")

Save as bpf-inspect.py, run with sudo $(which uv) run bpf-inspect.py program.bpf.o

Links