{"schema_version":1,"metadata":{"branch":"release","release":"7.9","architecture":"amd64","generated_at":"2026-09-09T04:04:02.361425+00:00","source_url":"https://cdn.openbsd.org/pub/OpenBSD/7.9/packages/amd64/sqlports-7.54.tgz","source_sha256":"2de00144847bf9da3a365be982f101dbb55d591ed7a915ea94984a16ab0e0404","package_count":12059,"source_kind":"sqlports"},"package":{"name":"ocaml-graph-1.8.8p8","path":"devel/ocaml-graph","url":"/packages/release/devel/ocaml-graph/","comment":"OCaml graph library","homepage":"http://ocamlgraph.lri.fr/index.en.html","maintainer":"Christopher Zimmermann <chrisz@openbsd.org>","description":"OCamlgraph is a graph library for Objective Caml. Its\ncontribution is three-fold:\n\nIt provides an easy-to-use graph data structure together\nwith several operations and algorithms over graphs, in\nGraph.Pack. It is a reasonably efficient imperative data\nstructure for directed graphs with vertices and edges\nlabeled with integers. Have a look at this module first in\norder to get an overview of what this library provides. See\nalso demo.ml.\n\nThen OCamlgraph provides several other graph implementations\nfor those not satisfied with the one above. Some are\npersistent (imutable) and other imperative (mutable). Some\nare directed and other are not. Some have labels for\nvertices, or labels for edges, or both. Some have abstract\ntypes for vertices. etc.\n\nSee interface Sig for the graph signatures and modules\nPersistent and Imperative for the implementations.\n\nThese implementations are written as functors: you give the\ntypes of vertices labels, edge labels, etc. and you get the\ndata structure as a result.\n\nFinally, OCamlgraph provides several classic operations and\nalgorithms over graphs. They are also written as functors\ni.e. independently of the data structure for graphs. One\nconsequence is that you can define your own data structure\nfor graphs and yet re-use all the algorithms from this\nlibrary -- you only need to provide a few operations such as\niterating over all vertices, over the successors of a\nvertex, etc. See module Path for an example.\n","package_architecture":"amd64","stem":"ocaml-graph","readme":null,"dependencies":[{"path":"x11/lablgtk2","type":"runtime","package_spec":"","url":"/packages/release/x11/lablgtk2/"},{"path":"lang/ocaml","type":"runtime","package_spec":"","url":"/packages/release/lang/ocaml/"},{"path":"sysutils/findlib","type":"build","package_spec":"","url":"/packages/release/sysutils/findlib/"},{"path":"x11/lablgtk2","type":"build","package_spec":"","url":"/packages/release/x11/lablgtk2/"},{"path":"lang/ocaml","type":"build","package_spec":"","url":"/packages/release/lang/ocaml/"},{"path":"devel/gmake","type":"build","package_spec":"","url":"/packages/release/devel/gmake/"}],"reverse_dependencies":{"count":2,"url":"/packages/data/f3/f31ad7aeae0ef7f589c5b97adec68995f32f6127e4c161132aa3f9499bc90b27.json"},"categories":["devel"],"flavors":[],"only_for_architectures":[],"not_for_architectures":[]}}
