Skip to content

fix(packaging): include hermes_cli subpackages in wheel (#27938) - #28231

Closed
nevasini1 wants to merge 1 commit into
NousResearch:mainfrom
nevasini1:fix/wheel-missing-hermes-cli-subpackages
Closed

fix(packaging): include hermes_cli subpackages in wheel (#27938)#28231
nevasini1 wants to merge 1 commit into
NousResearch:mainfrom
nevasini1:fix/wheel-missing-hermes-cli-subpackages

Conversation

@nevasini1

Copy link
Copy Markdown

Summary

Fixes #27938 — the v0.14.0 wheel is missing hermes_cli/proxy/ (and its adapters/ subpackage), so all hermes proxy <subcmd> invocations fail with ModuleNotFoundError: No module named 'hermes_cli.proxy' on pip-installed installs.

Root cause

pyproject.toml configures the wheel contents via setuptools' packages.find include list:

[tool.setuptools.packages.find]
include = [..., \"hermes_cli\", ...]

The list includes hermes_cli (the top-level package) but not hermes_cli.*. Every other multi-level package in the project is declared with both forms — agent + agent.*, tools + tools.*, gateway + gateway.*, tui_gateway + tui_gateway.*, plugins + plugins.*, providers + providers.*. hermes_cli was the only outlier, which was harmless until PR #25969 (commit ccb5aae0d) added hermes_cli/proxy/ and hermes_cli/proxy/adapters/.

Fix

Add hermes_cli.* to the include list. One line; matches the convention already used by every other package in the same list.

Verification

Built a wheel from this commit with python -m build --wheel and inspected the contents:

$ python -m zipfile -l hermes_agent-0.14.0-py3-none-any.whl | grep hermes_cli/proxy
hermes_cli/proxy/__init__.py
hermes_cli/proxy/cli.py
hermes_cli/proxy/server.py
hermes_cli/proxy/adapters/__init__.py
hermes_cli/proxy/adapters/base.py
hermes_cli/proxy/adapters/nous_portal.py

All seven files from the issue's git ls-tree -r v2026.5.16 -- hermes_cli/proxy listing are now in the wheel.

Test plan

🤖 Generated with Claude Code

…#27938)

The `[tool.setuptools.packages.find].include` list in pyproject.toml
listed `hermes_cli` but not `hermes_cli.*`, so any subpackage of
`hermes_cli/` was excluded from the built wheel. PR NousResearch#25969 added
`hermes_cli/proxy/` and `hermes_cli/proxy/adapters/` without updating
the include list, which is how this surfaced: `hermes proxy <subcmd>`
fails on a pip-installed v0.14.0 with
`ModuleNotFoundError: No module named 'hermes_cli.proxy'`.

Adding `hermes_cli.*` to the include list matches the existing pattern
already used for `agent.*`, `tools.*`, `gateway.*`, `tui_gateway.*`,
`plugins.*`, and `providers.*`, and makes future hermes_cli subpackages
ship by default.

Verified by `python -m build --wheel` against this commit: the wheel
now contains `hermes_cli/proxy/{__init__,cli,server}.py` and
`hermes_cli/proxy/adapters/{__init__,base,nous_portal}.py`, all of
which were absent from the v0.14.0 wheel.

Fixes NousResearch#27938.
@nevasini1
nevasini1 requested a review from a team May 18, 2026 22:09
@alt-glitch alt-glitch added type/bug Something isn't working P1 High — major feature broken, no workaround comp/cli CLI entry point, hermes_cli/, setup wizard duplicate This issue or pull request already exists labels May 18, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

Duplicate of #27728 which is the omnibus packaging fix (also covers acp_adapter.*, MANIFEST.in grafts, and Homebrew formula). Previously closed #27726 and #28060 were the same single-line fix.

@nevasini1

Copy link
Copy Markdown
Author

Thanks for the pointer — closing as duplicate of #27728, which lands the same hermes_cli.* wildcard plus the broader packaging cleanup (acp_adapter.*, the MANIFEST.in grafts, Homebrew formula) and adds an invariant test that prevents this whole class of bug recurring. That's the right shape; my one-liner was strictly a subset.

For the record on how this dupe happened: I searched open PRs with 27938 in:title,body and missed #27728 because it references the duplicate issue #27664 instead. Will widen the search next time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/cli CLI entry point, hermes_cli/, setup wizard duplicate This issue or pull request already exists P1 High — major feature broken, no workaround type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

v0.14.0: hermes_cli.proxy missing from wheel — ModuleNotFoundError on hermes proxy <subcommand>

2 participants