Skip to content

v1.0.0

Choose a tag to compare

@bhargavchippada bhargavchippada released this 22 Mar 17:06
· 18 commits to master since this release
5ed41b0

ForceAtlas2 v1.0.0

Major release with full feature parity to Gephi ForceAtlas2.

New Features

  • N-dimensional layoutdim parameter supports 2D, 3D, and beyond
  • Anti-collisionadjustSizes=True prevents node overlap (Gephi ForceFactory.java parity)
  • Auto-tuningForceAtlas2.inferSettings(G) selects parameters from graph characteristics
  • Edge weight processingnormalizeEdgeWeights (min-max to [0,1]) and invertedEdgeWeightsMode (w=1/w)
  • NumPy vectorized backendbackend="vectorized" for 10-16x speedup without Cython
  • Store positionsstore_pos_as saves positions as node attributes in NetworkX/igraph
  • Node sizessize_attr reads sizes from graph attributes for anti-collision
  • Dual Cython architecture — Node2D (scalar C fields) + NodeND (list fields) for full 2D performance parity with v0.9.0

Bug Fixes

  • Anti-collision division-by-zero when nodes exactly touch (distance=0)
  • Coincident nodes producing NaN in vectorized repulsion
  • float32 precision loss in NetworkX sparse conversion
  • Suppress spurious RuntimeWarning in vectorized gravity for origin nodes

Quality

  • 190 unit/integration tests, 100% coverage
  • 8 benchmarks
  • All force formulas verified against Gephi Java source and the original paper
  • MkDocs documentation site

Install

pip install fa2==1.0.0

For Cython speedup:

pip install cython
pip install fa2==1.0.0 --no-binary fa2

Full Changelog: v0.9.0...v1.0.0