--- id: graphframes version: "0.6" license: MIT license_treatment: permissive maintenance: active --- # graphframes — GraphFrames: DataFrame-based Graphs License: permissive · Maintenance: active · Downloads: 2.7M/mo ## What it is and what it does GraphFrames is a Python library that brings graph processing to Apache Spark's distributed computing framework. It sits on top of Spark's DataFrame API, letting you represent graphs as vertex and edge DataFrames, then run graph algorithms—like PageRank, connected components, shortest paths, and motif finding—across a cluster. The package combines relational queries with graph traversals, so you can filter and join graph data using SQL-like syntax while leveraging Spark's optimizer for performance. Typical use involves creating vertex and edge DataFrames, constructing a GraphFrame object, then calling built-in algorithms or writing custom logic with Pregel and message-passing APIs. It's designed for scenarios where your graph is too large for a single machine and you need both graph-specific operations and the flexibility to combine them with relational transformations. Use it for: - Entity resolution at scale by connecting similar records and running connected components to group duplicates - Fraud detection in large transaction networks using cycle detection and K-Core algorithm - Social network analysis such as ranking search results with distributed PageRank or finding independent sets for marketing campaigns - Compliance analytics using shortest-path algorithms and motif analysis to detect suspicious patterns - Knowledge graph construction and querying with property graph models and relational joins - Graph clustering and community detection on massive networks using label propagation ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. GraphFrames provides distributed graph processing and analytics on Apache Spark using DataFrame abstractions, with built-in algorithms and flexible APIs like Pregel and AggregateMessages for custom graph computation. Yes, if you have Apache Spark and need to run graph algorithms on data too large for a single machine. The library is actively maintained, has low install friction, and carries a permissive MIT license. However, verify that your Spark version and Python environment are compatible, since the latest release date and classifier information suggest the package may not have been updated for very recent versions. ## Install pip install graphframes uv add graphframes poetry add graphframes ## Installing graphframes Before you install: Low install friction with a pure-wheel distribution. The package is actively maintained with a recent commit on 2026-08-12, though the latest release date shown is 2018-12-05. License in practice: MIT license permits commercial and private use with minimal restrictions, making it suitable for most production environments. Quickstart: pip install graphframes from graphframes import GraphFrame g = GraphFrame(nodes_df, edges_df) print(g.inDegrees.show()) Requires Apache Spark to be installed and configured; GraphFrames is a Spark library, not a standalone graph tool. Verify before relying: - Whether the package supports current Python versions beyond 3.6, given classifiers list only up to 3.6 - Current Apache Spark version compatibility, as the last release is dated 2018-12-05 - Whether numpy and nose are truly runtime dependencies or only test/build-time requirements ## Package facts - License: MIT (permissive) - Python support: unspecified - Install friction: low - Maintenance: active - Downloads: 2.7M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags distributed graph algorithms spark, large-scale graph processing, graph analytics dataframe, network analysis at scale, graph machine learning spark, connected components billions, pagerank distributed, motif finding graphs, distributed-computing, graph-algorithms, spark [View on SkillFed](https://skillfed.io/packages/graphframes) · [View on PyPI](https://pypi.org/project/graphframes/)