{"id":13501983,"url":"https://github.com/beeware/bugjar","last_synced_at":"2025-12-18T06:24:49.788Z","repository":{"id":146881228,"uuid":"11423307","full_name":"beeware/bugjar","owner":"beeware","description":"A interactive graphical debugger for Python code.","archived":false,"fork":false,"pushed_at":"2023-03-23T02:30:38.000Z","size":82,"stargazers_count":250,"open_issues_count":15,"forks_count":31,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-05-20T05:05:09.494Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/beeware.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS"},"funding":{"github":["freakboy3742"],"custom":["http://beeware.org/bee/join"]}},"created_at":"2013-07-15T13:06:31.000Z","updated_at":"2025-04-07T22:43:06.000Z","dependencies_parsed_at":"2024-01-12T03:36:20.650Z","dependency_job_id":"cb58cc7e-5601-4814-911e-d1883b55bd53","html_url":"https://github.com/beeware/bugjar","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/beeware/bugjar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beeware%2Fbugjar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beeware%2Fbugjar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beeware%2Fbugjar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beeware%2Fbugjar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/beeware","download_url":"https://codeload.github.com/beeware/bugjar/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beeware%2Fbugjar/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265596164,"owners_count":23794847,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-07-31T22:01:57.408Z","updated_at":"2025-12-18T06:24:49.742Z","avatar_url":"https://github.com/beeware.png","language":"Python","funding_links":["https://github.com/sponsors/freakboy3742","http://beeware.org/bee/join"],"categories":["Python","\u003ca id=\"324874bb7c3ead94eae6f1fa1af4fb68\"\u003e\u003c/a\u003eDebug\u0026\u0026调试"],"sub_categories":["\u003ca id=\"d22bd989b2fdaeda14b64343b472dfb6\"\u003e\u003c/a\u003e工具"],"readme":".. image:: https://beeware.org/project/projects/tools/bugjar/bugjar.png\n    :width: 72px\n    :target: https://beeware.org/bugjar\n\nBugjar\n======\n\n.. image:: https://img.shields.io/pypi/pyversions/bugjar.svg\n    :target: https://pypi.python.org/pypi/bugjar\n\n.. image:: https://img.shields.io/pypi/v/bugjar.svg\n    :target: https://pypi.python.org/pypi/bugjar\n\n.. image:: https://img.shields.io/pypi/status/bugjar.svg\n    :target: https://pypi.python.org/pypi/bugjar\n\n.. image:: https://img.shields.io/pypi/l/bugjar.svg\n    :target: https://github.com/pybee/bugjar/blob/master/LICENSE\n\n.. image:: https://github.com/beeware/bugjar/workflows/CI/badge.svg?branch=main\n   :target: https://github.com/beeware/bugjar/actions\n   :alt: Build Status\n\n.. image:: https://img.shields.io/discord/836455665257021440?label=Discord%20Chat\u0026logo=discord\u0026style=plastic\n   :target: https://beeware.org/bee/chat/\n   :alt: Discord server\n   \nAnyone who learned to code in the mid to late 80s probably spent some\ntime with a Borland compiler -- probably either Turbo Pascal or Turbo C.\nOne of the best features of the Turbo compilers was their IDE -- and\nin particular, a really good visual debugger that would let you inspect\ncode while it was running.\n\nThen we all moved to Unix, and somehow forgot what a good debugger was.\nGDB is perfectly functional, but isn't very intuitive. GDB gives you\nperfect control over the execution of your code, but bad contextual\ninformation to let you know what control you should be exercising.\n\nThen came Python. Python's execution model contains excellent debugging\nhooks, and supplies PDB as a proof of concept. PDB is an interface that\nshares many similarities with GDB -- text mode, fantastic control, but\nvery bad contextual information.\n\nSo - enter ``bugjar``. A graphical interface for debugging code.\nPDB, but with the context to help you step through code in a meaningful way.\n\n\nGetting started\n---------------\n\nBugjar can be installed with pip::\n\n    $ pip install bugjar\n\nYou can then debug a Python script by typing the following at a shell prompt::\n\n    $ bugjar myscript.py arg1 arg2\n\nThis will start a graphical interface, with ``myscript.py`` loaded into the\nsource code window. You can set (or remove) breakpoints by clicking on line\nnumbers; you can step through and into code; or you can set the program\nrunning unconstrained. Each time the debugger stops at a breakpoint, the\ninspector will be updated with the current contents of locals, globals, and\nbuiltins.\n\nThe Python script will run using your current environment; if you have an\nactive virtualenv, that environment will be current.\n\nWhen you quit the debugger, the script will be terminated.\n\nProblems under Ubuntu\n~~~~~~~~~~~~~~~~~~~~~\n\nUbuntu's packaging of Python omits the ``idlelib`` library from it's base\npackge. If you're using Python 2.7 on Ubuntu 13.04, you can install\n``idlelib`` by running::\n\n    $ sudo apt-get install idle-python2.7\n\nFor other versions of Python and Ubuntu, you'll need to adjust this as\nappropriate.\n\nProblems under Windows\n~~~~~~~~~~~~~~~~~~~~~~\n\nIf you're running Cricket in a virtualenv, you'll need to set an\nenvironment variable so that Cricket can find the TCL graphics library::\n\n    $ set TCL_LIBRARY=c:\\Python27\\tcl\\tcl8.5\n\nYou'll need to adjust the exact path to reflect your local Python install.\nYou may find it helpful to put this line in the ``activate.bat`` script\nfor your virtual environment so that it is automatically set whenever the\nvirtualenv is activated.\n\n\nDocumentation\n-------------\n\nDocumentation for bugjar can be found on `Read The Docs`_.\n\n.. _Read The Docs: https://bugjar.readthedocs.io\n\nCommunity\n---------\n\nBugjar is part of the `BeeWare suite`_. You can talk to the community through:\n\n* `@beeware@fosstodon.org on Mastodon`_\n* `Discord`_\n\nWe foster a welcoming and respectful community as described in our\n`BeeWare Community Code of Conduct`_.\n\n.. _BeeWare suite: https://beeware.org/\n.. _@beeware@fosstodon.org on Mastodon: https://fosstodon.org/@beeware\n.. _Discord: https://beeware.org/bee/chat/\n.. _BeeWare Community Code of Conduct: http://beeware.org/community/behavior/\n\nContributing\n------------\n\nIf you experience problems with bugjar, `log them on GitHub`_. If you want to\ncontribute code, please `fork the code`_ and `submit a pull request`_.\n\n.. _log them on Github: https://github.com/beeware/bugjar/issues\n.. _fork the code: https://github.com/beeware/bugjar\n.. _submit a pull request: https://github.com/beeware/bugjar/pulls\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeeware%2Fbugjar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbeeware%2Fbugjar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeeware%2Fbugjar/lists"}