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.
Files changed (36) hide show
  1. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/CHANGELOG.md +15 -0
  2. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/PKG-INFO +8 -8
  3. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/README.md +7 -7
  4. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/pyproject.toml +5 -1
  5. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/_version.py +1 -1
  6. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/.gitignore +0 -0
  7. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/LICENSE +0 -0
  8. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/__init__.py +0 -0
  9. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/_credentials.py +0 -0
  10. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/_deprecation.py +0 -0
  11. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/_http.py +0 -0
  12. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/_otel.py +0 -0
  13. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/__init__.py +0 -0
  14. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/gymnasium/__init__.py +0 -0
  15. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/gymnasium/_encode.py +0 -0
  16. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/gymnasium/_flatten.py +0 -0
  17. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/gymnasium/_scan.py +0 -0
  18. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/gymnasium/_upload.py +0 -0
  19. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/lerobot/__init__.py +0 -0
  20. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/lerobot/_classify.py +0 -0
  21. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/lerobot/_encode.py +0 -0
  22. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/lerobot/_meta.py +0 -0
  23. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/lerobot/_upload.py +0 -0
  24. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/ros2/__init__.py +0 -0
  25. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/ros2/_classify.py +0 -0
  26. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/ros2/_encode.py +0 -0
  27. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/ros2/_record.py +0 -0
  28. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/ros2/_scan.py +0 -0
  29. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/adapters/ros2/_upload.py +0 -0
  30. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/cli.py +0 -0
  31. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/client.py +0 -0
  32. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/episode.py +0 -0
  33. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/errors.py +0 -0
  34. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/evals.py +0 -0
  35. {robotrace_dev-0.2.0 → robotrace_dev-0.2.1}/src/robotrace/types.py +0 -0
  36. {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.0
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
  [![httpx](https://img.shields.io/badge/httpx-HTTP%20client-000000)](https://www.python-httpx.org/)
77
77
  [![Cloudflare R2](https://img.shields.io/badge/Cloudflare-R2%20uploads-f6821f?logo=cloudflare&logoColor=white)](https://developers.cloudflare.com/r2/)
78
78
  [![MIT License](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)
79
- [![Alpha](https://img.shields.io/badge/Status-alpha-7c3aed)](#status)
79
+ [![Stable](https://img.shields.io/badge/Status-stable-059669)](#status)
80
80
  [![ROS 2](https://img.shields.io/badge/ROS%202-optional%20extra-22314e?logo=ros)](https://robotrace.dev/docs/sdk/ros2)
81
81
  [![LeRobot](https://img.shields.io/badge/LeRobot-optional%20extra-ff6f00)](https://robotrace.dev/docs/sdk/lerobot)
82
82
  [![Gymnasium](https://img.shields.io/badge/Gymnasium-optional%20extra-008170)](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.0` pulls this README.
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.0`).** The public API in this README is now semver-locked
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.0'
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.0'
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.0'
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.0'
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
  [![httpx](https://img.shields.io/badge/httpx-HTTP%20client-000000)](https://www.python-httpx.org/)
30
30
  [![Cloudflare R2](https://img.shields.io/badge/Cloudflare-R2%20uploads-f6821f?logo=cloudflare&logoColor=white)](https://developers.cloudflare.com/r2/)
31
31
  [![MIT License](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)
32
- [![Alpha](https://img.shields.io/badge/Status-alpha-7c3aed)](#status)
32
+ [![Stable](https://img.shields.io/badge/Status-stable-059669)](#status)
33
33
  [![ROS 2](https://img.shields.io/badge/ROS%202-optional%20extra-22314e?logo=ros)](https://robotrace.dev/docs/sdk/ros2)
34
34
  [![LeRobot](https://img.shields.io/badge/LeRobot-optional%20extra-ff6f00)](https://robotrace.dev/docs/sdk/lerobot)
35
35
  [![Gymnasium](https://img.shields.io/badge/Gymnasium-optional%20extra-008170)](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.0` pulls this README.
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.0`).** The public API in this README is now semver-locked
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.0'
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.0'
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.0'
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.0'
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.0"
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"
@@ -6,7 +6,7 @@ hit 1.0 the contract is locked per AGENTS.md and breakages require
6
6
  a major bump.
7
7
  """
8
8
 
9
- __version__ = "0.2.0"
9
+ __version__ = "0.2.1"
10
10
 
11
11
 
12
12
  def install_command(*extras: str, pin: bool = True) -> str:
File without changes
File without changes