/graph-app-kit

Go from graph data to a secure and interactive visual graph app in 15 minutes

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Docker Cloud Build Status

Twitter Follow

Welcome to graph-app-kit

Turn your graph data into a secure and interactive visual graph app in 15 minutes!

Screenshot

Why

This open source effort puts together patterns the Graphistry team has reused across many graph projects as teams went from Jupyter notebook experiments to deployed analyst tools. Whether building your first graph app, trying an idea, or wanting to check a reference, this project aims to simplify the process. This means covering pieces like: Easy code editing and deployment, a project stucture ready for teams, built-in authentication, no need for custom JS/CSS at the start, batteries-included dependencies, and fast loading & visualization of large graphs.

Get started

Quick

git clone https://github.com/graphistry/graph-app-kit.git
cd graph-app-kit/src/docker
sudo docker-compose build
# Optional: edit src/docker/.env, docker-compose.yml: Auth, ports, ...
sudo docker-compose up -d
sudo docker-compose logs -f -t --tail=100
# Add src/python/views/your_custom_view/__init__.py

Guides

  1. Quick launch: Preintegrated Docker, Graphistry, Streamlit, Jupyter, RAPIDS.ai (GPU)
  1. Add views
  2. Main configurations and extensions: Database connectors, authentication, notebook-based editing, and more

The pieces

Core

  • Prebuilt Python project structure ready for prototyping
  • Streamlit quick self-serve dashboarding
  • Graphistry point-and-click GPU-accelerated visual graph analytics
  • Data frames: Data wrangling via Pandas, Apache Arrow, RAPIDS (ex: cuDF), including handling formats such as CSV, XLS, JSON, Parquet, and more
  • Standard Docker and docker-compose cross-platform deployment

GPU acceleration (optional)

If GPUs are present, graph-app-kit leverages GPU cloud acceleration:

  • GPU Analytics: RAPIDS and CUDA already setup for use if run with an Nvidia docker runtime - cudf GPU dataframes, BlazingSQL GPU SQL, cuGraph GPU graph algorithms, cuML libraries, and more

  • GPU Visualization: Connect to an external Graphistry server or, faster, run on the same GPU server

Prebuilt integrations & recipes

graph-app-kit works well with the Python data ecosystem (pandas, cudf, PySpark, SQL, ...) and we're growing the set of builtins and recipes:

Contribute

We welcome all sorts of help!

  • Deployment: Docker, cloud runners, ...
  • Dependencies: Common graph packages
  • Connectors: Examples for common databases and how to get a lot of data out
  • Demos!

See develop.md for more contributor information