A high-performance Python graph library implemented in Rust for general-purpose graph algorithms.
Rustworkx is a high-performance graph library for Python, implemented in Rust. It provides efficient graph data structures and algorithms, solving the performance limitations of pure-Python graph libraries for applications requiring complex graph operations.
Python developers and researchers working with graph algorithms, network analysis, quantum computing (especially Qiskit users), and scientific computing where performance is critical.
Developers choose Rustworkx for its significant speed advantage over pure-Python alternatives like NetworkX, thanks to its Rust implementation, while maintaining a familiar Python API. Its origin in Qiskit ensures robustness for demanding computational tasks.
A high performance Python graph library implemented in Rust.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Written in Rust, it delivers significant speed improvements over pure-Python libraries like NetworkX, as highlighted in its arXiv paper and use in Qiskit for quantum circuit compilation.
Includes essential graph algorithms such as Dijkstra's shortest path, centrality measures, and isomorphism checks, covering common use cases in network analysis and scientific computing.
Offers an intuitive interface with simple imports like `rustworkx.PyGraph()` and methods such as `add_node()`, making it accessible for Python developers without sacrificing performance.
Provides precompiled wheels for Linux, macOS, and Windows via PyPI, enabling easy installation with `pip install rustworkx` without requiring Rust for most users.
Installing from source requires Rust 1.85+ and specific pip versions, which can be challenging in environments without Rust expertise or where toolchain management is restricted.
Full visualization features need optional dependencies like Matplotlib or Graphviz, plus manual installation of graphviz executables, adding extra steps compared to all-in-one libraries.
As a younger project, Rustworkx has a smaller community and fewer third-party extensions than NetworkX, which may limit access to niche algorithms or integrations.
rustworkx is an open-source alternative to the following products: