{"id":15159362,"url":"https://github.com/flowtick/graphs","last_synced_at":"2025-09-30T09:30:38.332Z","repository":{"id":30139897,"uuid":"124043939","full_name":"flowtick/graphs","owner":"flowtick","description":"A simple graph library for Scala","archived":true,"fork":false,"pushed_at":"2022-02-05T10:36:58.000Z","size":4866,"stargazers_count":10,"open_issues_count":3,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-04T20:18:37.032Z","etag":null,"topics":["graph","graphml","scala"],"latest_commit_sha":null,"homepage":"https://flowtick.github.io/graphs","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flowtick.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-06T08:12:55.000Z","updated_at":"2023-11-25T07:38:37.000Z","dependencies_parsed_at":"2022-08-07T15:01:07.219Z","dependency_job_id":null,"html_url":"https://github.com/flowtick/graphs","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowtick%2Fgraphs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowtick%2Fgraphs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowtick%2Fgraphs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowtick%2Fgraphs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flowtick","download_url":"https://codeload.github.com/flowtick/graphs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234722055,"owners_count":18876896,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["graph","graphml","scala"],"created_at":"2024-09-26T21:05:16.302Z","updated_at":"2025-09-30T09:30:32.973Z","avatar_url":"https://github.com/flowtick.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![latest release](https://img.shields.io/maven-central/v/com.flowtick/graphs-core_2.12.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:com.flowtick%20AND%20a:graphs*)\n\n# ℹ️ graphs has moved to https://codeberg.org/unkonstant/graphs under a new license ℹ️\n\n# graphs\n\n`graphs` is a simple [graph](https://en.wikipedia.org/wiki/Graph_theory) library for Scala\n\n# Example\n\n@@snip [SimpleGraphApp.scala](examples/shared/src/main/scala/examples/SimpleGraphExample.scala) { #simple_graph }\n\n# Documentation\n\nPlease check the [guide](https://flowtick.github.io/graphs) and the\n[API docs](https://flowtick.github.io/graphs/latest/api/com/flowtick/graphs)\n\n# Features\n  * Simple graph creation API\n  * Depth-first traversal / search\n  * Breadth-first traversal / search\n  * Topological sorting\n  * Dijkstras algorithm for shortest paths\n  * GraphML import / export (experimental)\n  * \u003cstrike\u003eforce based layout\u003c/strike\u003e (planned)\n  * cross compiled for Scala 2.12, 2.13, Scala.js\n\n# Motivation\n\n`graphs` was created to explore different type encoding for graphs and implement well-known algorithms\n\n## Goals\n  * Support [Scala.js](https://www.scala-js.org)\n  * Support [GraphML](https://de.wikipedia.org/wiki/GraphML)\n  * Usages of the library and the core interfaces should be intuitive\n  * The codebase should follow current idioms and integrate with mainstream libraries for Scala\n\n## Non-Goals\n  * Support all possible graph types / scenarios\n  * Provide a purely functional library\n\n## Alternatives\n\n[Graph for Scala](http://scala-graph.org) is probably the most established graph library for Scala and supports many kinds of graphs \nexplicitly (custom syntax etc.) with a big variety of algorithms and extensions (json, dot support). \n\nIts still being worked on and recently added support for Scala.js. It might have a steeper learning curve but is more\nbattle-tested and powerful then `graphs`.\n\n[quiver](https://github.com/Verizon/quiver) follows [Martin Erwigs Functions Graph Library](http://web.engr.oregonstate.edu/~erwig/fgl/haskell)\nand appears to be more or less abandoned. Its less focused on algorithms but provides a more functional perspective \non graphs.\n\n`graphs` is inspired and influenced by both libraries. Please check them out to see if they fit your use case \nand preferences better.\n \n# License\n\ngraphs is published under the terms of the Apache 2.0 License. See the [LICENSE](LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflowtick%2Fgraphs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflowtick%2Fgraphs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflowtick%2Fgraphs/lists"}