{"id":18734188,"url":"https://github.com/nico-curti/blendnet","last_synced_at":"2025-04-12T18:32:09.111Z","repository":{"id":139598266,"uuid":"119861270","full_name":"Nico-Curti/BlendNet","owner":"Nico-Curti","description":"Network viewer with Blender support","archived":false,"fork":false,"pushed_at":"2024-09-10T17:19:14.000Z","size":547,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-26T13:21:45.568Z","etag":null,"topics":["blender3d","network-graph","rendering","visualization"],"latest_commit_sha":null,"homepage":"https://nico-curti.github.io/BlendNet/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nico-Curti.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2018-02-01T16:21:14.000Z","updated_at":"2024-09-10T17:19:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"73ad2461-34ed-43eb-9d08-f9b5c0436cc4","html_url":"https://github.com/Nico-Curti/BlendNet","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nico-Curti%2FBlendNet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nico-Curti%2FBlendNet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nico-Curti%2FBlendNet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nico-Curti%2FBlendNet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nico-Curti","download_url":"https://codeload.github.com/Nico-Curti/BlendNet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248613627,"owners_count":21133556,"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":["blender3d","network-graph","rendering","visualization"],"created_at":"2024-11-07T15:12:42.249Z","updated_at":"2025-04-12T18:32:08.720Z","avatar_url":"https://github.com/Nico-Curti.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"| **Authors**                                     | **Project** | **Build Status**              |\r\n|:-----------------------------------------------:|:-----------:|:-----------------------------:|\r\n|   [**N. Curti**](https://github.com/Nico-Curti) | **BlendNet**| **Linux/OSX** : [![travis](https://travis-ci.com/Nico-Curti/BlendNet.svg?branch=master)](https://travis-ci.com/Nico-Curti/BlendNet) \u003cbr/\u003e **Windows** : [![Windows](https://ci.appveyor.com/api/projects/status/1unn2dg52kui34la?svg=true)](https://ci.appveyor.com/project/Nico-Curti/blendnet) |\r\n\r\n[![GitHub pull-requests](https://img.shields.io/github/issues-pr/Nico-Curti/BlendNet.svg?style=plastic)](https://github.com/Nico-Curti/BlendNet/pulls)\r\n[![GitHub issues](https://img.shields.io/github/issues/Nico-Curti/BlendNet.svg?style=plastic)](https://github.com/Nico-Curti/BlendNet/issues)\r\n\r\n[![GitHub stars](https://img.shields.io/github/stars/Nico-Curti/BlendNet.svg?label=Stars\u0026style=social)](https://github.com/Nico-Curti/BlendNet/stargazers)\r\n[![GitHub watchers](https://img.shields.io/github/watchers/Nico-Curti/BlendNet.svg?label=Watch\u0026style=social)](https://github.com/Nico-Curti/BlendNet/watchers)\r\n\r\n\u003ca href=\"https://github.com/physycom\"\u003e\r\n\u003cdiv class=\"image\"\u003e\r\n\u003cimg src=\"https://cdn.rawgit.com/physycom/templates/697b327d/logo_unibo.png\" width=\"90\" height=\"90\"\u003e\r\n\u003c/div\u003e\r\n\u003c/a\u003e\r\n\r\n# BlendNet\r\n### (Blender Network viewer)\r\n\r\n\u003ca href=\"https://github.com/Nico-Curti/BlendNet/blob/master/example/star_graph.png\"\u003e\r\n\u003cdiv class=\"image\"\u003e\r\n\u003cimg src=\"https://github.com/Nico-Curti/BlendNet/blob/master/example/star_graph.png\" width=\"960\" height=\"540\"\u003e\r\n\u003c/div\u003e\r\n\u003c/a\u003e\r\n\r\nOne of the biggest problem during graph visualization is to obtain good results in 3D environment. [Blender](https://www.blender.org/) software allows to create very beautiful 3D objects and it is very easy to use by Python API.\r\n\r\n**BlendNet** project include a simple single-file python interface to draw network in 2D and 3D using Blender support.\r\n\r\n1. [Why BlendNet?](#why)\r\n2. [Prerequisites](#prerequisites)\r\n3. [Installation](#installation)\r\n4. [Authors](#authors)\r\n5. [License](#license)\r\n6. [Contribution](#contribution)\r\n7. [Acknowledgments](#acknowledgments)\r\n8. [Citation](#citation)\r\n\r\n## Why BlendNet?\r\n\r\nGraph visualization is still an open problem in many applications.\r\nCommonly the problem is related to large graph visualization in which problems arise from the rendering of a large number of nodes and a greater number of links between them.\r\nAn other open problem concern the multi-dimensional visualization of the graphs.\r\nDespite the most common graph tools compute the node coordinates in a any space dimensions (and clearly the maximum number of possible dimension for a visualization is still three) the real visualization is often allowed only a 2D space.\r\nThe counterpart of these problems concern the pretty visualization of the graphs that it is often ignored in many tools but it can be guarantee a good result, the so called wow-effect, in a presentation.\r\n\r\nBlendNet is a custom tool written in Python with the help of Blender API.\r\nBlender is now a standard in the 3D rendering and it is commonly used in a wide range of graphical applications, starting from the simpler 3D dynamics to the video-games applications.\r\nBlender is certainly more than a simple graphical viewer but the easy Python interface and the wide on-line documentation and blogs make it a useful tool for graphical representation of 3D structures.\r\n\r\n## Prerequisites\r\n\r\n**BlendNet** package uses Blender to render the network structure so install it before use it.\r\nA full list of Blender instruction can be found [here](https://www.blender.org/download/).\r\n\r\nThen you have to update the list of packages of the Python version inside Blender.\r\nSo go to the `path_to_blender/version/python/bin` directory and download `pip` as package manager and use it to install `networkx` `pandas` `matplotlib` `numpy` or use the [requirements.txt]() file inside the project as `pip install -r path_to_BlendNet/requirements.txt`.\r\n\r\n## Installation\r\n\r\nThe scripts [install.sh](https://github.com/Nico-Curti/BlendNet/blob/master/install.sh) and [install.ps1](https://github.com/Nico-Curti/BlendNet/blob/master/install.ps1) cover a full installation example of Blender and project dependencies for Unix and Windows users, respectively. To use it please download also the submodules of the project. The full list of dependencies will be installed as no-root users so any trouble about user-privileges is ignored.\r\n\r\nThe [Makefile](https://github.com/Nico-Curti/BlendNet/blob/master/Makefile) cover a list of examples and command lines instructions about different inputs available. Just type `make help` to see the full list of available rules:\r\n\r\n```bash\r\n**Blender viewer for graph**\r\nUsage:  make draw [edgelist] [edgefile] [nodelist] [nodefile] [dim] [direct] [node_size] [edge_thickness]\r\n\r\n\r\noptional arguments:\r\n        edgelist       - string of edges (python-like)\r\n        edgefile       - string with the name of file as csv\r\n        nodelist       - string of nodes (python-like)\r\n        nodefile       - string with the name of file as csv\r\n        dim            - number of dimension for network plot (2 or 3)\r\n        direct         - bool for directed/undirected graph\r\n        node_size      - float for node size\r\n        edge_thickness - float for edges size\r\n\r\nNote :\r\n- edgelist or edgefile are mutually exclusive as nodelist and nodefile\r\n- edges file must be a csv with header names 'source','target'\r\n- nodes file must be a csv with header names 'node',[colors],[x],[y],[z]\r\n        where node, colors and x,y,z are optional (default random colors and spring layout)\r\nExample:\r\nmake draw edgefile='[[0,1],[1,2],[2,3]]' dim=3\r\nmake draw filename='mynet.csv'\r\nTo beginner:\r\n        make test\r\n```\r\n\r\nA list of examples could be found in [example](https://github.com/Nico-Curti/blend_net/tree/master/example) directory.\r\n\r\n\r\n## Authors\r\n\r\n* **Nico Curti** [git](https://github.com/Nico-Curti), [unibo](https://www.unibo.it/sitoweb/nico.curti2)\r\n\r\nSee also the list of [contributors](https://github.com/Nico-Curti/walkers/contributors) who participated in this project.\r\n\r\n\r\n## License\r\n\r\nThe `BlendNet` package is licensed under the GPL License. [![License](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://github.com/Nico-Curti/BlendNet/blob/master/LICENSE.md)\r\n\r\n## Contribution\r\n\r\nAny contribution is more than welcome :heart:. Just fill an issue or a pull request and I will check ASAP!\r\n\r\n## Acknowledgments\r\n\r\nThanks goes to all contributors of this project:\r\n\r\n| [\u003cimg src=\"https://avatars0.githubusercontent.com/u/9303827?s=400\u0026v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAlessandro Fabbri\u003c/b\u003e\u003c/sub\u003e](https://github.com/allefabbri) | [\u003cimg src=\"https://avatars2.githubusercontent.com/u/721187?s=400\u0026v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eStefano Sinigardi\u003c/b\u003e\u003c/sub\u003e](https://github.com/cenit)\r\n|:---:|:---:|\r\n\r\nand to Raffaele Pepe who help me with Blender instructions.\r\n\r\n### Citation\r\n\r\nIf you have found `BlendNet` helpful in your research, please consider citing the project\r\n\r\n```tex\r\n@misc{BlendNet,\r\n  author = {Nico Curti},\r\n  title = {BlendNet},\r\n  year = {2019},\r\n  publisher = {GitHub},\r\n  howpublished = {\\url{https://github.com/Nico-Curti/BlendNet}},\r\n}\r\n```\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnico-curti%2Fblendnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnico-curti%2Fblendnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnico-curti%2Fblendnet/lists"}