Metadata-Version: 2.5
Name: dexverse-uploader
Version: 0.1.4a1
Summary: DexVerse edge-device data uploader
Requires-Python: <3.11,>=3.10
Requires-Dist: paho-mqtt<3,>=2.0
Requires-Dist: requests<3,>=2.25
Provides-Extra: hdf5
Requires-Dist: h5py<4,>=3; extra == 'hdf5'
Provides-Extra: piper
Requires-Dist: h5py<4,>=3.8; extra == 'piper'
Requires-Dist: numpy<3,>=1.24; extra == 'piper'
Requires-Dist: pillow<13,>=10; extra == 'piper'
Provides-Extra: tianji
Requires-Dist: av<19,>=8.1; extra == 'tianji'
Requires-Dist: h5ffmpeg==2.4.0; extra == 'tianji'
Requires-Dist: h5py<4,>=3.6; extra == 'tianji'
Requires-Dist: imgaug==0.4.0; extra == 'tianji'
Requires-Dist: lz4<5,>=4.3; extra == 'tianji'
Requires-Dist: mcap-ros2-support==0.5.7; extra == 'tianji'
Requires-Dist: mcap==1.4.0; extra == 'tianji'
Requires-Dist: numpy<2,>=1.24; extra == 'tianji'
Requires-Dist: pillow<12,>=9; extra == 'tianji'
Requires-Dist: pyyaml<7,>=6; extra == 'tianji'
Requires-Dist: zstandard<1,>=0.23; extra == 'tianji'
Provides-Extra: umi
Requires-Dist: h5ffmpeg==2.4.0; extra == 'umi'
Requires-Dist: h5py==3.14.0; extra == 'umi'
Requires-Dist: hdfdict==0.3.1; extra == 'umi'
Requires-Dist: numpy==1.26.4; extra == 'umi'
Requires-Dist: opencv-python-headless<5,>=4.8; extra == 'umi'
Requires-Dist: scipy<2,>=1.11; extra == 'umi'
Requires-Dist: tqdm<5,>=4.66; extra == 'umi'
Provides-Extra: w1
Requires-Dist: h5py<4,>=3; extra == 'w1'
Requires-Dist: numpy<3,>=1.24; extra == 'w1'
Requires-Dist: opencv-python-headless<5,>=4.8; extra == 'w1'
Requires-Dist: pillow<13,>=10; extra == 'w1'
Requires-Dist: pyyaml<7,>=5.1; extra == 'w1'
Requires-Dist: tqdm<5,>=4.66; extra == 'w1'
Description-Content-Type: text/markdown

# DexVerse Uploader

The uploader is a standard `src`-layout Python package. Install the base
wheel for the MQTT/HTTP service and select a protocol extra when the target
runtime needs its Python-side conversion or quality-check dependencies:

```text
pip install dexverse-uploader
pip install dexverse-uploader[w1]
pip install dexverse-uploader[umi]
```

The profile requirements under `requirements/` remain the offline deployment
manifests. They are kept separate from package metadata because W1/GStreamer,
UMI/native codecs, and other protocol components can be supplied by the edge
image or a dedicated runtime. The service keeps the existing MQTT RPC
contracts and can be started with `python -m dexverse_uploader.device_main`.
