mirror of
https://github.com/ruvnet/RuView
synced 2026-06-19 11:53:19 +00:00
b71d243b42
Three PyPI artifacts now live (published from .env-sourced PYPI_TOKEN via twine from the maintainer box — direct upload bypassed the GH Actions workflow auth churn): 1. wifi-densepose==1.99.0 — tombstone (raises ImportError with migration URL) https://pypi.org/project/wifi-densepose/1.99.0/ 2. wifi-densepose==2.0.0a1 — PyO3 wheel (win_amd64 cp310-abi3) + sdist https://pypi.org/project/wifi-densepose/2.0.0a1/ 3. ruview==2.0.0a1 — meta-package re-exporting wifi_densepose https://pypi.org/project/ruview/2.0.0a1/ New `python/ruview-meta/` subdirectory: - pyproject.toml — name="ruview", version="2.0.0a1", setuptools backend, dependencies = ["wifi-densepose==2.0.0a1"] - src/ruview/__init__.py — re-exports every name from `wifi_densepose.__all__` so `from ruview import BreathingExtractor` is equivalent to `from wifi_densepose import BreathingExtractor`. Also re-exports `__version__`, `__rust_version__`, `__rust_build_tag__`, `__build_features__`. Aliases the `client` sub-package transparently when wifi-densepose[client] extras are installed. - README.md — explains why two PyPI names ship the same code (brand vs technical name) and shows install commands for both. End-to-end verified: fresh venv, `pip install ruview`, `import ruview` + `import wifi_densepose` both succeed, `ruview.BreathingExtractor is wifi_densepose.BreathingExtractor` → True. Multi-platform wheels (manylinux x86_64+aarch64, macos x86_64+arm64) still pending — the cibuildwheel workflow path remains for that. Linux/macOS users today install via the sdist (requires rustup + maturin locally). Refs: docs/adr/ADR-117-pip-wifi-densepose-modernization.md Refs: #785 Co-Authored-By: claude-flow <ruv@ruv.net>
63 lines
2.1 KiB
TOML
63 lines
2.1 KiB
TOML
# ADR-117 sibling release — `ruview` meta-package.
|
|
#
|
|
# Pure-Python wheel that re-exports everything from `wifi-densepose`
|
|
# under the alias `ruview`. They're the same code, distributed under
|
|
# two PyPI names so users can `pip install ruview` (the brand) or
|
|
# `pip install wifi-densepose` (the technical name) — both end up
|
|
# with the same compiled DSP available.
|
|
#
|
|
# Build:
|
|
# cd python/ruview-meta
|
|
# python -m build
|
|
|
|
[build-system]
|
|
requires = ["setuptools>=68"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "ruview"
|
|
version = "2.0.0a1"
|
|
description = "RuView — ambient intelligence from WiFi CSI. Meta-package; installs `wifi-densepose` and re-exports it under the `ruview` namespace. See https://github.com/ruvnet/RuView."
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
license = { text = "MIT" }
|
|
authors = [{ name = "rUv", email = "ruv@ruv.net" }]
|
|
keywords = [
|
|
"wifi", "csi", "pose-estimation", "vital-signs",
|
|
"biometric", "ambient-intelligence", "home-assistant", "matter",
|
|
"ruview",
|
|
]
|
|
classifiers = [
|
|
"Development Status :: 3 - Alpha",
|
|
"Intended Audience :: Developers",
|
|
"Intended Audience :: Science/Research",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Operating System :: OS Independent",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
"Topic :: Scientific/Engineering",
|
|
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
"Typing :: Typed",
|
|
]
|
|
dependencies = [
|
|
# Pin to the matching v2 release so an alpha-pin `pip install ruview`
|
|
# always gets a compatible wifi-densepose.
|
|
"wifi-densepose==2.0.0a1",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
client = ["wifi-densepose[client]==2.0.0a1"]
|
|
|
|
[project.urls]
|
|
Homepage = "https://github.com/ruvnet/RuView"
|
|
Repository = "https://github.com/ruvnet/RuView"
|
|
Issues = "https://github.com/ruvnet/RuView/issues"
|
|
Documentation = "https://github.com/ruvnet/RuView/tree/main/docs"
|
|
|
|
[tool.setuptools]
|
|
packages = ["ruview"]
|
|
package-dir = { "" = "src" }
|