ruvnet/RuView · error · ImportError
wifi_densepose.aether is not in the binary wheels yet (see r
Error message
wifi_densepose.aether is not in the binary wheels yet (see ruvnet/RuView#1412). Build from source with `maturin ... --features aether` (or `--features sota`).
What it means
wifi_densepose.aether re-exports AETHER symbols (AetherConfig, CsiAugmenter, EmbeddingExtractor, info_nce_loss, cosine_similarity) from the compiled `_native` extension. Those symbols exist only when the Rust extension was built with the cargo `aether` (or `sota`) feature; prebuilt binary wheels do not enable it yet (ruvnet/RuView#1412). Importing the module from a binary wheel raises ImportError at module load.
Source
Thrown at python/wifi_densepose/aether.py:31
from wifi_densepose.aether import AetherConfig, EmbeddingExtractor, cosine_similarity
ext = EmbeddingExtractor(n_subcarriers=56, config=AetherConfig())
a = ext.embed(window_a) # list[float], length == config.d_proj (128)
b = ext.embed(window_b)
score = cosine_similarity(a, b) # re-ID similarity in [-1, 1]
"""
from __future__ import annotations
from wifi_densepose import _native
# The AETHER symbols are compiled into `_native` only under the Rust `aether`
# feature. The binary wheels do NOT enable it yet (ruvnet/RuView#1412);
# it is available from a source build with the feature. Name that fix, not
# a pip extra, which cannot add compiled code to a built wheel.
if not hasattr(_native, "AetherConfig"):
raise ImportError(
"wifi_densepose.aether is not in the binary wheels yet "
"(see ruvnet/RuView#1412). Build from source with "
"`maturin ... --features aether` (or `--features sota`)."
)
AetherConfig = _native.AetherConfig
CsiAugmenter = _native.CsiAugmenter
EmbeddingExtractor = _native.EmbeddingExtractor
info_nce_loss = _native.info_nce_loss
cosine_similarity = _native.cosine_similarity
__all__ = [
"AetherConfig",
"CsiAugmenter",
"EmbeddingExtractor",
"info_nce_loss",
"cosine_similarity",
]View on GitHub (pinned to 4685618388)
Solutions
- Build from source with the feature: `maturin build --release --features aether` (or `--features sota`) and pip-install the resulting wheel
- Feature-detect at startup with `hasattr(wifi_densepose._native, "AetherConfig")` and fail with the build command
- Track ruvnet/RuView#1412 and switch back to binary wheels once the feature ships there
Example fix
# before
from wifi_densepose import aether # ImportError on binary wheels
# after
from wifi_densepose import _native
if not hasattr(_native, "AetherConfig"):
raise SystemExit(
"aether needs a source build: maturin build --release --features aether"
)
from wifi_densepose import aether Defensive patterns
Strategy: validation
Validate before calling
from wifi_densepose import _native
AETHER_AVAILABLE = hasattr(_native, "AetherConfig")
if not AETHER_AVAILABLE:
raise SystemExit(
"aether requires a source build: "
"maturin build --release --features aether"
)
from wifi_densepose import aether Try / catch
try:
from wifi_densepose import aether
except ImportError as e:
if "not in the binary wheels yet" in str(e):
log.warning("aether unavailable: build with --features aether")
aether = None
else:
raise Prevention
- Check hasattr(_native, 'AetherConfig') at startup instead of letting the import fail mid-run
- Document the maturin feature requirement wherever aether is used
- Publish the feature-built wheel to an internal index so deployments are reproducible
When it happens
Trigger: `import wifi_densepose.aether` or `from wifi_densepose import aether` on an install of a prebuilt wheel (plain `pip install wifi-densepose` without a feature-enabled source build).
Common situations: Using CSI re-ID/embedding features in a service deployed from PyPI wheels; new team members on stock wheels; CI that installs wheels instead of building the workspace from source.
Related errors
- wifi_densepose.mat is not in the binary wheels yet (see ruvn
- wifi_densepose.meridian is not in the binary wheels yet (see
- wifi-densepose 1.x has been superseded by v2.0.0 which wraps
- module 'wifi_densepose.client' has no attribute {name!r}
- Core dependencies not found. Make sure you installed from th
AI-assisted analysis of ruvnet/RuView@4685618388 (2026-08-16).
Data as JSON: /api/errors/33865700693d1486.
Report an issue: GitHub.