You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Termux Python environments can identify as Linux/AArch64 while linking against Android's Bionic libc. These environments do not select manylinux or musllinux wheels and may not emit the PEP 738 Android tags targeted by #637 and #638.
Hermes Agent currently exempts Android from its core NeMo Relay dependency in NousResearch/hermes-agent#76643. That keeps installation working, but Relay functionality is unavailable on Termux.
This issue is intentionally separate from #637 and #638, which target official Android CPython 3.13+ distributions using PEP 738 wheel tags.
Proposed enhancement
Investigate whether Termux-native NeMo Relay support is technically and operationally viable before committing to first-class support:
Record the Python versions and compatibility tags used by current Termux/AArch64 environments.
Test a clean source build, installation, import, and basic scope lifecycle on Termux.
Evaluate viable distribution channels, such as a Termux package, source-first installation, a custom package index, or release assets.
Define the required CI or device coverage, release process, and maintenance ownership.
If support is viable, implement a separate Termux/Bionic packaging path without labeling artifacts as manylinux, musllinux, or generic Linux wheels.
Runtime contract and binding impact
The investigation does not propose runtime semantic changes. It affects Python packaging only; Rust, Node.js, Go, and raw FFI behavior are unchanged.
If Termux support is added, the public Python runtime contract should match other supported platforms. Downstream consumers should continue to exclude Android from mandatory Relay installation until a validated Termux artifact or installation path exists.
Alternatives considered
PEP 738 Android wheels do not solve environments whose Python installation reports Linux compatibility tags.
manylinux and musllinux wheels are not compatible with Bionic.
Source builds may be a reasonable best-effort fallback, but they require a validated Termux toolchain and dependency path.
Keeping the Hermes Android dependency exemption is the current production-safe behavior.
Declaring Termux unsupported remains a valid outcome if the distribution and maintenance burden is disproportionate to demand.
Acceptance criteria
Capture a reproducible compatibility report for a current Termux Python/AArch64 environment, including sysconfig.get_platform() and packaging.tags.sys_tags().
Record source build, installation, import, and basic runtime smoke-test results.
Document viable distribution options and their PyPI, release, and maintenance constraints.
Make an explicit support decision: first-class, source-first/best-effort, or unsupported.
If first-class support is selected, add an owned release path and CI or device-level import smoke coverage.
Keep the Hermes Android dependency exemption until the selected support path is validated.
Affected area
Problem or opportunity
Termux Python environments can identify as Linux/AArch64 while linking against Android's Bionic libc. These environments do not select manylinux or musllinux wheels and may not emit the PEP 738 Android tags targeted by #637 and #638.
Hermes Agent currently exempts Android from its core NeMo Relay dependency in NousResearch/hermes-agent#76643. That keeps installation working, but Relay functionality is unavailable on Termux.
This issue is intentionally separate from #637 and #638, which target official Android CPython 3.13+ distributions using PEP 738 wheel tags.
Proposed enhancement
Investigate whether Termux-native NeMo Relay support is technically and operationally viable before committing to first-class support:
Runtime contract and binding impact
The investigation does not propose runtime semantic changes. It affects Python packaging only; Rust, Node.js, Go, and raw FFI behavior are unchanged.
If Termux support is added, the public Python runtime contract should match other supported platforms. Downstream consumers should continue to exclude Android from mandatory Relay installation until a validated Termux artifact or installation path exists.
Alternatives considered
Acceptance criteria