All Projects → titusjan → objbrowser

titusjan / objbrowser

Licence: MIT license
GUI for Python object introspection

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to objbrowser

oxjs
Reactive JavaScript Objects and Primitives
Stars: ✭ 33 (-70.27%)
Mutual labels:  objects
lwm2m-registry
This is a public repository dedicated to store and register new LwM2M Objects
Stars: ✭ 34 (-69.37%)
Mutual labels:  objects
Differentia.js
No longer being supported or maintained. A Graph Theory & Data Structure Library for JavaScript.
Stars: ✭ 13 (-88.29%)
Mutual labels:  objects
read-process-memory
Read memory from another process
Stars: ✭ 100 (-9.91%)
Mutual labels:  inspection
kstone
Kstone is an etcd management platform, providing cluster management, monitoring, backup, inspection, data migration, visual viewing of etcd data, and intelligent diagnosis.
Stars: ✭ 592 (+433.33%)
Mutual labels:  inspection
stringify-keys
Build an array of key paths from an object.
Stars: ✭ 18 (-83.78%)
Mutual labels:  objects
js-utils
A collection of dependency-free JavaScript utilities 🔧
Stars: ✭ 22 (-80.18%)
Mutual labels:  objects
invokable
Objects are functions! Treat any Object or Class as a Proc (like Enumerable but for Procs).
Stars: ✭ 40 (-63.96%)
Mutual labels:  objects
The-Java-Workshop
A New, Interactive Approach to Learning Java
Stars: ✭ 65 (-41.44%)
Mutual labels:  objects
array-sort-by
Powerful mechanism to sort arrays or array of objects by one or more properties. You can also specify a custom comparer function.
Stars: ✭ 37 (-66.67%)
Mutual labels:  objects
expand-hash
Recursively expands property keys with dot-notation into objects.
Stars: ✭ 25 (-77.48%)
Mutual labels:  objects
Eli5
A library for debugging/inspecting machine learning classifiers and explaining their predictions
Stars: ✭ 2,477 (+2131.53%)
Mutual labels:  inspection
theroomjs
A vanilla javascript plugin that allows you to outline dom elements like web inspectors
Stars: ✭ 53 (-52.25%)
Mutual labels:  inspection
IdeaSingletonInspection
Inspection for detecting of inappropriate use of Singleton pattern in Java
Stars: ✭ 14 (-87.39%)
Mutual labels:  inspection
python-ls
Think about Python's dir builtin with recursive search capabilities
Stars: ✭ 44 (-60.36%)
Mutual labels:  inspection
audria
audria - A Utility for Detailed Ressource Inspection of Applications
Stars: ✭ 35 (-68.47%)
Mutual labels:  inspection

objbrowser

Extensible Python object inspection tool implemented in Qt.

Displays objects as trees and allows you to inspect their attributes recursively (e.g. browse through a list of dictionaries). You can add your own inspection methods as new columns to the tree view, or as radio buttons to the details pane. Altering existing inspection methods is possible as well.

Installation:

First install PyQt or PySide

The object browser automatically detects which Qt bindings are installed. If both bindings are installed it prefers PyQt over PySide. You can force the object browser to use a certain binding by setting the QT_API environment variable to pyqt5, pyqt4, or pyside.

Then install the object browser with:

%> pip install objbrowser

or use the installer:

%> python setup.py install

User interface:

objbrowser screen shot

From the View menu you can select some extra columns, for instance the object's id column. This can also be done by right-clicking on the table header. An overview of the available columns, and their meanings, can be found in here.

Callable objects (typically functions, methods and classes) are displayed in blue. Objects that are an attribute of their parent (as opposed to a list element or dictionary item) are displayed in italics.

If Show callable attributes from the View menu is checked, objects that are callable and are an attribute are shown. Otherwise they are hidden.

If Show special attributes from the View menu is checked, objects that are attributes, and have a name that starts and ends with two underscores, are shown. Otherwise they are hidden.

The details pane at the bottom shows object properties that do not fit on one line, such as the docstrings and the output of various functions of the inspect module from the Python standard library.

Usage examples:

The first parameter is the object to be inspected. For example you can examine the dictionary with the local variables:

from objbrowser import browse
a = 67; pi = 3.1415 
browse(locals())

The second parameter can be the name of the object. In that case the object itself will be displayed in the root node.

browse(locals(), 'locals()')

By setting the show_callable_attributes and/or the show_special_attributes parameters you can override the settings from the View menu. The reset parameter resets the persistent window settings (e.g. size and position)

s1 = 'Hello'
s2 = 'World'

browse({'s1': s1, 's2': s2}, 
        show_callable_attributes = True,
        show_special_attributes = False, 
        reset = True)

Some complete examples can be found in the examples directory. E.g.:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].