{"id":26229598,"url":"https://github.com/romero-jose/dsvisualizer","last_synced_at":"2025-04-19T18:53:39.618Z","repository":{"id":39609907,"uuid":"476425193","full_name":"romero-jose/dsvisualizer","owner":"romero-jose","description":"A simple data structure visualizer for Jupyter Notebooks.","archived":false,"fork":false,"pushed_at":"2022-07-15T17:42:30.000Z","size":1508,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-13T04:35:55.934Z","etag":null,"topics":["data-structures","jupyter","python","visualization"],"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/romero-jose.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2022-03-31T18:11:22.000Z","updated_at":"2023-12-03T23:50:40.000Z","dependencies_parsed_at":"2022-07-04T11:42:45.104Z","dependency_job_id":null,"html_url":"https://github.com/romero-jose/dsvisualizer","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romero-jose%2Fdsvisualizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romero-jose%2Fdsvisualizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romero-jose%2Fdsvisualizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romero-jose%2Fdsvisualizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/romero-jose","download_url":"https://codeload.github.com/romero-jose/dsvisualizer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249770054,"owners_count":21323067,"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":["data-structures","jupyter","python","visualization"],"created_at":"2025-03-12T22:16:55.691Z","updated_at":"2025-04-19T18:53:39.588Z","avatar_url":"https://github.com/romero-jose.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# dsvisualizer\n\nA simple data structure visualizer for Jupyter Notebooks.\n\n## Usage\n\nTo visualize your linked list implementation import the library and add the\ncorresponding decorators to the linked list node and container.\n\n![Usage](usage.gif)\n\nYou can see an example notebook in [introduction](examples/introduction.ipynb).\n\n## Installation\n\nYou can install using `pip`:\n\n```bash\npip install dsvisualizer\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eIf using Google Colab\u003c/summary\u003e\n\nYou need to run the following snippet to enable custom widgets.\n\n```py\nfrom google.colab import output\noutput.enable_custom_widget_manager()\n```\n\u003c/details\u003e\n\n## Development Installation\n\nCreate a dev environment:\n```bash\nconda create -n dsvisualizer-dev -c conda-forge nodejs yarn python jupyterlab\nconda activate dsvisualizer-dev\n```\n\nInstall the python. This will also build the TS package.\n```bash\npip install -e \".[test, examples]\"\n```\n\nWhen developing your extensions, you need to manually enable your extensions\nwith the notebook or lab frontend. For Lab, this is done by the command:\n\n```\njupyter labextension develop --overwrite .\nyarn run build\n```\n\nFor classic notebooks, you need to run:\n\n```\njupyter nbextension install --sys-prefix --symlink --overwrite --py dsvisualizer\njupyter nbextension enable --sys-prefix --py dsvisualizer\n```\n\nNote that the `--symlink` flag doesn't work on Windows, so you will here\nhave to run the `install` command every time that you rebuild your extension.\nFor certain installations you might also need another flag instead of\n`--sys-prefix`, but we won't cover the meaning of those flags here.\n\n### How to see your changes\n#### Typescript:\nIf you use JupyterLab to develop then you can watch the source directory and\nrun JupyterLab at the same time in different terminals to watch for changes\nin the extension's source and automatically rebuild the widget.\n\n```bash\n# Watch the source directory in one terminal, automatically rebuilding when needed\nyarn run watch\n# Run JupyterLab in another terminal\njupyter lab\n```\n\nAfter a change wait for the build to finish and then refresh your browser and\nthe changes should take effect.\n\n#### Python:\nIf you make a change to the python code then you will need to restart the\nnotebook kernel to have it take effect.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromero-jose%2Fdsvisualizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fromero-jose%2Fdsvisualizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromero-jose%2Fdsvisualizer/lists"}