Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

helios

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

helios

Python library to work with complex networks

  • 0.3.0
  • PyPI
  • Socket score

Maintainers
1

Helios Networks [WIP]

helios

Helios is a Python library aiming to provide an easy way to visualize huge networks dynamically. Helios also provides visualizations through an interactive Stadia-like streaming system in which users can be collaboratively access (and share) visualizations created in a server or through Jupyter Notebook/Lab environments. It incorporates state-of-the-art layout algorithms and optimized rendering techniques (powered by FURY).

General InformationKey FeaturesInstallationUsageHistoryCredits

General Information

Key Features

  • Force-directed layout using octrees
  • Minimum-distortion embeddings
  • ForceAtlas2 using cugraph
  • Interactive local and Remote rendering in Jupyter Notebooks
  • WebRTC or MJPEG interactive streaming system

Installation

Use pip install pointed to this repository:

pip git+https://github.com/fury-gl/helios.git

As an alternative, Helios can be installed from the source code through the following steps:

  • Step 1. Get the latest source by cloning this repo:

    git clone https://github.com/fury-gl/helios.git
    
  • Step 2. Install requirements:

    pip install -r requirements.txt
    
  • Step 3. Install Helios

    As a local project installation using:

      pip install .
    

    Or as an "editable" installation using:

      pip install -e .
    
  • Step 4: Enjoy!

For more information, see also installation page on heliosnetwork.io

Dependencies

Helios requires Python 3.7+ and the following mandatory dependencies:

  • numpy >= 1.7.1
  • vtk >= 8.1.0
  • fury

To enable WebRTC streaming and enable optimizations to the streaming system, install the following optional packages:

  • Required for WebRTC streaming

    • aiohttp
    • aiortc
  • Optional packages that may improve performance

    • cython
    • opencv

Testing

After installation, you can install test suite requirements:

pip install -r requirements_dev.txt

And to launch test suite:

pytest -svv helios

Usage

There are many ways to start using Helios:

Example usage:

   from helios import NetworkDraw
   from helios.layouts import HeliosFr
   import numpy as np
   
   vertex_count = 8
   
   edges = np.array([
      [0,1],
      [0,2],
      [1,2],
      [2,3],
      [3,4],
      [3,5],
      [4,5],
      [5,6],
      [6,7],
      [7,0]
   ]);
   
  centers = np.random.normal(size=(vertex_count, 3))

  network_draw = NetworkDraw(
          positions=centers,
          edges=edges,
          colors=(0.25,0.25,0.25),
          scales=1,
          node_edge_width=0,
          marker='s',
          edge_line_color=(0.5,0.5,0.5),
          window_size=(600, 600)
  )
  
  layout = HeliosFr(edges, network_draw)
  layout.start()
  network_draw.showm.initialize()
  network_draw.showm.start()

History

Helios project started as a replacement to the desktop version of the Networks 3D tools. The project evolved quickly along the summer of 2021 due to the GSoC’21 under the responsibility of the Python Software Foundation and the FURY team. The majority of the initial work has been done by @devmessias mentored by @filipinascimento and @skoudoro. The GSoC’21 project associated with Helios is “A system for collaborative visualization of large network layouts using FURY”. Check out the final report for more information.

Credits

Please, go to contributors page to see who has been involved in the development of Helios.

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc