https://github.com/sayari-analytics/trellis
High-performance network visualization library, rendering to WebGL as well as other targets
https://github.com/sayari-analytics/trellis
graph network react visualization webgl
Last synced: 2 months ago
JSON representation
High-performance network visualization library, rendering to WebGL as well as other targets
- Host: GitHub
- URL: https://github.com/sayari-analytics/trellis
- Owner: sayari-analytics
- License: isc
- Created: 2019-10-26T15:58:59.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-12-28T19:32:14.000Z (6 months ago)
- Last Synced: 2025-12-31T10:56:18.757Z (6 months ago)
- Topics: graph, network, react, visualization, webgl
- Language: TypeScript
- Homepage: https://sayari-analytics.github.io/trellis
- Size: 10 MB
- Stars: 47
- Watchers: 3
- Forks: 11
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Trellis
[](https://badge.fury.io/js/%40sayari%2Ftrellis)
A highly performant network visualization library with a simple, declarative API, plugable renderers, and bindings for different frameworks and use cases
## Installation
if using npm
```bash
npm install @sayari/trellis
```
or alternatively import via HTML
```html
```
## Examples
- [Static Graph](https://observablehq.com/@julietadams/trellis-static-graph-example-2?collection=@julietadams/trellis-examples)
- [Viewport Interactions](https://observablehq.com/@julietadams/trellis-viewport-interaction-example?collection=@julietadams/trellis-examples)
- [Node Interactions](https://observablehq.com/@julietadams/trellis-node-interaction-example)
- [Hierarchy Layout](https://observablehq.com/@julietadams/trellis-hierarchy?collection=@julietadams/trellis-examples)
- [React Bindings](https://codesandbox.io/s/trellis-react-example-84mex?file=/src/Graph.js)
- [React Selection Multiselect Tool](https://codesandbox.io/s/trellis-react-and-selection-example-68dg5?file=/src/Graph.js)
## Modules
- renderers
- WebGL
- png/jpg
- layout
- force
- hierarchy
- cluster
- subgraphs
- bindings
- react
- native
## Philosophy
Trellis decouples graph rendering from graph layout computations, and decouples both from framework-specific bindings. Additionally, the Trellis renderer is mostly stateless, leaving questions of state management to the application and allowing for simple customization of library behavior. This means integrating any of Trellis modules with an existing application should be relatively straightforward. Similar to rendering libraries like React, Trellis focuses on performant rendering and graph-based computations, while remaining agnostic about where and how state is managed. Moreover, by splitting responsibilities into separate modules, if existing modules don't fit your needs, you can always roll your own, while still benefiting from the remaining modules that are helpful.
## See Also
- Sigma js
### Development
```bash
npm run dev
```
### Deployment
All deployments must be run from the master branch with a clean working directory.
```bash
./deploy.sh [prerelease|patch|minor|major]
```