Skip to content

Commit 84e4634

Browse files
committed
Update SDK to version 0.37.0
1 parent 13bd422 commit 84e4634

23 files changed

Lines changed: 1312 additions & 708 deletions

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
# Changelog
22

3+
# 0.37.0
4+
## Breaking Changes
5+
- `File.get_summary()` and `File.generate_summary()` have been removed. `roboto.ai.Chat` should instead be used for the summarization of 1+ files. It offers a superset of the functionality of the old `File`-level summary API.
6+
7+
## Features Added
8+
- `roboto datasets upload-files` CLI command now accepts an optional `--device-id` flag to associate uploaded files with a specific device.
9+
- Improved MCAP topic data access performance for high-latency connections. Time-range queries now use HTTP Range requests to fetch only the required byte ranges instead of downloading entire files.
10+
11+
## Bugs Fixed
12+
- Removed `typing_extensions` dependency as Python 3.9 is EOL. (`typing` is part of the standard library for Python 3.10+.)
13+
- `UpdateUserRequest` now rejects empty strings for `name` and `picture_url` fields, returning a validation error instead of causing a server error.
14+
- `find_similar_signals` now accepts DataFrames with string-typed numeric columns (e.g. `"1.23"`) for both needle and haystack. Columns are coerced to `float64` before processing; a `ValueError` is raised if any value cannot be converted. DataFrames already containing numeric types are unaffected.
15+
- `find_similar_signals` now correctly handles DataFrames indexed by `pandas.Timestamp` values.
16+
317
# 0.36.0
418
## Breaking Changes
519
- `MessagePath.parents()` now requires a `list[str]` (`path_in_schema`) instead of a dot-delimited `str`. This reflects the shift from ambiguous dot-separated paths to explicit schema path components for correct handling of nested and dot-containing field names. If you were calling `MessagePath.parents("pose.position.x")`, update to `MessagePath.parents(["pose", "position", "x"])`. Passing a string now raises a `TypeError` with guidance on how to migrate.

README.md

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,53 @@ To use the Roboto SDK and CLI:
4141

4242
### Python
4343

44-
If you want to interact with Roboto in a Python environment, such as a Jupyter notebook, we recommend installing the Python SDK released via [PyPI](https://pypi.org/project/roboto/):
44+
The Roboto Python SDK is available on [PyPI](https://pypi.org/project/roboto/).
4545

46-
```bash
46+
**Requirements:** Python 3.10+
47+
48+
**Installation:**
49+
50+
```shell
4751
pip install roboto
4852
```
4953

50-
This will also install the CLI mentioned below. See the complete [SDK](https://docs.roboto.ai/reference/python-sdk.html) and [CLI](https://docs.roboto.ai/reference/cli.html) documentation.
54+
> [!TIP]
55+
>
56+
> If `pip install roboto` fails or behaves unexpectedly, the two most common causes are:
57+
>
58+
> * Python version below 3.10
59+
> * Dependency conflicts from installing into your system Python or an existing environment
60+
61+
Verify your Python version and set up a virtual environment
62+
Confirm your Python version meets the requirement:
63+
64+
```shell
65+
python3 -c "import sys; assert sys.version_info >= (3, 10), f'Python 3.10+ required, found {sys.version}'"
66+
```
67+
68+
Then create and activate a virtual environment:
69+
70+
```shell
71+
# macOS/Linux
72+
python3 -m venv .venv && source .venv/bin/activate
73+
74+
# Windows
75+
python3 -m venv .venv && .venv\Scripts\activate
76+
```
77+
78+
Then re-run `pip install roboto`.
79+
80+
**Authentication (required):**
81+
82+
Roboto requires credentials to communicate with the platform. If you haven't authenticated yet, see [Setting up programmatic access](https://docs.roboto.ai/getting-started/programmatic-access.html).
83+
84+
Verify your credentials are configured correctly:
85+
86+
```shell
87+
roboto users whoami
88+
```
89+
90+
See the complete [SDK documentation](https://docs.roboto.ai/reference/python-sdk.html).
5191

5292
### CLI
5393

RELEASE_NOTES.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
# 0.36.0
1+
# 0.37.0
22
## Breaking Changes
3-
- `MessagePath.parents()` now requires a `list[str]` (`path_in_schema`) instead of a dot-delimited `str`. This reflects the shift from ambiguous dot-separated paths to explicit schema path components for correct handling of nested and dot-containing field names. If you were calling `MessagePath.parents("pose.position.x")`, update to `MessagePath.parents(["pose", "position", "x"])`. Passing a string now raises a `TypeError` with guidance on how to migrate.
4-
- `MessagePath.parts()` has been removed. Use `MessagePathRecord.path_in_schema` directly to obtain path components.
3+
- `File.get_summary()` and `File.generate_summary()` have been removed. `roboto.ai.Chat` should instead be used for the summarization of 1+ files. It offers a superset of the functionality of the old `File`-level summary API.
54

65
## Features Added
7-
- Introduced `QueryContentMode`, allowing search endpoints to return Roboto entities with or without custom metadata. Initial support is for dataset queries in particular, since datasets can store large amounts of `metadata`, which is known to affect search latency and response size. More entity types will be supported in the future.
8-
- Improved `Topic.get_data` and `Topic.get_data_as_df` performance for Parquet-backed data.
9-
- `Topic.create_from_df()` and `File.add_topic()` now support DataFrames containing nested column types (structs, lists, list<struct>). Previously, only top-level primitive columns were fully supported.
10-
- `AddMessagePathRequest` now accepts a `path_in_schema` field to explicitly specify the field's location in the source data schema as an ordered list of path components. Relatedly, `Topic.add_message_path()` and `Topic.update_message_path()` now accept an optional `path_in_schema` parameter.
6+
- `roboto datasets upload-files` CLI command now accepts an optional `--device-id` flag to associate uploaded files with a specific device.
7+
- Improved MCAP topic data access performance for high-latency connections. Time-range queries now use HTTP Range requests to fetch only the required byte ranges instead of downloading entire files.
118

129
## Bugs Fixed
13-
- Updated behavior to not retry requests when server response exceeds the maximum safe payload size.
10+
- Removed `typing_extensions` dependency as Python 3.9 is EOL. (`typing` is part of the standard library for Python 3.10+.)
11+
- `UpdateUserRequest` now rejects empty strings for `name` and `picture_url` fields, returning a validation error instead of causing a server error.
12+
- `find_similar_signals` now accepts DataFrames with string-typed numeric columns (e.g. `"1.23"`) for both needle and haystack. Columns are coerced to `float64` before processing; a `ValueError` is raised if any value cannot be converted. DataFrames already containing numeric types are unaffected.
13+
- `find_similar_signals` now correctly handles DataFrames indexed by `pandas.Timestamp` values.
1414

0 commit comments

Comments
 (0)