The opam repository for my Advent of Agentic Humps 2025

Compare changes

Choose any two refs to compare.

Changed files
+363
.tangled
workflows
packages
claude
claude.dev
conpool
conpool.dev
cookeio
cookeio.dev
karakeep
karakeep.dev
publicsuffix
publicsuffix.dev
punycode
punycode.dev
requests
requests.dev
xdge
xdge.dev
yamlrw
yamlrw.dev
yamlrw-eio
yamlrw-eio.dev
yamlt
yamlt.dev
+2
.tangled/workflows/build.yml
···
- gcc
- ocaml
- pkg-config
+
- gmp
steps:
- name: opam init
···
opam repository add aoah-overlay .
- name: opam install
command: |
+
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:$(nix build nixpkgs#gmp.dev --no-link --print-out-paths)/lib/pkgconfig"
opam install --confirm-level=unsafe-yes -v --with-test $(./list-packages.sh)
+39
packages/claude/claude.dev/opam
···
+
opam-version: "2.0"
+
synopsis: "OCaml client library for Claude Code"
+
description:
+
"An Eio-based OCaml library for interacting with the Claude CLI using JSON streaming"
+
maintainer: ["Anil Madhavapeddy <anil@recoil.org>"]
+
authors: ["Anil Madhavapeddy"]
+
license: "ISC"
+
homepage: "https://tangled.org/@anil.recoil.org/claudeio"
+
bug-reports: "https://tangled.org/@anil.recoil.org/claudeio/issues"
+
dev-repo: "git+https://tangled.org/@anil.recoil.org/ocaml-claudeio.git"
+
depends: [
+
"dune" {>= "3.18"}
+
"ocaml" {>= "5.1.0"}
+
"eio"
+
"eio_main" {with-test}
+
"fmt"
+
"logs"
+
"jsont" {>= "0.2.0"}
+
"odoc" {with-doc}
+
"alcotest" {with-test & >= "1.7.0"}
+
]
+
build: [
+
["dune" "subst"] {dev}
+
[
+
"dune"
+
"build"
+
"-p"
+
name
+
"-j"
+
jobs
+
"@install"
+
"@runtest" {with-test}
+
"@doc" {with-doc}
+
]
+
]
+
x-maintenance-intent: ["(latest)"]
+
url {
+
src: "git+https://tangled.org/@anil.recoil.org/ocaml-claudeio.git#main"
+
}
+38
packages/conpool/conpool.dev/opam
···
+
opam-version: "2.0"
+
synopsis: "Protocol-agnostic TCP/IP connection pooling library for Eio"
+
description:
+
"Conpool is a connection pooling library built on Eio.Pool that manages TCP connection lifecycles, validates connection health, and provides per-endpoint resource limiting for any TCP-based protocol (HTTP, Redis, PostgreSQL, etc.)"
+
maintainer: ["Anil Madhavapeddy <anil@recoil.org>"]
+
authors: ["Anil Madhavapeddy <anil@recoil.org>"]
+
license: "ISC"
+
homepage: "https://tangled.org/@anil.recoil.org/ocaml-conpool"
+
bug-reports: "https://tangled.org/@anil.recoil.org/ocaml-conpool/issues"
+
depends: [
+
"ocaml" {>= "5.1.0"}
+
"dune" {>= "3.20" & >= "3.0"}
+
"eio"
+
"tls-eio" {>= "1.0"}
+
"logs"
+
"fmt"
+
"cmdliner"
+
"odoc" {with-doc}
+
]
+
build: [
+
["dune" "subst"] {dev}
+
[
+
"dune"
+
"build"
+
"-p"
+
name
+
"-j"
+
jobs
+
"@install"
+
"@runtest" {with-test}
+
"@doc" {with-doc}
+
]
+
]
+
dev-repo: "git+https://tangled.org/@anil.recoil.org/ocaml-conpool.git"
+
url {
+
src: "git+https://tangled.org/@anil.recoil.org/ocaml-conpool.git#main"
+
}
+
x-maintenance-intent: ["(latest)"]
+39
packages/cookeio/cookeio.dev/opam
···
+
opam-version: "2.0"
+
synopsis: "Cookie parsing and management library"
+
description:
+
"Cookeio provides cookie parsing and serialization for OCaml applications. It handles parsing Set-Cookie and Cookie headers with full support for all cookie attributes."
+
maintainer: ["Anil Madhavapeddy <anil@recoil.org>"]
+
authors: ["Anil Madhavapeddy"]
+
license: "ISC"
+
homepage: "https://tangled.sh/@anil.recoil.org/ocaml-cookeio"
+
doc: "https://tangled.sh/@anil.recoil.org/ocaml-cookeio"
+
bug-reports: "https://tangled.sh/@anil.recoil.org/ocaml-cookeio/issues"
+
dev-repo: "git+https://tangled.org/@anil.recoil.org/ocaml-cookeio.git"
+
depends: [
+
"ocaml" {>= "5.2.0"}
+
"dune" {>= "3.20"}
+
"logs" {>= "0.9.0"}
+
"ptime" {>= "1.1.0"}
+
"eio_main"
+
"publicsuffix"
+
"alcotest" {with-test}
+
"odoc" {with-doc}
+
]
+
build: [
+
["dune" "subst"] {dev}
+
[
+
"dune"
+
"build"
+
"-p"
+
name
+
"-j"
+
jobs
+
"@install"
+
"@runtest" {with-test}
+
"@doc" {with-doc}
+
]
+
]
+
x-maintenance-intent: ["(latest)"]
+
url {
+
src: "git+https://tangled.org/@anil.recoil.org/ocaml-cookeio.git#main"
+
}
+41
packages/karakeep/karakeep.dev/opam
···
+
opam-version: "2.0"
+
synopsis: "Karakeep API client library for OCaml"
+
description:
+
"An OCaml client library for the Karakeep bookmark service API. Provides full API coverage for bookmarks, tags, lists, highlights, and user operations. Built on Eio for structured concurrency with a type-safe interface using jsont for JSON encoding/decoding."
+
maintainer: ["Anil Madhavapeddy <anil@recoil.org>"]
+
authors: ["Anil Madhavapeddy"]
+
license: "ISC"
+
homepage: "https://tangled.org/@anil.recoil.org/ocaml-karakeep"
+
bug-reports: "https://tangled.org/@anil.recoil.org/ocaml-karakeep/issues"
+
depends: [
+
"dune" {>= "3.17"}
+
"ocaml" {>= "5.2.0"}
+
"requests" {>= "0.0.1"}
+
"eio" {>= "1.2"}
+
"eio_main"
+
"jsont" {>= "0.1.0"}
+
"bytesrw"
+
"ptime" {>= "1.2.0"}
+
"fmt" {>= "0.9.0"}
+
"uri" {>= "4.0.0"}
+
"cmdliner" {>= "1.3.0"}
+
"logs" {>= "0.7.0"}
+
"odoc" {with-doc}
+
]
+
build: [
+
["dune" "subst"] {dev}
+
[
+
"dune"
+
"build"
+
"-p"
+
name
+
"-j"
+
jobs
+
"@install"
+
"@doc" {with-doc}
+
]
+
]
+
dev-repo: "git+https://tangled.org/@anil.recoil.org/ocaml-karakeep.git"
+
url {
+
src: "git+https://tangled.org/@anil.recoil.org/ocaml-karakeep.git#main"
+
}
+37
packages/publicsuffix/publicsuffix.dev/opam
···
+
opam-version: "2.0"
+
synopsis: "Public Suffix List implementation for OCaml"
+
description:
+
"Parse and query the Mozilla Public Suffix List (PSL) to determine public suffixes and registrable domains. Supports ICANN and private domain sections, wildcard rules, and exception rules per the PSL specification."
+
maintainer: ["Anil Madhavapeddy <anil@recoil.org>"]
+
authors: ["Anil Madhavapeddy"]
+
license: "ISC"
+
homepage: "https://tangled.org/@anil.recoil.org/ocaml-publicsuffix"
+
bug-reports: "https://tangled.org/@anil.recoil.org/ocaml-publicsuffix/issues"
+
dev-repo: "git+https://tangled.org/@anil.recoil.org/ocaml-publicsuffix.git"
+
depends: [
+
"ocaml" {>= "4.14.0"}
+
"dune" {>= "3.18"}
+
"domain-name" {>= "0.4.0"}
+
"punycode"
+
"cmdliner" {>= "1.3.0"}
+
"alcotest" {with-test}
+
"odoc" {with-doc}
+
]
+
build: [
+
["dune" "subst"] {dev}
+
[
+
"dune"
+
"build"
+
"-p"
+
name
+
"-j"
+
jobs
+
"@install"
+
"@runtest" {with-test}
+
"@doc" {with-doc}
+
]
+
]
+
x-maintenance-intent: ["(latest)"]
+
url {
+
src: "git+https://tangled.org/@anil.recoil.org/ocaml-publicsuffix.git#main"
+
}
+40
packages/punycode/punycode.dev/opam
···
+
# This file is generated by dune, edit dune-project instead
+
opam-version: "2.0"
+
synopsis: "RFC 3492 Punycode and IDNA implementation for OCaml"
+
description: """
+
A high-quality implementation of RFC 3492 (Punycode) with IDNA support.
+
Provides encoding and decoding of internationalized domain names,
+
with proper Unicode normalization and mixed-case annotation support."""
+
maintainer: ["Anil Madhavapeddy <anil@recoil.org>"]
+
authors: ["Anil Madhavapeddy"]
+
license: "ISC"
+
homepage: "https://tangled.org/@anil.recoil.org/ocaml-punycode"
+
bug-reports: "https://tangled.org/@anil.recoil.org/ocaml-punycode/issues"
+
dev-repo: "git+https://tangled.org/@anil.recoil.org/ocaml-punycode.git"
+
depends: [
+
"ocaml" {>= "4.14.0"}
+
"dune" {>= "3.20" & >= "3.0"}
+
"uutf" {>= "1.0.0"}
+
"uunf" {>= "15.0.0"}
+
"domain-name" {>= "0.4.0"}
+
"odoc" {with-doc}
+
"alcotest" {with-test}
+
]
+
build: [
+
["dune" "subst"] {dev}
+
[
+
"dune"
+
"build"
+
"-p"
+
name
+
"-j"
+
jobs
+
"@install"
+
"@runtest" {with-test}
+
"@doc" {with-doc}
+
]
+
]
+
x-maintenance-intent: ["(latest)"]
+
url {
+
src: "git+https://tangled.org/@anil.recoil.org/ocaml-punycode.git#main"
+
}
+58
packages/requests/requests.dev/opam
···
+
opam-version: "2.0"
+
synopsis: "Batteries included HTTPS client library for OCaml"
+
description:
+
"A modern HTTP(S) client library for OCaml with Eio support, providing a clean API for making web requests with automatic TLS/CA certificate handling. Inspired by the Python's requests library, this provides a simple, intuitive interface for HTTP operations."
+
maintainer: ["Anil Madhavapeddy <anil@recoil.org>"]
+
authors: ["Anil Madhavapeddy"]
+
license: "ISC"
+
homepage: "https://tangled.org/@anil.recoil.org/ocaml-requests"
+
bug-reports: "https://tangled.org/@anil.recoil.org/ocaml-requests/issues"
+
depends: [
+
"dune" {>= "3.18"}
+
"ocaml" {>= "5.1.0"}
+
"eio"
+
"tls"
+
"tls-eio"
+
"ca-certs"
+
"mirage-crypto"
+
"mirage-crypto-rng"
+
"uri"
+
"jsont"
+
"bytesrw"
+
"bytesrw-eio"
+
"cookeio"
+
"xdge"
+
"ptime"
+
"cmdliner"
+
"digestif"
+
"base64"
+
"logs"
+
"domain-name"
+
"cstruct"
+
"optint"
+
"conpool"
+
"decompress"
+
"bigstringaf"
+
"magic-mime"
+
"odoc" {with-doc}
+
"alcotest" {with-test & >= "1.7.0"}
+
"eio_main"
+
]
+
build: [
+
["dune" "subst"] {dev}
+
[
+
"dune"
+
"build"
+
"-p"
+
name
+
"-j"
+
jobs
+
"@install"
+
"@doc" {with-doc}
+
]
+
]
+
dev-repo: "git+https://tangled.org/@anil.recoil.org/ocaml-requests.git"
+
url {
+
src: "git+https://tangled.org/@anil.recoil.org/ocaml-requests.git#main"
+
}
+
x-maintenance-intent: ["(latest)"]
+31
packages/xdge/xdge.dev/opam
···
+
opam-version: "2.0"
+
synopsis: "XDG Base Directory Specification support for Eio"
+
description:
+
"This library implements the XDG Base Directory Specification with Eio capabilities to provide safe access to configuration, data, cache, state, and runtime directories. The library exposes Cmdliner terms that allow for proper environment variable overrides and command-line flags."
+
maintainer: ["Anil Madhavapeddy <anil@recoil.org>"]
+
authors: ["Anil Madhavapeddy"]
+
license: "ISC"
+
homepage: "https://tangled.sh/@anil.recoil.org/xdge"
+
bug-reports: "https://tangled.sh/@anil.recoil.org/xdge/issues"
+
dev-repo: "git+https://tangled.org/@anil.recoil.org/xdge.git"
+
depends: [
+
"dune" {>= "3.20"}
+
"ocaml" {>= "5.1.0"}
+
"eio" {>= "1.1"}
+
"cmdliner" {>= "1.2.0"}
+
"fmt"
+
"xdg"
+
"eio_main" {with-test}
+
"odoc" {with-doc}
+
"alcotest" {with-test & >= "1.7.0"}
+
]
+
x-maintenance-intent: ["(latest)"]
+
build: [
+
[ "dune" "subst" ] {dev}
+
[ "dune" "build" "-p" name "-j" jobs "@install" ]
+
[ "dune" "runtest" "-p" name "-j" jobs ] {with-test & opam-version >= "2.2"}
+
[ "dune" "build" "-p" name "-j" jobs "@doc" ] {with-doc}
+
]
+
url {
+
src: "git+https://tangled.org/anil.recoil.org/xdge.git#main"
+
}
+1
packages/yamlrw/yamlrw.dev/opam
···
"bytesrw"
"cmdliner"
"odoc" {with-doc}
+
"jsonm" {with-test}
"alcotest" {with-test}
]
build: [
+1
packages/yamlrw-eio/yamlrw-eio.dev/opam
···
"yamlrw" {= version}
"bytesrw-eio"
"eio" {>= "1.1"}
+
"eio_main" {with-test}
"odoc" {with-doc}
]
build: [
+36
packages/yamlt/yamlt.dev/opam
···
+
opam-version: "2.0"
+
synopsis: "YAML codec using Jsont type descriptions"
+
description:
+
"Allows the same Jsont.t codec definitions to work for both JSON and YAML"
+
maintainer: ["Anil Madhavapeddy <anil@recoil.org>"]
+
authors: ["Anil Madhavapeddy"]
+
license: "ISC"
+
homepage: "https://tangled.org/@anil.recoil.org/ocaml-yamlt"
+
bug-reports: "https://tangled.org/@anil.recoil.org/ocaml-yamlt/issues"
+
dev-repo: "git+https://tangled.org/@anil.recoil.org/ocaml-yamlt.git"
+
depends: [
+
"dune" {>= "3.18"}
+
"ocaml" {>= "4.14.0"}
+
"yamlrw"
+
"jsont"
+
"bytesrw"
+
"odoc" {with-doc}
+
]
+
build: [
+
["dune" "subst"] {dev}
+
[
+
"dune"
+
"build"
+
"-p"
+
name
+
"-j"
+
jobs
+
"@install"
+
"@runtest" {with-test}
+
"@doc" {with-doc}
+
]
+
]
+
x-maintenance-intent: ["(latest)"]
+
url {
+
src: "git+https://tangled.org/@anil.recoil.org/ocaml-yamlt.git#main"
+
}