lecop 0.1.0__tar.gz
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.
- lecop-0.1.0/.gitignore +2 -0
- lecop-0.1.0/CHANGELOG.md +8 -0
- lecop-0.1.0/CONTRIBUTING.md +54 -0
- lecop-0.1.0/Cargo.lock +1820 -0
- lecop-0.1.0/Cargo.toml +55 -0
- lecop-0.1.0/LICENSE-APACHE +202 -0
- lecop-0.1.0/LICENSE-MIT +21 -0
- lecop-0.1.0/PKG-INFO +98 -0
- lecop-0.1.0/README.md +81 -0
- lecop-0.1.0/STYLE_GUIDE.md +45 -0
- lecop-0.1.0/assets/logo.png +0 -0
- lecop-0.1.0/assets/social-preview.png +0 -0
- lecop-0.1.0/benches/mp4.rs +36 -0
- lecop-0.1.0/benches/validate.rs +59 -0
- lecop-0.1.0/dist-workspace.toml +21 -0
- lecop-0.1.0/docs/checks.md +80 -0
- lecop-0.1.0/docs/comparison.md +87 -0
- lecop-0.1.0/docs/usage.md +110 -0
- lecop-0.1.0/pyproject.toml +22 -0
- lecop-0.1.0/scripts/compare.py +144 -0
- lecop-0.1.0/scripts/datasets.tsv +27 -0
- lecop-0.1.0/scripts/fetch-datasets.sh +29 -0
- lecop-0.1.0/scripts/golden_map.tsv +34 -0
- lecop-0.1.0/scripts/goldens.py +135 -0
- lecop-0.1.0/src/config.rs +207 -0
- lecop-0.1.0/src/dataset.rs +355 -0
- lecop-0.1.0/src/decode.rs +488 -0
- lecop-0.1.0/src/discover.rs +31 -0
- lecop-0.1.0/src/fix.rs +213 -0
- lecop-0.1.0/src/lib.rs +9 -0
- lecop-0.1.0/src/main.rs +348 -0
- lecop-0.1.0/src/mp4.rs +490 -0
- lecop-0.1.0/src/report.rs +288 -0
- lecop-0.1.0/src/validate/episodes.rs +538 -0
- lecop-0.1.0/src/validate/jump_shift.rs +375 -0
- lecop-0.1.0/src/validate/limits.rs +144 -0
- lecop-0.1.0/src/validate/mod.rs +515 -0
- lecop-0.1.0/src/validate/numeric.rs +200 -0
- lecop-0.1.0/src/validate/portability.rs +138 -0
- lecop-0.1.0/src/validate/schema.rs +243 -0
- lecop-0.1.0/src/validate/stats.rs +423 -0
- lecop-0.1.0/src/validate/tasks.rs +110 -0
- lecop-0.1.0/src/validate/video.rs +252 -0
- lecop-0.1.0/tests/cli.rs +456 -0
- lecop-0.1.0/tests/common/h264.rs +177 -0
- lecop-0.1.0/tests/common/mod.rs +162 -0
- lecop-0.1.0/tests/common/synth.rs +254 -0
- lecop-0.1.0/tests/config.rs +169 -0
- lecop-0.1.0/tests/decode.rs +135 -0
- lecop-0.1.0/tests/discover.rs +56 -0
- lecop-0.1.0/tests/fixtures/av1_60_frames.mp4 +0 -0
- lecop-0.1.0/tests/goldens/aloha_sim_insertion_human.json +60 -0
- lecop-0.1.0/tests/goldens/aloha_sim_transfer_cube_human.json +60 -0
- lecop-0.1.0/tests/goldens/c_black-stressball-tutorial_20261107_222510.json +119 -0
- lecop-0.1.0/tests/goldens/c_careattrs_mug2v2.json +80 -0
- lecop-0.1.0/tests/goldens/c_d3il_avoiding_vision_224.json +300 -0
- lecop-0.1.0/tests/goldens/c_piperx-two-color-block-sorting.json +35 -0
- lecop-0.1.0/tests/goldens/c_so100_press_red_button.json +290 -0
- lecop-0.1.0/tests/goldens/c_so101_block_box_50episodes_final_20261107_190045.json +134 -0
- lecop-0.1.0/tests/goldens/c_so101_my_task_50ep_20261107_20261107_191948.json +129 -0
- lecop-0.1.0/tests/goldens/c_so101_pill_sorting_medoc.json +29 -0
- lecop-0.1.0/tests/goldens/pusht.json +125 -0
- lecop-0.1.0/tests/goldens/svla_so101_pickplace.json +134 -0
- lecop-0.1.0/tests/goldens/v3_aloha_sim_insertion_human.json +49 -0
- lecop-0.1.0/tests/goldens/v3_aloha_sim_transfer_cube_human.json +49 -0
- lecop-0.1.0/tests/goldens/v3_pusht.json +115 -0
- lecop-0.1.0/tests/goldens/xarm_lift_medium.json +29 -0
- lecop-0.1.0/tests/goldens.rs +176 -0
- lecop-0.1.0/tests/mp4.rs +116 -0
- lecop-0.1.0/tests/real_datasets.rs +64 -0
- lecop-0.1.0/tests/report.rs +235 -0
- lecop-0.1.0/tests/validate.rs +1980 -0
lecop-0.1.0/.gitignore
ADDED
lecop-0.1.0/CHANGELOG.md
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.1.0
|
|
4
|
+
|
|
5
|
+
First release. Health checks for LeRobot v2.x and v3.x datasets: metadata and totals, timestamps, files, video
|
|
6
|
+
container metadata, action and state signals, statistics, and portability. Output as text, full, JSON or GitHub
|
|
7
|
+
annotations; `lecop.toml` to ignore, re-grade or limit findings; `--fix` for the totals in `meta/info.json`;
|
|
8
|
+
opt-in video decoding with `--decode`. See [docs/checks.md](docs/checks.md) for every issue code.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
Thanks for helping. lecop is a fast, single-binary health checker for LeRobot datasets; speed and zero setup
|
|
4
|
+
matter more than the number of checks.
|
|
5
|
+
|
|
6
|
+
## Set up
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
cargo build
|
|
10
|
+
cargo test
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Before opening a PR, all of these must pass (CI runs them too):
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
cargo fmt --check
|
|
17
|
+
cargo clippy --all-targets -- -D warnings
|
|
18
|
+
cargo test
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
If you touch a hot path, run `cargo bench` and put the before and after numbers in the PR description
|
|
22
|
+
(`cargo bench -- --save-baseline before`, change, `cargo bench -- --baseline before`).
|
|
23
|
+
|
|
24
|
+
## Finding work
|
|
25
|
+
|
|
26
|
+
Open issues carry one priority label (`P0` highest to `P3`) and one type label. Pick the highest priority you
|
|
27
|
+
can. If you find a new piece of work, open an issue first with a `Priority: Pn, because ...` line.
|
|
28
|
+
|
|
29
|
+
## Making a change
|
|
30
|
+
|
|
31
|
+
1. Branch from `main`.
|
|
32
|
+
2. For a bug: write a failing test first, confirm it fails for the right reason, then fix it.
|
|
33
|
+
3. Add tests with the change. Synthetic datasets built in a temp dir are preferred over real ones.
|
|
34
|
+
4. Update `README.md` and `docs/` if you add a command, option, check, issue code or supported version.
|
|
35
|
+
5. Open a PR describing what failed or changed and why, with the evidence. Decisions, plans and measurements
|
|
36
|
+
that explain the change go in a comment on the issue, not in a file in the repo.
|
|
37
|
+
|
|
38
|
+
Style is in [STYLE_GUIDE.md](STYLE_GUIDE.md).
|
|
39
|
+
|
|
40
|
+
## Real datasets
|
|
41
|
+
|
|
42
|
+
Real data lives in `datasets/` (git-ignored, never commit it). `scripts/fetch-datasets.sh` lists what is
|
|
43
|
+
missing and `--yes` downloads it; `scripts/datasets.tsv` pins each dataset and the counts lecop should report.
|
|
44
|
+
When a check changes what a dataset reports, update the counts in the same commit. A new check should be
|
|
45
|
+
confirmed on real data and with a mutation of a copy (for example change `fps` in `info.json` and expect
|
|
46
|
+
`timestamp_drift`), not only on synthetic fixtures.
|
|
47
|
+
|
|
48
|
+
## Security
|
|
49
|
+
|
|
50
|
+
Never commit tokens, `.env` files or credentials; CI scans for secrets.
|
|
51
|
+
|
|
52
|
+
## License
|
|
53
|
+
|
|
54
|
+
By contributing you agree your work is licensed under the project's MIT OR Apache-2.0 terms.
|