You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

pyforcedirectedlayout

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pyforcedirectedlayout

Python Implementation of a Force Directed Layout Algorithm

0.80.6
pipPyPI
Maintainers
1

Maintenance CircleCI PyPI version

Introduction

This project is the Python implementation of Brad Smith's article on A Forced-Directed Diagram Layout Algorithm. There were a few bumps on the road to get Brad's code manually converted from a Microsoft graphics platform to a pseudo-platform independent platform like wxPython running on Mac OS. I will not go into detail on what those bumps were. But I want to make sure and document those here.

Details

Install in your virtual environment

pip install pyforcedirectedlayout

Configuration details

These drive the algorithm

ParameterDefault ValueDescription
damping0.1Value between 0 and 1 that slows the motion of the nodes during layout.
springLength100Value in pixels representing the length of the imaginary springs that run along the connectors.
maxIterations500Maximum number of iterations before the algorithm terminates
attractionForce0.1The spring value
repulsionForce10000The repulsion value

Randomize the layout

ParameterDefault ValueDescription
minPointPoint(x=10, y=10)
maxPointPoint(x=60, y=60)

Early Termination

ParameterDefault ValueDescription
minimumTotalDisplacement10
stopCount15Stop execution after this many number of iterations where the totalDisplacement is less that minimumTotalDisplacement

Developer Notes

This project uses buildlackey for day-to-day development builds

Note

For all kinds of problems, requests, enhancements, bug reports, etc., drop me an e-mail. Written by Humberto A. Sanchez II (C) 2024

Humberto's Modified Logo

I am concerned about GitHub's Copilot project.

I urge you to read about the Give up GitHub campaign from the Software Freedom Conservancy.

While I do not advocate for all the issues listed there, I do not like that a company like Microsoft may profit from open source projects.

I continue to use GitHub because it offers the services I need for free. But I continue to monitor their terms of service.

Any use of this project's code by GitHub Copilot, past or present, is done without my permission. I do not consent to GitHub's use of this project's code in Copilot.

Keywords

layout

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