current-data-py 0.1.12__tar.gz → 0.1.13__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.
- {current_data_py-0.1.12 → current_data_py-0.1.13}/MANIFEST.in +0 -0
- current_data_py-0.1.13/PKG-INFO +161 -0
- current_data_py-0.1.13/README.md +147 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/__init__.py +0 -0
- current_data_py-0.1.13/current_data_py.egg-info/PKG-INFO +161 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/current_data_py.egg-info/SOURCES.txt +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/current_data_py.egg-info/dependency_links.txt +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/current_data_py.egg-info/requires.txt +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/current_data_py.egg-info/top_level.txt +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/decoding.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/examples/__init__.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/examples/list_schemas.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/examples/read_remote_td.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/examples/read_td.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/examples/write_td.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/labeling.py +7 -7
- {current_data_py-0.1.12 → current_data_py-0.1.13}/management.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/oss.py +0 -0
- current_data_py-0.1.13/proto_gen/python/labeling/service/service_pb2.py +79 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/labeling/service/service_pb2_grpc.py +16 -14
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/labeling/task/task_pb2.py +12 -10
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/labeling/template/template_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/management/metadata/metadata_pb2.py +16 -16
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/management/selection/selection_pb2.py +0 -0
- current_data_py-0.1.13/proto_gen/python/management/service/service_pb2.py +84 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/management/service/service_pb2_grpc.py +33 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/builtin_interfaces/duration_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/builtin_interfaces/time_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/custom_msgs/joint_current_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/custom_msgs/pose_rpy_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/custom_msgs/slam_quality_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/custom_msgs/sonic_frame_pb2.py +0 -0
- current_data_py-0.1.13/proto_gen/python/msg/custom_msgs/subtask_description_pb2.py +25 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/custom_msgs/target_quality_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/foxglove/compressed_audio_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/foxglove/compressed_video_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/geometry_msgs/point32_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/geometry_msgs/point_pb2.py +0 -0
- current_data_py-0.1.13/proto_gen/python/msg/geometry_msgs/pose_array_pb2.py +27 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/geometry_msgs/pose_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/geometry_msgs/pose_stamped_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/geometry_msgs/pose_with_covariance_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/geometry_msgs/pose_with_covariance_stamped_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/geometry_msgs/quaternion_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/geometry_msgs/transform_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/geometry_msgs/transform_stamped_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/geometry_msgs/twist_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/geometry_msgs/twist_stamped_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/geometry_msgs/twist_with_covariance_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/geometry_msgs/twist_with_covariance_stamped_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/geometry_msgs/vector3_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/geometry_msgs/wrench_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/geometry_msgs/wrench_stamped_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/nav_msgs/map_meta_data_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/nav_msgs/occupancy_grid_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/nav_msgs/odometry_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/nav_msgs/path_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/sensor_msgs/battery_state_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/sensor_msgs/camera_info_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/sensor_msgs/compressed_image_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/sensor_msgs/image_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/sensor_msgs/imu_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/sensor_msgs/joint_state_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/sensor_msgs/laser_scan_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/sensor_msgs/nav_sat_fix_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/sensor_msgs/nav_sat_status_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/sensor_msgs/point_cloud2_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/sensor_msgs/point_field_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/sensor_msgs/range_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/sensor_msgs/region_of_interest_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/std_msgs/bool_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/std_msgs/color_rgba_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/std_msgs/float32_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/std_msgs/float64_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/std_msgs/header_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/std_msgs/int32_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/std_msgs/string_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/std_msgs/uint32_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/proto_gen/python/msg/tf2_msgs/tf_message_pb2.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/pyproject.toml +1 -1
- {current_data_py-0.1.12 → current_data_py-0.1.13}/remote/__init__.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/remote/client.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/remote/source.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/remote/tos_source.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/schema/__init__.py +2 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/schema/message_metadata.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/setup.cfg +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/setup.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/tests/check_environment.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/tests/check_labeling.py +9 -9
- {current_data_py-0.1.12 → current_data_py-0.1.13}/tests/check_management.py +1 -1
- {current_data_py-0.1.12 → current_data_py-0.1.13}/tests/check_oss.py +0 -0
- {current_data_py-0.1.12 → current_data_py-0.1.13}/tests/check_package.py +4 -3
- {current_data_py-0.1.12 → current_data_py-0.1.13}/tests/check_remote.py +1 -1
- {current_data_py-0.1.12 → current_data_py-0.1.13}/tos.py +0 -0
- current_data_py-0.1.12/PKG-INFO +0 -435
- current_data_py-0.1.12/README.md +0 -421
- current_data_py-0.1.12/current_data_py.egg-info/PKG-INFO +0 -435
- current_data_py-0.1.12/proto_gen/python/labeling/service/service_pb2.py +0 -82
- current_data_py-0.1.12/proto_gen/python/management/service/service_pb2.py +0 -80
|
File without changes
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: current-data-py
|
|
3
|
+
Version: 0.1.13
|
|
4
|
+
Summary: Current Data protobuf messages and schema metadata
|
|
5
|
+
Requires-Python: >=3.9
|
|
6
|
+
Description-Content-Type: text/markdown
|
|
7
|
+
Requires-Dist: protobuf>=3.20
|
|
8
|
+
Requires-Dist: turbodata==0.1.0
|
|
9
|
+
Requires-Dist: grpcio>=1.51.1
|
|
10
|
+
Requires-Dist: alibabacloud-oss-v2<2,>=1.4.0
|
|
11
|
+
Requires-Dist: tos<3,>=2.9
|
|
12
|
+
Requires-Dist: av>=12
|
|
13
|
+
Requires-Dist: pillow>=9
|
|
14
|
+
|
|
15
|
+
# current-data-py
|
|
16
|
+
|
|
17
|
+
Python SDK for robotics Protobuf messages, TD files, and platform service clients.
|
|
18
|
+
Run shell commands from the repository root in the shared development environment.
|
|
19
|
+
|
|
20
|
+
## Use locally
|
|
21
|
+
|
|
22
|
+
Run the bundled examples to write and read a local TD file using the installed SDK:
|
|
23
|
+
|
|
24
|
+
```sh
|
|
25
|
+
python -I -m current_data_py.examples.write_td /tmp/current-data-example.td
|
|
26
|
+
python -I -m current_data_py.examples.read_td /tmp/current-data-example.td
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
`-I` avoids importing the unbuilt source directory in place of the installed package.
|
|
30
|
+
See [examples](examples) for other entry points.
|
|
31
|
+
|
|
32
|
+
For a minimal read-only service call, run this snippet with `python -I` so it uses
|
|
33
|
+
the installed SDK:
|
|
34
|
+
|
|
35
|
+
```python
|
|
36
|
+
from contextlib import closing
|
|
37
|
+
import os
|
|
38
|
+
os.environ["ENV"] = "test"
|
|
39
|
+
|
|
40
|
+
from current_data_py.management import ManagementClient, MetadataFilter
|
|
41
|
+
|
|
42
|
+
with ManagementClient() as client:
|
|
43
|
+
with closing(client.stream_data_references(MetadataFilter(), timeout=30)) as records:
|
|
44
|
+
record = next(records, None)
|
|
45
|
+
print(record.id if record is not None else "No matching data")
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Set `ENV=test` before the first SDK import to select the test service; an unset or
|
|
49
|
+
empty value defaults to production. An explicit client `address=` overrides the
|
|
50
|
+
default. Remote examples require service connectivity and accessible data.
|
|
51
|
+
|
|
52
|
+
## Test changes
|
|
53
|
+
|
|
54
|
+
The package bundles generated Protobuf modules during its build. After protocol
|
|
55
|
+
changes, [regenerate the bindings](../README.md#protobuf) first.
|
|
56
|
+
Build into a fresh temporary directory, validate the artifacts, and install this
|
|
57
|
+
checkout's wheel before running its checks. Only the local package is installed;
|
|
58
|
+
shared dependencies are left unchanged:
|
|
59
|
+
|
|
60
|
+
```sh
|
|
61
|
+
(
|
|
62
|
+
set -e
|
|
63
|
+
sdk_dist=$(mktemp -d)
|
|
64
|
+
trap 'rm -rf "$sdk_dist"' EXIT
|
|
65
|
+
(cd current_data_py && python -m build --no-isolation --outdir "$sdk_dist")
|
|
66
|
+
python current_data_py/tests/check_distribution.py --dist-dir "$sdk_dist"
|
|
67
|
+
python -m pip install --no-deps --force-reinstall "$sdk_dist"/*.whl
|
|
68
|
+
for check in package environment management labeling remote oss tos decoding; do
|
|
69
|
+
python -I "current_data_py/tests/check_${check}.py"
|
|
70
|
+
done
|
|
71
|
+
)
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
These checks cover packaging, environment selection, clients, and media decoding
|
|
75
|
+
using local fixtures and mocked services. They do not require production credentials
|
|
76
|
+
or prove connectivity to a deployed service.
|
|
77
|
+
|
|
78
|
+
## Publish to PyPI
|
|
79
|
+
|
|
80
|
+
CI checks this SDK but does not publish it. Releases are manual and must use the
|
|
81
|
+
latest successfully fetched `origin/main`, including the version bump. Development
|
|
82
|
+
branches, uncommitted changes, and older main commits are not release sources. Follow the
|
|
83
|
+
[repository Git workflow](../.agents/rules/git-workflow.md).
|
|
84
|
+
Prepare the version update in `pyproject.toml` on a development branch and merge it
|
|
85
|
+
through review together with the intended SDK changes before building a release.
|
|
86
|
+
Use a version that has not already been published.
|
|
87
|
+
|
|
88
|
+
### Build and validate
|
|
89
|
+
|
|
90
|
+
Run from the repository root. Fetch the latest `origin/main`, record its commit,
|
|
91
|
+
and build from a clean exported copy so local edits and old artifacts cannot enter
|
|
92
|
+
the release:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
sdk_release_dir=$(mktemp -d /tmp/current-data-release.XXXXXX)
|
|
96
|
+
(
|
|
97
|
+
set -euo pipefail
|
|
98
|
+
git fetch origin
|
|
99
|
+
sdk_release_sha=$(git rev-parse origin/main)
|
|
100
|
+
printf '%s\n' "$sdk_release_sha" > "$sdk_release_dir/source-commit.txt"
|
|
101
|
+
mkdir "$sdk_release_dir/source"
|
|
102
|
+
git archive "$sdk_release_sha" | tar -x -C "$sdk_release_dir/source"
|
|
103
|
+
(cd "$sdk_release_dir/source/current_data_py" && python -m build --no-isolation --outdir "$sdk_release_dir/dist")
|
|
104
|
+
python "$sdk_release_dir/source/current_data_py/tests/check_distribution.py" --dist-dir "$sdk_release_dir/dist"
|
|
105
|
+
python -m twine check "$sdk_release_dir/dist/"*
|
|
106
|
+
python -m pip install --no-deps --force-reinstall "$sdk_release_dir/dist/"*.whl
|
|
107
|
+
(
|
|
108
|
+
cd "$sdk_release_dir"
|
|
109
|
+
unset PYTHONPATH PYTHONHOME
|
|
110
|
+
for check in package environment management labeling remote oss tos decoding; do
|
|
111
|
+
python -I "$sdk_release_dir/source/current_data_py/tests/check_${check}.py"
|
|
112
|
+
done
|
|
113
|
+
)
|
|
114
|
+
(cd "$sdk_release_dir/dist" && sha256sum *) > "$sdk_release_dir/SHA256SUMS"
|
|
115
|
+
)
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Release checks run outside both source trees so child Python processes also use
|
|
119
|
+
the installed wheel. They come from the recorded `origin/main` commit; unmerged
|
|
120
|
+
local test fixes are not included in the export.
|
|
121
|
+
|
|
122
|
+
Continue only after every check succeeds. Confirm `source-commit.txt` contains the
|
|
123
|
+
intended main commit and inspect the wheel for the intended release features.
|
|
124
|
+
Review the built package's README metadata for public display; exclude private
|
|
125
|
+
deployment addresses, bucket names, and credentials. Keep the release directory
|
|
126
|
+
and use these exact validated artifacts for uploading.
|
|
127
|
+
|
|
128
|
+
### Upload
|
|
129
|
+
|
|
130
|
+
Use your configured PyPI credentials or Twine's interactive token prompt; do not
|
|
131
|
+
put tokens in the README or shell commands. Run from the repository root in the
|
|
132
|
+
same shell that defines `sdk_release_dir`.
|
|
133
|
+
|
|
134
|
+
Fetch main again immediately before uploading. If its commit has changed, rebuild
|
|
135
|
+
and rerun all checks from the new latest main. The command also checks that the
|
|
136
|
+
artifacts still match the hashes recorded after validation:
|
|
137
|
+
|
|
138
|
+
```sh
|
|
139
|
+
(
|
|
140
|
+
set -e
|
|
141
|
+
sdk_repository=pypi
|
|
142
|
+
git fetch origin
|
|
143
|
+
if [ "$(git rev-parse origin/main)" != "$(cat "$sdk_release_dir/source-commit.txt")" ]; then
|
|
144
|
+
echo "origin/main changed; rebuild and validate the latest main before uploading." >&2
|
|
145
|
+
exit 1
|
|
146
|
+
fi
|
|
147
|
+
(cd "$sdk_release_dir/dist" && sha256sum -c ../SHA256SUMS)
|
|
148
|
+
python -m twine upload --repository "$sdk_repository" "$sdk_release_dir/dist/"*
|
|
149
|
+
)
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
For an optional TestPyPI trial, change `sdk_repository=pypi` to
|
|
153
|
+
`sdk_repository=testpypi` in the same block and use TestPyPI credentials. Both
|
|
154
|
+
registries require the latest-main and artifact checks.
|
|
155
|
+
|
|
156
|
+
### Verify the release
|
|
157
|
+
|
|
158
|
+
After upload, verify that PyPI shows the expected version and rendered description.
|
|
159
|
+
Compare the SHA-256 digests of both published files with `SHA256SUMS`, and retain
|
|
160
|
+
that file with `source-commit.txt` as the release record. An optional TestPyPI trial
|
|
161
|
+
does not replace verification of the production PyPI release.
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# current-data-py
|
|
2
|
+
|
|
3
|
+
Python SDK for robotics Protobuf messages, TD files, and platform service clients.
|
|
4
|
+
Run shell commands from the repository root in the shared development environment.
|
|
5
|
+
|
|
6
|
+
## Use locally
|
|
7
|
+
|
|
8
|
+
Run the bundled examples to write and read a local TD file using the installed SDK:
|
|
9
|
+
|
|
10
|
+
```sh
|
|
11
|
+
python -I -m current_data_py.examples.write_td /tmp/current-data-example.td
|
|
12
|
+
python -I -m current_data_py.examples.read_td /tmp/current-data-example.td
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
`-I` avoids importing the unbuilt source directory in place of the installed package.
|
|
16
|
+
See [examples](examples) for other entry points.
|
|
17
|
+
|
|
18
|
+
For a minimal read-only service call, run this snippet with `python -I` so it uses
|
|
19
|
+
the installed SDK:
|
|
20
|
+
|
|
21
|
+
```python
|
|
22
|
+
from contextlib import closing
|
|
23
|
+
import os
|
|
24
|
+
os.environ["ENV"] = "test"
|
|
25
|
+
|
|
26
|
+
from current_data_py.management import ManagementClient, MetadataFilter
|
|
27
|
+
|
|
28
|
+
with ManagementClient() as client:
|
|
29
|
+
with closing(client.stream_data_references(MetadataFilter(), timeout=30)) as records:
|
|
30
|
+
record = next(records, None)
|
|
31
|
+
print(record.id if record is not None else "No matching data")
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Set `ENV=test` before the first SDK import to select the test service; an unset or
|
|
35
|
+
empty value defaults to production. An explicit client `address=` overrides the
|
|
36
|
+
default. Remote examples require service connectivity and accessible data.
|
|
37
|
+
|
|
38
|
+
## Test changes
|
|
39
|
+
|
|
40
|
+
The package bundles generated Protobuf modules during its build. After protocol
|
|
41
|
+
changes, [regenerate the bindings](../README.md#protobuf) first.
|
|
42
|
+
Build into a fresh temporary directory, validate the artifacts, and install this
|
|
43
|
+
checkout's wheel before running its checks. Only the local package is installed;
|
|
44
|
+
shared dependencies are left unchanged:
|
|
45
|
+
|
|
46
|
+
```sh
|
|
47
|
+
(
|
|
48
|
+
set -e
|
|
49
|
+
sdk_dist=$(mktemp -d)
|
|
50
|
+
trap 'rm -rf "$sdk_dist"' EXIT
|
|
51
|
+
(cd current_data_py && python -m build --no-isolation --outdir "$sdk_dist")
|
|
52
|
+
python current_data_py/tests/check_distribution.py --dist-dir "$sdk_dist"
|
|
53
|
+
python -m pip install --no-deps --force-reinstall "$sdk_dist"/*.whl
|
|
54
|
+
for check in package environment management labeling remote oss tos decoding; do
|
|
55
|
+
python -I "current_data_py/tests/check_${check}.py"
|
|
56
|
+
done
|
|
57
|
+
)
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
These checks cover packaging, environment selection, clients, and media decoding
|
|
61
|
+
using local fixtures and mocked services. They do not require production credentials
|
|
62
|
+
or prove connectivity to a deployed service.
|
|
63
|
+
|
|
64
|
+
## Publish to PyPI
|
|
65
|
+
|
|
66
|
+
CI checks this SDK but does not publish it. Releases are manual and must use the
|
|
67
|
+
latest successfully fetched `origin/main`, including the version bump. Development
|
|
68
|
+
branches, uncommitted changes, and older main commits are not release sources. Follow the
|
|
69
|
+
[repository Git workflow](../.agents/rules/git-workflow.md).
|
|
70
|
+
Prepare the version update in `pyproject.toml` on a development branch and merge it
|
|
71
|
+
through review together with the intended SDK changes before building a release.
|
|
72
|
+
Use a version that has not already been published.
|
|
73
|
+
|
|
74
|
+
### Build and validate
|
|
75
|
+
|
|
76
|
+
Run from the repository root. Fetch the latest `origin/main`, record its commit,
|
|
77
|
+
and build from a clean exported copy so local edits and old artifacts cannot enter
|
|
78
|
+
the release:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
sdk_release_dir=$(mktemp -d /tmp/current-data-release.XXXXXX)
|
|
82
|
+
(
|
|
83
|
+
set -euo pipefail
|
|
84
|
+
git fetch origin
|
|
85
|
+
sdk_release_sha=$(git rev-parse origin/main)
|
|
86
|
+
printf '%s\n' "$sdk_release_sha" > "$sdk_release_dir/source-commit.txt"
|
|
87
|
+
mkdir "$sdk_release_dir/source"
|
|
88
|
+
git archive "$sdk_release_sha" | tar -x -C "$sdk_release_dir/source"
|
|
89
|
+
(cd "$sdk_release_dir/source/current_data_py" && python -m build --no-isolation --outdir "$sdk_release_dir/dist")
|
|
90
|
+
python "$sdk_release_dir/source/current_data_py/tests/check_distribution.py" --dist-dir "$sdk_release_dir/dist"
|
|
91
|
+
python -m twine check "$sdk_release_dir/dist/"*
|
|
92
|
+
python -m pip install --no-deps --force-reinstall "$sdk_release_dir/dist/"*.whl
|
|
93
|
+
(
|
|
94
|
+
cd "$sdk_release_dir"
|
|
95
|
+
unset PYTHONPATH PYTHONHOME
|
|
96
|
+
for check in package environment management labeling remote oss tos decoding; do
|
|
97
|
+
python -I "$sdk_release_dir/source/current_data_py/tests/check_${check}.py"
|
|
98
|
+
done
|
|
99
|
+
)
|
|
100
|
+
(cd "$sdk_release_dir/dist" && sha256sum *) > "$sdk_release_dir/SHA256SUMS"
|
|
101
|
+
)
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Release checks run outside both source trees so child Python processes also use
|
|
105
|
+
the installed wheel. They come from the recorded `origin/main` commit; unmerged
|
|
106
|
+
local test fixes are not included in the export.
|
|
107
|
+
|
|
108
|
+
Continue only after every check succeeds. Confirm `source-commit.txt` contains the
|
|
109
|
+
intended main commit and inspect the wheel for the intended release features.
|
|
110
|
+
Review the built package's README metadata for public display; exclude private
|
|
111
|
+
deployment addresses, bucket names, and credentials. Keep the release directory
|
|
112
|
+
and use these exact validated artifacts for uploading.
|
|
113
|
+
|
|
114
|
+
### Upload
|
|
115
|
+
|
|
116
|
+
Use your configured PyPI credentials or Twine's interactive token prompt; do not
|
|
117
|
+
put tokens in the README or shell commands. Run from the repository root in the
|
|
118
|
+
same shell that defines `sdk_release_dir`.
|
|
119
|
+
|
|
120
|
+
Fetch main again immediately before uploading. If its commit has changed, rebuild
|
|
121
|
+
and rerun all checks from the new latest main. The command also checks that the
|
|
122
|
+
artifacts still match the hashes recorded after validation:
|
|
123
|
+
|
|
124
|
+
```sh
|
|
125
|
+
(
|
|
126
|
+
set -e
|
|
127
|
+
sdk_repository=pypi
|
|
128
|
+
git fetch origin
|
|
129
|
+
if [ "$(git rev-parse origin/main)" != "$(cat "$sdk_release_dir/source-commit.txt")" ]; then
|
|
130
|
+
echo "origin/main changed; rebuild and validate the latest main before uploading." >&2
|
|
131
|
+
exit 1
|
|
132
|
+
fi
|
|
133
|
+
(cd "$sdk_release_dir/dist" && sha256sum -c ../SHA256SUMS)
|
|
134
|
+
python -m twine upload --repository "$sdk_repository" "$sdk_release_dir/dist/"*
|
|
135
|
+
)
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
For an optional TestPyPI trial, change `sdk_repository=pypi` to
|
|
139
|
+
`sdk_repository=testpypi` in the same block and use TestPyPI credentials. Both
|
|
140
|
+
registries require the latest-main and artifact checks.
|
|
141
|
+
|
|
142
|
+
### Verify the release
|
|
143
|
+
|
|
144
|
+
After upload, verify that PyPI shows the expected version and rendered description.
|
|
145
|
+
Compare the SHA-256 digests of both published files with `SHA256SUMS`, and retain
|
|
146
|
+
that file with `source-commit.txt` as the release record. An optional TestPyPI trial
|
|
147
|
+
does not replace verification of the production PyPI release.
|
|
File without changes
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: current-data-py
|
|
3
|
+
Version: 0.1.13
|
|
4
|
+
Summary: Current Data protobuf messages and schema metadata
|
|
5
|
+
Requires-Python: >=3.9
|
|
6
|
+
Description-Content-Type: text/markdown
|
|
7
|
+
Requires-Dist: protobuf>=3.20
|
|
8
|
+
Requires-Dist: turbodata==0.1.0
|
|
9
|
+
Requires-Dist: grpcio>=1.51.1
|
|
10
|
+
Requires-Dist: alibabacloud-oss-v2<2,>=1.4.0
|
|
11
|
+
Requires-Dist: tos<3,>=2.9
|
|
12
|
+
Requires-Dist: av>=12
|
|
13
|
+
Requires-Dist: pillow>=9
|
|
14
|
+
|
|
15
|
+
# current-data-py
|
|
16
|
+
|
|
17
|
+
Python SDK for robotics Protobuf messages, TD files, and platform service clients.
|
|
18
|
+
Run shell commands from the repository root in the shared development environment.
|
|
19
|
+
|
|
20
|
+
## Use locally
|
|
21
|
+
|
|
22
|
+
Run the bundled examples to write and read a local TD file using the installed SDK:
|
|
23
|
+
|
|
24
|
+
```sh
|
|
25
|
+
python -I -m current_data_py.examples.write_td /tmp/current-data-example.td
|
|
26
|
+
python -I -m current_data_py.examples.read_td /tmp/current-data-example.td
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
`-I` avoids importing the unbuilt source directory in place of the installed package.
|
|
30
|
+
See [examples](examples) for other entry points.
|
|
31
|
+
|
|
32
|
+
For a minimal read-only service call, run this snippet with `python -I` so it uses
|
|
33
|
+
the installed SDK:
|
|
34
|
+
|
|
35
|
+
```python
|
|
36
|
+
from contextlib import closing
|
|
37
|
+
import os
|
|
38
|
+
os.environ["ENV"] = "test"
|
|
39
|
+
|
|
40
|
+
from current_data_py.management import ManagementClient, MetadataFilter
|
|
41
|
+
|
|
42
|
+
with ManagementClient() as client:
|
|
43
|
+
with closing(client.stream_data_references(MetadataFilter(), timeout=30)) as records:
|
|
44
|
+
record = next(records, None)
|
|
45
|
+
print(record.id if record is not None else "No matching data")
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Set `ENV=test` before the first SDK import to select the test service; an unset or
|
|
49
|
+
empty value defaults to production. An explicit client `address=` overrides the
|
|
50
|
+
default. Remote examples require service connectivity and accessible data.
|
|
51
|
+
|
|
52
|
+
## Test changes
|
|
53
|
+
|
|
54
|
+
The package bundles generated Protobuf modules during its build. After protocol
|
|
55
|
+
changes, [regenerate the bindings](../README.md#protobuf) first.
|
|
56
|
+
Build into a fresh temporary directory, validate the artifacts, and install this
|
|
57
|
+
checkout's wheel before running its checks. Only the local package is installed;
|
|
58
|
+
shared dependencies are left unchanged:
|
|
59
|
+
|
|
60
|
+
```sh
|
|
61
|
+
(
|
|
62
|
+
set -e
|
|
63
|
+
sdk_dist=$(mktemp -d)
|
|
64
|
+
trap 'rm -rf "$sdk_dist"' EXIT
|
|
65
|
+
(cd current_data_py && python -m build --no-isolation --outdir "$sdk_dist")
|
|
66
|
+
python current_data_py/tests/check_distribution.py --dist-dir "$sdk_dist"
|
|
67
|
+
python -m pip install --no-deps --force-reinstall "$sdk_dist"/*.whl
|
|
68
|
+
for check in package environment management labeling remote oss tos decoding; do
|
|
69
|
+
python -I "current_data_py/tests/check_${check}.py"
|
|
70
|
+
done
|
|
71
|
+
)
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
These checks cover packaging, environment selection, clients, and media decoding
|
|
75
|
+
using local fixtures and mocked services. They do not require production credentials
|
|
76
|
+
or prove connectivity to a deployed service.
|
|
77
|
+
|
|
78
|
+
## Publish to PyPI
|
|
79
|
+
|
|
80
|
+
CI checks this SDK but does not publish it. Releases are manual and must use the
|
|
81
|
+
latest successfully fetched `origin/main`, including the version bump. Development
|
|
82
|
+
branches, uncommitted changes, and older main commits are not release sources. Follow the
|
|
83
|
+
[repository Git workflow](../.agents/rules/git-workflow.md).
|
|
84
|
+
Prepare the version update in `pyproject.toml` on a development branch and merge it
|
|
85
|
+
through review together with the intended SDK changes before building a release.
|
|
86
|
+
Use a version that has not already been published.
|
|
87
|
+
|
|
88
|
+
### Build and validate
|
|
89
|
+
|
|
90
|
+
Run from the repository root. Fetch the latest `origin/main`, record its commit,
|
|
91
|
+
and build from a clean exported copy so local edits and old artifacts cannot enter
|
|
92
|
+
the release:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
sdk_release_dir=$(mktemp -d /tmp/current-data-release.XXXXXX)
|
|
96
|
+
(
|
|
97
|
+
set -euo pipefail
|
|
98
|
+
git fetch origin
|
|
99
|
+
sdk_release_sha=$(git rev-parse origin/main)
|
|
100
|
+
printf '%s\n' "$sdk_release_sha" > "$sdk_release_dir/source-commit.txt"
|
|
101
|
+
mkdir "$sdk_release_dir/source"
|
|
102
|
+
git archive "$sdk_release_sha" | tar -x -C "$sdk_release_dir/source"
|
|
103
|
+
(cd "$sdk_release_dir/source/current_data_py" && python -m build --no-isolation --outdir "$sdk_release_dir/dist")
|
|
104
|
+
python "$sdk_release_dir/source/current_data_py/tests/check_distribution.py" --dist-dir "$sdk_release_dir/dist"
|
|
105
|
+
python -m twine check "$sdk_release_dir/dist/"*
|
|
106
|
+
python -m pip install --no-deps --force-reinstall "$sdk_release_dir/dist/"*.whl
|
|
107
|
+
(
|
|
108
|
+
cd "$sdk_release_dir"
|
|
109
|
+
unset PYTHONPATH PYTHONHOME
|
|
110
|
+
for check in package environment management labeling remote oss tos decoding; do
|
|
111
|
+
python -I "$sdk_release_dir/source/current_data_py/tests/check_${check}.py"
|
|
112
|
+
done
|
|
113
|
+
)
|
|
114
|
+
(cd "$sdk_release_dir/dist" && sha256sum *) > "$sdk_release_dir/SHA256SUMS"
|
|
115
|
+
)
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Release checks run outside both source trees so child Python processes also use
|
|
119
|
+
the installed wheel. They come from the recorded `origin/main` commit; unmerged
|
|
120
|
+
local test fixes are not included in the export.
|
|
121
|
+
|
|
122
|
+
Continue only after every check succeeds. Confirm `source-commit.txt` contains the
|
|
123
|
+
intended main commit and inspect the wheel for the intended release features.
|
|
124
|
+
Review the built package's README metadata for public display; exclude private
|
|
125
|
+
deployment addresses, bucket names, and credentials. Keep the release directory
|
|
126
|
+
and use these exact validated artifacts for uploading.
|
|
127
|
+
|
|
128
|
+
### Upload
|
|
129
|
+
|
|
130
|
+
Use your configured PyPI credentials or Twine's interactive token prompt; do not
|
|
131
|
+
put tokens in the README or shell commands. Run from the repository root in the
|
|
132
|
+
same shell that defines `sdk_release_dir`.
|
|
133
|
+
|
|
134
|
+
Fetch main again immediately before uploading. If its commit has changed, rebuild
|
|
135
|
+
and rerun all checks from the new latest main. The command also checks that the
|
|
136
|
+
artifacts still match the hashes recorded after validation:
|
|
137
|
+
|
|
138
|
+
```sh
|
|
139
|
+
(
|
|
140
|
+
set -e
|
|
141
|
+
sdk_repository=pypi
|
|
142
|
+
git fetch origin
|
|
143
|
+
if [ "$(git rev-parse origin/main)" != "$(cat "$sdk_release_dir/source-commit.txt")" ]; then
|
|
144
|
+
echo "origin/main changed; rebuild and validate the latest main before uploading." >&2
|
|
145
|
+
exit 1
|
|
146
|
+
fi
|
|
147
|
+
(cd "$sdk_release_dir/dist" && sha256sum -c ../SHA256SUMS)
|
|
148
|
+
python -m twine upload --repository "$sdk_repository" "$sdk_release_dir/dist/"*
|
|
149
|
+
)
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
For an optional TestPyPI trial, change `sdk_repository=pypi` to
|
|
153
|
+
`sdk_repository=testpypi` in the same block and use TestPyPI credentials. Both
|
|
154
|
+
registries require the latest-main and artifact checks.
|
|
155
|
+
|
|
156
|
+
### Verify the release
|
|
157
|
+
|
|
158
|
+
After upload, verify that PyPI shows the expected version and rendered description.
|
|
159
|
+
Compare the SHA-256 digests of both published files with `SHA256SUMS`, and retain
|
|
160
|
+
that file with `source-commit.txt` as the release record. An optional TestPyPI trial
|
|
161
|
+
does not replace verification of the production PyPI release.
|
|
File without changes
|
{current_data_py-0.1.12 → current_data_py-0.1.13}/current_data_py.egg-info/dependency_links.txt
RENAMED
|
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
|
|
@@ -50,13 +50,13 @@ class LabelingClient:
|
|
|
50
50
|
def create_task(
|
|
51
51
|
self, template_id: str, *, input_sources: Optional[Sequence[task_pb2.InputSource]] = None,
|
|
52
52
|
data_selection: Optional[DataSelection] = None, name: str = "",
|
|
53
|
-
|
|
53
|
+
mode: int = task_pb2.TASK_MODE_MANUAL,
|
|
54
54
|
timeout: Optional[float] = 30, metadata: _CallMetadata = None,
|
|
55
55
|
) -> service_pb2.CreateTaskResponse:
|
|
56
56
|
return self.stub.CreateTask(
|
|
57
57
|
service_pb2.CreateTaskRequest(
|
|
58
58
|
template_id=template_id, input_sources=input_sources,
|
|
59
|
-
data_selection=data_selection, name=name,
|
|
59
|
+
data_selection=data_selection, name=name, mode=mode,
|
|
60
60
|
),
|
|
61
61
|
timeout=timeout, metadata=metadata,
|
|
62
62
|
)
|
|
@@ -92,11 +92,11 @@ class LabelingClient:
|
|
|
92
92
|
timeout=timeout, metadata=metadata,
|
|
93
93
|
)
|
|
94
94
|
|
|
95
|
-
def
|
|
96
|
-
self, task_id: str,
|
|
95
|
+
def finish_auto_labeling(
|
|
96
|
+
self, task_id: str, *,
|
|
97
97
|
timeout: Optional[float] = 30, metadata: _CallMetadata = None,
|
|
98
|
-
) ->
|
|
99
|
-
|
|
100
|
-
service_pb2.
|
|
98
|
+
) -> None:
|
|
99
|
+
self.stub.FinishAutoLabeling(
|
|
100
|
+
service_pb2.FinishAutoLabelingRequest(task_id=task_id),
|
|
101
101
|
timeout=timeout, metadata=metadata,
|
|
102
102
|
)
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: labeling/service/service.proto
|
|
4
|
+
"""Generated protocol buffer code."""
|
|
5
|
+
from google.protobuf.internal import builder as _builder
|
|
6
|
+
from google.protobuf import descriptor as _descriptor
|
|
7
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
8
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
9
|
+
# @@protoc_insertion_point(imports)
|
|
10
|
+
|
|
11
|
+
_sym_db = _symbol_database.Default()
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
|
|
15
|
+
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
|
16
|
+
from labeling.template import template_pb2 as labeling_dot_template_dot_template__pb2
|
|
17
|
+
from labeling.task import task_pb2 as labeling_dot_task_dot_task__pb2
|
|
18
|
+
from management.selection import selection_pb2 as management_dot_selection_dot_selection__pb2
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1elabeling/service/service.proto\x12\x13labeling.service.v1\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a labeling/template/template.proto\x1a\x18labeling/task/task.proto\x1a$management/selection/selection.proto\"U\n\x15\x43reateTemplateRequest\x12<\n\ndefinition\x18\x01 \x01(\x0b\x32(.labeling.template.v1.TemplateDefinition\"J\n\x16\x43reateTemplateResponse\x12\x30\n\x08template\x18\x01 \x01(\x0b\x32\x1e.labeling.template.v1.Template\"\x16\n\x14ListTemplatesRequest\"J\n\x15ListTemplatesResponse\x12\x31\n\ttemplates\x18\x01 \x03(\x0b\x32\x1e.labeling.template.v1.Template\"\xd6\x01\n\x11\x43reateTaskRequest\x12\x13\n\x0btemplate_id\x18\x01 \x01(\t\x12\x34\n\rinput_sources\x18\x02 \x03(\x0b\x32\x1d.labeling.task.v1.InputSource\x12>\n\x0e\x64\x61ta_selection\x18\x03 \x01(\x0b\x32&.management.selection.v1.DataSelection\x12\x0c\n\x04name\x18\x04 \x01(\t\x12(\n\x04mode\x18\x05 \x01(\x0e\x32\x1a.labeling.task.v1.TaskMode\"9\n\x12\x43reateTaskResponse\x12\x12\n\nitem_count\x18\x01 \x01(\x05\x12\x0f\n\x07task_id\x18\x02 \x01(\t\"\x12\n\x10ListTasksRequest\"A\n\x11ListTasksResponse\x12,\n\x05tasks\x18\x01 \x03(\x0b\x32\x1d.labeling.task.v1.TaskSummary\"8\n\x10ListItemsRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x13\n\x0b\x63laim_token\x18\x02 \x01(\t\":\n\x11ListItemsResponse\x12%\n\x05items\x18\x01 \x03(\x0b\x32\x16.labeling.task.v1.Item\"%\n\x12ListResultsRequest\x12\x0f\n\x07\x64\x61ta_id\x18\x01 \x01(\t\"a\n\x13LabelingResultEntry\x12$\n\x04task\x18\x01 \x01(\x0b\x32\x16.labeling.task.v1.Task\x12$\n\x04item\x18\x02 \x01(\x0b\x32\x16.labeling.task.v1.Item\"P\n\x13ListResultsResponse\x12\x39\n\x07results\x18\x01 \x03(\x0b\x32(.labeling.service.v1.LabelingResultEntry\"\x82\x01\n\x12WriteResultRequest\x12\x0f\n\x07item_id\x18\x01 \x01(\t\x12(\n\x06result\x18\x02 \x01(\x0b\x32\x18.labeling.task.v1.Result\x12\x13\n\x0b\x63laim_token\x18\x03 \x01(\t\x12\x1c\n\x14pre_annotation_error\x18\x04 \x01(\t\"\x15\n\x13WriteResultResponse\"&\n\x13\x43ompleteTaskRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\"4\n\x14\x43ompleteTaskResponse\x12\x1c\n\x14\x63ompleted_item_count\x18\x01 \x01(\x05\"8\n\x10\x43laimItemRequest\x12\x0f\n\x07item_id\x18\x01 \x01(\t\x12\x13\n\x0b\x63laim_token\x18\x02 \x01(\t\"9\n\x11\x43laimItemResponse\x12$\n\x04item\x18\x01 \x01(\x0b\x32\x16.labeling.task.v1.Item\"9\n\x11RenewClaimRequest\x12\x0f\n\x07item_id\x18\x01 \x01(\t\x12\x13\n\x0b\x63laim_token\x18\x02 \x01(\t\"J\n\x12RenewClaimResponse\x12\x34\n\x10\x63laim_expires_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\";\n\x13ReleaseClaimRequest\x12\x0f\n\x07item_id\x18\x01 \x01(\t\x12\x13\n\x0b\x63laim_token\x18\x02 \x01(\t\"\x16\n\x14ReleaseClaimResponse\",\n\x19\x46inishAutoLabelingRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t2\xa2\t\n\x0fLabelingService\x12i\n\x0e\x43reateTemplate\x12*.labeling.service.v1.CreateTemplateRequest\x1a+.labeling.service.v1.CreateTemplateResponse\x12\x66\n\rListTemplates\x12).labeling.service.v1.ListTemplatesRequest\x1a*.labeling.service.v1.ListTemplatesResponse\x12]\n\nCreateTask\x12&.labeling.service.v1.CreateTaskRequest\x1a\'.labeling.service.v1.CreateTaskResponse\x12Z\n\tListTasks\x12%.labeling.service.v1.ListTasksRequest\x1a&.labeling.service.v1.ListTasksResponse\x12Z\n\tListItems\x12%.labeling.service.v1.ListItemsRequest\x1a&.labeling.service.v1.ListItemsResponse\x12`\n\x0bListResults\x12\'.labeling.service.v1.ListResultsRequest\x1a(.labeling.service.v1.ListResultsResponse\x12`\n\x0bWriteResult\x12\'.labeling.service.v1.WriteResultRequest\x1a(.labeling.service.v1.WriteResultResponse\x12\x63\n\x0c\x43ompleteTask\x12(.labeling.service.v1.CompleteTaskRequest\x1a).labeling.service.v1.CompleteTaskResponse\x12Z\n\tClaimItem\x12%.labeling.service.v1.ClaimItemRequest\x1a&.labeling.service.v1.ClaimItemResponse\x12]\n\nRenewClaim\x12&.labeling.service.v1.RenewClaimRequest\x1a\'.labeling.service.v1.RenewClaimResponse\x12\x63\n\x0cReleaseClaim\x12(.labeling.service.v1.ReleaseClaimRequest\x1a).labeling.service.v1.ReleaseClaimResponse\x12\\\n\x12\x46inishAutoLabeling\x12..labeling.service.v1.FinishAutoLabelingRequest\x1a\x16.google.protobuf.EmptyB&Z$proto_gen/labeling/service;servicepbb\x06proto3')
|
|
22
|
+
|
|
23
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
|
|
24
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'labeling.service.service_pb2', globals())
|
|
25
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
26
|
+
|
|
27
|
+
DESCRIPTOR._options = None
|
|
28
|
+
DESCRIPTOR._serialized_options = b'Z$proto_gen/labeling/service;servicepb'
|
|
29
|
+
_CREATETEMPLATEREQUEST._serialized_start=215
|
|
30
|
+
_CREATETEMPLATEREQUEST._serialized_end=300
|
|
31
|
+
_CREATETEMPLATERESPONSE._serialized_start=302
|
|
32
|
+
_CREATETEMPLATERESPONSE._serialized_end=376
|
|
33
|
+
_LISTTEMPLATESREQUEST._serialized_start=378
|
|
34
|
+
_LISTTEMPLATESREQUEST._serialized_end=400
|
|
35
|
+
_LISTTEMPLATESRESPONSE._serialized_start=402
|
|
36
|
+
_LISTTEMPLATESRESPONSE._serialized_end=476
|
|
37
|
+
_CREATETASKREQUEST._serialized_start=479
|
|
38
|
+
_CREATETASKREQUEST._serialized_end=693
|
|
39
|
+
_CREATETASKRESPONSE._serialized_start=695
|
|
40
|
+
_CREATETASKRESPONSE._serialized_end=752
|
|
41
|
+
_LISTTASKSREQUEST._serialized_start=754
|
|
42
|
+
_LISTTASKSREQUEST._serialized_end=772
|
|
43
|
+
_LISTTASKSRESPONSE._serialized_start=774
|
|
44
|
+
_LISTTASKSRESPONSE._serialized_end=839
|
|
45
|
+
_LISTITEMSREQUEST._serialized_start=841
|
|
46
|
+
_LISTITEMSREQUEST._serialized_end=897
|
|
47
|
+
_LISTITEMSRESPONSE._serialized_start=899
|
|
48
|
+
_LISTITEMSRESPONSE._serialized_end=957
|
|
49
|
+
_LISTRESULTSREQUEST._serialized_start=959
|
|
50
|
+
_LISTRESULTSREQUEST._serialized_end=996
|
|
51
|
+
_LABELINGRESULTENTRY._serialized_start=998
|
|
52
|
+
_LABELINGRESULTENTRY._serialized_end=1095
|
|
53
|
+
_LISTRESULTSRESPONSE._serialized_start=1097
|
|
54
|
+
_LISTRESULTSRESPONSE._serialized_end=1177
|
|
55
|
+
_WRITERESULTREQUEST._serialized_start=1180
|
|
56
|
+
_WRITERESULTREQUEST._serialized_end=1310
|
|
57
|
+
_WRITERESULTRESPONSE._serialized_start=1312
|
|
58
|
+
_WRITERESULTRESPONSE._serialized_end=1333
|
|
59
|
+
_COMPLETETASKREQUEST._serialized_start=1335
|
|
60
|
+
_COMPLETETASKREQUEST._serialized_end=1373
|
|
61
|
+
_COMPLETETASKRESPONSE._serialized_start=1375
|
|
62
|
+
_COMPLETETASKRESPONSE._serialized_end=1427
|
|
63
|
+
_CLAIMITEMREQUEST._serialized_start=1429
|
|
64
|
+
_CLAIMITEMREQUEST._serialized_end=1485
|
|
65
|
+
_CLAIMITEMRESPONSE._serialized_start=1487
|
|
66
|
+
_CLAIMITEMRESPONSE._serialized_end=1544
|
|
67
|
+
_RENEWCLAIMREQUEST._serialized_start=1546
|
|
68
|
+
_RENEWCLAIMREQUEST._serialized_end=1603
|
|
69
|
+
_RENEWCLAIMRESPONSE._serialized_start=1605
|
|
70
|
+
_RENEWCLAIMRESPONSE._serialized_end=1679
|
|
71
|
+
_RELEASECLAIMREQUEST._serialized_start=1681
|
|
72
|
+
_RELEASECLAIMREQUEST._serialized_end=1740
|
|
73
|
+
_RELEASECLAIMRESPONSE._serialized_start=1742
|
|
74
|
+
_RELEASECLAIMRESPONSE._serialized_end=1764
|
|
75
|
+
_FINISHAUTOLABELINGREQUEST._serialized_start=1766
|
|
76
|
+
_FINISHAUTOLABELINGREQUEST._serialized_end=1810
|
|
77
|
+
_LABELINGSERVICE._serialized_start=1813
|
|
78
|
+
_LABELINGSERVICE._serialized_end=2999
|
|
79
|
+
# @@protoc_insertion_point(module_scope)
|