Turn your graph data into a secure and interactive visual graph app in 15 minutes!
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.
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
- Quick launch: Preintegrated Docker, Graphistry, Streamlit, Jupyter, RAPIDS.ai (GPU)
- Variants: manual launch, Amazon Neptune
- Add views
- Main configurations and extensions: Database connectors, authentication, notebook-based editing, and more
- 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
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
graph-app-kit
works well with the Python data ecosystem (pandas, cudf, PySpark, SQL, ...) and we're growing the set of builtins and recipes:
-
Graph databases
-
Collaborations welcome!
-
Jupyter notebooks: Use quick launchers or integrations guide for web-based live editing of dashboards by sharing volume mounts between Jupyter and Streamlit
-
Caddy: Reverse proxy for custom URLs, automatic LetsEncrypt TLS certificates, multiple sites on the same domain, pluggable authentication (see integrations guide)
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