Ich bin der Autor von fa2der Cython-optimierte ForceAtlas2-Layout-Algorithmus für Python. Nachdem ich PyPI jahrelang als einfachen Cython-Wrapper verwendet habe, habe ich gerade Version 1.1 mit einer kompletten Überarbeitung ausgeliefert.

    Was es tut: Berechnet kraftgesteuerte Diagrammlayouts – derselbe Algorithmus Gephi verwendet – direkt in Python. 10-100x schneller als reine Python-Alternativen dank Cython, mit Barnes-Hut O(n log n)-Näherung für große Diagramme.

    Was ist neu in v1.1?

     from fa2.easy import layout, visualize
    
     # Edge list in → positions out. No numpy needed.
     positions = layout([("A", "B"), ("B", "C"), ("A", "C")], mode="community")
    
     # One call to render
     visualize(edges, output="png", path="graph.png")
    
    • Einfache API – keine Numpy-/Scipy-Kenntnisse erforderlich
    • CLI – Python -m fa2 Layout Edges.json -o Layout.json
    • 3D-Layouts – dim=3 für 3D, funktioniert mit jeder Dimension
    • Antikollision – adjustSizes=True verhindert Knotenüberlappung
    • Auto-Tuning – ForceAtlas2.inferSettings(G) wählt Parameter für Sie aus
    • Qualitätsmetriken – Stress, Grenzüberschreitungen, Erhaltung der Nachbarschaft
    • MCP-Server – KI-Agenten können Diagramme direkt gestalten (pip install fa2[mcp])
    • Funktioniert mit NetworkX, igraph, Numpy-Arrays oder einfachen Edge-Listen
    • 372 Tests, 100 % Abdeckung der Kernmodule

    Installieren

    pip install fa2
    

    Für Cython-Beschleunigung (empfohlen):

    pip install cython 
    
    pip install fa2 --no-binary fa2
    

    Links

    GitHub: https://github.com/bhargavchippada/forceatlas2 (Beispielnotizbuch zur Kasse gehen)

    PYPI: https://pypi.org/project/fa2/

    API-Dokumente: https://bhargavchippada.github.io/forceatlas2

    ForceAtlas2-Papier: https://doi.org/10.1371/journal.pone.0098679

    Gerne beantworten wir Fragen zum Algorithmus oder zur Implementierung!

    Von TuriyaChips

    Share.
    Leave A Reply