diff --git a/dev-python/csvw/Manifest b/dev-python/csvw/Manifest
new file mode 100644
index 0000000..92eb25f
--- /dev/null
+++ b/dev-python/csvw/Manifest
@@ -0,0 +1 @@
+DIST csvw-3.7.0.tar.gz 74789 BLAKE2B e87bdf976eadb8b01bbe0b148478748a0d4d2e46e52aa532f76a116216128bc38fe19c1b42e025d774de6b2ab4a278edec3ee6db4850165fca97a0eab6461b66 SHA512 14b503f56d20c78d71a92a01381fce903204b7e1d5fcfd1a0f92d460ecf9a5a8c7943bb2c61de76f304d6a25b7b5f9c763d10eb2c671b2abbd4c1a375dcfa4ef
diff --git a/dev-python/csvw/csvw-3.7.0.ebuild b/dev-python/csvw/csvw-3.7.0.ebuild
new file mode 100644
index 0000000..4d52a40
--- /dev/null
+++ b/dev-python/csvw/csvw-3.7.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python library to work with CSVW described tabular data"
+HOMEPAGE="https://github.com/cldf/csvw https://pypi.org/project/csvw/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/babel[${PYTHON_USEDEP}]
+ dev-python/isodate[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/language-tags[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/rdflib[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/rfc3986[${PYTHON_USEDEP}]
+ dev-python/termcolor[${PYTHON_USEDEP}]
+ dev-python/uritemplate[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
diff --git a/dev-python/csvw/metadata.xml b/dev-python/csvw/metadata.xml
new file mode 100644
index 0000000..f2a75bd
--- /dev/null
+++ b/dev-python/csvw/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ local@example.com
+ Local Overlay
+
+
+ cldf/csvw
+ csvw
+
+
diff --git a/dev-python/dlinfo/Manifest b/dev-python/dlinfo/Manifest
new file mode 100644
index 0000000..39b2c51
--- /dev/null
+++ b/dev-python/dlinfo/Manifest
@@ -0,0 +1 @@
+DIST dlinfo-2.0.0.tar.gz 12727 BLAKE2B c12a3a9170b756998543cc72d6af181e18dafbad4f244161c9ab60353a713df4fe64cd94855a44a8df4f9e07d38b4a56239277f31e4f889f3055fc8483b17764 SHA512 8203afd397fff636f64d584c797bae95a47267bc694ae1dc4b56caf4e701a47d44f3aa0931a58f425721f38a9e6f21e962f97768ac5c29ef13693a9bd8a284c1
diff --git a/dev-python/dlinfo/dlinfo-2.0.0.ebuild b/dev-python/dlinfo/dlinfo-2.0.0.ebuild
new file mode 100644
index 0000000..ab833a2
--- /dev/null
+++ b/dev-python/dlinfo/dlinfo-2.0.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python wrapper for libc dlinfo and dyld_find"
+HOMEPAGE="https://github.com/fphammerle/python-dlinfo https://pypi.org/project/dlinfo/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test"
diff --git a/dev-python/dlinfo/metadata.xml b/dev-python/dlinfo/metadata.xml
new file mode 100644
index 0000000..8c60783
--- /dev/null
+++ b/dev-python/dlinfo/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ local@example.com
+ Local Overlay
+
+
+ fphammerle/python-dlinfo
+ dlinfo
+
+
diff --git a/dev-python/fire/Manifest b/dev-python/fire/Manifest
new file mode 100644
index 0000000..6ef64a4
--- /dev/null
+++ b/dev-python/fire/Manifest
@@ -0,0 +1 @@
+DIST fire-0.7.1.tar.gz 88720 BLAKE2B d11f11bf96fcbb17c20cf3830c81e29dedb8ba6b9fd06ab1562f87c3fd9203ddbb0fdd8c708aafee7fa898b5a82da443e75e4ef15f0f0a638372c3b8c792da52 SHA512 0cce927e14552fb9bdbfab73e32f7ef4665ff4bc9b134ee1b80f9c5b8752ab7db9f0353ebea92934288a273f7ab8be4188dc8b6e8922cb05e4b9d6997586e293
diff --git a/dev-python/fire/fire-0.7.1.ebuild b/dev-python/fire/fire-0.7.1.ebuild
new file mode 100644
index 0000000..166138c
--- /dev/null
+++ b/dev-python/fire/fire-0.7.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Library for automatically generating command line interfaces"
+HOMEPAGE="https://github.com/google/python-fire https://pypi.org/project/fire/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test"
+
+RDEPEND="dev-python/termcolor[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
diff --git a/dev-python/fire/metadata.xml b/dev-python/fire/metadata.xml
new file mode 100644
index 0000000..0440b85
--- /dev/null
+++ b/dev-python/fire/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ xiangzhedev@gmail.com
+ xz-dev
+
+
+ google/python-fire
+ fire
+
+
diff --git a/dev-python/kittentts/Manifest b/dev-python/kittentts/Manifest
new file mode 100644
index 0000000..15cebbc
--- /dev/null
+++ b/dev-python/kittentts/Manifest
@@ -0,0 +1 @@
+DIST kittentts-0.8.1.gh.tar.gz 23227 BLAKE2B 5fde3b4e6fa4b77c375b0b44f93ae73f63094c26889a0b21abc256e98ca96fa853a87093d4a7ad288800364b73f23b8160ae21946189303c743754ab063754b2 SHA512 e25369319ede993e66f9f8cc2758f2dd57889b877a5a6019f965d7bcfb7260c3c022d918f7fb2e1227857faaf5729dfeaae1d6971d54a669fa7c5140dd2d82ac
diff --git a/dev-python/kittentts/files/kittentts-0.8.1-drop-unused-misaki-import.patch b/dev-python/kittentts/files/kittentts-0.8.1-drop-unused-misaki-import.patch
new file mode 100644
index 0000000..77c883f
--- /dev/null
+++ b/dev-python/kittentts/files/kittentts-0.8.1-drop-unused-misaki-import.patch
@@ -0,0 +1,7 @@
+--- a/kittentts/onnx_model.py
++++ b/kittentts/onnx_model.py
+@@ -1,4 +1,3 @@
+-from misaki import en, espeak
+ import numpy as np
+ import phonemizer
+ import soundfile as sf
diff --git a/dev-python/kittentts/kittentts-0.8.1.ebuild b/dev-python/kittentts/kittentts-0.8.1.ebuild
new file mode 100644
index 0000000..3583c33
--- /dev/null
+++ b/dev-python/kittentts/kittentts-0.8.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_SINGLE_IMPL=1
+PYTHON_COMPAT=( python3_{12..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Ultra-lightweight text-to-speech model"
+HOMEPAGE="https://github.com/KittenML/KittenTTS https://pypi.org/project/kittentts/"
+SRC_URI="https://github.com/KittenML/KittenTTS/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}/KittenTTS-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-drop-unused-misaki-import.patch
+)
+
+RDEPEND="
+ sci-ml/huggingface_hub[${PYTHON_SINGLE_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/num2words[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/phonemizer-fork[${PYTHON_USEDEP}]
+ dev-python/soundfile[${PYTHON_USEDEP}]
+ sci-libs/onnxruntime[python,${PYTHON_USEDEP}]
+ ')
+"
+DEPEND="${RDEPEND}"
+
+pkg_postinst() {
+ elog "KittenTTS downloads model files from Hugging Face at runtime."
+}
diff --git a/dev-python/kittentts/metadata.xml b/dev-python/kittentts/metadata.xml
new file mode 100644
index 0000000..53fff85
--- /dev/null
+++ b/dev-python/kittentts/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ local@example.com
+ Local Overlay
+
+
+ KittenML/KittenTTS
+ kittentts
+
+
diff --git a/dev-python/language-tags/Manifest b/dev-python/language-tags/Manifest
new file mode 100644
index 0000000..4716ebb
--- /dev/null
+++ b/dev-python/language-tags/Manifest
@@ -0,0 +1 @@
+DIST language_tags-1.2.0.tar.gz 207901 BLAKE2B e10523f21bc71c9b70923988b5acc639c398b695c66b238650bc362d69883349fd3be27207e403dd9b01e7f92946e4f81bd737ce7e7fc490a63da830e434af1e SHA512 48632b5e5e3c9639a1838ed05aab9fddcf936885451a1449246b77011ecc6df54111fce3bdf95a575627e278d7f4e1e2a34d973706289fbec77d35799f8e1d49
diff --git a/dev-python/language-tags/language-tags-1.2.0.ebuild b/dev-python/language-tags/language-tags-1.2.0.ebuild
new file mode 100644
index 0000000..3b81b6e
--- /dev/null
+++ b/dev-python/language-tags/language-tags-1.2.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python language tag registry and matching"
+HOMEPAGE="https://pypi.org/project/language-tags/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test"
diff --git a/dev-python/language-tags/metadata.xml b/dev-python/language-tags/metadata.xml
new file mode 100644
index 0000000..6858c8a
--- /dev/null
+++ b/dev-python/language-tags/metadata.xml
@@ -0,0 +1,11 @@
+
+
+
+
+ local@example.com
+ Local Overlay
+
+
+ language-tags
+
+
diff --git a/dev-python/num2words/Manifest b/dev-python/num2words/Manifest
new file mode 100644
index 0000000..6bd9f57
--- /dev/null
+++ b/dev-python/num2words/Manifest
@@ -0,0 +1 @@
+DIST num2words-0.5.14.tar.gz 218213 BLAKE2B e9ebe7907ed03eab44f0bf4329c1a7f5a257ae36b4f716da37ff506a6a38639d1d9fa18fcb38ba9ad76bc829bf87980ebe663c7335913a550f3a813c494c83b3 SHA512 05b7f256df7f23d2b6cbf398b1c908954dab213ae3ed6f2121b7ef9ce9f33539eebcf48f4da4a341e86b1905d7531a84fc7125d22bc710eda13a9d33f6f2ecc2
diff --git a/dev-python/num2words/metadata.xml b/dev-python/num2words/metadata.xml
new file mode 100644
index 0000000..0e48710
--- /dev/null
+++ b/dev-python/num2words/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ local@example.com
+ Local Overlay
+
+
+ savoirfairelinux/num2words
+ num2words
+
+
diff --git a/dev-python/num2words/num2words-0.5.14.ebuild b/dev-python/num2words/num2words-0.5.14.ebuild
new file mode 100644
index 0000000..6dfce30
--- /dev/null
+++ b/dev-python/num2words/num2words-0.5.14.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Convert numbers to words in multiple languages"
+HOMEPAGE="https://github.com/savoirfairelinux/num2words https://pypi.org/project/num2words/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test"
+
+RDEPEND="dev-python/docopt[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
diff --git a/dev-python/phonemizer-fork/Manifest b/dev-python/phonemizer-fork/Manifest
new file mode 100644
index 0000000..aeeaf85
--- /dev/null
+++ b/dev-python/phonemizer-fork/Manifest
@@ -0,0 +1 @@
+DIST phonemizer_fork-3.3.2.tar.gz 300989 BLAKE2B ed2277b8aac5c6ff6ba7efe4e83a8bcf2970327357928de2aff5ed171064f9c18d593240f862429b5263ec56580f60dd0889e8911742edd78396f732364cd5c7 SHA512 c9ab4be423d83878f63ef0d2e2dbe1ceb8fa1d8497b4c87a387bfd6698b9308d77b945d22d9bda2159e6d0e5551a6f58318c61cf35bdf0307e6cd0c11f5c5765
diff --git a/dev-python/phonemizer-fork/metadata.xml b/dev-python/phonemizer-fork/metadata.xml
new file mode 100644
index 0000000..04e86cd
--- /dev/null
+++ b/dev-python/phonemizer-fork/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ local@example.com
+ Local Overlay
+
+
+ bootphon/phonemizer
+ phonemizer-fork
+
+
diff --git a/dev-python/phonemizer-fork/phonemizer-fork-3.3.2.ebuild b/dev-python/phonemizer-fork/phonemizer-fork-3.3.2.ebuild
new file mode 100644
index 0000000..9a70467
--- /dev/null
+++ b/dev-python/phonemizer-fork/phonemizer-fork-3.3.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{12..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple text to phones converter for multiple languages"
+HOMEPAGE="https://bootphon.github.io/phonemizer/ https://pypi.org/project/phonemizer-fork/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test"
+
+RDEPEND="
+ app-accessibility/espeak-ng
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/dlinfo[${PYTHON_USEDEP}]
+ dev-python/joblib[${PYTHON_USEDEP}]
+ dev-python/segments[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
diff --git a/dev-python/segments/Manifest b/dev-python/segments/Manifest
new file mode 100644
index 0000000..692a046
--- /dev/null
+++ b/dev-python/segments/Manifest
@@ -0,0 +1 @@
+DIST segments-2.4.0.tar.gz 18662 BLAKE2B 6101fd23ec5f9f3617d1083510ef05e28a78ceaa1003beee73b66b28dc6f6916964c8d729b1c1dd74bcbfc8058d79cdc3f222a7c481f35ccbe05ef9b9cd5d2c4 SHA512 36e64d51c8b2ecf10638b2d830450e36b88a7bcb9ed73c9fd82b18ea73da0b0faeba89713cab7f45744a9626a0135c76094e36aef72d777740052594c7789901
diff --git a/dev-python/segments/metadata.xml b/dev-python/segments/metadata.xml
new file mode 100644
index 0000000..2cfed7b
--- /dev/null
+++ b/dev-python/segments/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ local@example.com
+ Local Overlay
+
+
+ cldf/segments
+ segments
+
+
diff --git a/dev-python/segments/segments-2.4.0.ebuild b/dev-python/segments/segments-2.4.0.ebuild
new file mode 100644
index 0000000..69d194f
--- /dev/null
+++ b/dev-python/segments/segments-2.4.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Segmentation with orthography profiles"
+HOMEPAGE="https://github.com/cldf/segments https://pypi.org/project/segments/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/csvw[${PYTHON_USEDEP}]
+ dev-python/regex[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
diff --git a/dev-util/hermes-agent/Manifest b/dev-util/hermes-agent/Manifest
new file mode 100644
index 0000000..01cef5a
--- /dev/null
+++ b/dev-util/hermes-agent/Manifest
@@ -0,0 +1 @@
+DIST hermes-agent-0.11.0_p20260423.tar.gz 11446353 BLAKE2B af01760412c65a46573ac293c2a36e968e065a5ef05be89d1d0114f8a849c5770ab99fa3a741342902885208698dec2025d0b82b8893610469f948b19259ccf4 SHA512 a63d496a19aa6cf48cb1b18ec24389bd218a31cd934e658dffee1f219cfe9efe38ba538dfc93a96690d71f7d522a25a581cab3ecc78c0343ed73fda48bb9b393
diff --git a/dev-util/hermes-agent/files/hermes-agent-0.11.0-tui-runtime.patch b/dev-util/hermes-agent/files/hermes-agent-0.11.0-tui-runtime.patch
new file mode 100644
index 0000000..56b1510
--- /dev/null
+++ b/dev-util/hermes-agent/files/hermes-agent-0.11.0-tui-runtime.patch
@@ -0,0 +1,135 @@
+--- a/hermes_cli/main.py
++++ b/hermes_cli/main.py
+@@ -861,7 +861,7 @@
+
+
+ def _ensure_tui_node() -> None:
+- """Make sure `node` + `npm` are on PATH for the TUI.
++ """Make sure a JavaScript runtime is on PATH for the TUI.
+
+ If either is missing and scripts/lib/node-bootstrap.sh is available, source
+ it and call `ensure_node` (fnm/nvm/proto/brew/bundled cascade). After
+@@ -870,10 +870,10 @@
+ new binaries in this Python process — regardless of which version manager
+ was used (nvm, fnm, proto, brew, or the bundled fallback).
+
+- Idempotent no-op when node+npm are already discoverable. Set
++ Idempotent no-op when node+npm or bun are already discoverable. Set
+ ``HERMES_SKIP_NODE_BOOTSTRAP=1`` to disable auto-install.
+ """
+- if shutil.which("node") and shutil.which("npm"):
++ if (shutil.which("node") and shutil.which("npm")) or shutil.which("bun"):
+ return
+ if os.environ.get("HERMES_SKIP_NODE_BOOTSTRAP"):
+ return
+@@ -921,32 +921,51 @@
+ """TUI: --dev → tsx src; else node dist (HERMES_TUI_DIR or ui-tui, build when stale)."""
+ _ensure_tui_node()
+
+- def _node_bin(bin: str) -> str:
+- if bin == "node":
+- env_node = os.environ.get("HERMES_NODE")
+- if env_node and os.path.isfile(env_node) and os.access(env_node, os.X_OK):
+- return env_node
+- path = shutil.which(bin)
+- if not path:
+- print(f"{bin} not found — install Node.js to use the TUI.")
+- sys.exit(1)
+- return path
++ def _runtime_bin() -> str:
++ env_node = os.environ.get("HERMES_NODE")
++ if env_node and os.path.isfile(env_node) and os.access(env_node, os.X_OK):
++ return env_node
++ node = shutil.which("node")
++ if node:
++ return node
++ bun = shutil.which("bun")
++ if bun:
++ return bun
++ print("node or bun not found — install Node.js or Bun to use the TUI.", file=sys.stderr)
++ sys.exit(1)
++
++ def _package_manager() -> tuple[str, str]:
++ npm = shutil.which("npm")
++ if npm:
++ return npm, "npm"
++ bun = shutil.which("bun")
++ if bun:
++ return bun, "bun"
++ print("npm or bun not found — install Node.js/npm or Bun to build the TUI.", file=sys.stderr)
++ sys.exit(1)
+
+ # pre-built dist + node_modules (nix / full HERMES_TUI_DIR) skips npm.
+ if not tui_dev:
+- ext_dir = os.environ.get("HERMES_TUI_DIR")
++ ext_dir = os.environ.get("HERMES_TUI_DIR")
+ if ext_dir:
+ p = Path(ext_dir)
+ if (p / "dist" / "entry.js").exists() and not _tui_need_npm_install(p):
+- node = _node_bin("node")
+- return [node, str(p / "dist" / "entry.js")], p
++ return [_runtime_bin(), str(p / "dist" / "entry.js")], p
+
+- npm = _node_bin("npm")
++ pm, pm_name = _package_manager()
+ if _tui_need_npm_install(tui_dir):
+ if not os.environ.get("HERMES_QUIET"):
+ print("Installing TUI dependencies…")
++ install_cmd = [pm, "install", "--silent"] if pm_name == "bun" else [
++ pm,
++ "install",
++ "--silent",
++ "--no-fund",
++ "--no-audit",
++ "--progress=false",
++ ]
+ result = subprocess.run(
+- [npm, "install", "--silent", "--no-fund", "--no-audit", "--progress=false"],
++ install_cmd,
+ cwd=str(tui_dir),
+ stdout=subprocess.DEVNULL,
+ stderr=subprocess.PIPE,
+@@ -956,7 +975,7 @@
+ if result.returncode != 0:
+ err = (result.stderr or "").strip()
+ preview = "\n".join(err.splitlines()[-30:])
+- print("npm install failed.")
++ print(f"{pm_name} install failed.")
+ if preview:
+ print(preview)
+ sys.exit(1)
+@@ -964,7 +983,7 @@
+ if tui_dev:
+ if _hermes_ink_bundle_stale(tui_dir):
+ result = subprocess.run(
+- [npm, "run", "build", "--prefix", "packages/hermes-ink"],
++ [pm, "run", "build", "--prefix", "packages/hermes-ink"],
+ cwd=str(tui_dir),
+ capture_output=True,
+ text=True,
+@@ -979,11 +998,13 @@
+ tsx = tui_dir / "node_modules" / ".bin" / "tsx"
+ if tsx.exists():
+ return [str(tsx), "src/entry.tsx"], tui_dir
+- return [npm, "start"], tui_dir
++ if pm_name == "bun" and (tui_dir / "src" / "entry.tsx").is_file():
++ return [pm, "src/entry.tsx"], tui_dir
++ return [pm, "run", "start"], tui_dir
+
+ if _tui_build_needed(tui_dir):
+ result = subprocess.run(
+- [npm, "run", "build"],
++ [pm, "run", "build"],
+ cwd=str(tui_dir),
+ capture_output=True,
+ text=True,
+@@ -1001,8 +1022,7 @@
+ print("TUI build did not produce dist/entry.js")
+ sys.exit(1)
+
+- node = _node_bin("node")
+- return [node, str(root / "dist" / "entry.js")], root
++ return [_runtime_bin(), str(root / "dist" / "entry.js")], root
+
+
+ def _launch_tui(resume_session_id: Optional[str] = None, tui_dev: bool = False):
diff --git a/dev-util/hermes-agent/hermes-agent-0.11.0_p20260423.ebuild b/dev-util/hermes-agent/hermes-agent-0.11.0_p20260423.ebuild
new file mode 100644
index 0000000..dcae17b
--- /dev/null
+++ b/dev-util/hermes-agent/hermes-agent-0.11.0_p20260423.ebuild
@@ -0,0 +1,96 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Self-improving AI agent from Nous Research"
+HOMEPAGE="https://hermes-agent.nousresearch.com https://github.com/NousResearch/hermes-agent"
+SRC_URI="https://github.com/NousResearch/hermes-agent/archive/refs/tags/v2026.4.23.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-2026.4.23"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="edge-tts exa fal firecrawl kittentts parallel-web"
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.11.0-tui-runtime.patch
+)
+
+# Minimal CLI package. Some upstream integrations need additional SDKs that are
+# not yet packaged here: edge-tts, exa-py, fal-client, firecrawl-py, and
+# parallel-web.
+RDEPEND="
+ >=dev-python/anthropic-0.39.0[${PYTHON_USEDEP}]
+ =dev-python/cryptography-42[${PYTHON_USEDEP}]
+ edge-tts? (
+ >=dev-python/edge-tts-7.2.7[${PYTHON_USEDEP}]
+ =dev-python/exa-py-2.9.0[${PYTHON_USEDEP}]
+ =dev-python/fal-client-0.13.1[${PYTHON_USEDEP}]
+ =dev-python/fire-0.7.1[${PYTHON_USEDEP}]
+ =dev-python/firecrawl-py-4.16.0[${PYTHON_USEDEP}]
+ =dev-python/httpx-0.28.1[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-3.1.5[${PYTHON_USEDEP}]
+ kittentts? ( dev-python/kittentts )
+ >=dev-python/openai-2.21.0[${PYTHON_USEDEP}]
+ =dev-python/parallel-web-0.4.2[${PYTHON_USEDEP}]
+ =dev-python/prompt-toolkit-3.0.52[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-2.12.5[${PYTHON_USEDEP}]
+ =dev-python/pyjwt-2.12.0[${PYTHON_USEDEP}]
+ =dev-python/python-dotenv-1.2.1[${PYTHON_USEDEP}]
+ =dev-python/pyyaml-6.0.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.33.0[${PYTHON_USEDEP}]
+ >=dev-python/rich-14.3.3[${PYTHON_USEDEP}]
+ >=dev-python/socksio-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-9.1.4[${PYTHON_USEDEP}]
+
+
+
+
+ xiangzhedev@gmail.com
+ xz-dev
+
+
+ NousResearch/hermes-agent
+
+
+
diff --git a/metadata/layout.conf b/metadata/layout.conf
index 20fcfea..2a2c6c3 100644
--- a/metadata/layout.conf
+++ b/metadata/layout.conf
@@ -1,3 +1,3 @@
-masters = gentoo
+masters = gentoo guru
thin-manifests = true
sign-manifests = false
diff --git a/metadata/md5-cache/dev-python/csvw-3.7.0 b/metadata/md5-cache/dev-python/csvw-3.7.0
new file mode 100644
index 0000000..090c464
--- /dev/null
+++ b/metadata/md5-cache/dev-python/csvw-3.7.0
@@ -0,0 +1,17 @@
+BDEPEND=python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 ) >=dev-python/gpep517-16[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/setuptools-78.1.0[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?]
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=dev-python/attrs[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/babel[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/isodate[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/jsonschema[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/language-tags[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/python-dateutil[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/rdflib[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/requests[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/rfc3986[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/termcolor[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/uritemplate[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?]
+DESCRIPTION=Python library to work with CSVW described tabular data
+EAPI=8
+HOMEPAGE=https://github.com/cldf/csvw https://pypi.org/project/csvw/
+INHERIT=distutils-r1 pypi
+IUSE=python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 python_targets_python3_14
+KEYWORDS=~amd64
+LICENSE=Apache-2.0
+RDEPEND=dev-python/attrs[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/babel[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/isodate[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/jsonschema[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/language-tags[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/python-dateutil[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/rdflib[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/requests[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/rfc3986[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/termcolor[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/uritemplate[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 )
+REQUIRED_USE=|| ( python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 python_targets_python3_14 )
+RESTRICT=test
+SLOT=0
+SRC_URI=https://files.pythonhosted.org/packages/source/c/csvw/csvw-3.7.0.tar.gz
+_eclasses_=eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd toolchain-funcs 58a918e3a42d0156f010dcfd43725be5 flag-o-matic fd3558f73f6503093adee69adf41020d out-of-source-utils 8e5093bd27b7f541a1913271f25d633a multibuild 83db098a835f71feb71761f72a694aa2 multilib fc812e8eb2170022c28272d80a1f9e77 multiprocessing 45d0620f25c2f063ad6276ecd9ed9399 ninja-utils d063ea1900a793f93eb095010d6d9156 python-utils-r1 9c4180f103a0e8340bc993fc85dbdadd python-r1 5fdca77e34fc9af7d6eb47689f33f6bf distutils-r1 62add15ed646bfe511af53e282621b39 pypi a451be5a08e8eb46f927fc6dd163583f
+_md5_=f6f3c15ad35a5ea9a8c46cf25ed1b7f2
diff --git a/metadata/md5-cache/dev-python/dlinfo-2.0.0 b/metadata/md5-cache/dev-python/dlinfo-2.0.0
new file mode 100644
index 0000000..35fb38a
--- /dev/null
+++ b/metadata/md5-cache/dev-python/dlinfo-2.0.0
@@ -0,0 +1,16 @@
+BDEPEND=python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 ) >=dev-python/gpep517-16[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/setuptools-78.1.0[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?]
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=Python wrapper for libc dlinfo and dyld_find
+EAPI=8
+HOMEPAGE=https://github.com/fphammerle/python-dlinfo https://pypi.org/project/dlinfo/
+INHERIT=distutils-r1 pypi
+IUSE=python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 python_targets_python3_14
+KEYWORDS=~amd64
+LICENSE=MIT
+RDEPEND=python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 )
+REQUIRED_USE=|| ( python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 python_targets_python3_14 )
+RESTRICT=test
+SLOT=0
+SRC_URI=https://files.pythonhosted.org/packages/source/d/dlinfo/dlinfo-2.0.0.tar.gz
+_eclasses_=eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd toolchain-funcs 58a918e3a42d0156f010dcfd43725be5 flag-o-matic fd3558f73f6503093adee69adf41020d out-of-source-utils 8e5093bd27b7f541a1913271f25d633a multibuild 83db098a835f71feb71761f72a694aa2 multilib fc812e8eb2170022c28272d80a1f9e77 multiprocessing 45d0620f25c2f063ad6276ecd9ed9399 ninja-utils d063ea1900a793f93eb095010d6d9156 python-utils-r1 9c4180f103a0e8340bc993fc85dbdadd python-r1 5fdca77e34fc9af7d6eb47689f33f6bf distutils-r1 62add15ed646bfe511af53e282621b39 pypi a451be5a08e8eb46f927fc6dd163583f
+_md5_=91091136a58204db191d116ae022d0ba
diff --git a/metadata/md5-cache/dev-python/fire-0.7.1 b/metadata/md5-cache/dev-python/fire-0.7.1
new file mode 100644
index 0000000..84c5ff4
--- /dev/null
+++ b/metadata/md5-cache/dev-python/fire-0.7.1
@@ -0,0 +1,17 @@
+BDEPEND=python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 ) >=dev-python/gpep517-16[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/setuptools-78.1.0[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?]
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=dev-python/termcolor[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?]
+DESCRIPTION=Library for automatically generating command line interfaces
+EAPI=8
+HOMEPAGE=https://github.com/google/python-fire https://pypi.org/project/fire/
+INHERIT=distutils-r1 pypi
+IUSE=python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 python_targets_python3_14
+KEYWORDS=~amd64
+LICENSE=Apache-2.0
+RDEPEND=dev-python/termcolor[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 )
+REQUIRED_USE=|| ( python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 python_targets_python3_14 )
+RESTRICT=test
+SLOT=0
+SRC_URI=https://files.pythonhosted.org/packages/source/f/fire/fire-0.7.1.tar.gz
+_eclasses_=eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd toolchain-funcs 58a918e3a42d0156f010dcfd43725be5 flag-o-matic fd3558f73f6503093adee69adf41020d out-of-source-utils 8e5093bd27b7f541a1913271f25d633a multibuild 83db098a835f71feb71761f72a694aa2 multilib fc812e8eb2170022c28272d80a1f9e77 multiprocessing 45d0620f25c2f063ad6276ecd9ed9399 ninja-utils d063ea1900a793f93eb095010d6d9156 python-utils-r1 9c4180f103a0e8340bc993fc85dbdadd python-r1 5fdca77e34fc9af7d6eb47689f33f6bf distutils-r1 62add15ed646bfe511af53e282621b39 pypi a451be5a08e8eb46f927fc6dd163583f
+_md5_=6bf980a9db594eb1a568762115f6f35a
diff --git a/metadata/md5-cache/dev-python/kittentts-0.8.1 b/metadata/md5-cache/dev-python/kittentts-0.8.1
new file mode 100644
index 0000000..368eef8
--- /dev/null
+++ b/metadata/md5-cache/dev-python/kittentts-0.8.1
@@ -0,0 +1,17 @@
+BDEPEND=python_single_target_python3_12? ( dev-lang/python:3.12 ) python_single_target_python3_13? ( dev-lang/python:3.13 ) python_single_target_python3_12? ( >=dev-python/gpep517-16[python_targets_python3_12(-)] >=dev-python/setuptools-78.1.0[python_targets_python3_12(-)] ) python_single_target_python3_13? ( >=dev-python/gpep517-16[python_targets_python3_13(-)] >=dev-python/setuptools-78.1.0[python_targets_python3_13(-)] )
+DEFINED_PHASES=compile configure install postinst prepare setup test
+DEPEND=sci-ml/huggingface_hub[python_single_target_python3_12(-)?,python_single_target_python3_13(-)?] python_single_target_python3_12? ( dev-python/num2words[python_targets_python3_12(-)] dev-python/numpy[python_targets_python3_12(-)] dev-python/phonemizer-fork[python_targets_python3_12(-)] dev-python/soundfile[python_targets_python3_12(-)] sci-libs/onnxruntime[python,python_targets_python3_12(-)] ) python_single_target_python3_13? ( dev-python/num2words[python_targets_python3_13(-)] dev-python/numpy[python_targets_python3_13(-)] dev-python/phonemizer-fork[python_targets_python3_13(-)] dev-python/soundfile[python_targets_python3_13(-)] sci-libs/onnxruntime[python,python_targets_python3_13(-)] )
+DESCRIPTION=Ultra-lightweight text-to-speech model
+EAPI=8
+HOMEPAGE=https://github.com/KittenML/KittenTTS https://pypi.org/project/kittentts/
+INHERIT=distutils-r1
+IUSE=python_single_target_python3_12 python_single_target_python3_13
+KEYWORDS=~amd64
+LICENSE=Apache-2.0
+RDEPEND=sci-ml/huggingface_hub[python_single_target_python3_12(-)?,python_single_target_python3_13(-)?] python_single_target_python3_12? ( dev-python/num2words[python_targets_python3_12(-)] dev-python/numpy[python_targets_python3_12(-)] dev-python/phonemizer-fork[python_targets_python3_12(-)] dev-python/soundfile[python_targets_python3_12(-)] sci-libs/onnxruntime[python,python_targets_python3_12(-)] ) python_single_target_python3_13? ( dev-python/num2words[python_targets_python3_13(-)] dev-python/numpy[python_targets_python3_13(-)] dev-python/phonemizer-fork[python_targets_python3_13(-)] dev-python/soundfile[python_targets_python3_13(-)] sci-libs/onnxruntime[python,python_targets_python3_13(-)] ) python_single_target_python3_12? ( dev-lang/python:3.12 ) python_single_target_python3_13? ( dev-lang/python:3.13 )
+REQUIRED_USE=^^ ( python_single_target_python3_12 python_single_target_python3_13 )
+RESTRICT=test
+SLOT=0
+SRC_URI=https://github.com/KittenML/KittenTTS/archive/refs/tags/0.8.1.tar.gz -> kittentts-0.8.1.gh.tar.gz
+_eclasses_=eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd toolchain-funcs 58a918e3a42d0156f010dcfd43725be5 flag-o-matic fd3558f73f6503093adee69adf41020d out-of-source-utils 8e5093bd27b7f541a1913271f25d633a multibuild 83db098a835f71feb71761f72a694aa2 multilib fc812e8eb2170022c28272d80a1f9e77 multiprocessing 45d0620f25c2f063ad6276ecd9ed9399 ninja-utils d063ea1900a793f93eb095010d6d9156 python-utils-r1 9c4180f103a0e8340bc993fc85dbdadd python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 distutils-r1 62add15ed646bfe511af53e282621b39
+_md5_=7cfcdcf143dafea3e859d06449f83c98
diff --git a/metadata/md5-cache/dev-python/language-tags-1.2.0 b/metadata/md5-cache/dev-python/language-tags-1.2.0
new file mode 100644
index 0000000..8c9b912
--- /dev/null
+++ b/metadata/md5-cache/dev-python/language-tags-1.2.0
@@ -0,0 +1,16 @@
+BDEPEND=python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 ) >=dev-python/gpep517-16[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/setuptools-78.1.0[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?]
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=Python language tag registry and matching
+EAPI=8
+HOMEPAGE=https://pypi.org/project/language-tags/
+INHERIT=distutils-r1 pypi
+IUSE=python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 python_targets_python3_14
+KEYWORDS=~amd64
+LICENSE=MIT
+RDEPEND=python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 )
+REQUIRED_USE=|| ( python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 python_targets_python3_14 )
+RESTRICT=test
+SLOT=0
+SRC_URI=https://files.pythonhosted.org/packages/source/l/language-tags/language_tags-1.2.0.tar.gz
+_eclasses_=eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd toolchain-funcs 58a918e3a42d0156f010dcfd43725be5 flag-o-matic fd3558f73f6503093adee69adf41020d out-of-source-utils 8e5093bd27b7f541a1913271f25d633a multibuild 83db098a835f71feb71761f72a694aa2 multilib fc812e8eb2170022c28272d80a1f9e77 multiprocessing 45d0620f25c2f063ad6276ecd9ed9399 ninja-utils d063ea1900a793f93eb095010d6d9156 python-utils-r1 9c4180f103a0e8340bc993fc85dbdadd python-r1 5fdca77e34fc9af7d6eb47689f33f6bf distutils-r1 62add15ed646bfe511af53e282621b39 pypi a451be5a08e8eb46f927fc6dd163583f
+_md5_=8dbe090728d156406a7493333cf533c9
diff --git a/metadata/md5-cache/dev-python/num2words-0.5.14 b/metadata/md5-cache/dev-python/num2words-0.5.14
new file mode 100644
index 0000000..c7ac49e
--- /dev/null
+++ b/metadata/md5-cache/dev-python/num2words-0.5.14
@@ -0,0 +1,17 @@
+BDEPEND=python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 ) >=dev-python/gpep517-16[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/setuptools-78.1.0[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?]
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=dev-python/docopt[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?]
+DESCRIPTION=Convert numbers to words in multiple languages
+EAPI=8
+HOMEPAGE=https://github.com/savoirfairelinux/num2words https://pypi.org/project/num2words/
+INHERIT=distutils-r1 pypi
+IUSE=python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 python_targets_python3_14
+KEYWORDS=~amd64
+LICENSE=LGPL-2.1
+RDEPEND=dev-python/docopt[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 )
+REQUIRED_USE=|| ( python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 python_targets_python3_14 )
+RESTRICT=test
+SLOT=0
+SRC_URI=https://files.pythonhosted.org/packages/source/n/num2words/num2words-0.5.14.tar.gz
+_eclasses_=eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd toolchain-funcs 58a918e3a42d0156f010dcfd43725be5 flag-o-matic fd3558f73f6503093adee69adf41020d out-of-source-utils 8e5093bd27b7f541a1913271f25d633a multibuild 83db098a835f71feb71761f72a694aa2 multilib fc812e8eb2170022c28272d80a1f9e77 multiprocessing 45d0620f25c2f063ad6276ecd9ed9399 ninja-utils d063ea1900a793f93eb095010d6d9156 python-utils-r1 9c4180f103a0e8340bc993fc85dbdadd python-r1 5fdca77e34fc9af7d6eb47689f33f6bf distutils-r1 62add15ed646bfe511af53e282621b39 pypi a451be5a08e8eb46f927fc6dd163583f
+_md5_=6e64b712dd9b566a3951168f04b57977
diff --git a/metadata/md5-cache/dev-python/phonemizer-fork-3.3.2 b/metadata/md5-cache/dev-python/phonemizer-fork-3.3.2
new file mode 100644
index 0000000..9a93452
--- /dev/null
+++ b/metadata/md5-cache/dev-python/phonemizer-fork-3.3.2
@@ -0,0 +1,17 @@
+BDEPEND=python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 ) >=dev-python/gpep517-16[python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/hatchling-1.27.0[python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?]
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=app-accessibility/espeak-ng dev-python/attrs[python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/dlinfo[python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/joblib[python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/segments[python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/typing-extensions[python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?]
+DESCRIPTION=Simple text to phones converter for multiple languages
+EAPI=8
+HOMEPAGE=https://bootphon.github.io/phonemizer/ https://pypi.org/project/phonemizer-fork/
+INHERIT=distutils-r1 pypi
+IUSE=python_targets_python3_12 python_targets_python3_13 python_targets_python3_14
+KEYWORDS=~amd64
+LICENSE=GPL-3
+RDEPEND=app-accessibility/espeak-ng dev-python/attrs[python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/dlinfo[python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/joblib[python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/segments[python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/typing-extensions[python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 )
+REQUIRED_USE=|| ( python_targets_python3_12 python_targets_python3_13 python_targets_python3_14 )
+RESTRICT=test
+SLOT=0
+SRC_URI=https://files.pythonhosted.org/packages/source/p/phonemizer-fork/phonemizer_fork-3.3.2.tar.gz
+_eclasses_=eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd toolchain-funcs 58a918e3a42d0156f010dcfd43725be5 flag-o-matic fd3558f73f6503093adee69adf41020d out-of-source-utils 8e5093bd27b7f541a1913271f25d633a multibuild 83db098a835f71feb71761f72a694aa2 multilib fc812e8eb2170022c28272d80a1f9e77 multiprocessing 45d0620f25c2f063ad6276ecd9ed9399 ninja-utils d063ea1900a793f93eb095010d6d9156 python-utils-r1 9c4180f103a0e8340bc993fc85dbdadd python-r1 5fdca77e34fc9af7d6eb47689f33f6bf distutils-r1 62add15ed646bfe511af53e282621b39 pypi a451be5a08e8eb46f927fc6dd163583f
+_md5_=26d3b23cf6d7fdfca4db80eb3c6528ac
diff --git a/metadata/md5-cache/dev-python/segments-2.4.0 b/metadata/md5-cache/dev-python/segments-2.4.0
new file mode 100644
index 0000000..1445402
--- /dev/null
+++ b/metadata/md5-cache/dev-python/segments-2.4.0
@@ -0,0 +1,17 @@
+BDEPEND=python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 ) >=dev-python/gpep517-16[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/setuptools-78.1.0[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?]
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=dev-python/csvw[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/regex[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?]
+DESCRIPTION=Segmentation with orthography profiles
+EAPI=8
+HOMEPAGE=https://github.com/cldf/segments https://pypi.org/project/segments/
+INHERIT=distutils-r1 pypi
+IUSE=python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 python_targets_python3_14
+KEYWORDS=~amd64
+LICENSE=Apache-2.0
+RDEPEND=dev-python/csvw[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/regex[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 )
+REQUIRED_USE=|| ( python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 python_targets_python3_14 )
+RESTRICT=test
+SLOT=0
+SRC_URI=https://files.pythonhosted.org/packages/source/s/segments/segments-2.4.0.tar.gz
+_eclasses_=eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd toolchain-funcs 58a918e3a42d0156f010dcfd43725be5 flag-o-matic fd3558f73f6503093adee69adf41020d out-of-source-utils 8e5093bd27b7f541a1913271f25d633a multibuild 83db098a835f71feb71761f72a694aa2 multilib fc812e8eb2170022c28272d80a1f9e77 multiprocessing 45d0620f25c2f063ad6276ecd9ed9399 ninja-utils d063ea1900a793f93eb095010d6d9156 python-utils-r1 9c4180f103a0e8340bc993fc85dbdadd python-r1 5fdca77e34fc9af7d6eb47689f33f6bf distutils-r1 62add15ed646bfe511af53e282621b39 pypi a451be5a08e8eb46f927fc6dd163583f
+_md5_=4c2723f0259f2ccd2798c01b4df2ca08
diff --git a/metadata/md5-cache/dev-util/hermes-agent-0.11.0_p20260423 b/metadata/md5-cache/dev-util/hermes-agent-0.11.0_p20260423
new file mode 100644
index 0000000..1ddcecc
--- /dev/null
+++ b/metadata/md5-cache/dev-util/hermes-agent-0.11.0_p20260423
@@ -0,0 +1,17 @@
+BDEPEND=python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) >=dev-python/gpep517-16[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] >=dev-python/setuptools-78.1.0[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?]
+DEFINED_PHASES=compile configure install postinst prepare test
+DEPEND=>=dev-python/anthropic-0.39.0[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/cryptography-42[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] edge-tts? ( >=dev-python/edge-tts-7.2.7[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/exa-py-2.9.0[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/fal-client-0.13.1[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/fire-0.7.1[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/firecrawl-py-4.16.0[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/httpx-0.28.1[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] >=dev-python/jinja2-3.1.5[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] kittentts? ( dev-python/kittentts ) >=dev-python/openai-2.21.0[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/parallel-web-0.4.2[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/prompt-toolkit-3.0.52[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] >=dev-python/pydantic-2.12.5[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/pyjwt-2.12.0[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/python-dotenv-1.2.1[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/pyyaml-6.0.2[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] >=dev-python/requests-2.33.0[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] >=dev-python/rich-14.3.3[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] >=dev-python/socksio-1.0.0[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] >=dev-python/tenacity-9.1.4[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/anthropic-0.39.0[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/cryptography-42[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] edge-tts? ( >=dev-python/edge-tts-7.2.7[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/exa-py-2.9.0[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/fal-client-0.13.1[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/fire-0.7.1[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/firecrawl-py-4.16.0[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/httpx-0.28.1[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] >=dev-python/jinja2-3.1.5[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] kittentts? ( dev-python/kittentts ) >=dev-python/openai-2.21.0[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/parallel-web-0.4.2[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/prompt-toolkit-3.0.52[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] >=dev-python/pydantic-2.12.5[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/pyjwt-2.12.0[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/python-dotenv-1.2.1[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] =dev-python/pyyaml-6.0.2[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] >=dev-python/requests-2.33.0[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] >=dev-python/rich-14.3.3[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] >=dev-python/socksio-1.0.0[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] >=dev-python/tenacity-9.1.4[python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] hermes-agent-0.11.0_p20260423.tar.gz
+_eclasses_=eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd toolchain-funcs 58a918e3a42d0156f010dcfd43725be5 flag-o-matic fd3558f73f6503093adee69adf41020d out-of-source-utils 8e5093bd27b7f541a1913271f25d633a multibuild 83db098a835f71feb71761f72a694aa2 multilib fc812e8eb2170022c28272d80a1f9e77 multiprocessing 45d0620f25c2f063ad6276ecd9ed9399 ninja-utils d063ea1900a793f93eb095010d6d9156 python-utils-r1 9c4180f103a0e8340bc993fc85dbdadd python-r1 5fdca77e34fc9af7d6eb47689f33f6bf distutils-r1 62add15ed646bfe511af53e282621b39
+_md5_=9bc4ef86c8c1b3c49fa4e32a721c0008