Helios FR
Helios FR is a python library implemented in C for layouting and visualizing complex networks. It implements the Fruchterman-Reingold (FR) algorithm.
Layout
Helios implements a force layout algorithm based on the FR algorithm [1].
Install
Requires python headers and a C11 compatible compiler, such as gcc or clang.
To install it, simply run:
pip install heliosFR
or clone this repository and install it from master by running:
pip install git+git://github.com/heliosnet/helios-core.git
Usage
Currently only the FR layout interface is implemented.
Example initialization with a small network.
import numpy as np
import heliosFR
positions = np.random.random((4, 3))
edges = np.array([
[0,1],
[2,3]
],dtype=np.uint64)
# positions is required to be an contiguous float32 numpy array
positions = np.ascontiguousarray(positions,dtype=np.float32)
# edges is required to be an contiguous uint64 numpy array
edges = np.ascontiguousarray(edges,dtype=np.uint64)
# speeds is required to be an contiguous uint64 numpy array
speeds = np.zeros(positions.shape,dtype=np.float32)
layout = heliosFR.FRLayout(edges, positions, speeds, maxWorkers=8,updateInterval=10)
Two APIS are available to iterate the layouts, synchronized and aynchronous.
Example of the synchronized API:
print("Initial positions:")
print(layout.positions)
layout.iterate(iterations=100)
print("Final positions:")
print(layout.positions)
Example using the aynchronous API:
print("Initial positions:")
print(layout.positions)
if(layout.running()): #False
print("It is running...")
else:
print("Not running...")
layout.start()
time.sleep(1)
print("Current positions:")
print(layout.positions)
time.sleep(1)
print("Current positions:")
print(layout.positions)
if(layout.running()): #True
print("It is running...")
else:
print("Not running...")
layout.stop()
print("Final positions:")
print(layout.positions)
You can restart the layout once it stopped. Subsequent calls to the start method have no effect if the layout is running.
Compiling on windows:
You need m2w64 and libpython to compile it.
conda install -c anaconda libpython
conda install -c msys2 m2w64-toolchain
You can now use pip install:
pip install ./
or compile distribs:
python setup.py sdist bdist_wheel
Creating a build environment using:
conda create -n buildpy36 -c default -c anaconda -c msys2 python=3.6 numpy libpython m2w64-toolchain
change python=3.6 and buildpy36 to the version of python you would like to use.
References
[1] Fruchterman, T. M. J., & Reingold, E. M. (1991). Graph Drawing by Force-Directed Placement. Software: Practice and Experience, 21(11).
Metadata
Release files for heliosFR 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| heliosFR-0.3.1.tar.gz | 64.9 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| heliosFR-0.3.1-pp37-pypy37_pp73-manylinux2010_x86_64.whl | PyPy 3.7 | PyPy 3.7 7.3 | Linux glibc 2.12+ x86-64 | Details |
| heliosFR-0.3.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl | PyPy 3.6 | PyPy 3.6 7.3 | Linux glibc 2.12+ x86-64 | Details |
| heliosFR-0.3.1-cp39-cp39-win_amd64.whl | CPython 3.9 | CPython 3.9 | Windows x86-64 | Details |
| heliosFR-0.3.1-cp39-cp39-manylinux2010_x86_64.whl | CPython 3.9 | CPython 3.9 | Linux glibc 2.12+ x86-64 | Details |
| heliosFR-0.3.1-cp39-cp39-manylinux2010_i686.whl | CPython 3.9 | CPython 3.9 | Linux glibc 2.12+ x86-32 | Details |
| heliosFR-0.3.1-cp39-cp39-macosx_10_14_x86_64.whl | CPython 3.9 | CPython 3.9 | macOS 10.14+ x86-64 | Details |
| heliosFR-0.3.1-cp38-cp38-win_amd64.whl | CPython 3.8 | CPython 3.8 | Windows x86-64 | Details |
| heliosFR-0.3.1-cp38-cp38-manylinux2010_x86_64.whl | CPython 3.8 | CPython 3.8 | Linux glibc 2.12+ x86-64 | Details |
| heliosFR-0.3.1-cp38-cp38-manylinux2010_i686.whl | CPython 3.8 | CPython 3.8 | Linux glibc 2.12+ x86-32 | Details |
| heliosFR-0.3.1-cp38-cp38-macosx_10_14_x86_64.whl | CPython 3.8 | CPython 3.8 | macOS 10.14+ x86-64 | Details |
| heliosFR-0.3.1-cp37-cp37m-win_amd64.whl | CPython 3.7 | CPython 3.7 pymalloc | Windows x86-64 | Details |
| heliosFR-0.3.1-cp37-cp37m-manylinux2010_x86_64.whl | CPython 3.7 | CPython 3.7 pymalloc | Linux glibc 2.12+ x86-64 | Details |
| heliosFR-0.3.1-cp37-cp37m-manylinux2010_i686.whl | CPython 3.7 | CPython 3.7 pymalloc | Linux glibc 2.12+ x86-32 | Details |
| heliosFR-0.3.1-cp37-cp37m-macosx_10_14_x86_64.whl | CPython 3.7 | CPython 3.7 pymalloc | macOS 10.14+ x86-64 | Details |
| heliosFR-0.3.1-cp36-cp36m-win_amd64.whl | CPython 3.6 | CPython 3.6 pymalloc | Windows x86-64 | Details |
| heliosFR-0.3.1-cp36-cp36m-manylinux2010_x86_64.whl | CPython 3.6 | CPython 3.6 pymalloc | Linux glibc 2.12+ x86-64 | Details |
| heliosFR-0.3.1-cp36-cp36m-manylinux2010_i686.whl | CPython 3.6 | CPython 3.6 pymalloc | Linux glibc 2.12+ x86-32 | Details |
| heliosFR-0.3.1-cp36-cp36m-macosx_10_14_x86_64.whl | CPython 3.6 | CPython 3.6 pymalloc | macOS 10.14+ x86-64 | Details |
Total release size: 3.4 MB
Release files / heliosFR-0.3.1.tar.gz
| Download URL | heliosFR-0.3.1.tar.gz |
|---|---|
| Size | 64.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9708c4161ac8393d281f61172c1702254c248846046a1bcc5da25f8b163a6dca
|
|
BLAKE2b-256 checksum How to use checksums |
4b3186a3bc720a961529ff9247d0d52f158409afda324dd4224050fc1d235ea9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
|
Release files / heliosFR-0.3.1-pp37-pypy37_pp73-manylinux2010_x86_64.whl
| Download URL | heliosFR-0.3.1-pp37-pypy37_pp73-manylinux2010_x86_64.whl |
|---|---|
| Size | 136.6 kB |
| Tags | Linux glibc 2.12+ x86-64 PyPy 3.7 PyPy 3.7 7.3 |
|
SHA-256 checksum How to use checksums |
6bfac38206049eee7a8fc2148e3e10412c02b6b393e1e790a18cb77aeda7972a
|
|
BLAKE2b-256 checksum How to use checksums |
b82533e5754e312f03eae6b052ce4328d114738dd8435f0f010f3b9993acfb4f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
|
Release files / heliosFR-0.3.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl
| Download URL | heliosFR-0.3.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl |
|---|---|
| Size | 136.6 kB |
| Tags | Linux glibc 2.12+ x86-64 PyPy 3.6 PyPy 3.6 7.3 |
|
SHA-256 checksum How to use checksums |
af7f1f4817b020fef33d35e5fb66dc410c77189ffc850225d3aa177c2007dc89
|
|
BLAKE2b-256 checksum How to use checksums |
ea98f053e0709e61b587666bebf1b7b210e4521f50a59b7d308d9e5bb6e662fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
|
Release files / heliosFR-0.3.1-cp39-cp39-win_amd64.whl
| Download URL | heliosFR-0.3.1-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 97.6 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
907c89e3758682129d3af427511cbb267d71aa384d338b1a99e6f68623a9b97c
|
|
BLAKE2b-256 checksum How to use checksums |
d39eb49a9f86bcfc02ddaab5f554433db88958a92770ef86dbd2d8d9e005cc4b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
|
Release files / heliosFR-0.3.1-cp39-cp39-manylinux2010_x86_64.whl
| Download URL | heliosFR-0.3.1-cp39-cp39-manylinux2010_x86_64.whl |
|---|---|
| Size | 328.3 kB |
| Tags | CPython 3.9 Linux glibc 2.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
fb5da92524abfcf5124307ad6f3230d35b25046967cc074432948845079f10e8
|
|
BLAKE2b-256 checksum How to use checksums |
41294de3bb5df59ecb9cf119ef617855af00c54b9448074ca6d010bdc944c043
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
|
Release files / heliosFR-0.3.1-cp39-cp39-manylinux2010_i686.whl
| Download URL | heliosFR-0.3.1-cp39-cp39-manylinux2010_i686.whl |
|---|---|
| Size | 288.4 kB |
| Tags | CPython 3.9 Linux glibc 2.12+ x86-32 |
|
SHA-256 checksum How to use checksums |
33807fd9504d3c8c3dd7ec3e18e1080ce1f38114e69016a817d1dcb9280df0b2
|
|
BLAKE2b-256 checksum How to use checksums |
b9b45cd106c726c5dbf6da2e1c6f5971eab597f09c24847337efb9a1b9db0b19
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
|
Release files / heliosFR-0.3.1-cp39-cp39-macosx_10_14_x86_64.whl
| Download URL | heliosFR-0.3.1-cp39-cp39-macosx_10_14_x86_64.whl |
|---|---|
| Size | 60.2 kB |
| Tags | CPython 3.9 macOS 10.14+ x86-64 |
|
SHA-256 checksum How to use checksums |
51c261dfa611d399bf876e8a4af9d513593287c5a061a520b21009e0e361f6d5
|
|
BLAKE2b-256 checksum How to use checksums |
931356e2e289c8df07825f79def14da45d462f365b36636ded29e348e4710bde
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
|
Release files / heliosFR-0.3.1-cp38-cp38-win_amd64.whl
| Download URL | heliosFR-0.3.1-cp38-cp38-win_amd64.whl |
|---|---|
| Size | 97.7 kB |
| Tags | CPython 3.8 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
cfa6b062a8703b3097ca44874d020ecae70cc58dc724f0ef61ef241fcd385221
|
|
BLAKE2b-256 checksum How to use checksums |
2649d9b1146de541ab7b5c203f29d096ee1f763052360ce347641e8abfb08965
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
|
Release files / heliosFR-0.3.1-cp38-cp38-manylinux2010_x86_64.whl
| Download URL | heliosFR-0.3.1-cp38-cp38-manylinux2010_x86_64.whl |
|---|---|
| Size | 329.4 kB |
| Tags | CPython 3.8 Linux glibc 2.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
5b8193db645027b76c91c9303296bf6e2ce3ed8f3d6b0ae67f1bf5c0b1d43cb0
|
|
BLAKE2b-256 checksum How to use checksums |
5b1be6d8e45e05492a872609128730a5229e0dc23bfefde0df4ec5c59b139530
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
|
Release files / heliosFR-0.3.1-cp38-cp38-manylinux2010_i686.whl
| Download URL | heliosFR-0.3.1-cp38-cp38-manylinux2010_i686.whl |
|---|---|
| Size | 289.0 kB |
| Tags | CPython 3.8 Linux glibc 2.12+ x86-32 |
|
SHA-256 checksum How to use checksums |
623bc0824c58e0bc8a1f3a1d04ba42294d05f1f37554c7a6e44cb6e0844167a9
|
|
BLAKE2b-256 checksum How to use checksums |
9ac39cf95f4c7ba2563d9981bc4832fca46725891edde3a6c68b52f35b090561
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
|
Release files / heliosFR-0.3.1-cp38-cp38-macosx_10_14_x86_64.whl
| Download URL | heliosFR-0.3.1-cp38-cp38-macosx_10_14_x86_64.whl |
|---|---|
| Size | 60.1 kB |
| Tags | CPython 3.8 macOS 10.14+ x86-64 |
|
SHA-256 checksum How to use checksums |
65be334ee71510b34ba1aa1b1124d5a250cd0cb253c5b93e629befc979102205
|
|
BLAKE2b-256 checksum How to use checksums |
fcace0b6cb54cfb8346d0fdacb79601cb008ae54ce118a9d6d1af08a127ef668
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
|
Release files / heliosFR-0.3.1-cp37-cp37m-win_amd64.whl
| Download URL | heliosFR-0.3.1-cp37-cp37m-win_amd64.whl |
|---|---|
| Size | 97.7 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Windows x86-64 |
|
SHA-256 checksum How to use checksums |
84c6ed44e7f5ae2ac446e566984edceb0c0802942a8ac399f2c6998360a2fed8
|
|
BLAKE2b-256 checksum How to use checksums |
ab2288df271e8ca7a645f55e02779e132896e96585dfdb1f1b4917687748f726
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
|
Release files / heliosFR-0.3.1-cp37-cp37m-manylinux2010_x86_64.whl
| Download URL | heliosFR-0.3.1-cp37-cp37m-manylinux2010_x86_64.whl |
|---|---|
| Size | 329.7 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
6f295dff6aef9fbefed77c3bd648d6233ca093c3aa9e988872c6b479705cf039
|
|
BLAKE2b-256 checksum How to use checksums |
6e03f54cb89164c423b46de6538619a75c4de01bac8ac268e9fb00a6ec7f85a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
|
Release files / heliosFR-0.3.1-cp37-cp37m-manylinux2010_i686.whl
| Download URL | heliosFR-0.3.1-cp37-cp37m-manylinux2010_i686.whl |
|---|---|
| Size | 289.3 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-32 |
|
SHA-256 checksum How to use checksums |
9b77fc2fe364a89ae398faea16396df70ceb70ab1b721c9bd6b7df6223ee8744
|
|
BLAKE2b-256 checksum How to use checksums |
2f41516b78c7b3b8a818544480e7e292cdd3fa187693889fb23a2cfec3bcd15d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
|
Release files / heliosFR-0.3.1-cp37-cp37m-macosx_10_14_x86_64.whl
| Download URL | heliosFR-0.3.1-cp37-cp37m-macosx_10_14_x86_64.whl |
|---|---|
| Size | 60.1 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc macOS 10.14+ x86-64 |
|
SHA-256 checksum How to use checksums |
ba21e98ae2c886d675bea491f898da8fd90fe05689c1b44bfe018404b0bf094b
|
|
BLAKE2b-256 checksum How to use checksums |
c63b25aa4133887b80cb57cf035d6dd4cbc8421165ebccbc2ff8d6ea99fcc653
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
|
Release files / heliosFR-0.3.1-cp36-cp36m-win_amd64.whl
| Download URL | heliosFR-0.3.1-cp36-cp36m-win_amd64.whl |
|---|---|
| Size | 97.7 kB |
| Tags | CPython 3.6 CPython 3.6 pymalloc Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e30f728916182dfa608b0c4726a5a9a571b50dda70f48e960e071410b46d0fbb
|
|
BLAKE2b-256 checksum How to use checksums |
f94a686fc400cbb08ffa260a994623e0fccb21b5e4cef6dae6f05334e2ba48e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
|
Release files / heliosFR-0.3.1-cp36-cp36m-manylinux2010_x86_64.whl
| Download URL | heliosFR-0.3.1-cp36-cp36m-manylinux2010_x86_64.whl |
|---|---|
| Size | 328.5 kB |
| Tags | CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
0c11e8904b2d934cd7f0274d89849a1665477c6bb314a3535571b582cf8cf3da
|
|
BLAKE2b-256 checksum How to use checksums |
ee2b7927d6d139d2ec340563f86b3df710f59950d28a1b3b3f37e9164b0377c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
|
Release files / heliosFR-0.3.1-cp36-cp36m-manylinux2010_i686.whl
| Download URL | heliosFR-0.3.1-cp36-cp36m-manylinux2010_i686.whl |
|---|---|
| Size | 288.0 kB |
| Tags | CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-32 |
|
SHA-256 checksum How to use checksums |
2daef8f41cb4cd02acc20199848e53bafbaca0d9ce7eb2e690b26acc3640f881
|
|
BLAKE2b-256 checksum How to use checksums |
8ae12dc5ba0ce6c084dfb073d8bff70ce39ed2741e3d637a096889bcdcd03377
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
|
Release files / heliosFR-0.3.1-cp36-cp36m-macosx_10_14_x86_64.whl
| Download URL | heliosFR-0.3.1-cp36-cp36m-macosx_10_14_x86_64.whl |
|---|---|
| Size | 60.1 kB |
| Tags | CPython 3.6 CPython 3.6 pymalloc macOS 10.14+ x86-64 |
|
SHA-256 checksum How to use checksums |
1d9a452a871d5d006da3a97c4d48b0f2ddd9030fcc1782c040fa869fc1d2c7b6
|
|
BLAKE2b-256 checksum How to use checksums |
3470d4e2f1ec8cad299a4c0482deb2fe5d98a2225fa83a5051afc877e3d4e02f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
|