{"id":13502620,"url":"https://github.com/titusjan/objbrowser","last_synced_at":"2026-01-17T22:18:10.235Z","repository":{"id":51355076,"uuid":"12040589","full_name":"titusjan/objbrowser","owner":"titusjan","description":"GUI for Python object introspection","archived":false,"fork":false,"pushed_at":"2022-12-18T14:52:12.000Z","size":544,"stargazers_count":130,"open_issues_count":6,"forks_count":16,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-09-25T00:54:53.670Z","etag":null,"topics":["inspection","introspection","objects","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/titusjan.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.txt","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-08-11T18:42:55.000Z","updated_at":"2025-07-09T12:55:32.000Z","dependencies_parsed_at":"2023-01-29T19:30:29.288Z","dependency_job_id":null,"html_url":"https://github.com/titusjan/objbrowser","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/titusjan/objbrowser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titusjan%2Fobjbrowser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titusjan%2Fobjbrowser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titusjan%2Fobjbrowser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titusjan%2Fobjbrowser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/titusjan","download_url":"https://codeload.github.com/titusjan/objbrowser/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titusjan%2Fobjbrowser/sbom","scorecard":{"id":887937,"data":{"date":"2025-08-11","repo":{"name":"github.com/titusjan/objbrowser","commit":"57a66e2d7030c265f0b5e1d577326cb9e986216f"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: MIT License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-24T10:41:52.440Z","repository_id":51355076,"created_at":"2025-08-24T10:41:52.440Z","updated_at":"2025-08-24T10:41:52.440Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28519888,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T22:11:28.393Z","status":"ssl_error","status_checked_at":"2026-01-17T22:11:27.841Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["inspection","introspection","objects","python"],"created_at":"2024-07-31T22:02:20.014Z","updated_at":"2026-01-17T22:18:10.211Z","avatar_url":"https://github.com/titusjan.png","language":"Python","readme":"objbrowser\n==========\n\nExtensible Python object inspection tool implemented in Qt.\n\nDisplays objects as trees and allows you to inspect their attributes\nrecursively (e.g. browse through a list of dictionaries). You can add \nyour own inspection methods as new columns to the tree view, or as radio buttons\nto the details pane. Altering existing inspection methods is possible as well.\n\n### Installation:\n\nFirst install\n\t    [PyQt](https://www.riverbankcomputing.com/software/pyqt/download5)\n    or\n\t    [PySide2](https://wiki.qt.io/Qt_for_Python)\n\nThe object browser automatically detects which Qt bindings are installed. If both bindings are\ninstalled it prefers PyQt over PySide. You can force the object browser to use a certain binding\nby setting the `QT_API` environment variable to `pyqt5`, `pyqt4`, or `pyside2`.\n\nThen install the object browser with:\n\n    %\u003e pip install objbrowser\n\nor use the installer:\n\n    %\u003e python setup.py install\n\n\n### User interface:\n\n![objbrowser screen shot](screen_shot.png)\n\n\nFrom the _View_ menu you can select some extra columns, for instance the \nobject's _id_ column. This can also be done by right-clicking on the table\nheader. An overview of the available columns, and their meanings, can be\nfound in [here](columns.md).\n\nCallable objects (typically functions, methods and classes) are displayed\nin blue. Objects that are an attribute of their parent (as opposed to a\nlist element or dictionary item) are displayed in _italics_.\n\nIf _Show callable attributes_ from the _View_ menu is checked, objects\nthat are callable and are an attribute are shown. Otherwise they are hidden.\n\nIf _Show dunder attributes_ from the _View_ menu is checked, objects\nthat are attributes, and have a name that starts and ends with two\nunderscores, are shown. Otherwise they are hidden.\n\nThe details pane at the bottom shows object properties that do not fit\non one line, such as the docstrings and the output of various functions \nof the `inspect` module from the Python standard library.\n\n\n### Usage examples:\n\nThe first parameter is the object to be inspected. For example you can \nexamine the dictionary with the local variables:\n\n```Python\nfrom objbrowser import browse\na = 67; pi = 3.1415 \nbrowse(locals())\n```\n\nThe second parameter can be the name of the object. In that case the object\nitself will be displayed in the root node.\n\n```Python\nbrowse(locals(), 'locals()')\n```\n\nBy setting the `show_callable_attributes` and/or the `show_dunder_attributes`\nparameters you can override the settings from the _View_ menu. The `reset`\nparameter resets the persistent window settings (e.g. size and position)\n\n```Python\ns1 = 'Hello'\ns2 = 'World'\n\nbrowse({'s1': s1, 's2': s2}, \n        show_callable_attributes = True,\n        show_dunder_attributes = False, \n        reset = True)\n```\n\nSome complete examples can be found in the [examples directory](examples). E.g.:\n\n* [Define your own column](examples/simple_add_column.py)\n* [Override the summary column](examples/override_summary.py)\n* [Show two browser windows simultaneously](examples/modules.py)\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftitusjan%2Fobjbrowser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftitusjan%2Fobjbrowser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftitusjan%2Fobjbrowser/lists"}