When called on an object, it pretty prints a list of its public attributes (though you can also request private and dunder attributes) . It can also be called on a class or function; it'll then pretty print the docstrings, parameters with types, methods, etc. It's great for debugging and for starting to code with libraries you're not familiar with, don't have comprehensive documentation, or have some dynamic aspect.
In a similar vein, `objexplore`  is another library that lets you dive into an object's nested attributes to understand how it's laid out.
In interactive debugging sessions I often find these to be more useful than the IDE's features which provide similar functionality.
Show HN: Python lib for rich text, markdown, tables, etc. in the terminal (https://news.ycombinator.com/item?id=23070821 2020, 47 comments)
Textual: a Python text user interface with Rich as the renderer (https://news.ycombinator.com/item?id=27526031 7 months ago, 21 comments)
Stack traces are presented in a gorgeous fashion, log.debug lines have lots of great meta data with them. I almost always start new projects with those as my first imports.
It got me thinking that, atleast for technology developers, this is the ideal use of twitter. An uncensored "thoughtstream". Some tools to mine that and extract lessons might be an interesting project.
1 tabulate: helps render ASCII tables in various formats (https://github.com/astanin/python-tabulate)
2. typer: write cli commands by decorating python functions. It uses type annotations to automatically parse input (https://typer.tiangolo.com/)
We're using both of those in our Kubernetes troubleshooting tool (https://robusta.dev). Going to look at adding Rich too