An optimized graphs package for the Julia programming language
Project Status: As of 8 October 2021 LightGraphs is no longer under active development. It will remain available on Github at sbromberger/LightGraphs.jl. The JuliaGraphs organization will continue to maintain packages that use LightGraphs and transition development over the long term.
LightGraphs offers both (a) a set of simple, concrete graph implementations -- Graph
(for undirected graphs) and DiGraph
(for directed graphs), and (b) an API for
the development of more sophisticated graph implementations under the AbstractGraph
type.
The project goal is to mirror the functionality of robust network and graph analysis libraries such as NetworkX while being simpler to use and more efficient than existing Julian graph libraries such as Graphs.jl. It is an explicit design decision that any data not required for graph manipulation (attributes and other information, for example) is expected to be stored outside of the graph structure itself. Such data lends itself to storage in more traditional and better-optimized mechanisms.
Additional functionality may be found in a number of companion packages, including:
Full documentation is available at GitHub Pages. Documentation for methods is also available via the Julia REPL help system. Additional tutorials can be found at JuliaGraphsTutorials.
Installation is straightforward: enter Pkg mode by hitting ]
, and then
(v1.0) pkg> add LightGraphs
We welcome contributions and bug reports! Please see CONTRIBUTING.md for guidance on development and bug reporting.
We encourage you to cite our work if you have used our libraries, tools or datasets.
Starring the repository on GitHub is also appreciated.
See the Zenodo badge above or refer to CITATION.bib
.