GraphTea is a software framework for working on graphs and social networks. It helps you to:
- Draw a graph
- Get reports about it
- Run algorithms on it
- Visualize it
Runs on Windows / Linux / macOS (Java-based).
GraphTea has grown into a family of related tools. Here is a map of all variants:
| Repository | Language | Status | Description |
|---|---|---|---|
| GraphTea | Java | ✅ Active | Core desktop application |
| GTea | Java | ✅ Active | Online/server version |
| GTeaShell | Java | ✅ Active | Shell/CLI version |
| GSearchTea | Java | ✅ Active | Big-data graph search (Flink/Spark) |
| CGTea | C++ | ✅ Active | Lightweight C++ desktop version |
| CGTeaQt | C++ | 🔧 Experimental | Qt-based desktop version |
| CGTeaWeb | C++ | 🔧 Experimental | Web version via Emscripten/WASM |
| WASMTea | WASM | 🔧 Experimental | Pure WebAssembly browser version |
| GTeaJS | JavaScript | 🔧 Experimental | JavaScript/web port |
| GTeaMinimal | Java | 📦 Minimal | Stripped-down Java version |
| rust_gtea | Rust | 🚧 In progress | Rust rewrite |
| SpringTea | Java | 🚧 In progress | Spring Boot-based version |
See this video
Execute run.bat (Windows), or run.sh (Linux/macOS).
Manually:
java -jar graphtea-main.jar
- Make your changes
- Run
make.sh(or type./make.shin terminal) - It will compile your changes and run the application.
Manually:
- Open terminal
cd src/scriptsant— this will build the application in the binary folder.- For seeing your changes, follow the Run steps above.
Note: Apache Ant must be installed.
Modify SampleAlgorithm.java. You can also make reports, generators, file formats, and actions.
- Draw graphs with a mouse or using predefined generators (trees, complete graphs, stars, generalized Petersen, etc.)
- Analyze graphs with built-in reports (connected components, chromatic number, independence number, girth, triangles, etc.)
- Run algorithms step by step with visual feedback — useful for teaching
- Visualize social networks and large graphs with layout algorithms
- Export to image files or LaTeX for papers and reports
- Extend with custom plugins (Java or MATLAB) by dropping files into the extensions directory
GraphTea includes a curated collection of benchmark graphs under Generate Graph > Benchmark Graphs, covering classic named graphs and standard random graph models used in research:
| Graph | Vertices | Edges | Description |
|---|---|---|---|
| Grotzsch Graph | 11 | 20 | Triangle-free graph with chromatic number 4 (Mycielski of C5) |
| Heawood Graph | 14 | 21 | 3-regular bipartite graph; smallest 6-cage |
| Pappus Graph | 18 | 27 | 3-regular bipartite graph of girth 6 |
| Frucht Graph | 12 | 18 | Smallest 3-regular graph with trivial automorphism group |
| Zachary Karate Club | 34 | 78 | Classic social network benchmark for community detection (Zachary 1977) |
| Barabasi-Albert Graph | n | ~n·m | Scale-free graph with power-law degree distribution (params: n, m) |
| Watts-Strogatz Graph | n | ~n·k/2 | Small-world graph combining high clustering with short paths (params: n, k, betaPercent) |
Post in Issues and we will get back to you.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Added some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
- Current Developers:
- Mohammad Ali Rostami — rostamiev [at] gmail [dot] com
- Azin Azadi — aazadi [at] gmail [dot] com
- E. Suresh — sureshkako [at] gmail [dot] com
