robot-data-audit 0.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,207 @@
1
+ Metadata-Version: 2.4
2
+ Name: robot-data-audit
3
+ Version: 0.2.0
4
+ Summary: Robot Data Audit (RDA) - Quality auditing tool for robot datasets
5
+ Author-email: Niu Su Tech <dev@niusutech.com>
6
+ License: MIT
7
+ Classifier: License :: OSI Approved :: MIT License
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Programming Language :: Python :: 3.10
10
+ Classifier: Programming Language :: Python :: 3.11
11
+ Classifier: Programming Language :: Python :: 3.12
12
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
13
+ Requires-Python: >=3.10
14
+ Description-Content-Type: text/markdown
15
+ License-File: LICENSE
16
+ Requires-Dist: click>=8.0
17
+ Requires-Dist: pydantic>=2.0
18
+ Requires-Dist: numpy>=1.24
19
+ Requires-Dist: lerobot>=0.6
20
+ Provides-Extra: dev
21
+ Requires-Dist: pytest>=7.0; extra == "dev"
22
+ Requires-Dist: pytest-cov>=4.0; extra == "dev"
23
+ Requires-Dist: ruff>=0.1; extra == "dev"
24
+ Provides-Extra: ui
25
+ Requires-Dist: streamlit>=1.30.0; extra == "ui"
26
+ Requires-Dist: plotly>=5.18.0; extra == "ui"
27
+ Requires-Dist: pandas>=2.0; extra == "ui"
28
+ Dynamic: license-file
29
+
30
+ # Robot Data Audit (RDA)
31
+
32
+ Quality auditing tool for robot datasets. RDA provides comprehensive metrics for
33
+ evaluating the integrity, temporal consistency, motion quality, and distribution
34
+ coverage of robot trajectory datasets.
35
+
36
+ ## Features
37
+
38
+ - **Integrity Metrics**: Missing frames, NaN values, schema validation
39
+ - **Temporal Metrics**: Timestamp consistency, sensor sync, jitter analysis
40
+ - **Motion Metrics**: Joint limits, velocity profiles, discontinuities, idle detection
41
+ - **Distribution Metrics**: Distribution statistics, coverage analysis
42
+ - **Three-tier classification**: PASS / REVIEW / EXCLUDE
43
+ - **CLI-first design**: Easy to integrate into data pipelines
44
+ - **Streamlit UI** (coming in v0.2.0): Interactive dashboard for exploring results
45
+
46
+ ## Installation
47
+
48
+ ### From PyPI
49
+
50
+ > **Note:** PyPI publishing is planned for the v0.2.0 release.
51
+ > Until then, install from source as described below.
52
+
53
+ ```bash
54
+ # Coming soon — PyPI package name: robot-data-assurance
55
+ # pip install robot-data-assurance
56
+ ```
57
+
58
+ ### From source (development)
59
+
60
+ ```bash
61
+ git clone <repository-url>
62
+ cd robot-data-audit
63
+ pip install -e .
64
+ ```
65
+
66
+ ### With UI support (v0.2.0+)
67
+
68
+ ```bash
69
+ pip install -e ".[ui]"
70
+ ```
71
+
72
+ ## Quick Start
73
+
74
+ ### 1. Audit a dataset
75
+
76
+ ```bash
77
+ rda audit /path/to/lerobot/dataset
78
+ ```
79
+
80
+ This will run all 12 RDA metrics against every episode in the dataset and print a
81
+ text summary to the console. A JSON report is automatically saved to
82
+ `<dataset_path>/rda_report.json`.
83
+
84
+ ### 2. Use example datasets
85
+
86
+ ```bash
87
+ # See examples and usage tips
88
+ rda example
89
+ ```
90
+
91
+ ### 3. Customize output
92
+
93
+ ```bash
94
+ # Save report to a specific path
95
+ rda audit /path/to/dataset --output my_report.json
96
+
97
+ # Output JSON to stdout (for piping)
98
+ rda audit /path/to/dataset --format json
99
+
100
+ # Verbose mode with platform info
101
+ rda audit /path/to/dataset --platform so101 -v
102
+ ```
103
+
104
+ ### 4. Preview the UI (coming soon)
105
+
106
+ ```bash
107
+ rda audit /path/to/dataset --ui
108
+ ```
109
+
110
+ ## CLI Reference
111
+
112
+ ### `rda audit`
113
+
114
+ Audit a LeRobot dataset at the given PATH.
115
+
116
+ ```bash
117
+ rda audit [OPTIONS] PATH
118
+ ```
119
+
120
+ | Option | Description |
121
+ |--------|-------------|
122
+ | `-o, --output FILE` | Path to save the JSON audit report. Defaults to `<path>/rda_report.json`. |
123
+ | `--format [json\|text]` | Output format for the audit report. Default: `text`. |
124
+ | `--platform TEXT` | Robot platform name (e.g. `so101`, `droid`). Used for Tier 3 platform-specific metrics. |
125
+ | `--ui` | Launch the Streamlit web UI after the audit completes. *(v0.2.0 preview)* |
126
+ | `-v, --verbose` | Enable verbose output. |
127
+ | `-V, --version` | Show version and exit. |
128
+ | `-h, --help` | Show help message and exit. |
129
+
130
+ ### `rda example`
131
+
132
+ Show example usage and sample dataset paths.
133
+
134
+ ```bash
135
+ rda example
136
+ ```
137
+
138
+ ## Exit Codes
139
+
140
+ | Code | Meaning |
141
+ |------|---------|
142
+ | `0` | Audit completed successfully, no EXCLUDE verdicts |
143
+ | `1` | Error (invalid path, dataset loading failed, etc.) |
144
+ | `2` | Audit completed successfully, at least one EXCLUDE verdict |
145
+
146
+ ## Project Structure
147
+
148
+ ```
149
+ rda/
150
+ ├── cli/ # Click CLI entry points
151
+ ├── io/ # Data loading and schema definitions
152
+ ├── metrics/ # Audit metric implementations (12 metrics total)
153
+ ├── audit/ # Dataset and episode-level audit orchestration
154
+ └── report/ # Report generation and summary
155
+
156
+ docs/ # API documentation and design specs
157
+ examples/ # Example scripts
158
+ ├── basic_audit.py # Core workflow demo (synthetic data ready)
159
+ └── custom_metrics.py # How to write custom audit metrics
160
+ tests/ # 155 unit tests
161
+ ```
162
+
163
+ ## Documentation
164
+
165
+ - **[API Reference](docs/API.md)** — Full Python API documentation
166
+ - **[MVP Product Spec](docs/MVP_PRODUCT_SPEC.md)** — Product requirements (v0.2.0)
167
+ - **[Technical Design](TECHNICAL_DESIGN.md)** — Architecture and design decisions
168
+ - **[Project Charter](PROJECT_CHARTER.md)** — Mission, goals, and scope
169
+ - **[Roadmap](ROADMAP.md)** — Release plan and milestones
170
+ - **[Changelog](CHANGELOG.md)** — Version history
171
+
172
+ ## Python API Quick Start
173
+
174
+ ```python
175
+ from rda.audit.dataset_audit import DatasetAuditor
176
+ from rda.io.lerobot_loader import iter_episodes, load_lerobot_dataset
177
+ from rda.report import generate_dataset_report
178
+
179
+ dataset_info = load_lerobot_dataset("/path/to/dataset")
180
+ auditor = DatasetAuditor()
181
+ result = auditor.audit_dataset(dataset_info, iter_episodes("/path/to/dataset"))
182
+
183
+ report = generate_dataset_report(result)
184
+ print(f"DHI: {report['quality']['dhi']} / 100")
185
+ ```
186
+
187
+ See [docs/API.md](docs/API.md) for the complete API reference, or
188
+ [examples/](examples/) for runnable scripts.
189
+
190
+ ## Development
191
+
192
+ ### Running tests
193
+
194
+ ```bash
195
+ pytest
196
+ ```
197
+
198
+ ### Linting
199
+
200
+ ```bash
201
+ pip install -e ".[dev]"
202
+ ruff check rda/
203
+ ```
204
+
205
+ ## License
206
+
207
+ MIT
@@ -0,0 +1,6 @@
1
+ robot_data_audit-0.2.0.dist-info/licenses/LICENSE,sha256=vae8d3QY-Kwx6U6H5n17K8th1oc2roPHsBBWZl-Jnj0,1074
2
+ robot_data_audit-0.2.0.dist-info/METADATA,sha256=B18QytlPYhbcofpTinzy2WclhwEU7SZTEjHOGGW2Ogo,5743
3
+ robot_data_audit-0.2.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
4
+ robot_data_audit-0.2.0.dist-info/entry_points.txt,sha256=2tcJW9kPwYtDk49EEg5Jh5U5WUiUgpwh-iZZKl0jBn4,41
5
+ robot_data_audit-0.2.0.dist-info/top_level.txt,sha256=5TX7brGiShGWC_4yorudTy-clvc_KDFa6xE_nxVX0T8,4
6
+ robot_data_audit-0.2.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.10.2)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ rda = rda.cli.main:cli
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Niu Su Technology
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ rda