Show HN: Pobshell: A Bash-like shell to explore live Python object hierarchies

1 cogs 1 7/8/2025, 2:03:42 PM github.com ↗
Meet Pobshell. Think cd, ls, cat, and find — but for Python objects instead of files.

Stroll around your code, runtime state, and data structures. Inspect everything: modules, classes, live objects. Plus recursive search and CLI integration.

40s video demo: https://www.youtube.com/watch?v=_d4DgVnqWjQ

What it's for:

- Exploratory debugging: Inspect live object state on the fly

- Understanding APIs: Examine code, docstrings, class trees

- Shell integration: Pipe object state or code snippets to LLMs or OS tools

- Code and data search: Recursive search for object state or source without file paths

- REPL & paused script: Explore runtime environments dynamically

- Teaching & demos: Make Python internals visible and walkable

Pobshell is pick‑up‑and‑play: familiar commands plus optional new tricks.

Install: pip install pobshell

Pobshell is open source, and in alpha release. Tested on MacOs, Linux and Windows (Python 3.12)

Comments (1)

cogs · 1d ago
Simple use case: What version of the json module is this live code running? (when you don't even know the attribute name)

# At a pdb prompt, from a frame where json is global or local:

  (Pdb) import pobshell; pobshell.shell()

  Welcome to Pobshell - type 'help' for commands, 'quit' to exit 
  / ▶ find json --name *version* -i -a -l
  /json/__version__  str                       '2.0.9'                                                  
  /json/codecs/sys/api_version  int                       1013                                           
  /json/codecs/sys/hexversion  int                       51055600                                       
  /json/codecs/sys/version  str                       '3.11.11 | packaged by  

  # -i case insensitive
  # -a include hidden attributes (_ and __ prefixed names)
  # -l give an 'ls -l' listing of the matched objects