个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Visualize large networks by k-core, k-dense and d-core decomposition. Python rewrite of the LaNet-vi C++ tool, with CLI and API.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
LaNet-vi draws large networks so that their structure is readable at a glance: nodes are placed in concentric rings by their k-core (or k-dense, or d-core) index, the densest core at the center, with node size following the degree and colors following the index. It is the Python version of the C++ LaNet-vi that produced the well-known Internet AS-level maps (Alvarez-Hamelin, Dall'Asta, Barrat & Vespignani, NIPS 2005; Beiró, Alvarez-Hamelin & Busch, New J. Phys. 2008), and since 5.1.0 it follows the original algorithms.查看完整 README ↗
Large-scale network visualization by k-core decomposition
LaNet-vi draws large networks so that their structure is readable at a glance: nodes are placed in concentric rings by their k-core (or k-dense, or d-core) index, the densest core at the center, with node size following the degree and colors following the index. It is the Python version of the C++ LaNet-vi that produced the well-known Internet AS-level maps (Alvarez-Hamelin, Dall'Asta, Barrat & Vespignani, NIPS 2005; Beiró, Alvarez-Hamelin & Busch, New J. Phys. 2008), and since 5.1.0 it follows the original algorithms.
pow/log circle packing of disconnected cores--window zoom, PNG/PDF/SVG output--kconn), the analysis of Beiró, Alvarez-Hamelin
& Busch (2008), as in the C++ toolpip install lanet-vi
(or uv pip install lanet-vi). Python 3.11 or newer.
lanet-vi visualize --input network.txt --output network.png
import networkx as nx
from lanet_vi import LaNetConfig, Network
net = Network(nx.karate_club_graph(), LaNetConfig())
net.decompose()
net.visualize("karate.png")
The input is an edge list, one source target [weight] per line (# comments,
.gz/.bz2 accepted):
0 1
1 2 2.5
2 0
from lanet_vi import LaNetConfig, Network
from lanet_vi.io.readers import read_caida_snapshot
graph, _ = read_caida_snapshot(
"https://publicdata.caida.org/datasets/as-relationships/serial-1/20251001.as-rel.txt.bz2"
)
net = Network(graph, LaNetConfig())
net.decompose()
net.visualize("internet.png")
examples/ has the full scripts behind the pictures above.
--decomp kcores|kdenses|dcores — the decomposition (dcores needs --directed)--weighted — the third column is a weight: strength-based cores--edges-percent 0.1 — fraction of edges drawn (default 0.5, never below --min-edges)--background white — or black (default); --color-scheme col|bw|bwi--width 3200 --height 2400 — any size and aspect ratio--window 0.25 0.75 0.25 0.75 — zoom: the central half of the picture at full size--coord-distribution pow — circle packing of disconnected cores (default: classic rings)--seed 42 — reproducible layout and edge sample--detect-communities — Louvain communities colored and outlined on the picture (a 5.x addition)--cores-file cores.csv — also write the decomposition (CSV, or JSON by extension)--config settings.yaml — settings from a file; explicit flags override itlanet-vi config settings.yaml writes a template with every setting and its default;
lanet-vi info network.txt prints the network statistics; lanet-vi generate makes
random graphs to try things on.
The full documentation is at https://conexdat.github.io/LaNet-vi/ (the same pages
as docs/, with search and an API reference generated from the docstrings):
git clone https://github.com/CoNexDat/LaNet-vi.git
cd LaNet-vi
uv sync --all-extras
uv run pre-commit install
uv run pytest
Contributions are welcome. main is protected: open a pull request and iterate until CI
and the automatic Copilot review are green. See CONTRIBUTING.md for the
full workflow, coding conventions and release process, and SECURITY.md for
reporting vulnerabilities.
If you use LaNet-vi in your research, please cite the software (GitHub's Cite this
repository button uses CITATION.cff) and the papers behind the method:
Alvarez-Hamelin, J.I., Dall'Asta, L., Barrat, A., Vespignani, A. (2006). "Large scale networks fingerprinting and visualization using the k-core decomposition". Advances in Neural Information Processing Systems 18.
Beiró, M.G., Alvarez-Hamelin, J.I., Busch, J.R. (2008). "A low complexity visualization tool that helps to perform complex systems analysis". New Journal of Physics.
LaNet-vi 5.x is a from-scratch Python rewrite of the original LaNet-vi (Large Network visualization tool), a C++ program developed since 2005 by Mariano G. Beiró and J. Ignacio Alvarez-Hamelin (Universidad de Buenos Aires / CONICET) together with Alain Barrat, Luca Dall'Asta and Alessandro Vespignani. The C++ tool introduced the concentric k-core layout this package is built on and produced, among others, the Internet AS-level maps that made the method known.
The Python implementation is released under the MIT License, with the original authors of the C++ version as co-holders of the copyright. The original C++ LaNet-vi remains available under the Academic Free License 3.0 on SourceForge.