robotrace-dev 0.2.0__tar.gz → 0.2.1__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.
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/CHANGELOG.md +15 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/PKG-INFO +8 -8
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/README.md +7 -7
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/pyproject.toml +5 -1
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/_version.py +1 -1
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/.gitignore +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/LICENSE +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/__init__.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/_credentials.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/_deprecation.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/_http.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/_otel.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/__init__.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/gymnasium/__init__.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/gymnasium/_encode.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/gymnasium/_flatten.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/gymnasium/_scan.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/gymnasium/_upload.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/lerobot/__init__.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/lerobot/_classify.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/lerobot/_encode.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/lerobot/_meta.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/lerobot/_upload.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/ros2/__init__.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/ros2/_classify.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/ros2/_encode.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/ros2/_record.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/ros2/_scan.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/ros2/_upload.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/cli.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/client.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/episode.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/errors.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/evals.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/types.py +0 -0
- {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/verify.py +0 -0
|
@@ -11,6 +11,21 @@ bump and at least one minor of `DeprecationWarning` first.
|
|
|
11
11
|
|
|
12
12
|
## [Unreleased]
|
|
13
13
|
|
|
14
|
+
## [0.2.1] - 2026-06-11
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- **README demo SVG** (`assets/robotrace-demo.svg`) now shows
|
|
19
|
+
`Successfully installed robotrace-dev-0.2.1` instead of the stale
|
|
20
|
+
`0.1.0a13` line. The PyPI/GitHub hero animation matches the stable
|
|
21
|
+
release.
|
|
22
|
+
- **README status badge** flips from alpha to stable.
|
|
23
|
+
|
|
24
|
+
### Compatibility
|
|
25
|
+
|
|
26
|
+
- **No API or behaviour changes.** Surface is identical to `0.2.0`.
|
|
27
|
+
Safe to upgrade from any `0.2.0` pin with no code changes.
|
|
28
|
+
|
|
14
29
|
## [0.2.0] - 2026-06-09
|
|
15
30
|
|
|
16
31
|
### Public commitment
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: robotrace-dev
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.1
|
|
4
4
|
Summary: Official RoboTrace Python SDK and CLI - observability and evals for AI-powered robots (pip install robotrace-dev, import robotrace).
|
|
5
5
|
Project-URL: Homepage, https://robotrace.dev
|
|
6
6
|
Project-URL: Documentation, https://robotrace.dev/docs
|
|
@@ -76,7 +76,7 @@ to measure regressions - without rolling another in-house dashboard.
|
|
|
76
76
|
[](https://www.python-httpx.org/)
|
|
77
77
|
[](https://developers.cloudflare.com/r2/)
|
|
78
78
|
[](./LICENSE)
|
|
79
|
-
[](#status)
|
|
80
80
|
[](https://robotrace.dev/docs/sdk/ros2)
|
|
81
81
|
[](https://robotrace.dev/docs/sdk/lerobot)
|
|
82
82
|
[](https://robotrace.dev/docs/sdk/gymnasium)
|
|
@@ -125,13 +125,13 @@ pip install robotrace-dev
|
|
|
125
125
|
> `pip install python-dateutil` → `import dateutil`.
|
|
126
126
|
>
|
|
127
127
|
> Pinning for reproducibility (CI, `requirements.txt`) still works
|
|
128
|
-
> as usual - `pip install robotrace-dev==0.2.
|
|
128
|
+
> as usual - `pip install robotrace-dev==0.2.1` pulls this README.
|
|
129
129
|
> Older pins (`0.1.0a15`, `0.1.0a13`, `0.1.0a12`, …) are prior alphas on
|
|
130
130
|
> the same API surface and keep working on PyPI.
|
|
131
131
|
|
|
132
132
|
## Status
|
|
133
133
|
|
|
134
|
-
**Stable (`0.2.
|
|
134
|
+
**Stable (`0.2.1`).** The public API in this README is now semver-locked
|
|
135
135
|
under `0.x`; breakages require a major bump and a full minor of
|
|
136
136
|
`DeprecationWarning` first (see [Stability](#stability)). Once we cut
|
|
137
137
|
`1.0.0`, the [`log_episode`](#log_episode---the-sacred-call) signature
|
|
@@ -411,16 +411,16 @@ base install stays slim:
|
|
|
411
411
|
|
|
412
412
|
```bash
|
|
413
413
|
# rosbag2 → episode (sqlite3 + mcap; no rclpy required)
|
|
414
|
-
pip install 'robotrace-dev[ros2]==0.2.
|
|
414
|
+
pip install 'robotrace-dev[ros2]==0.2.1'
|
|
415
415
|
|
|
416
416
|
# Hugging Face LeRobot v2.1 datasets → episode-per-trajectory
|
|
417
|
-
pip install 'robotrace-dev[lerobot]==0.2.
|
|
417
|
+
pip install 'robotrace-dev[lerobot]==0.2.1'
|
|
418
418
|
|
|
419
419
|
# Gymnasium env rollout → episode
|
|
420
|
-
pip install 'robotrace-dev[gymnasium]==0.2.
|
|
420
|
+
pip install 'robotrace-dev[gymnasium]==0.2.1'
|
|
421
421
|
|
|
422
422
|
# Multi-camera mp4 encoding (opencv) - combine with any adapter that writes video
|
|
423
|
-
pip install 'robotrace-dev[ros2,video]==0.2.
|
|
423
|
+
pip install 'robotrace-dev[ros2,video]==0.2.1'
|
|
424
424
|
```
|
|
425
425
|
|
|
426
426
|
```python
|
|
@@ -29,7 +29,7 @@ to measure regressions - without rolling another in-house dashboard.
|
|
|
29
29
|
[](https://www.python-httpx.org/)
|
|
30
30
|
[](https://developers.cloudflare.com/r2/)
|
|
31
31
|
[](./LICENSE)
|
|
32
|
-
[](#status)
|
|
33
33
|
[](https://robotrace.dev/docs/sdk/ros2)
|
|
34
34
|
[](https://robotrace.dev/docs/sdk/lerobot)
|
|
35
35
|
[](https://robotrace.dev/docs/sdk/gymnasium)
|
|
@@ -78,13 +78,13 @@ pip install robotrace-dev
|
|
|
78
78
|
> `pip install python-dateutil` → `import dateutil`.
|
|
79
79
|
>
|
|
80
80
|
> Pinning for reproducibility (CI, `requirements.txt`) still works
|
|
81
|
-
> as usual - `pip install robotrace-dev==0.2.
|
|
81
|
+
> as usual - `pip install robotrace-dev==0.2.1` pulls this README.
|
|
82
82
|
> Older pins (`0.1.0a15`, `0.1.0a13`, `0.1.0a12`, …) are prior alphas on
|
|
83
83
|
> the same API surface and keep working on PyPI.
|
|
84
84
|
|
|
85
85
|
## Status
|
|
86
86
|
|
|
87
|
-
**Stable (`0.2.
|
|
87
|
+
**Stable (`0.2.1`).** The public API in this README is now semver-locked
|
|
88
88
|
under `0.x`; breakages require a major bump and a full minor of
|
|
89
89
|
`DeprecationWarning` first (see [Stability](#stability)). Once we cut
|
|
90
90
|
`1.0.0`, the [`log_episode`](#log_episode---the-sacred-call) signature
|
|
@@ -364,16 +364,16 @@ base install stays slim:
|
|
|
364
364
|
|
|
365
365
|
```bash
|
|
366
366
|
# rosbag2 → episode (sqlite3 + mcap; no rclpy required)
|
|
367
|
-
pip install 'robotrace-dev[ros2]==0.2.
|
|
367
|
+
pip install 'robotrace-dev[ros2]==0.2.1'
|
|
368
368
|
|
|
369
369
|
# Hugging Face LeRobot v2.1 datasets → episode-per-trajectory
|
|
370
|
-
pip install 'robotrace-dev[lerobot]==0.2.
|
|
370
|
+
pip install 'robotrace-dev[lerobot]==0.2.1'
|
|
371
371
|
|
|
372
372
|
# Gymnasium env rollout → episode
|
|
373
|
-
pip install 'robotrace-dev[gymnasium]==0.2.
|
|
373
|
+
pip install 'robotrace-dev[gymnasium]==0.2.1'
|
|
374
374
|
|
|
375
375
|
# Multi-camera mp4 encoding (opencv) - combine with any adapter that writes video
|
|
376
|
-
pip install 'robotrace-dev[ros2,video]==0.2.
|
|
376
|
+
pip install 'robotrace-dev[ros2,video]==0.2.1'
|
|
377
377
|
```
|
|
378
378
|
|
|
379
379
|
```python
|
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
# `pip install python-dateutil` → `import dateutil`
|
|
14
14
|
# `pip install scikit-learn` → `import sklearn`
|
|
15
15
|
name = "robotrace-dev"
|
|
16
|
+
# 0.2.1 - doc release: README demo SVG now shows the stable install line
|
|
17
|
+
# (`robotrace-dev-0.2.1`); Status badge flips from alpha to stable. No API
|
|
18
|
+
# or behaviour changes; surface identical to 0.2.0.
|
|
19
|
+
#
|
|
16
20
|
# 0.2.0 - first stable contract. Alpha line closed; public surface
|
|
17
21
|
# semver-locked via tests/test_api_surface_freeze.py. Bit-for-bit
|
|
18
22
|
# compatible with 0.1.0a13+ at wire and import level.
|
|
@@ -161,7 +165,7 @@ name = "robotrace-dev"
|
|
|
161
165
|
# traceparent to the create-episode payload, server stores it on
|
|
162
166
|
# episodes.metadata.otel for portal APM deep-links. The "sacred"
|
|
163
167
|
# log_episode signature stays unchanged across both bumps.
|
|
164
|
-
version = "0.2.
|
|
168
|
+
version = "0.2.1"
|
|
165
169
|
description = "Official RoboTrace Python SDK and CLI - observability and evals for AI-powered robots (pip install robotrace-dev, import robotrace)."
|
|
166
170
|
readme = "README.md"
|
|
167
171
|
requires-python = ">=3.10"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|