Python Graph

Open-source Python projects categorized as Graph

Top 23 Python Graph Projects

  • algorithms

    Minimal examples of data structures and algorithms in Python

  • darkflow

    Translate darknet to tensorflow. Load trained weights, retrain/fine-tune using tensorflow, export constant graph def to mobile devices

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • gprof2dot

    Converts profiling output to a dot graph.

    Project mention: Visualizing Pythons process? | /r/learnpython | 2023-05-09

    It also lets you run tools like https://github.com/jrfonseca/gprof2dot on the profiling results to generate comprehensive flowcharts (call graph) for your program.

  • rdflib

    RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information.

  • pygraphistry

    PyGraphistry is a Python library to quickly load, shape, embed, and explore big graphs with the GPU-accelerated Graphistry visual graph analyzer

    Project mention: Graph Data Fits in Memory | news.ycombinator.com | 2024-04-15

    Extra fun: We find most enterprise/gov graph analytics work only requires 1-2 attributes to go along with the graph index, and those attributes often are already numeric (time, $, ...) or can be dictionary-encoded as discussed here (categorical, ID, ...)... so even 'tough' billion scale graphs are fine on 1 gpu.

    Early, but that's been the basic thinking into our new GFQL system: slice into the columns you want, and then do all the in-GPU traversals you want. In our V1, we keep things dataframe-native include the in-GPU data representation, and are already working on the first extensions to support switching to more graph-native indexing for steps as needed.

    Ex: https://github.com/graphistry/pygraphistry/blob/master/demos...

  • Graphormer

    Graphormer is a general-purpose deep learning backbone for molecular modeling.

    Project mention: RAG Using Structured Data: Overview and Important Questions | news.ycombinator.com | 2024-01-10

    Ok, using ChatGPT and Bard (the irony lol) I learned a bit more about GNNs:

    GNNs are probabilistic and can be trained to learn representations in graph-structured data and handling complex relationships, while classical graph algorithms are specialized for specific graph analysis tasks and operate based on predefined rules/steps.

    * Why is PyG it called "Geometric" and not "Topologic" ?

    Properties like connectivity, neighborhoods, and even geodesic distances can all be considered topological features of a graph. These features remain unchanged under continuous deformations like stretching or bending, which is the defining characteristic of topological equivalence. In this sense, "PyTorch Topologic" might be a more accurate reflection of the library's focus on analyzing the intrinsic structure and connections within graphs.

    However, the term "geometric" still has some merit in the context of PyG. While most GNN operations rely on topological principles, some do incorporate notions of Euclidean geometry, such as:

    - Node embeddings: Many GNNs learn low-dimensional vectors for each node, which can be interpreted as points in a vector space, allowing geometric operations like distances and angles to be applied.

    - Spectral GNNs: These models leverage the eigenvalues and eigenvectors of the graph Laplacian, which encodes information about the geometric structure and distances between nodes.

    - Manifold learning: Certain types of graphs can be seen as low-dimensional representations of high-dimensional manifolds. Applying GNNs in this context involves learning geometric properties on the manifold itself.

    Therefore, although topology plays a primary role in understanding and analyzing graphs, geometry can still be relevant in certain contexts and GNN operations.

    * Real world applications:

    - HuggingFace has a few models [0] around things like computational chemistry [1] or weather forecasting.

    - PyGod [2] can be used for Outlier Detection (Anomaly Detection).

    - Apparently ULTRA [3] can "infer" (in the knowledge graph sense), that Michael Jackson released some disco music :-p (see the paper).

    - RGCN [4] can be used for knowledge graph link prediction (recovery of missing facts, i.e. subject-predicate-object triples) and entity classification (recovery of missing entity attributes).

    - GreatX [5] tackles removing inherent noise, "Distribution Shift" and "Adversarial Attacks" (ex: noise purposely introduced to hide a node presence) from networks. Apparently this is a thing and the field is called "Graph Reliability" or "Reliable Deep Graph Learning". The author even has a bunch of "awesome" style lists of links! [6]

    - Finally this repo has a nice explanation of how/why to run machine learning algorithms "outside of the DB":

    "Pytorch Geometric (PyG) has a whole arsenal of neural network layers and techniques to approach machine learning on graphs (aka graph representation learning, graph machine learning, deep graph learning) and has been used in this repo [7] to learn link patterns, also known as link or edge predictions."

    --

    0: https://huggingface.co/models?pipeline_tag=graph-ml&sort=tre...

    1: https://github.com/Microsoft/Graphormer

    2: https://github.com/pygod-team/pygod

    3: https://github.com/DeepGraphLearning/ULTRA

    4: https://huggingface.co/riship-nv/RGCN

    5: https://github.com/EdisonLeeeee/GreatX

    6: https://edisonleeeee.github.io/projects.html

    7: https://github.com/Orbifold/pyg-link-prediction

  • asciichart

    Nice-looking lightweight console ASCII line charts ╭┈╯ for NodeJS, browsers and terminal, no dependencies

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • python-o365

    A simple python library to interact with Microsoft Graph and Office 365 API

  • beagle

    Beagle is an incident response and digital forensics tool which transforms security logs and data into graphs. (by yampelo)

  • causal-learn

    Causal Discovery in Python. Translation and extension of the Tetrad Java code.

  • facepy

    Facepy makes it really easy to use Facebook's Graph API with Python

  • communities

    Library of community detection algorithms and visualization tools

  • DGFraud

    A Deep Graph-based Toolbox for Fraud Detection

  • netgraph

    Publication-quality network visualisations in python

    Project mention: NetworkX – Network Analysis in Python | news.ycombinator.com | 2023-12-08

    You may like my Netgraph library [1], which is a Python library that aims to complement networkx, igraph, and graph-tool with publication-quality visualisations.

    Netgraph implements numerous node layout algorithms and several edge routing routines. Uniquely among Python alternatives, it handles networks with multiple components gracefully (which otherwise break most node layout routines), and it post-processes the output of the node layout and edge routing algorithms with several heuristics to increase the interpretability of the visualisation (reduction of overlaps between nodes, edges, and labels; edge crossing minimisation and edge unbundling where applicable). The highly customisable plots are created using Matplotlib, and the resulting Matplotlib objects are exposed in an easily queryable format such that they can be further manipulated and/or animated using standard Matplotlib syntax. Finally, Netgraph also supports interactive changes: with the InteractiveGraph class, nodes and edges can be positioned using the mouse, and the EditableGraph class additionally supports insertion and deletion of nodes and edges as well as their (re-)labelling through standard text-entry.

    [1] https://github.com/paulbrodersen/netgraph

  • Nodz

    Nodz : Visualize your data - Free nodes based graph generator.

  • nodezator

    A multi-purpose visual node editor for the Python programming language

    Project mention: Visual Node Graph with ImGui | news.ycombinator.com | 2023-09-29

    The problem here is that a fundamental question has not been answered, and as far as I can tell, has not been addressed by any of these visual environments:

    What does an algorithm look like?

    Herman Hesse alluded to this in his novel _The Glass Bead Game_, but despite decades of discussion and work, no one has made a convincing pysical representation of that system.

    I love the concept, and have made some moderately complex attempts, e.g.,:

    https://www.blockscad3d.com/community/projects/1430644

    https://github.com/WillAdams/gcodepreview

    it always devolves to screen size being out-paced by problem complexity --- one gets something of an inkling of this at:

    https://scriptsofanotherdimension.tumblr.com/

    Alternately, one can just break a project down into modules, but then the top-level view becomes the wall of text representation (albeit w/ nice lines or captured into pretty boxes) which one is ostensibly trying to escape.

    I'd love to see someone succeed in this, and I've been using:

    https://github.com/derkork/openscad-graph-editor

    quite a bit, and put a bit of money towards:

    http://nodezator.com/

  • movies-python-bolt

    Neo4j Movies Example application with Flask backend using the neo4j-python-driver

  • cog

    Micro Graph Database for Python Applications (by arun1729)

  • how_attentive_are_gats

    Code for the paper "How Attentive are Graph Attention Networks?" (ICLR'2022)

  • forceatlas2

    Fastest Gephi's ForceAtlas2 graph layout algorithm implemented for Python and NetworkX

  • GraphBasedLocalTrajectoryPlanner

    Local trajectory planner based on a multilayer graph framework for autonomous race vehicles.

  • reddit-detective

    Play detective on Reddit: Discover political disinformation campaigns, secret influencers and more

  • MISP-maltego

    Set of Maltego transforms to inferface with a MISP Threat Sharing instance, and also to explore the whole MITRE ATT&CK dataset.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-04-15.

Python Graph related posts

Index

What are some of the best open-source Graph projects in Python? This list will help you:

Project Stars
1 algorithms 23,516
2 darkflow 6,130
3 gprof2dot 3,087
4 rdflib 2,073
5 pygraphistry 2,044
6 Graphormer 1,893
7 asciichart 1,799
8 python-o365 1,544
9 beagle 1,250
10 causal-learn 970
11 facepy 864
12 communities 695
13 DGFraud 655
14 netgraph 638
15 Nodz 403
16 nodezator 388
17 movies-python-bolt 369
18 cog 283
19 how_attentive_are_gats 275
20 forceatlas2 270
21 GraphBasedLocalTrajectoryPlanner 229
22 reddit-detective 206
23 MISP-maltego 165
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com