Minimal Python CLI to precompute force-directed graph layout coordinates from parquet edge lists.
python3 -m venv .venv
source .venv/bin/activate
pip install .precompute-layout \
--edges links.parquet \
--nodes points.parquet \
--output points_layout.parquetOutput parquet columns:
idxy
Notes:
- The script expects edge columns
sourceandtargetby default. - If
--nodesexists, itsidcolumn is used so isolated nodes also get coordinates.
Re-use the previous coordinates as seed and do a refine pass:
precompute-layout \
--edges links.parquet \
--nodes points.parquet \
--previous-layout points_layout.parquet \
--mode drl_refine \
--output points_layout_next.parquetKeep existing node coordinates fixed and only place new nodes:
precompute-layout \
--edges links.parquet \
--nodes points.parquet \
--previous-layout points_layout.parquet \
--mode fr_freeze \
--fr-niter 200 \
--output points_layout_next.parquetfr_freeze is stricter but can be slower on very large graphs.