{"id":13498854,"url":"https://github.com/cytoscape/ipycytoscape","last_synced_at":"2025-05-15T00:09:39.546Z","repository":{"id":37541631,"uuid":"238460517","full_name":"cytoscape/ipycytoscape","owner":"cytoscape","description":"A Cytoscape Jupyter widget","archived":false,"fork":false,"pushed_at":"2025-04-07T17:47:47.000Z","size":2884,"stargazers_count":270,"open_issues_count":74,"forks_count":63,"subscribers_count":28,"default_branch":"master","last_synced_at":"2025-04-13T21:34:00.824Z","etag":null,"topics":["binder","cytoscape","jupyter-notebook"],"latest_commit_sha":null,"homepage":"https://ipycytoscape.readthedocs.io/en/master/","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/cytoscape.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"zenodo":null}},"created_at":"2020-02-05T13:46:52.000Z","updated_at":"2025-03-04T21:27:52.000Z","dependencies_parsed_at":"2024-06-18T15:13:19.245Z","dependency_job_id":"4f4028a0-4f8f-41f2-b96b-856cd493cf6f","html_url":"https://github.com/cytoscape/ipycytoscape","commit_stats":{"total_commits":547,"total_committers":37,"mean_commits":"14.783783783783784","dds":0.5850091407678245,"last_synced_commit":"d4235b2635b11a3703f71aedf5c0bf0539ca469a"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cytoscape%2Fipycytoscape","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cytoscape%2Fipycytoscape/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cytoscape%2Fipycytoscape/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cytoscape%2Fipycytoscape/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cytoscape","download_url":"https://codeload.github.com/cytoscape/ipycytoscape/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254249206,"owners_count":22039029,"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":["binder","cytoscape","jupyter-notebook"],"created_at":"2024-07-31T21:00:45.651Z","updated_at":"2025-05-15T00:09:34.531Z","avatar_url":"https://github.com/cytoscape.png","language":"Python","funding_links":[],"categories":["交互式小部件和可视化","Interactive Widgets \u0026 Visualization","Visualization","Interactive Widgets"],"sub_categories":["Interactive Jupyter Widget Ecosystem"],"readme":"# ipycytoscape\n\n[![Tests](https://github.com/cytoscape/ipycytoscape/actions/workflows/test.yml/badge.svg)](https://github.com/cytoscape/ipycytoscape/actions/workflows/test.yml) [![Documentation Status](https://readthedocs.org/projects/ipycytoscape/badge/?version=master)](https://ipycytoscape.readthedocs.io/en/latest/?badge=master) [![StackOverflow](https://img.shields.io/badge/stackoverflow--orange.svg)](https://stackoverflow.com/questions/tagged/ipycytoscape) [![Join the chat at https://gitter.im/QuantStack/Lobby](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/QuantStack/Lobby?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\nA widget enabling interactive graph visualization with [cytoscape.js](https://js.cytoscape.org/) in JupyterLab and the Jupyter notebook.\n\nTry it out using binder: [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/cytoscape/ipycytoscape/HEAD?filepath=examples) or install and try out the [examples](examples).\n\n![cytoscape screencast](https://user-images.githubusercontent.com/17600982/76328068-bbbbcf00-62e2-11ea-93ed-01ba392ac50c.gif)\n\n#### Supports:\n\n* Conversion from NetworkX see [example1](https://github.com/cytoscape/ipycytoscape/blob/master/examples/Test%20NetworkX%20methods.ipynb), [example2](https://github.com/cytoscape/ipycytoscape/blob/master/examples/NetworkX%20Example.ipynb)\n* Conversion from Pandas DataFrame see [example](https://github.com/cytoscape/ipycytoscape/blob/master/examples/pandas.ipynb)\n* Conversion from neo4j see [example](https://github.com/cytoscape/ipycytoscape/blob/master/examples/Neo4j_Example.ipynb)\n\n## Installation\n\nWith `mamba`:\n\n```\nmamba install -c conda-forge ipycytoscape\n```\n\nWith `conda`:\n\n```\nconda install -c conda-forge ipycytoscape\n```\n\nWith `pip`:\n\n```bash\npip install ipycytoscape\n```\n\n### Pandas installation\n\nYou can install the Pandas dependencies for `ipycytoscape` with pip:\n\n```\npip install pandas\n```\n\nOr conda-forge:\n\n```\nmamba install pandas\n```\n\n### Neo4j installation\n\nYou can install the neo4j dependencies for `ipycytoscape` with pip:\n\n```\npip install -e \".[neo4j]\"\n```\n\nOr conda-forge:\n```\nmamba install py2neo neotime\n```\n\n#### For jupyterlab 1.x or 2.x:\n\nIf you are using JupyterLab 1.x or 2.x then you will also need to install `nodejs` and the `jupyterlab-manager` extension. You can do this like so:\n\n```bash\n# installing nodejs\nconda install -c conda-forge nodejs\n\n\n# install jupyterlab-manager extension\njupyter labextension install @jupyter-widgets/jupyterlab-manager@2.0 --no-build\n\n# if you have previously installed the manager you still to run jupyter lab build\njupyter lab build\n```\n\n### For Jupyter Notebook 5.2 and earlier\n\nYou may also need to manually enable the nbextension:\n```bash\njupyter nbextension enable --py [--sys-prefix|--user|--system] ipycytoscape\n```\n\n## For a development installation:\n**(requires npm)**\n\nWhile not required, we recommend creating a conda environment to work in:\n```bash\nconda create -n ipycytoscape -c conda-forge jupyterlab nodejs\nconda activate ipycytoscape\n\n# clone repo\ngit clone https://github.com/cytoscape/ipycytoscape.git\ncd ipycytoscape\n```\n\n### Install python package for development\n\nThis will `run npm install` and `npm run build`. \nThis command will also install the test suite and the [docs](https://ipycytoscape.readthedocs.io/en/latest/) locally:\n\n```\npip install jupyter_packaging==0.7.9\npip install -e \".[test, docs]\"\n\njupyter labextension develop . --overwrite\n```\n\noptionally install the pre-commit hooks with:\n\n```bash\npre-commit install\n```\n\n\nOr for classic notebook, you can run:\n\n```\njupyter nbextension install --sys-prefix --symlink --overwrite --py ipycytoscape\njupyter nbextension enable --sys-prefix --py ipycytoscape\n```\n\nNote that the `--symlink` flag doesn't work on Windows, so you will here have to run\nthe `install` command every time that you rebuild your extension. For certain installations\nyou might also need another flag instead of `--sys-prefix`, but we won't cover the meaning\nof those flags here.\n\n### How to see your changes\n\n#### Typescript: \nTo continuously monitor the project for changes and automatically trigger a rebuild, start watching the ipycytoscape code:\n```bash\nnpm run watch\n```\nAnd in a separate terminal start JupyterLab normally:\n```bash\njupyter lab\n```\nonce the webpack rebuild finishes refresh the JupyterLab page to have your changes take effect.\n\n#### Python:\nIf you make a change to the python code then you need to restart the notebook kernel to have it take effect.\n\n### How to run tests locally\n\nInstall necessary dependencies with pip:\n\n```\npip install -e \".[test]\"\n```\n\nOr with conda/mamba:\n\n```\nmamba -c conda-forge install networkx pandas nbval pytest\n```\n\n#### And to run it:\n\n```\npytest\n```\n\n### How to build the docs\n\n`cd docs`\n\nInstall dependencies:\n\n`conda env update --file doc_environment.yml`\n\nAnd build them: \n\n`make html`\n\n## Acknowledgements\n\nThe ipycytoscape project was started by [Mariana Meireles](https://github.com/marimeireles) at [QuantStack](https://quantstack.net). This initial development was funded as part of the [PLASMA](https://plasmabio.org) project, which is led by Claire Vandiedonck, Pierre Poulain, and Sandrine Caburet.\n\n## License\n\nWe use a shared copyright model that enables all contributors to maintain the\ncopyright on their contributions.\n\nThis software is licensed under the BSD-3-Clause license. See the\n[LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcytoscape%2Fipycytoscape","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcytoscape%2Fipycytoscape","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcytoscape%2Fipycytoscape/lists"}