{"id":13567823,"url":"https://github.com/lgpage/nbtutor","last_synced_at":"2025-05-15T04:08:36.156Z","repository":{"id":13382484,"uuid":"73084481","full_name":"lgpage/nbtutor","owner":"lgpage","description":"Visualize Python code execution (line-by-line) in Jupyter Notebook cells.","archived":false,"fork":false,"pushed_at":"2025-03-11T11:52:21.000Z","size":5516,"stargazers_count":463,"open_issues_count":25,"forks_count":41,"subscribers_count":18,"default_branch":"main","last_synced_at":"2025-04-14T05:57:45.245Z","etag":null,"topics":["jupyter","jupyter-notebook","learning","python"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lgpage.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-11-07T14:08:25.000Z","updated_at":"2025-04-01T09:50:41.000Z","dependencies_parsed_at":"2023-11-06T09:31:19.511Z","dependency_job_id":"beba3248-9744-432f-8534-fc95d1405694","html_url":"https://github.com/lgpage/nbtutor","commit_stats":{"total_commits":255,"total_committers":4,"mean_commits":63.75,"dds":0.2941176470588235,"last_synced_commit":"7bbca6286a6ec85f189b17094ce1bf785156fe8e"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lgpage%2Fnbtutor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lgpage%2Fnbtutor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lgpage%2Fnbtutor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lgpage%2Fnbtutor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lgpage","download_url":"https://codeload.github.com/lgpage/nbtutor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254270658,"owners_count":22042860,"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":["jupyter","jupyter-notebook","learning","python"],"created_at":"2024-08-01T13:02:44.936Z","updated_at":"2025-05-15T04:08:31.142Z","avatar_url":"https://github.com/lgpage.png","language":"TypeScript","readme":"# Nbtutor\n\nVisualize Python code execution (line-by-line) in [Jupyter Notebook] cells. Inspired by [Online Python Tutor]\n\n![Usage Example](usage.gif)\n\n[![PyPI latest release](https://img.shields.io/pypi/v/nbtutor.svg?style=flat)](https://pypi.org/project/nbtutor)\n[![PyPI monthly downloads](https://img.shields.io/pypi/dm/nbtutor.svg?style=flat)](https://pypi.org/project/nbtutor)\n[![PyPI wheel](https://img.shields.io/pypi/wheel/nbtutor.svg?style=flat)](https://pypi.org/project/nbtutor)\n[![Supported versions](https://img.shields.io/pypi/pyversions/nbtutor.svg?style=flat)](https://pypi.org/project/nbtutor)\n[![Supported implementations](https://img.shields.io/pypi/implementation/nbtutor.svg?style=flat)](https://pypi.org/project/nbtutor)\n[![Conda version](https://img.shields.io/conda/vn/conda-forge/nbtutor.svg)](https://anaconda.org/conda-forge/nbtutor)\n[![Conda downloads](https://img.shields.io/conda/dn/conda-forge/nbtutor.svg)](https://anaconda.org/conda-forge/nbtutor)\n\n[![Angular test status](https://github.com/lgpage/nbtutor/actions/workflows/angular-test.yml/badge.svg?branch=main)](https://github.com/lgpage/nbtutor/actions/workflows/angular-test.yml?query=branch%3Amain)\n[![Python check status](https://github.com/lgpage/nbtutor/actions/workflows/python-check.yml/badge.svg?branch=main)](https://github.com/lgpage/nbtutor/actions/workflows/python-check.yml?query=branch%3Amain)\n[![Python test status](https://github.com/lgpage/nbtutor/actions/workflows/python-test.yml/badge.svg?branch=main)](https://github.com/lgpage/nbtutor/actions/workflows/python-test.yml?query=branch%3Amain)\n\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/lgpage/nbtutor/HEAD?urlpath=tree/)\n\nTo try out `nbtutor`, click on the \"launch binder\" button above and then view the examples.\n\n## Install\n\nNote: installing directly off this repo won't work, as we don't ship the built JavaScript and CSS assets.\nSee more about [developing](#developing) below.\n\n### `pip`\n\n```shell\npip install nbtutor\njupyter nbextension install --overwrite --py nbtutor\njupyter nbextension enable --py nbtutor\n```\n\n### `conda`\n\n```shell\nconda install -c conda-forge nbtutor\njupyter nbextension install --overwrite --py nbtutor\njupyter nbextension enable --py nbtutor\n```\n\n## Usage (Jupyter Notebook)\n\nFirst load the `nbtutor` IPython kernel extension at top of the Notebook by executing the following magic in a\n`CodeCell`:\n\n```python\n%load_ext nbtutor\n```\n\nThen to visualize the execute of code in a `CodeCell` add the following magic to the top of the `CodeCell`\nand execute it again:\n\n```python\n%%nbtutor\n```\n\n### Optional Arguments\n\nThere are also optional arguments that can be used with the cell magic:\n\n- Reset the IPython user namespace\n\n  ```python\n  %%nbtutor -r/--reset\n  ```\n\n- Suppress the confirmation message from `-r/--reset`\n\n  ```python\n  %%nbtutor -r/--reset -f/--force\n  ```\n\n- Specify the maximum frame depth to visualize (default: 3)\n\n  ```python\n  %%nbtutor -d/--depth N\n  ```\n\n- Specify the maximum number of elements to visualize for \"sequence\"\n   type objects (default: 5)\n\n  ```python\n  %%nbtutor --max_size S\n  ```\n\n- Step through all frames (including frames from other cells and other\n   global scopes altogether)\n\n  ```python\n  %%nbtutor --step_all\n  ```\n\n### Notes\n\n- If you find a problem please feel free to submit a [GitHub Issue]\n\n## Develop\n\nPlease see the [CONTRIBUTING](CONTRIBUTING.md) and [DEVELOPMENT.md](DEVELOPMENT.md) guides\n\n[Jupyter Notebook]: https://jupyter.org\n[Online Python Tutor]: http://pythontutor.com/index.html\n[GitHub Issue]: https://github.com/lgpage/nbtutor/issues\n","funding_links":[],"categories":["TypeScript","交互式小部件和可视化","Collaboration/Education","工具与库"],"sub_categories":["Jupyter"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flgpage%2Fnbtutor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flgpage%2Fnbtutor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flgpage%2Fnbtutor/lists"}