{"id":13498837,"url":"https://github.com/jupyter-widgets/pythreejs","last_synced_at":"2025-05-14T15:10:23.381Z","repository":{"id":12727354,"uuid":"15400194","full_name":"jupyter-widgets/pythreejs","owner":"jupyter-widgets","description":"A Jupyter - Three.js bridge","archived":false,"fork":false,"pushed_at":"2024-10-10T15:48:16.000Z","size":5281,"stargazers_count":963,"open_issues_count":73,"forks_count":192,"subscribers_count":40,"default_branch":"master","last_synced_at":"2025-04-02T18:07:48.847Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://pythreejs.readthedocs.io","language":"JavaScript","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/jupyter-widgets.png","metadata":{"files":{"readme":"README.md","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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-12-23T17:02:11.000Z","updated_at":"2025-03-15T02:45:44.000Z","dependencies_parsed_at":"2024-01-03T07:08:49.118Z","dependency_job_id":"e5c3340a-7968-485e-99d7-d16732d6ab4a","html_url":"https://github.com/jupyter-widgets/pythreejs","commit_stats":{"total_commits":1515,"total_committers":34,"mean_commits":44.55882352941177,"dds":0.6297029702970297,"last_synced_commit":"584fe393ff593319ce33cd53dd94c8625aa01c88"},"previous_names":["jovyan/pythreejs"],"tags_count":33,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fpythreejs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fpythreejs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fpythreejs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fpythreejs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jupyter-widgets","download_url":"https://codeload.github.com/jupyter-widgets/pythreejs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247569138,"owners_count":20959758,"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-31T21:00:45.315Z","updated_at":"2025-04-09T19:14:28.736Z","avatar_url":"https://github.com/jupyter-widgets.png","language":"JavaScript","funding_links":[],"categories":["数据可视化","交互式小部件和可视化","Interactive Widgets"],"sub_categories":["Interactive Jupyter Widget Ecosystem"],"readme":"# pythreejs\n\n[![Interactive demo on Binder][binder-badge]][binder]\n[![Install from PyPI][pypi-badge]][pypi]\n[![Install from conda-forge][cf-badge]][cf]\n[![Reuse from npm][npm-badge]][npm]\n[![Documentation Status][docs-badge]][docs]\n[![Build Status][ci-badge]][ci]\n\nA Python / ThreeJS bridge for [Jupyter Widgets][widgets].\n\n![Screencast]\n\n[binder-badge]: https://mybinder.org/badge_logo.svg\n[binder]: https://mybinder.org/v2/gh/jupyter-widgets/pythreejs/HEAD?urlpath=lab%2Ftree%2Fexamples%2FExamples.ipynb\n[pypi-badge]: https://img.shields.io/pypi/v/pythreejs?logo=pypi\n[pypi]: https://pypi.org/project/pythreejs\n[cf-badge]: https://img.shields.io/conda/vn/conda-forge/pythreejs?logo=conda-forge\n[cf]: https://anaconda.org/conda-forge/pythreejs\n[npm-badge]: https://img.shields.io/npm/v/jupyter-threejs?logo=npm\n[npm]: https://www.npmjs.com/package/jupyter-threejs\n[docs-badge]: https://readthedocs.org/projects/pythreejs/badge/?version=stable\n[docs]: https://pythreejs.readthedocs.io/en/stable\n[ci-badge]: https://github.com/jupyter-widgets/pythreejs/actions/workflows/ci.yml/badge.svg\n[ci]: https://github.com/jupyter-widgets/pythreejs/actions/workflows/ci.yml?query=branch%3Amaster\n[widgets]: https://jupyter.org/widgets\n[screencast]: https://raw.githubusercontent.com/jupyter-widgets/pythreejs/master/screencast.gif\n\n## Installation\n\nUsing `pip`:\n\n```bash\npip install pythreejs\n```\n\nor `conda`:\n\n```bash\nconda install -c conda-forge pythreejs\n```\n\n\u003e For a development install, see the [contributing guide][contributing].\n\nThe extension should then be installed automatically for your Jupyter client.\n\n\u003e For JupyterLab `\u003c3`, you may also need to ensure `nodejs` is installed, and\n\u003e rebuild the application:\n\u003e\n\u003e ```bash\n\u003e # conda install -c cond-forge 'nodejs\u003e=12'\n\u003e jupyter lab build\n\u003e ```\n\n[contributing]: https://github.com/jupyter-widgets/pythreejs/blob/master/CONTRIBUTING.md\n\n## Troubleshooting\n\nIf the extension is not automatically installed, you can manually enable it\n\n### Jupyter Notebook Classic\n\n```bash\njupyter nbextension list\njupyter nbextension install --py --symlink --sys-prefix pythreejs\njupyter nbextension enable --py --sys-prefix pythreejs\njupyter nbextension list\n```\n\nYou should see:\n\n```bash\nKnown nbextensions:\n  ...\n  jupyter-js-widgets/extension  enabled\n    - Validating: OK\n```\n\n\u003e Note for developers: the `--symlink` argument on Linux or MacOS allows one to\n\u003e modify the JavaScript code in-place. This feature is not available on Windows.\n\n### JupyterLab\n\nTo perform a _source installation_:\n\n```bash\n## ensure you have nodejs install, e.g. with conda\n# conda install -c conda-forge 'nodejs\u003e=12'\njupyter labextension list\njupyter labextension install --no-build @jupyter-widgets/jupyterlab-manager\njupyter labextension install --no-build jupyter-datawidgets/extension\njupyter labextension install jupyter-threejs\njupyter labextension list\n```\n\nYou should see:\n\n```bash\nJupyterLab v...\n  ...\n    jupyterlab-datawidgets v... enabled OK\n    @jupyter-widgets/jupyterlab-manager v... enabled OK\n    jupyter-threejs v... enabled OK\n\n```\n\n\u003e This approach is _not recommended_ for JupyterLab 3, which enables\n\u003e _federated modules_, installed via `pip`, `conda` or other package managers,\n\u003e and does not require rebuilding the entire application.\n\n## Uninstallation\n\nUsing `pip`:\n\n```bash\npip uninstall pythreejs\n```\n\nor `conda`:\n\n```bash\nconda uninstall pythreejs\n```\n\n\u003e If you applied any manual steps above, it may be necessary to remove the\n\n### Jupyter Notebook Classic\n\n```bash\njupyter nbextension disable --py --sys-prefix pythreejs\n```\n\n### Jupyter Lab\n\n```bash\njupyter labextension uninstall jupyter-threejs\n```\n\n## Open Source\n\nThis software is licensed under the [BSD-3-Clause][] License.\n\n[bsd-3-clause]: https://github.com/jupyter-widgets/pythreejs/blob/master/LICENSE\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjupyter-widgets%2Fpythreejs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjupyter-widgets%2Fpythreejs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjupyter-widgets%2Fpythreejs/lists"}