tilebox-datasets 0.38.0__tar.gz → 0.39.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.
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/PKG-INFO +1 -1
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/pyproject.toml +1 -1
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/aio/client.py +4 -4
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/aio/dataset.py +8 -13
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/aio/pagination.py +1 -3
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/client.py +1 -1
- tilebox_datasets-0.39.0/tilebox/datasets/data/__init__.py +28 -0
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/data/collection.py +3 -3
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/data/data_access.py +6 -6
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/data/datapoint.py +7 -74
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/data/datasets.py +2 -2
- tilebox_datasets-0.39.0/tilebox/datasets/data/time_interval.py +18 -0
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/data/timeseries.py +6 -6
- tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1/collections_pb2.py +49 -0
- {tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1 → tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1}/collections_pb2.pyi +11 -10
- {tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1 → tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1}/collections_pb2_grpc.py +2 -2
- tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1/core_pb2.py +79 -0
- {tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1 → tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1}/core_pb2.pyi +13 -49
- tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1/data_access_pb2.py +65 -0
- {tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1 → tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1}/data_access_pb2.pyi +18 -16
- {tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1 → tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1}/data_access_pb2_grpc.py +2 -2
- tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1/data_ingestion_pb2.py +49 -0
- {tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1 → tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1}/data_ingestion_pb2.pyi +11 -10
- {tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1 → tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1}/data_ingestion_pb2_grpc.py +1 -1
- tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1/dataset_type_pb2.py +53 -0
- {tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1 → tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1}/dataset_type_pb2.pyi +6 -5
- tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1/datasets_pb2.py +62 -0
- {tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1 → tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1}/datasets_pb2.pyi +21 -8
- {tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1 → tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1}/datasets_pb2_grpc.py +45 -2
- tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1/timeseries_pb2.py +42 -0
- {tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1 → tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1}/timeseries_pb2.pyi +9 -8
- {tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1 → tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1}/well_known_types_pb2.py +2 -2
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/message_pool.py +1 -1
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/progress.py +1 -1
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/protobuf_conversion/field_types.py +2 -2
- tilebox_datasets-0.39.0/tilebox/datasets/query/__init__.py +8 -0
- tilebox_datasets-0.39.0/tilebox/datasets/query/id_interval.py +72 -0
- {tilebox_datasets-0.38.0/tilebox/datasets/data → tilebox_datasets-0.39.0/tilebox/datasets/query}/pagination.py +5 -5
- {tilebox_datasets-0.38.0/tilebox/datasets/data → tilebox_datasets-0.39.0/tilebox/datasets/query}/time_interval.py +4 -4
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/service.py +13 -20
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/sync/client.py +4 -4
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/sync/dataset.py +7 -8
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/sync/pagination.py +1 -3
- tilebox_datasets-0.39.0/tilebox/datasets/tilebox/v1/id_pb2.py +37 -0
- tilebox_datasets-0.39.0/tilebox/datasets/tilebox/v1/id_pb2.pyi +11 -0
- tilebox_datasets-0.39.0/tilebox/datasets/tilebox/v1/id_pb2_grpc.py +3 -0
- tilebox_datasets-0.39.0/tilebox/datasets/tilebox/v1/query_pb2.py +47 -0
- tilebox_datasets-0.39.0/tilebox/datasets/tilebox/v1/query_pb2.pyi +39 -0
- tilebox_datasets-0.39.0/tilebox/datasets/tilebox/v1/query_pb2_grpc.py +3 -0
- {tilebox_datasets-0.38.0/tilebox/datasets/data → tilebox_datasets-0.39.0/tilebox/datasets}/uuid.py +8 -7
- tilebox_datasets-0.38.0/tilebox/datasets/data/__init__.py +0 -16
- tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1/collections_pb2.py +0 -48
- tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1/core_pb2.py +0 -73
- tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1/data_access_pb2.py +0 -57
- tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1/data_ingestion_pb2.py +0 -48
- tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1/dataset_type_pb2.py +0 -52
- tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1/datasets_pb2.py +0 -55
- tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1/timeseries_pb2.py +0 -41
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/.gitignore +0 -0
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/README.md +0 -0
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/__init__.py +0 -0
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/aio/__init__.py +0 -0
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/aio/timeseries.py +0 -0
- {tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1 → tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1}/core_pb2_grpc.py +0 -0
- {tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1 → tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1}/dataset_type_pb2_grpc.py +0 -0
- {tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1 → tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1}/timeseries_pb2_grpc.py +0 -0
- {tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1 → tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1}/well_known_types_pb2.pyi +0 -0
- {tilebox_datasets-0.38.0/tilebox/datasets/datasetsv1 → tilebox_datasets-0.39.0/tilebox/datasets/datasets/v1}/well_known_types_pb2_grpc.py +0 -0
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/group.py +0 -0
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/protobuf_conversion/__init__.py +0 -0
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/protobuf_conversion/protobuf_xarray.py +0 -0
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/protobuf_conversion/to_protobuf.py +0 -0
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/sync/__init__.py +0 -0
- {tilebox_datasets-0.38.0 → tilebox_datasets-0.39.0}/tilebox/datasets/sync/timeseries.py +0 -0
|
@@ -5,10 +5,10 @@ from _tilebox.grpc.aio.error import with_pythonic_errors
|
|
|
5
5
|
from tilebox.datasets.aio.dataset import DatasetClient
|
|
6
6
|
from tilebox.datasets.client import Client as BaseClient
|
|
7
7
|
from tilebox.datasets.client import token_from_env
|
|
8
|
-
from tilebox.datasets.
|
|
9
|
-
from tilebox.datasets.
|
|
10
|
-
from tilebox.datasets.
|
|
11
|
-
from tilebox.datasets.
|
|
8
|
+
from tilebox.datasets.datasets.v1.collections_pb2_grpc import CollectionServiceStub
|
|
9
|
+
from tilebox.datasets.datasets.v1.data_access_pb2_grpc import DataAccessServiceStub
|
|
10
|
+
from tilebox.datasets.datasets.v1.data_ingestion_pb2_grpc import DataIngestionServiceStub
|
|
11
|
+
from tilebox.datasets.datasets.v1.datasets_pb2_grpc import DatasetServiceStub
|
|
12
12
|
from tilebox.datasets.group import Group
|
|
13
13
|
from tilebox.datasets.service import TileboxDatasetService
|
|
14
14
|
|
|
@@ -11,18 +11,11 @@ from _tilebox.grpc.aio.pagination import Pagination as PaginationProtocol
|
|
|
11
11
|
from _tilebox.grpc.aio.pagination import paginated_request
|
|
12
12
|
from _tilebox.grpc.aio.producer_consumer import async_producer_consumer
|
|
13
13
|
from _tilebox.grpc.error import ArgumentError, NotFoundError
|
|
14
|
-
from tilebox.datasets.aio.pagination import
|
|
15
|
-
with_progressbar,
|
|
16
|
-
with_time_progress_callback,
|
|
17
|
-
with_time_progressbar,
|
|
18
|
-
)
|
|
14
|
+
from tilebox.datasets.aio.pagination import with_progressbar, with_time_progress_callback, with_time_progressbar
|
|
19
15
|
from tilebox.datasets.data.collection import CollectionInfo
|
|
20
16
|
from tilebox.datasets.data.data_access import QueryFilters, SpatialFilter, SpatialFilterLike
|
|
21
|
-
from tilebox.datasets.data.datapoint import
|
|
17
|
+
from tilebox.datasets.data.datapoint import QueryResultPage
|
|
22
18
|
from tilebox.datasets.data.datasets import Dataset
|
|
23
|
-
from tilebox.datasets.data.pagination import Pagination
|
|
24
|
-
from tilebox.datasets.data.time_interval import TimeInterval, TimeIntervalLike
|
|
25
|
-
from tilebox.datasets.data.uuid import as_uuid
|
|
26
19
|
from tilebox.datasets.message_pool import get_message_type
|
|
27
20
|
from tilebox.datasets.progress import ProgressCallback
|
|
28
21
|
from tilebox.datasets.protobuf_conversion.protobuf_xarray import MessageToXarrayConverter
|
|
@@ -33,7 +26,11 @@ from tilebox.datasets.protobuf_conversion.to_protobuf import (
|
|
|
33
26
|
marshal_messages,
|
|
34
27
|
to_messages,
|
|
35
28
|
)
|
|
29
|
+
from tilebox.datasets.query.id_interval import IDInterval, IDIntervalLike
|
|
30
|
+
from tilebox.datasets.query.pagination import Pagination
|
|
31
|
+
from tilebox.datasets.query.time_interval import TimeInterval, TimeIntervalLike
|
|
36
32
|
from tilebox.datasets.service import TileboxDatasetService
|
|
33
|
+
from tilebox.datasets.uuid import as_uuid
|
|
37
34
|
|
|
38
35
|
# allow private member access: we allow it here because we want to make as much private as possible so that we can
|
|
39
36
|
# minimize the publicly facing API (which allows us to change internals later, and also limits to auto-completion)
|
|
@@ -240,7 +237,7 @@ class CollectionClient:
|
|
|
240
237
|
|
|
241
238
|
async def _find_interval(
|
|
242
239
|
self,
|
|
243
|
-
datapoint_id_interval:
|
|
240
|
+
datapoint_id_interval: IDIntervalLike,
|
|
244
241
|
end_inclusive: bool = True,
|
|
245
242
|
*,
|
|
246
243
|
skip_data: bool = False,
|
|
@@ -259,9 +256,7 @@ class CollectionClient:
|
|
|
259
256
|
Returns:
|
|
260
257
|
The datapoints in the given interval as an xarray dataset
|
|
261
258
|
"""
|
|
262
|
-
filters = QueryFilters(
|
|
263
|
-
temporal_extent=DatapointInterval.parse(datapoint_id_interval, end_inclusive=end_inclusive)
|
|
264
|
-
)
|
|
259
|
+
filters = QueryFilters(temporal_extent=IDInterval.parse(datapoint_id_interval, end_inclusive=end_inclusive))
|
|
265
260
|
|
|
266
261
|
async def request(page: PaginationProtocol) -> QueryResultPage:
|
|
267
262
|
query_page = Pagination(page.limit, page.starting_after)
|
|
@@ -5,11 +5,9 @@ from typing import TypeVar
|
|
|
5
5
|
|
|
6
6
|
from tqdm.auto import tqdm
|
|
7
7
|
|
|
8
|
-
from tilebox.datasets.data import (
|
|
9
|
-
TimeInterval,
|
|
10
|
-
)
|
|
11
8
|
from tilebox.datasets.data.datapoint import QueryResultPage
|
|
12
9
|
from tilebox.datasets.progress import ProgressCallback, TimeIntervalProgressBar
|
|
10
|
+
from tilebox.datasets.query.time_interval import TimeInterval
|
|
13
11
|
|
|
14
12
|
ResultPage = TypeVar("ResultPage", bound=QueryResultPage)
|
|
15
13
|
|
|
@@ -8,10 +8,10 @@ from promise import Promise
|
|
|
8
8
|
|
|
9
9
|
from _tilebox.grpc.channel import parse_channel_info
|
|
10
10
|
from tilebox.datasets.data.datasets import Dataset, DatasetGroup, ListDatasetsResponse
|
|
11
|
-
from tilebox.datasets.data.uuid import as_uuid
|
|
12
11
|
from tilebox.datasets.group import Group
|
|
13
12
|
from tilebox.datasets.message_pool import register_once
|
|
14
13
|
from tilebox.datasets.service import TileboxDatasetService
|
|
14
|
+
from tilebox.datasets.uuid import as_uuid
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
class TimeseriesDatasetLike(Protocol):
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# for backwards compatibility, we can remove this hack in the future
|
|
2
|
+
|
|
3
|
+
from warnings import warn
|
|
4
|
+
|
|
5
|
+
from tilebox.datasets.query.time_interval import TimeInterval as _TimeInterval
|
|
6
|
+
from tilebox.datasets.query.time_interval import TimeIntervalLike
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class TimeInterval(_TimeInterval):
|
|
10
|
+
def __post_init__(self) -> None:
|
|
11
|
+
warn(
|
|
12
|
+
"The TimeInterval class has been deprecated, import from tilebox.datasets.query instead.",
|
|
13
|
+
DeprecationWarning,
|
|
14
|
+
stacklevel=2,
|
|
15
|
+
)
|
|
16
|
+
super().__post_init__()
|
|
17
|
+
|
|
18
|
+
@classmethod
|
|
19
|
+
def parse(cls, arg: TimeIntervalLike) -> "_TimeInterval":
|
|
20
|
+
warn(
|
|
21
|
+
"The TimeInterval class has been deprecated, import from tilebox.datasets.query instead.",
|
|
22
|
+
DeprecationWarning,
|
|
23
|
+
stacklevel=2,
|
|
24
|
+
)
|
|
25
|
+
return super().parse(arg)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
__all__ = ["TimeInterval"]
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
from dataclasses import dataclass
|
|
2
2
|
from uuid import UUID
|
|
3
3
|
|
|
4
|
-
from tilebox.datasets.
|
|
5
|
-
from tilebox.datasets.
|
|
6
|
-
from tilebox.datasets.
|
|
4
|
+
from tilebox.datasets.datasets.v1 import core_pb2
|
|
5
|
+
from tilebox.datasets.query.time_interval import TimeInterval
|
|
6
|
+
from tilebox.datasets.uuid import uuid_message_to_uuid, uuid_to_uuid_message
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
@dataclass
|
|
@@ -7,9 +7,9 @@ from shapely import Geometry, from_wkb, to_wkb
|
|
|
7
7
|
# from python 3.11 onwards this is available as typing.NotRequired:
|
|
8
8
|
from typing_extensions import NotRequired
|
|
9
9
|
|
|
10
|
-
from tilebox.datasets.
|
|
11
|
-
from tilebox.datasets.
|
|
12
|
-
from tilebox.datasets.
|
|
10
|
+
from tilebox.datasets.datasets.v1 import data_access_pb2, well_known_types_pb2
|
|
11
|
+
from tilebox.datasets.query.id_interval import IDInterval
|
|
12
|
+
from tilebox.datasets.query.time_interval import TimeInterval
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
class SpatialFilterMode(Enum):
|
|
@@ -104,16 +104,16 @@ class SpatialFilter:
|
|
|
104
104
|
|
|
105
105
|
@dataclass(frozen=True)
|
|
106
106
|
class QueryFilters:
|
|
107
|
-
temporal_extent: TimeInterval |
|
|
107
|
+
temporal_extent: TimeInterval | IDInterval
|
|
108
108
|
spatial_extent: SpatialFilter | None = None
|
|
109
109
|
|
|
110
110
|
@classmethod
|
|
111
111
|
def from_message(cls, filters: data_access_pb2.QueryFilters) -> "QueryFilters":
|
|
112
|
-
temporal_extent: TimeInterval |
|
|
112
|
+
temporal_extent: TimeInterval | IDInterval | None = None
|
|
113
113
|
if filters.HasField("time_interval"):
|
|
114
114
|
temporal_extent = TimeInterval.from_message(filters.time_interval)
|
|
115
115
|
if filters.HasField("datapoint_interval"):
|
|
116
|
-
temporal_extent =
|
|
116
|
+
temporal_extent = IDInterval.from_message(filters.datapoint_interval)
|
|
117
117
|
|
|
118
118
|
if temporal_extent is None:
|
|
119
119
|
raise ValueError("Invalid filter: time or datapoint interval must be set")
|
|
@@ -1,81 +1,14 @@
|
|
|
1
1
|
from dataclasses import dataclass, field
|
|
2
2
|
from datetime import datetime
|
|
3
|
-
from typing import Any
|
|
3
|
+
from typing import Any
|
|
4
4
|
from uuid import UUID
|
|
5
5
|
|
|
6
|
-
from tilebox.datasets.
|
|
7
|
-
from tilebox.datasets.data.time_interval import timestamp_to_datetime
|
|
8
|
-
from tilebox.datasets.data.uuid import uuid_message_to_uuid, uuid_to_uuid_message
|
|
9
|
-
from tilebox.datasets.datasetsv1 import core_pb2, data_access_pb2, data_ingestion_pb2
|
|
6
|
+
from tilebox.datasets.datasets.v1 import core_pb2, data_access_pb2, data_ingestion_pb2
|
|
10
7
|
from tilebox.datasets.message_pool import get_message_type
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
@dataclass(frozen=True)
|
|
16
|
-
class DatapointInterval:
|
|
17
|
-
start_id: UUID
|
|
18
|
-
end_id: UUID
|
|
19
|
-
start_exclusive: bool
|
|
20
|
-
end_inclusive: bool
|
|
21
|
-
|
|
22
|
-
@classmethod
|
|
23
|
-
def from_message(cls, interval: core_pb2.DatapointInterval) -> "DatapointInterval":
|
|
24
|
-
return cls(
|
|
25
|
-
start_id=uuid_message_to_uuid(interval.start_id),
|
|
26
|
-
end_id=uuid_message_to_uuid(interval.end_id),
|
|
27
|
-
start_exclusive=interval.start_exclusive,
|
|
28
|
-
end_inclusive=interval.end_inclusive,
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
def to_message(self) -> core_pb2.DatapointInterval:
|
|
32
|
-
return core_pb2.DatapointInterval(
|
|
33
|
-
start_id=uuid_to_uuid_message(self.start_id),
|
|
34
|
-
end_id=uuid_to_uuid_message(self.end_id),
|
|
35
|
-
start_exclusive=self.start_exclusive,
|
|
36
|
-
end_inclusive=self.end_inclusive,
|
|
37
|
-
)
|
|
38
|
-
|
|
39
|
-
@classmethod
|
|
40
|
-
def parse(
|
|
41
|
-
cls, arg: DatapointIntervalLike, start_exclusive: bool = False, end_inclusive: bool = True
|
|
42
|
-
) -> "DatapointInterval":
|
|
43
|
-
"""
|
|
44
|
-
Convert a variety of input types to a DatapointInterval.
|
|
45
|
-
|
|
46
|
-
Supported input types:
|
|
47
|
-
- DatapointInterval: Return the input as is
|
|
48
|
-
- tuple of two UUIDs: Return an DatapointInterval with start and end id set to the given values
|
|
49
|
-
- tuple of two strings: Return an DatapointInterval with start and end id set to the UUIDs parsed from the given strings
|
|
50
|
-
|
|
51
|
-
Args:
|
|
52
|
-
arg: The input to convert
|
|
53
|
-
start_exclusive: Whether the start id is exclusive
|
|
54
|
-
end_inclusive: Whether the end id is inclusive
|
|
55
|
-
|
|
56
|
-
Returns:
|
|
57
|
-
DatapointInterval: The parsed ID interval
|
|
58
|
-
"""
|
|
59
|
-
|
|
60
|
-
match arg:
|
|
61
|
-
case DatapointInterval(_, _, _, _):
|
|
62
|
-
return arg
|
|
63
|
-
case (UUID(), UUID()):
|
|
64
|
-
start, end = arg
|
|
65
|
-
return DatapointInterval(
|
|
66
|
-
start_id=start,
|
|
67
|
-
end_id=end,
|
|
68
|
-
start_exclusive=start_exclusive,
|
|
69
|
-
end_inclusive=end_inclusive,
|
|
70
|
-
)
|
|
71
|
-
case (str(), str()):
|
|
72
|
-
start, end = arg
|
|
73
|
-
return DatapointInterval(
|
|
74
|
-
start_id=UUID(start),
|
|
75
|
-
end_id=UUID(end),
|
|
76
|
-
start_exclusive=start_exclusive,
|
|
77
|
-
end_inclusive=end_inclusive,
|
|
78
|
-
)
|
|
8
|
+
from tilebox.datasets.query.pagination import Pagination
|
|
9
|
+
from tilebox.datasets.query.time_interval import timestamp_to_datetime
|
|
10
|
+
from tilebox.datasets.tilebox.v1 import id_pb2
|
|
11
|
+
from tilebox.datasets.uuid import uuid_message_to_uuid
|
|
79
12
|
|
|
80
13
|
|
|
81
14
|
@dataclass(frozen=True)
|
|
@@ -173,5 +106,5 @@ class IngestResponse:
|
|
|
173
106
|
return data_ingestion_pb2.IngestResponse(
|
|
174
107
|
num_created=self.num_created,
|
|
175
108
|
num_existing=self.num_existing,
|
|
176
|
-
datapoint_ids=[
|
|
109
|
+
datapoint_ids=[id_pb2.ID(uuid=datapoint_id.bytes) for datapoint_id in self.datapoint_ids],
|
|
177
110
|
)
|
|
@@ -3,8 +3,8 @@ from uuid import UUID
|
|
|
3
3
|
|
|
4
4
|
from google.protobuf.descriptor_pb2 import FileDescriptorSet
|
|
5
5
|
|
|
6
|
-
from tilebox.datasets.
|
|
7
|
-
from tilebox.datasets.
|
|
6
|
+
from tilebox.datasets.datasets.v1 import core_pb2, dataset_type_pb2, datasets_pb2
|
|
7
|
+
from tilebox.datasets.uuid import uuid_message_to_optional_uuid, uuid_message_to_uuid, uuid_to_uuid_message
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
@dataclass(frozen=True)
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# kept for backwards compatibility, we can remove this whole file in the future
|
|
2
|
+
|
|
3
|
+
from warnings import warn
|
|
4
|
+
|
|
5
|
+
from tilebox.datasets.query.time_interval import (
|
|
6
|
+
TimeInterval,
|
|
7
|
+
TimeIntervalLike,
|
|
8
|
+
datetime_to_timestamp,
|
|
9
|
+
timestamp_to_datetime,
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
warn(
|
|
13
|
+
"The time_interval module has been deprecated, import from tilebox.datasets.query instead.",
|
|
14
|
+
DeprecationWarning,
|
|
15
|
+
stacklevel=2,
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
__all__ = ["TimeInterval", "TimeIntervalLike", "datetime_to_timestamp", "timestamp_to_datetime"]
|
|
@@ -2,10 +2,10 @@ from dataclasses import dataclass
|
|
|
2
2
|
from datetime import timedelta
|
|
3
3
|
from uuid import UUID
|
|
4
4
|
|
|
5
|
-
from tilebox.datasets.
|
|
6
|
-
from tilebox.datasets.
|
|
7
|
-
from tilebox.datasets.
|
|
8
|
-
from tilebox.datasets.
|
|
5
|
+
from tilebox.datasets.datasets.v1 import timeseries_pb2
|
|
6
|
+
from tilebox.datasets.query.id_interval import IDInterval
|
|
7
|
+
from tilebox.datasets.query.time_interval import TimeInterval, duration_to_timedelta, timedelta_to_duration
|
|
8
|
+
from tilebox.datasets.uuid import uuid_message_to_uuid, uuid_to_uuid_message
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
@dataclass
|
|
@@ -13,7 +13,7 @@ class TimeseriesDatasetChunk:
|
|
|
13
13
|
dataset_id: UUID
|
|
14
14
|
collection_id: UUID
|
|
15
15
|
time_interval: TimeInterval | None
|
|
16
|
-
datapoint_interval:
|
|
16
|
+
datapoint_interval: IDInterval | None
|
|
17
17
|
branch_factor: int
|
|
18
18
|
chunk_size: int
|
|
19
19
|
datapoints_per_365_days: int
|
|
@@ -28,7 +28,7 @@ class TimeseriesDatasetChunk:
|
|
|
28
28
|
and chunk.datapoint_interval.start_id.uuid
|
|
29
29
|
and chunk.datapoint_interval.end_id.uuid
|
|
30
30
|
):
|
|
31
|
-
datapoint_interval =
|
|
31
|
+
datapoint_interval = IDInterval.from_message(chunk.datapoint_interval)
|
|
32
32
|
|
|
33
33
|
time_interval = None
|
|
34
34
|
if chunk.time_interval and chunk.time_interval.start_time and chunk.time_interval.end_time:
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: datasets/v1/collections.proto
|
|
5
|
+
# Protobuf Python Version: 5.29.3
|
|
6
|
+
"""Generated protocol buffer code."""
|
|
7
|
+
from google.protobuf import descriptor as _descriptor
|
|
8
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
+
from google.protobuf.internal import builder as _builder
|
|
12
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
13
|
+
_runtime_version.Domain.PUBLIC,
|
|
14
|
+
5,
|
|
15
|
+
29,
|
|
16
|
+
3,
|
|
17
|
+
'',
|
|
18
|
+
'datasets/v1/collections.proto'
|
|
19
|
+
)
|
|
20
|
+
# @@protoc_insertion_point(imports)
|
|
21
|
+
|
|
22
|
+
_sym_db = _symbol_database.Default()
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
from tilebox.datasets.datasets.v1 import core_pb2 as datasets_dot_v1_dot_core__pb2
|
|
26
|
+
from tilebox.datasets.tilebox.v1 import id_pb2 as tilebox_dot_v1_dot_id__pb2
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x64\x61tasets/v1/collections.proto\x12\x0b\x64\x61tasets.v1\x1a\x16\x64\x61tasets/v1/core.proto\x1a\x13tilebox/v1/id.proto\"\\\n\x17\x43reateCollectionRequest\x12-\n\ndataset_id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDR\tdatasetId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\"\xc0\x01\n\x1aGetCollectionByNameRequest\x12\'\n\x0f\x63ollection_name\x18\x01 \x01(\tR\x0e\x63ollectionName\x12+\n\x11with_availability\x18\x02 \x01(\x08R\x10withAvailability\x12\x1d\n\nwith_count\x18\x03 \x01(\x08R\twithCount\x12-\n\ndataset_id\x18\x04 \x01(\x0b\x32\x0e.tilebox.v1.IDR\tdatasetId\"}\n\x17\x44\x65leteCollectionRequest\x12\x33\n\rcollection_id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDR\x0c\x63ollectionId\x12-\n\ndataset_id\x18\x02 \x01(\x0b\x32\x0e.tilebox.v1.IDR\tdatasetId\"\x1a\n\x18\x44\x65leteCollectionResponse\"\x93\x01\n\x16ListCollectionsRequest\x12-\n\ndataset_id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDR\tdatasetId\x12+\n\x11with_availability\x18\x02 \x01(\x08R\x10withAvailability\x12\x1d\n\nwith_count\x18\x03 \x01(\x08R\twithCount2\x86\x03\n\x11\x43ollectionService\x12W\n\x10\x43reateCollection\x12$.datasets.v1.CreateCollectionRequest\x1a\x1b.datasets.v1.CollectionInfo\"\x00\x12]\n\x13GetCollectionByName\x12\'.datasets.v1.GetCollectionByNameRequest\x1a\x1b.datasets.v1.CollectionInfo\"\x00\x12\x61\n\x10\x44\x65leteCollection\x12$.datasets.v1.DeleteCollectionRequest\x1a%.datasets.v1.DeleteCollectionResponse\"\x00\x12V\n\x0fListCollections\x12#.datasets.v1.ListCollectionsRequest\x1a\x1c.datasets.v1.CollectionInfos\"\x00\x42u\n\x0f\x63om.datasets.v1B\x10\x43ollectionsProtoP\x01\xa2\x02\x03\x44XX\xaa\x02\x0b\x44\x61tasets.V1\xca\x02\x0b\x44\x61tasets\\V1\xe2\x02\x17\x44\x61tasets\\V1\\GPBMetadata\xea\x02\x0c\x44\x61tasets::V1\x92\x03\x02\x08\x02\x62\x08\x65\x64itionsp\xe8\x07')
|
|
30
|
+
|
|
31
|
+
_globals = globals()
|
|
32
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
33
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'datasets.v1.collections_pb2', _globals)
|
|
34
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
35
|
+
_globals['DESCRIPTOR']._loaded_options = None
|
|
36
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n\017com.datasets.v1B\020CollectionsProtoP\001\242\002\003DXX\252\002\013Datasets.V1\312\002\013Datasets\\V1\342\002\027Datasets\\V1\\GPBMetadata\352\002\014Datasets::V1\222\003\002\010\002'
|
|
37
|
+
_globals['_CREATECOLLECTIONREQUEST']._serialized_start=91
|
|
38
|
+
_globals['_CREATECOLLECTIONREQUEST']._serialized_end=183
|
|
39
|
+
_globals['_GETCOLLECTIONBYNAMEREQUEST']._serialized_start=186
|
|
40
|
+
_globals['_GETCOLLECTIONBYNAMEREQUEST']._serialized_end=378
|
|
41
|
+
_globals['_DELETECOLLECTIONREQUEST']._serialized_start=380
|
|
42
|
+
_globals['_DELETECOLLECTIONREQUEST']._serialized_end=505
|
|
43
|
+
_globals['_DELETECOLLECTIONRESPONSE']._serialized_start=507
|
|
44
|
+
_globals['_DELETECOLLECTIONRESPONSE']._serialized_end=533
|
|
45
|
+
_globals['_LISTCOLLECTIONSREQUEST']._serialized_start=536
|
|
46
|
+
_globals['_LISTCOLLECTIONSREQUEST']._serialized_end=683
|
|
47
|
+
_globals['_COLLECTIONSERVICE']._serialized_start=686
|
|
48
|
+
_globals['_COLLECTIONSERVICE']._serialized_end=1076
|
|
49
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
from tilebox.datasets.
|
|
1
|
+
from tilebox.datasets.datasets.v1 import core_pb2 as _core_pb2
|
|
2
|
+
from tilebox.datasets.tilebox.v1 import id_pb2 as _id_pb2
|
|
2
3
|
from google.protobuf import descriptor as _descriptor
|
|
3
4
|
from google.protobuf import message as _message
|
|
4
5
|
from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Optional, Union as _Union
|
|
@@ -9,9 +10,9 @@ class CreateCollectionRequest(_message.Message):
|
|
|
9
10
|
__slots__ = ("dataset_id", "name")
|
|
10
11
|
DATASET_ID_FIELD_NUMBER: _ClassVar[int]
|
|
11
12
|
NAME_FIELD_NUMBER: _ClassVar[int]
|
|
12
|
-
dataset_id:
|
|
13
|
+
dataset_id: _id_pb2.ID
|
|
13
14
|
name: str
|
|
14
|
-
def __init__(self, dataset_id: _Optional[_Union[
|
|
15
|
+
def __init__(self, dataset_id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ..., name: _Optional[str] = ...) -> None: ...
|
|
15
16
|
|
|
16
17
|
class GetCollectionByNameRequest(_message.Message):
|
|
17
18
|
__slots__ = ("collection_name", "with_availability", "with_count", "dataset_id")
|
|
@@ -22,16 +23,16 @@ class GetCollectionByNameRequest(_message.Message):
|
|
|
22
23
|
collection_name: str
|
|
23
24
|
with_availability: bool
|
|
24
25
|
with_count: bool
|
|
25
|
-
dataset_id:
|
|
26
|
-
def __init__(self, collection_name: _Optional[str] = ..., with_availability: bool = ..., with_count: bool = ..., dataset_id: _Optional[_Union[
|
|
26
|
+
dataset_id: _id_pb2.ID
|
|
27
|
+
def __init__(self, collection_name: _Optional[str] = ..., with_availability: bool = ..., with_count: bool = ..., dataset_id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ...) -> None: ...
|
|
27
28
|
|
|
28
29
|
class DeleteCollectionRequest(_message.Message):
|
|
29
30
|
__slots__ = ("collection_id", "dataset_id")
|
|
30
31
|
COLLECTION_ID_FIELD_NUMBER: _ClassVar[int]
|
|
31
32
|
DATASET_ID_FIELD_NUMBER: _ClassVar[int]
|
|
32
|
-
collection_id:
|
|
33
|
-
dataset_id:
|
|
34
|
-
def __init__(self, collection_id: _Optional[_Union[
|
|
33
|
+
collection_id: _id_pb2.ID
|
|
34
|
+
dataset_id: _id_pb2.ID
|
|
35
|
+
def __init__(self, collection_id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ..., dataset_id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ...) -> None: ...
|
|
35
36
|
|
|
36
37
|
class DeleteCollectionResponse(_message.Message):
|
|
37
38
|
__slots__ = ()
|
|
@@ -42,7 +43,7 @@ class ListCollectionsRequest(_message.Message):
|
|
|
42
43
|
DATASET_ID_FIELD_NUMBER: _ClassVar[int]
|
|
43
44
|
WITH_AVAILABILITY_FIELD_NUMBER: _ClassVar[int]
|
|
44
45
|
WITH_COUNT_FIELD_NUMBER: _ClassVar[int]
|
|
45
|
-
dataset_id:
|
|
46
|
+
dataset_id: _id_pb2.ID
|
|
46
47
|
with_availability: bool
|
|
47
48
|
with_count: bool
|
|
48
|
-
def __init__(self, dataset_id: _Optional[_Union[
|
|
49
|
+
def __init__(self, dataset_id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ..., with_availability: bool = ..., with_count: bool = ...) -> None: ...
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
"""Client and server classes corresponding to protobuf-defined services."""
|
|
3
3
|
import grpc
|
|
4
4
|
|
|
5
|
-
from tilebox.datasets.
|
|
6
|
-
from tilebox.datasets.
|
|
5
|
+
from tilebox.datasets.datasets.v1 import collections_pb2 as datasets_dot_v1_dot_collections__pb2
|
|
6
|
+
from tilebox.datasets.datasets.v1 import core_pb2 as datasets_dot_v1_dot_core__pb2
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
class CollectionServiceStub(object):
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: datasets/v1/core.proto
|
|
5
|
+
# Protobuf Python Version: 5.29.3
|
|
6
|
+
"""Generated protocol buffer code."""
|
|
7
|
+
from google.protobuf import descriptor as _descriptor
|
|
8
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
+
from google.protobuf.internal import builder as _builder
|
|
12
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
13
|
+
_runtime_version.Domain.PUBLIC,
|
|
14
|
+
5,
|
|
15
|
+
29,
|
|
16
|
+
3,
|
|
17
|
+
'',
|
|
18
|
+
'datasets/v1/core.proto'
|
|
19
|
+
)
|
|
20
|
+
# @@protoc_insertion_point(imports)
|
|
21
|
+
|
|
22
|
+
_sym_db = _symbol_database.Default()
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
from tilebox.datasets.datasets.v1 import dataset_type_pb2 as datasets_dot_v1_dot_dataset__type__pb2
|
|
26
|
+
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
|
27
|
+
from tilebox.datasets.tilebox.v1 import id_pb2 as tilebox_dot_v1_dot_id__pb2
|
|
28
|
+
from tilebox.datasets.tilebox.v1 import query_pb2 as tilebox_dot_v1_dot_query__pb2
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16\x64\x61tasets/v1/core.proto\x12\x0b\x64\x61tasets.v1\x1a\x1e\x64\x61tasets/v1/dataset_type.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x13tilebox/v1/id.proto\x1a\x16tilebox/v1/query.proto\"]\n\x10LegacyPagination\x12\x1b\n\x05limit\x18\x01 \x01(\x03\x42\x05\xaa\x01\x02\x08\x01R\x05limit\x12,\n\x0estarting_after\x18\x02 \x01(\tB\x05\xaa\x01\x02\x08\x01R\rstartingAfter\"6\n\x03\x41ny\x12\x19\n\x08type_url\x18\x01 \x01(\tR\x07typeUrl\x12\x14\n\x05value\x18\x02 \x01(\x0cR\x05value\">\n\x0bRepeatedAny\x12\x19\n\x08type_url\x18\x01 \x01(\tR\x07typeUrl\x12\x14\n\x05value\x18\x02 \x03(\x0cR\x05value\"\xa8\x01\n\x11\x44\x61tapointMetadata\x12\x39\n\nevent_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\teventTime\x12\x41\n\x0eingestion_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ringestionTime\x12\x15\n\x02id\x18\x03 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x02id\"n\n\nDatapoints\x12\x32\n\x04meta\x18\x01 \x03(\x0b\x32\x1e.datasets.v1.DatapointMetadataR\x04meta\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.datasets.v1.RepeatedAnyR\x04\x64\x61ta\"\xb4\x01\n\rDatapointPage\x12\x32\n\x04meta\x18\x01 \x03(\x0b\x32\x1e.datasets.v1.DatapointMetadataR\x04meta\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.datasets.v1.RepeatedAnyR\x04\x64\x61ta\x12\x41\n\tnext_page\x18\x03 \x01(\x0b\x32\x1d.datasets.v1.LegacyPaginationB\x05\xaa\x01\x02\x08\x01R\x08nextPage\"e\n\tDatapoint\x12\x32\n\x04meta\x18\x01 \x01(\x0b\x32\x1e.datasets.v1.DatapointMetadataR\x04meta\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x10.datasets.v1.AnyR\x04\x64\x61ta\"]\n\nCollection\x12\x1b\n\tlegacy_id\x18\x01 \x01(\tR\x08legacyId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1e\n\x02id\x18\x03 \x01(\x0b\x32\x0e.tilebox.v1.IDR\x02id\"\xab\x01\n\x0e\x43ollectionInfo\x12\x37\n\ncollection\x18\x01 \x01(\x0b\x32\x17.datasets.v1.CollectionR\ncollection\x12\x43\n\x0c\x61vailability\x18\x02 \x01(\x0b\x32\x18.tilebox.v1.TimeIntervalB\x05\xaa\x01\x02\x08\x01R\x0c\x61vailability\x12\x1b\n\x05\x63ount\x18\x03 \x01(\x04\x42\x05\xaa\x01\x02\x08\x01R\x05\x63ount\"B\n\x0f\x43ollectionInfos\x12/\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32\x1b.datasets.v1.CollectionInfoR\x04\x64\x61ta\"\xb9\x03\n\x07\x44\x61taset\x12\x1e\n\x02id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDR\x02id\x12)\n\x08group_id\x18\x02 \x01(\x0b\x32\x0e.tilebox.v1.IDR\x07groupId\x12.\n\x04type\x18\x03 \x01(\x0b\x32\x1a.datasets.v1.AnnotatedTypeR\x04type\x12\x1b\n\tcode_name\x18\x04 \x01(\tR\x08\x63odeName\x12\x12\n\x04name\x18\x05 \x01(\tR\x04name\x12\x18\n\x07summary\x18\x06 \x01(\tR\x07summary\x12\x12\n\x04icon\x18\x07 \x01(\tR\x04icon\x12 \n\x0b\x64\x65scription\x18\x08 \x01(\tR\x0b\x64\x65scription\x12@\n\x0bpermissions\x18\n \x03(\x0e\x32\x1e.datasets.v1.DatasetPermissionR\x0bpermissions\x12\x37\n\nvisibility\x18\x0b \x01(\x0e\x32\x17.datasets.v1.VisibilityR\nvisibility\x12\x12\n\x04slug\x18\x0c \x01(\tR\x04slug\x12#\n\rtype_editable\x18\r \x01(\x08R\x0ctypeEditable\"\xa0\x01\n\x0c\x44\x61tasetGroup\x12\x1e\n\x02id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDR\x02id\x12+\n\tparent_id\x18\x02 \x01(\x0b\x32\x0e.tilebox.v1.IDR\x08parentId\x12\x1b\n\tcode_name\x18\x03 \x01(\tR\x08\x63odeName\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x12\x12\n\x04icon\x18\x05 \x01(\tR\x04icon*\x9b\x01\n\x11\x44\x61tasetPermission\x12\"\n\x1e\x44\x41TASET_PERMISSION_UNSPECIFIED\x10\x00\x12\"\n\x1e\x44\x41TASET_PERMISSION_ACCESS_DATA\x10\x01\x12!\n\x1d\x44\x41TASET_PERMISSION_WRITE_DATA\x10\x02\x12\x1b\n\x17\x44\x41TASET_PERMISSION_EDIT\x10\x03*v\n\nVisibility\x12\x1a\n\x16VISIBILITY_UNSPECIFIED\x10\x00\x12\x16\n\x12VISIBILITY_PRIVATE\x10\x01\x12\x1d\n\x19VISIBILITY_SHARED_WITH_ME\x10\x02\x12\x15\n\x11VISIBILITY_PUBLIC\x10\x03\x42n\n\x0f\x63om.datasets.v1B\tCoreProtoP\x01\xa2\x02\x03\x44XX\xaa\x02\x0b\x44\x61tasets.V1\xca\x02\x0b\x44\x61tasets\\V1\xe2\x02\x17\x44\x61tasets\\V1\\GPBMetadata\xea\x02\x0c\x44\x61tasets::V1\x92\x03\x02\x08\x02\x62\x08\x65\x64itionsp\xe8\x07')
|
|
32
|
+
|
|
33
|
+
_globals = globals()
|
|
34
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
35
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'datasets.v1.core_pb2', _globals)
|
|
36
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
37
|
+
_globals['DESCRIPTOR']._loaded_options = None
|
|
38
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n\017com.datasets.v1B\tCoreProtoP\001\242\002\003DXX\252\002\013Datasets.V1\312\002\013Datasets\\V1\342\002\027Datasets\\V1\\GPBMetadata\352\002\014Datasets::V1\222\003\002\010\002'
|
|
39
|
+
_globals['_LEGACYPAGINATION'].fields_by_name['limit']._loaded_options = None
|
|
40
|
+
_globals['_LEGACYPAGINATION'].fields_by_name['limit']._serialized_options = b'\252\001\002\010\001'
|
|
41
|
+
_globals['_LEGACYPAGINATION'].fields_by_name['starting_after']._loaded_options = None
|
|
42
|
+
_globals['_LEGACYPAGINATION'].fields_by_name['starting_after']._serialized_options = b'\252\001\002\010\001'
|
|
43
|
+
_globals['_DATAPOINTMETADATA'].fields_by_name['id']._loaded_options = None
|
|
44
|
+
_globals['_DATAPOINTMETADATA'].fields_by_name['id']._serialized_options = b'\252\001\002\010\001'
|
|
45
|
+
_globals['_DATAPOINTPAGE'].fields_by_name['next_page']._loaded_options = None
|
|
46
|
+
_globals['_DATAPOINTPAGE'].fields_by_name['next_page']._serialized_options = b'\252\001\002\010\001'
|
|
47
|
+
_globals['_COLLECTIONINFO'].fields_by_name['availability']._loaded_options = None
|
|
48
|
+
_globals['_COLLECTIONINFO'].fields_by_name['availability']._serialized_options = b'\252\001\002\010\001'
|
|
49
|
+
_globals['_COLLECTIONINFO'].fields_by_name['count']._loaded_options = None
|
|
50
|
+
_globals['_COLLECTIONINFO'].fields_by_name['count']._serialized_options = b'\252\001\002\010\001'
|
|
51
|
+
_globals['_DATASETPERMISSION']._serialized_start=1878
|
|
52
|
+
_globals['_DATASETPERMISSION']._serialized_end=2033
|
|
53
|
+
_globals['_VISIBILITY']._serialized_start=2035
|
|
54
|
+
_globals['_VISIBILITY']._serialized_end=2153
|
|
55
|
+
_globals['_LEGACYPAGINATION']._serialized_start=149
|
|
56
|
+
_globals['_LEGACYPAGINATION']._serialized_end=242
|
|
57
|
+
_globals['_ANY']._serialized_start=244
|
|
58
|
+
_globals['_ANY']._serialized_end=298
|
|
59
|
+
_globals['_REPEATEDANY']._serialized_start=300
|
|
60
|
+
_globals['_REPEATEDANY']._serialized_end=362
|
|
61
|
+
_globals['_DATAPOINTMETADATA']._serialized_start=365
|
|
62
|
+
_globals['_DATAPOINTMETADATA']._serialized_end=533
|
|
63
|
+
_globals['_DATAPOINTS']._serialized_start=535
|
|
64
|
+
_globals['_DATAPOINTS']._serialized_end=645
|
|
65
|
+
_globals['_DATAPOINTPAGE']._serialized_start=648
|
|
66
|
+
_globals['_DATAPOINTPAGE']._serialized_end=828
|
|
67
|
+
_globals['_DATAPOINT']._serialized_start=830
|
|
68
|
+
_globals['_DATAPOINT']._serialized_end=931
|
|
69
|
+
_globals['_COLLECTION']._serialized_start=933
|
|
70
|
+
_globals['_COLLECTION']._serialized_end=1026
|
|
71
|
+
_globals['_COLLECTIONINFO']._serialized_start=1029
|
|
72
|
+
_globals['_COLLECTIONINFO']._serialized_end=1200
|
|
73
|
+
_globals['_COLLECTIONINFOS']._serialized_start=1202
|
|
74
|
+
_globals['_COLLECTIONINFOS']._serialized_end=1268
|
|
75
|
+
_globals['_DATASET']._serialized_start=1271
|
|
76
|
+
_globals['_DATASET']._serialized_end=1712
|
|
77
|
+
_globals['_DATASETGROUP']._serialized_start=1715
|
|
78
|
+
_globals['_DATASETGROUP']._serialized_end=1875
|
|
79
|
+
# @@protoc_insertion_point(module_scope)
|