From 012854bfcf3dc57b6c49f88928fb8e534f2a361c Mon Sep 17 00:00:00 2001 From: Lukas Bindreiter Date: Thu, 16 Jul 2026 17:43:43 +0200 Subject: [PATCH 1/2] Update protos --- pyproject.toml | 4 +- .../tilebox/datasets/datasets/__init__.py | 0 .../datasets/datasets/stac/__init__.py | 0 .../datasets/stac/v1/asset_metadata_pb2.py | 91 +++++++ .../datasets/stac/v1/asset_metadata_pb2.pyi | 136 +++++++++++ .../stac/v1/asset_metadata_pb2_grpc.py | 3 + .../datasets/datasets/stac/v1/asset_pb2.py | 86 +++++++ .../datasets/datasets/stac/v1/asset_pb2.pyi | 225 ++++++++++++++++++ .../datasets/stac/v1/asset_pb2_grpc.py | 3 + .../datasets/stac/v1/authentication_pb2.py | 92 +++++++ .../datasets/stac/v1/authentication_pb2.pyi | 127 ++++++++++ .../stac/v1/authentication_pb2_grpc.py | 3 + .../datasets/datasets/stac/v1/core_pb2.py | 59 +++++ .../datasets/datasets/stac/v1/core_pb2.pyi | 120 ++++++++++ .../datasets/stac/v1/core_pb2_grpc.py | 3 + .../datasets/stac/v1/processing_pb2.py | 41 ++++ .../datasets/stac/v1/processing_pb2.pyi | 20 ++ .../datasets/stac/v1/processing_pb2_grpc.py | 3 + .../datasets/datasets/stac/v1/product_pb2.py | 45 ++++ .../datasets/datasets/stac/v1/product_pb2.pyi | 29 +++ .../datasets/stac/v1/product_pb2_grpc.py | 3 + .../datasets/datasets/stac/v1/sar_pb2.py | 65 +++++ .../datasets/datasets/stac/v1/sar_pb2.pyi | 97 ++++++++ .../datasets/datasets/stac/v1/sar_pb2_grpc.py | 3 + .../datasets/stac/v1/satellite_pb2.py | 52 ++++ .../datasets/stac/v1/satellite_pb2.pyi | 50 ++++ .../datasets/stac/v1/satellite_pb2_grpc.py | 3 + .../datasets/datasets/stac/v1/storage_pb2.py | 59 +++++ .../datasets/datasets/stac/v1/storage_pb2.pyi | 54 +++++ .../datasets/stac/v1/storage_pb2_grpc.py | 3 + .../datasets/datasets/v1/dataset_type_pb2.py | 36 +-- .../datasets/datasets/v1/dataset_type_pb2.pyi | 8 +- tools/generate_protobuf.py | 3 + 33 files changed, 1502 insertions(+), 24 deletions(-) create mode 100644 tilebox-datasets/tilebox/datasets/datasets/__init__.py create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/__init__.py create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_metadata_pb2.py create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_metadata_pb2.pyi create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_metadata_pb2_grpc.py create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_pb2.py create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_pb2.pyi create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_pb2_grpc.py create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/authentication_pb2.py create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/authentication_pb2.pyi create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/authentication_pb2_grpc.py create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/core_pb2.py create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/core_pb2.pyi create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/core_pb2_grpc.py create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/processing_pb2.py create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/processing_pb2.pyi create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/processing_pb2_grpc.py create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/product_pb2.py create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/product_pb2.pyi create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/product_pb2_grpc.py create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/sar_pb2.py create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/sar_pb2.pyi create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/sar_pb2_grpc.py create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/satellite_pb2.py create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/satellite_pb2.pyi create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/satellite_pb2_grpc.py create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/storage_pb2.py create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/storage_pb2.pyi create mode 100644 tilebox-datasets/tilebox/datasets/datasets/stac/v1/storage_pb2_grpc.py diff --git a/pyproject.toml b/pyproject.toml index a9abc95..140f83a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -69,9 +69,9 @@ exclude = [ "*/.venv/*", # it's auto generated, don't lint it "*/datasets/v1/*", + "*/datasets/stac/v1/*", "*/workflows/v1/*", "*/tilebox/v1/*", - "*/buf/validate/*", ] [tool.ruff.lint] @@ -85,7 +85,7 @@ ignore = [ "DTZ", # flake8-datetimez: utc datetimes are useful "DJ", # flake8-django: not needed "EM", # flake8-errmsg: str directly in Exception constructor is accetable - "TCH", # flake8-type-checking: type checking blocks are weird + "TC", # flake8-type-checking: type checking blocks are weird # specific rules "ANN401", # any-type: allow Any in *args and **kwargs "S101", # assert: allow usage of assert diff --git a/tilebox-datasets/tilebox/datasets/datasets/__init__.py b/tilebox-datasets/tilebox/datasets/datasets/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/__init__.py b/tilebox-datasets/tilebox/datasets/datasets/stac/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_metadata_pb2.py b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_metadata_pb2.py new file mode 100644 index 0000000..c3932b4 --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_metadata_pb2.py @@ -0,0 +1,91 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: datasets/stac/v1/asset_metadata.proto +# Protobuf Python Version: 6.30.0 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 30, + 0, + '', + 'datasets/stac/v1/asset_metadata.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%datasets/stac/v1/asset_metadata.proto\x12\x10\x64\x61tasets.stac.v1\"\xef\x01\n\x0c\x45OProperties\x12?\n\x0b\x63ommon_name\x18\x01 \x01(\x0e\x32\x1e.datasets.stac.v1.EOCommonNameR\ncommonName\x12\x32\n\x11\x63\x65nter_wavelength\x18\x02 \x01(\x01\x42\x05\xaa\x01\x02\x08\x01R\x10\x63\x65nterWavelength\x12\x34\n\x13\x66ull_width_half_max\x18\x03 \x01(\x01\x42\x05\xaa\x01\x02\x08\x01R\x10\x66ullWidthHalfMax\x12\x34\n\x12solar_illumination\x18\x04 \x01(\x01\x42\x05\xaa\x01\x02\x08\x01R\x11solarIllumination\"\xc2\x01\n\x10RasterProperties\x12<\n\x08sampling\x18\x01 \x01(\x0e\x32 .datasets.stac.v1.RasterSamplingR\x08sampling\x12\x1b\n\x05scale\x18\x02 \x01(\x01\x42\x05\xaa\x01\x02\x08\x01R\x05scale\x12\x1d\n\x06offset\x18\x03 \x01(\x01\x42\x05\xaa\x01\x02\x08\x01R\x06offset\x12\x34\n\x12spatial_resolution\x18\x04 \x01(\x01\x42\x05\xaa\x01\x02\x08\x01R\x11spatialResolution\"\x9c\x02\n\x13\x43lassificationClass\x12\x1b\n\x05value\x18\x01 \x01(\x03\x42\x05\xaa\x01\x02\x08\x01R\x05value\x12\'\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x0b\x64\x65scription\x12\x19\n\x04name\x18\x03 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x04name\x12\x1b\n\x05title\x18\x04 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x05title\x12$\n\ncolor_hint\x18\x05 \x01(\tB\x05\xaa\x01\x02\x08\x01R\tcolorHint\x12\x1d\n\x06nodata\x18\x06 \x01(\x08\x42\x05\xaa\x01\x02\x08\x01R\x06nodata\x12%\n\npercentage\x18\x07 \x01(\x01\x42\x05\xaa\x01\x02\x08\x01R\npercentage\x12\x1b\n\x05\x63ount\x18\x08 \x01(\x04\x42\x05\xaa\x01\x02\x08\x01R\x05\x63ount\"o\n\nProjection\x12\x19\n\x04\x63ode\x18\x01 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x04\x63ode\x12\x12\n\x04\x62\x62ox\x18\x02 \x03(\x01R\x04\x62\x62ox\x12\x14\n\x05shape\x18\x03 \x03(\x03R\x05shape\x12\x1c\n\ttransform\x18\x04 \x03(\x01R\ttransform\"W\n\x04View\x12.\n\x0fincidence_angle\x18\x01 \x01(\x01\x42\x05\xaa\x01\x02\x08\x01R\x0eincidenceAngle\x12\x1f\n\x07\x61zimuth\x18\x02 \x01(\x01\x42\x05\xaa\x01\x02\x08\x01R\x07\x61zimuth\"j\n\x04\x46ile\x12!\n\x08\x63hecksum\x18\x01 \x01(\x0c\x42\x05\xaa\x01\x02\x08\x01R\x08\x63hecksum\x12\x19\n\x04size\x18\x02 \x01(\x04\x42\x05\xaa\x01\x02\x08\x01R\x04size\x12$\n\nlocal_path\x18\x03 \x01(\tB\x05\xaa\x01\x02\x08\x01R\tlocalPath*\xc9\x04\n\x0c\x45OCommonName\x12\x1e\n\x1a\x45O_COMMON_NAME_UNSPECIFIED\x10\x00\x12\x16\n\x12\x45O_COMMON_NAME_PAN\x10\x01\x12\x1a\n\x16\x45O_COMMON_NAME_COASTAL\x10\x02\x12\x17\n\x13\x45O_COMMON_NAME_BLUE\x10\x03\x12\x18\n\x14\x45O_COMMON_NAME_GREEN\x10\x04\x12\x1a\n\x16\x45O_COMMON_NAME_GREEN05\x10\x05\x12\x19\n\x15\x45O_COMMON_NAME_YELLOW\x10\x06\x12\x16\n\x12\x45O_COMMON_NAME_RED\x10\x07\x12\x1a\n\x16\x45O_COMMON_NAME_REDEDGE\x10\x08\x12\x1d\n\x19\x45O_COMMON_NAME_REDEDGE071\x10\t\x12\x1d\n\x19\x45O_COMMON_NAME_REDEDGE075\x10\n\x12\x1d\n\x19\x45O_COMMON_NAME_REDEDGE078\x10\x0b\x12\x16\n\x12\x45O_COMMON_NAME_NIR\x10\x0c\x12\x18\n\x14\x45O_COMMON_NAME_NIR08\x10\r\x12\x18\n\x14\x45O_COMMON_NAME_NIR09\x10\x0e\x12\x19\n\x15\x45O_COMMON_NAME_CIRRUS\x10\x0f\x12\x19\n\x15\x45O_COMMON_NAME_SWIR16\x10\x10\x12\x19\n\x15\x45O_COMMON_NAME_SWIR22\x10\x11\x12\x17\n\x13\x45O_COMMON_NAME_LWIR\x10\x12\x12\x19\n\x15\x45O_COMMON_NAME_LWIR11\x10\x13\x12\x19\n\x15\x45O_COMMON_NAME_LWIR12\x10\x14*f\n\x0eRasterSampling\x12\x1f\n\x1bRASTER_SAMPLING_UNSPECIFIED\x10\x00\x12\x18\n\x14RASTER_SAMPLING_AREA\x10\x01\x12\x19\n\x15RASTER_SAMPLING_POINT\x10\x02\x42\x91\x01\n\x14\x63om.datasets.stac.v1B\x12\x41ssetMetadataProtoP\x01\xa2\x02\x03\x44SX\xaa\x02\x10\x44\x61tasets.Stac.V1\xca\x02\x10\x44\x61tasets\\Stac\\V1\xe2\x02\x1c\x44\x61tasets\\Stac\\V1\\GPBMetadata\xea\x02\x12\x44\x61tasets::Stac::V1\x92\x03\x02\x08\x02\x62\x08\x65\x64itionsp\xe8\x07') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'datasets.stac.v1.asset_metadata_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.datasets.stac.v1B\022AssetMetadataProtoP\001\242\002\003DSX\252\002\020Datasets.Stac.V1\312\002\020Datasets\\Stac\\V1\342\002\034Datasets\\Stac\\V1\\GPBMetadata\352\002\022Datasets::Stac::V1\222\003\002\010\002' + _globals['_EOPROPERTIES'].fields_by_name['center_wavelength']._loaded_options = None + _globals['_EOPROPERTIES'].fields_by_name['center_wavelength']._serialized_options = b'\252\001\002\010\001' + _globals['_EOPROPERTIES'].fields_by_name['full_width_half_max']._loaded_options = None + _globals['_EOPROPERTIES'].fields_by_name['full_width_half_max']._serialized_options = b'\252\001\002\010\001' + _globals['_EOPROPERTIES'].fields_by_name['solar_illumination']._loaded_options = None + _globals['_EOPROPERTIES'].fields_by_name['solar_illumination']._serialized_options = b'\252\001\002\010\001' + _globals['_RASTERPROPERTIES'].fields_by_name['scale']._loaded_options = None + _globals['_RASTERPROPERTIES'].fields_by_name['scale']._serialized_options = b'\252\001\002\010\001' + _globals['_RASTERPROPERTIES'].fields_by_name['offset']._loaded_options = None + _globals['_RASTERPROPERTIES'].fields_by_name['offset']._serialized_options = b'\252\001\002\010\001' + _globals['_RASTERPROPERTIES'].fields_by_name['spatial_resolution']._loaded_options = None + _globals['_RASTERPROPERTIES'].fields_by_name['spatial_resolution']._serialized_options = b'\252\001\002\010\001' + _globals['_CLASSIFICATIONCLASS'].fields_by_name['value']._loaded_options = None + _globals['_CLASSIFICATIONCLASS'].fields_by_name['value']._serialized_options = b'\252\001\002\010\001' + _globals['_CLASSIFICATIONCLASS'].fields_by_name['description']._loaded_options = None + _globals['_CLASSIFICATIONCLASS'].fields_by_name['description']._serialized_options = b'\252\001\002\010\001' + _globals['_CLASSIFICATIONCLASS'].fields_by_name['name']._loaded_options = None + _globals['_CLASSIFICATIONCLASS'].fields_by_name['name']._serialized_options = b'\252\001\002\010\001' + _globals['_CLASSIFICATIONCLASS'].fields_by_name['title']._loaded_options = None + _globals['_CLASSIFICATIONCLASS'].fields_by_name['title']._serialized_options = b'\252\001\002\010\001' + _globals['_CLASSIFICATIONCLASS'].fields_by_name['color_hint']._loaded_options = None + _globals['_CLASSIFICATIONCLASS'].fields_by_name['color_hint']._serialized_options = b'\252\001\002\010\001' + _globals['_CLASSIFICATIONCLASS'].fields_by_name['nodata']._loaded_options = None + _globals['_CLASSIFICATIONCLASS'].fields_by_name['nodata']._serialized_options = b'\252\001\002\010\001' + _globals['_CLASSIFICATIONCLASS'].fields_by_name['percentage']._loaded_options = None + _globals['_CLASSIFICATIONCLASS'].fields_by_name['percentage']._serialized_options = b'\252\001\002\010\001' + _globals['_CLASSIFICATIONCLASS'].fields_by_name['count']._loaded_options = None + _globals['_CLASSIFICATIONCLASS'].fields_by_name['count']._serialized_options = b'\252\001\002\010\001' + _globals['_PROJECTION'].fields_by_name['code']._loaded_options = None + _globals['_PROJECTION'].fields_by_name['code']._serialized_options = b'\252\001\002\010\001' + _globals['_VIEW'].fields_by_name['incidence_angle']._loaded_options = None + _globals['_VIEW'].fields_by_name['incidence_angle']._serialized_options = b'\252\001\002\010\001' + _globals['_VIEW'].fields_by_name['azimuth']._loaded_options = None + _globals['_VIEW'].fields_by_name['azimuth']._serialized_options = b'\252\001\002\010\001' + _globals['_FILE'].fields_by_name['checksum']._loaded_options = None + _globals['_FILE'].fields_by_name['checksum']._serialized_options = b'\252\001\002\010\001' + _globals['_FILE'].fields_by_name['size']._loaded_options = None + _globals['_FILE'].fields_by_name['size']._serialized_options = b'\252\001\002\010\001' + _globals['_FILE'].fields_by_name['local_path']._loaded_options = None + _globals['_FILE'].fields_by_name['local_path']._serialized_options = b'\252\001\002\010\001' + _globals['_EOCOMMONNAME']._serialized_start=1096 + _globals['_EOCOMMONNAME']._serialized_end=1681 + _globals['_RASTERSAMPLING']._serialized_start=1683 + _globals['_RASTERSAMPLING']._serialized_end=1785 + _globals['_EOPROPERTIES']._serialized_start=60 + _globals['_EOPROPERTIES']._serialized_end=299 + _globals['_RASTERPROPERTIES']._serialized_start=302 + _globals['_RASTERPROPERTIES']._serialized_end=496 + _globals['_CLASSIFICATIONCLASS']._serialized_start=499 + _globals['_CLASSIFICATIONCLASS']._serialized_end=783 + _globals['_PROJECTION']._serialized_start=785 + _globals['_PROJECTION']._serialized_end=896 + _globals['_VIEW']._serialized_start=898 + _globals['_VIEW']._serialized_end=985 + _globals['_FILE']._serialized_start=987 + _globals['_FILE']._serialized_end=1093 +# @@protoc_insertion_point(module_scope) diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_metadata_pb2.pyi b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_metadata_pb2.pyi new file mode 100644 index 0000000..50aebef --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_metadata_pb2.pyi @@ -0,0 +1,136 @@ +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class EOCommonName(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + EO_COMMON_NAME_UNSPECIFIED: _ClassVar[EOCommonName] + EO_COMMON_NAME_PAN: _ClassVar[EOCommonName] + EO_COMMON_NAME_COASTAL: _ClassVar[EOCommonName] + EO_COMMON_NAME_BLUE: _ClassVar[EOCommonName] + EO_COMMON_NAME_GREEN: _ClassVar[EOCommonName] + EO_COMMON_NAME_GREEN05: _ClassVar[EOCommonName] + EO_COMMON_NAME_YELLOW: _ClassVar[EOCommonName] + EO_COMMON_NAME_RED: _ClassVar[EOCommonName] + EO_COMMON_NAME_REDEDGE: _ClassVar[EOCommonName] + EO_COMMON_NAME_REDEDGE071: _ClassVar[EOCommonName] + EO_COMMON_NAME_REDEDGE075: _ClassVar[EOCommonName] + EO_COMMON_NAME_REDEDGE078: _ClassVar[EOCommonName] + EO_COMMON_NAME_NIR: _ClassVar[EOCommonName] + EO_COMMON_NAME_NIR08: _ClassVar[EOCommonName] + EO_COMMON_NAME_NIR09: _ClassVar[EOCommonName] + EO_COMMON_NAME_CIRRUS: _ClassVar[EOCommonName] + EO_COMMON_NAME_SWIR16: _ClassVar[EOCommonName] + EO_COMMON_NAME_SWIR22: _ClassVar[EOCommonName] + EO_COMMON_NAME_LWIR: _ClassVar[EOCommonName] + EO_COMMON_NAME_LWIR11: _ClassVar[EOCommonName] + EO_COMMON_NAME_LWIR12: _ClassVar[EOCommonName] + +class RasterSampling(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + RASTER_SAMPLING_UNSPECIFIED: _ClassVar[RasterSampling] + RASTER_SAMPLING_AREA: _ClassVar[RasterSampling] + RASTER_SAMPLING_POINT: _ClassVar[RasterSampling] +EO_COMMON_NAME_UNSPECIFIED: EOCommonName +EO_COMMON_NAME_PAN: EOCommonName +EO_COMMON_NAME_COASTAL: EOCommonName +EO_COMMON_NAME_BLUE: EOCommonName +EO_COMMON_NAME_GREEN: EOCommonName +EO_COMMON_NAME_GREEN05: EOCommonName +EO_COMMON_NAME_YELLOW: EOCommonName +EO_COMMON_NAME_RED: EOCommonName +EO_COMMON_NAME_REDEDGE: EOCommonName +EO_COMMON_NAME_REDEDGE071: EOCommonName +EO_COMMON_NAME_REDEDGE075: EOCommonName +EO_COMMON_NAME_REDEDGE078: EOCommonName +EO_COMMON_NAME_NIR: EOCommonName +EO_COMMON_NAME_NIR08: EOCommonName +EO_COMMON_NAME_NIR09: EOCommonName +EO_COMMON_NAME_CIRRUS: EOCommonName +EO_COMMON_NAME_SWIR16: EOCommonName +EO_COMMON_NAME_SWIR22: EOCommonName +EO_COMMON_NAME_LWIR: EOCommonName +EO_COMMON_NAME_LWIR11: EOCommonName +EO_COMMON_NAME_LWIR12: EOCommonName +RASTER_SAMPLING_UNSPECIFIED: RasterSampling +RASTER_SAMPLING_AREA: RasterSampling +RASTER_SAMPLING_POINT: RasterSampling + +class EOProperties(_message.Message): + __slots__ = ("common_name", "center_wavelength", "full_width_half_max", "solar_illumination") + COMMON_NAME_FIELD_NUMBER: _ClassVar[int] + CENTER_WAVELENGTH_FIELD_NUMBER: _ClassVar[int] + FULL_WIDTH_HALF_MAX_FIELD_NUMBER: _ClassVar[int] + SOLAR_ILLUMINATION_FIELD_NUMBER: _ClassVar[int] + common_name: EOCommonName + center_wavelength: float + full_width_half_max: float + solar_illumination: float + def __init__(self, common_name: _Optional[_Union[EOCommonName, str]] = ..., center_wavelength: _Optional[float] = ..., full_width_half_max: _Optional[float] = ..., solar_illumination: _Optional[float] = ...) -> None: ... + +class RasterProperties(_message.Message): + __slots__ = ("sampling", "scale", "offset", "spatial_resolution") + SAMPLING_FIELD_NUMBER: _ClassVar[int] + SCALE_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + SPATIAL_RESOLUTION_FIELD_NUMBER: _ClassVar[int] + sampling: RasterSampling + scale: float + offset: float + spatial_resolution: float + def __init__(self, sampling: _Optional[_Union[RasterSampling, str]] = ..., scale: _Optional[float] = ..., offset: _Optional[float] = ..., spatial_resolution: _Optional[float] = ...) -> None: ... + +class ClassificationClass(_message.Message): + __slots__ = ("value", "description", "name", "title", "color_hint", "nodata", "percentage", "count") + VALUE_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + TITLE_FIELD_NUMBER: _ClassVar[int] + COLOR_HINT_FIELD_NUMBER: _ClassVar[int] + NODATA_FIELD_NUMBER: _ClassVar[int] + PERCENTAGE_FIELD_NUMBER: _ClassVar[int] + COUNT_FIELD_NUMBER: _ClassVar[int] + value: int + description: str + name: str + title: str + color_hint: str + nodata: bool + percentage: float + count: int + def __init__(self, value: _Optional[int] = ..., description: _Optional[str] = ..., name: _Optional[str] = ..., title: _Optional[str] = ..., color_hint: _Optional[str] = ..., nodata: bool = ..., percentage: _Optional[float] = ..., count: _Optional[int] = ...) -> None: ... + +class Projection(_message.Message): + __slots__ = ("code", "bbox", "shape", "transform") + CODE_FIELD_NUMBER: _ClassVar[int] + BBOX_FIELD_NUMBER: _ClassVar[int] + SHAPE_FIELD_NUMBER: _ClassVar[int] + TRANSFORM_FIELD_NUMBER: _ClassVar[int] + code: str + bbox: _containers.RepeatedScalarFieldContainer[float] + shape: _containers.RepeatedScalarFieldContainer[int] + transform: _containers.RepeatedScalarFieldContainer[float] + def __init__(self, code: _Optional[str] = ..., bbox: _Optional[_Iterable[float]] = ..., shape: _Optional[_Iterable[int]] = ..., transform: _Optional[_Iterable[float]] = ...) -> None: ... + +class View(_message.Message): + __slots__ = ("incidence_angle", "azimuth") + INCIDENCE_ANGLE_FIELD_NUMBER: _ClassVar[int] + AZIMUTH_FIELD_NUMBER: _ClassVar[int] + incidence_angle: float + azimuth: float + def __init__(self, incidence_angle: _Optional[float] = ..., azimuth: _Optional[float] = ...) -> None: ... + +class File(_message.Message): + __slots__ = ("checksum", "size", "local_path") + CHECKSUM_FIELD_NUMBER: _ClassVar[int] + SIZE_FIELD_NUMBER: _ClassVar[int] + LOCAL_PATH_FIELD_NUMBER: _ClassVar[int] + checksum: bytes + size: int + local_path: str + def __init__(self, checksum: _Optional[bytes] = ..., size: _Optional[int] = ..., local_path: _Optional[str] = ...) -> None: ... diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_metadata_pb2_grpc.py b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_metadata_pb2_grpc.py new file mode 100644 index 0000000..8a93939 --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_metadata_pb2_grpc.py @@ -0,0 +1,3 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_pb2.py b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_pb2.py new file mode 100644 index 0000000..9fbe09f --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_pb2.py @@ -0,0 +1,86 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: datasets/stac/v1/asset.proto +# Protobuf Python Version: 6.30.0 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 30, + 0, + '', + 'datasets/stac/v1/asset.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from tilebox.datasets.datasets.stac.v1 import asset_metadata_pb2 as datasets_dot_stac_dot_v1_dot_asset__metadata__pb2 +from tilebox.datasets.datasets.stac.v1 import core_pb2 as datasets_dot_stac_dot_v1_dot_core__pb2 +from tilebox.datasets.datasets.stac.v1 import product_pb2 as datasets_dot_stac_dot_v1_dot_product__pb2 +from tilebox.datasets.datasets.stac.v1 import sar_pb2 as datasets_dot_stac_dot_v1_dot_sar__pb2 +from tilebox.datasets.datasets.stac.v1 import satellite_pb2 as datasets_dot_stac_dot_v1_dot_satellite__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x64\x61tasets/stac/v1/asset.proto\x12\x10\x64\x61tasets.stac.v1\x1a%datasets/stac/v1/asset_metadata.proto\x1a\x1b\x64\x61tasets/stac/v1/core.proto\x1a\x1e\x64\x61tasets/stac/v1/product.proto\x1a\x1a\x64\x61tasets/stac/v1/sar.proto\x1a datasets/stac/v1/satellite.proto\"N\n\nStatistics\x12\x1f\n\x07minimum\x18\x01 \x01(\x01\x42\x05\xaa\x01\x02\x08\x01R\x07minimum\x12\x1f\n\x07maximum\x18\x02 \x01(\x01\x42\x05\xaa\x01\x02\x08\x01R\x07maximum\"\xd3\x01\n\x12\x41ssetAccessProfile\x12#\n\ralternate_key\x18\x01 \x01(\tR\x0c\x61lternateKey\x12;\n\x16\x64\x65\x66\x61ult_alternate_name\x18\x02 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x14\x64\x65\x66\x61ultAlternateName\x12\x1b\n\tbase_href\x18\x03 \x01(\tR\x08\x62\x61seHref\x12!\n\x0cstorage_refs\x18\x04 \x03(\tR\x0bstorageRefs\x12\x1b\n\tauth_refs\x18\x05 \x03(\tR\x08\x61uthRefs\"\x91\x01\n\rAssetLocation\x12\x37\n\x14\x61\x63\x63\x65ss_profile_index\x18\x01 \x01(\rB\x05\xaa\x01\x02\x08\x01R\x12\x61\x63\x63\x65ssProfileIndex\x12\x19\n\x04href\x18\x02 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x04href\x12,\n\x0e\x61lternate_name\x18\x03 \x01(\tB\x05\xaa\x01\x02\x08\x01R\ralternateName\"\x9d\x03\n\x04\x42\x61nd\x12\x19\n\x04name\x18\x01 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x04name\x12\'\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x0b\x64\x65scription\x12\x37\n\tdata_type\x18\x03 \x01(\x0e\x32\x1a.datasets.stac.v1.DataTypeR\x08\x64\x61taType\x12\x1d\n\x06nodata\x18\x04 \x01(\x01\x42\x05\xaa\x01\x02\x08\x01R\x06nodata\x12\x19\n\x04unit\x18\x05 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x04unit\x12.\n\x02\x65o\x18\x06 \x01(\x0b\x32\x1e.datasets.stac.v1.EOPropertiesR\x02\x65o\x12:\n\x06raster\x18\x07 \x01(\x0b\x32\".datasets.stac.v1.RasterPropertiesR\x06raster\x12?\n\x07\x63lasses\x18\x08 \x03(\x0b\x32%.datasets.stac.v1.ClassificationClassR\x07\x63lasses\x12\x31\n\x03sar\x18\t \x01(\x0b\x32\x1f.datasets.stac.v1.SARPropertiesR\x03sar\"\xe8\x08\n\x05\x41sset\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x39\n\x07primary\x18\x02 \x01(\x0b\x32\x1f.datasets.stac.v1.AssetLocationR\x07primary\x12?\n\nalternates\x18\x03 \x03(\x0b\x32\x1f.datasets.stac.v1.AssetLocationR\nalternates\x12:\n\nmedia_type\x18\x04 \x01(\x0b\x32\x1b.datasets.stac.v1.MediaTypeR\tmediaType\x12\x1b\n\x05title\x18\x05 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x05title\x12\'\n\x0b\x64\x65scription\x18\x06 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x0b\x64\x65scription\x12\x36\n\x05roles\x18\x07 \x03(\x0e\x32 .datasets.stac.v1.KnownAssetRoleR\x05roles\x12!\n\x0c\x63ustom_roles\x18\x08 \x03(\tR\x0b\x63ustomRoles\x12\x17\n\x03gsd\x18\t \x01(\x01\x42\x05\xaa\x01\x02\x08\x01R\x03gsd\x12\x30\n\x14\x62\x61nd_profile_indices\x18\n \x03(\rR\x12\x62\x61ndProfileIndices\x12\x37\n\tdata_type\x18\x0b \x01(\x0e\x32\x1a.datasets.stac.v1.DataTypeR\x08\x64\x61taType\x12\x1d\n\x06nodata\x18\x0c \x01(\x01\x42\x05\xaa\x01\x02\x08\x01R\x06nodata\x12<\n\nstatistics\x18\r \x01(\x0b\x32\x1c.datasets.stac.v1.StatisticsR\nstatistics\x12\x19\n\x04unit\x18\x0e \x01(\tB\x05\xaa\x01\x02\x08\x01R\x04unit\x12.\n\x02\x65o\x18\x0f \x01(\x0b\x32\x1e.datasets.stac.v1.EOPropertiesR\x02\x65o\x12:\n\x06raster\x18\x10 \x01(\x0b\x32\".datasets.stac.v1.RasterPropertiesR\x06raster\x12<\n\nprojection\x18\x11 \x01(\x0b\x32\x1c.datasets.stac.v1.ProjectionR\nprojection\x12*\n\x04view\x18\x12 \x01(\x0b\x32\x16.datasets.stac.v1.ViewR\x04view\x12?\n\x07\x63lasses\x18\x13 \x03(\x0b\x32%.datasets.stac.v1.ClassificationClassR\x07\x63lasses\x12*\n\x04\x66ile\x18\x14 \x01(\x0b\x32\x16.datasets.stac.v1.FileR\x04\x66ile\x12\x31\n\x03sar\x18\x15 \x01(\x0b\x32\x1f.datasets.stac.v1.SARPropertiesR\x03sar\x12\x43\n\tsatellite\x18\x16 \x01(\x0b\x32%.datasets.stac.v1.SatellitePropertiesR\tsatellite\x12=\n\x07product\x18\x17 \x01(\x0b\x32#.datasets.stac.v1.ProductPropertiesR\x07product\"\xc5\x01\n\x06\x41ssets\x12M\n\x0f\x61\x63\x63\x65ss_profiles\x18\x01 \x03(\x0b\x32$.datasets.stac.v1.AssetAccessProfileR\x0e\x61\x63\x63\x65ssProfiles\x12;\n\rband_profiles\x18\x02 \x03(\x0b\x32\x16.datasets.stac.v1.BandR\x0c\x62\x61ndProfiles\x12/\n\x06\x61ssets\x18\x03 \x03(\x0b\x32\x17.datasets.stac.v1.AssetR\x06\x61ssets*\xbe\x07\n\x0eKnownAssetRole\x12 \n\x1cKNOWN_ASSET_ROLE_UNSPECIFIED\x10\x00\x12\x19\n\x15KNOWN_ASSET_ROLE_DATA\x10\x01\x12\x1d\n\x19KNOWN_ASSET_ROLE_METADATA\x10\x02\x12\x1e\n\x1aKNOWN_ASSET_ROLE_THUMBNAIL\x10\x03\x12\x1d\n\x19KNOWN_ASSET_ROLE_OVERVIEW\x10\x04\x12\x1b\n\x17KNOWN_ASSET_ROLE_VISUAL\x10\x05\x12\x19\n\x15KNOWN_ASSET_ROLE_DATE\x10\x06\x12\x1c\n\x18KNOWN_ASSET_ROLE_GRAPHIC\x10\x07\x12\x1e\n\x1aKNOWN_ASSET_ROLE_DATA_MASK\x10\x08\x12\x1d\n\x19KNOWN_ASSET_ROLE_SNOW_ICE\x10\t\x12\x1f\n\x1bKNOWN_ASSET_ROLE_LAND_WATER\x10\n\x12\x1f\n\x1bKNOWN_ASSET_ROLE_WATER_MASK\x10\x0b\x12\x1e\n\x1aKNOWN_ASSET_ROLE_ISO_19115\x10\x0c\x12 \n\x1cKNOWN_ASSET_ROLE_REFLECTANCE\x10\x64\x12 \n\x1cKNOWN_ASSET_ROLE_TEMPERATURE\x10\x65\x12\x1f\n\x1bKNOWN_ASSET_ROLE_SATURATION\x10\x66\x12\x1a\n\x16KNOWN_ASSET_ROLE_CLOUD\x10g\x12!\n\x1dKNOWN_ASSET_ROLE_CLOUD_SHADOW\x10h\x12+\n&KNOWN_ASSET_ROLE_LOCAL_INCIDENCE_ANGLE\x10\xc8\x01\x12/\n*KNOWN_ASSET_ROLE_ELLIPSOID_INCIDENCE_ANGLE\x10\xc9\x01\x12!\n\x1cKNOWN_ASSET_ROLE_NOISE_POWER\x10\xca\x01\x12\x1f\n\x1aKNOWN_ASSET_ROLE_AMPLITUDE\x10\xcb\x01\x12\x1f\n\x1aKNOWN_ASSET_ROLE_MAGNITUDE\x10\xcc\x01\x12\x1c\n\x17KNOWN_ASSET_ROLE_SIGMA0\x10\xcd\x01\x12\x1b\n\x16KNOWN_ASSET_ROLE_BETA0\x10\xce\x01\x12\x1c\n\x17KNOWN_ASSET_ROLE_GAMMA0\x10\xcf\x01\x12!\n\x1cKNOWN_ASSET_ROLE_DATE_OFFSET\x10\xd0\x01\x12\x1c\n\x17KNOWN_ASSET_ROLE_COVMAT\x10\xd1\x01\x12\x19\n\x14KNOWN_ASSET_ROLE_PRD\x10\xd2\x01*\x85\x03\n\x08\x44\x61taType\x12\x19\n\x15\x44\x41TA_TYPE_UNSPECIFIED\x10\x00\x12\x12\n\x0e\x44\x41TA_TYPE_INT8\x10\x01\x12\x13\n\x0f\x44\x41TA_TYPE_INT16\x10\x02\x12\x13\n\x0f\x44\x41TA_TYPE_INT32\x10\x03\x12\x13\n\x0f\x44\x41TA_TYPE_INT64\x10\x04\x12\x13\n\x0f\x44\x41TA_TYPE_UINT8\x10\x05\x12\x14\n\x10\x44\x41TA_TYPE_UINT16\x10\x06\x12\x14\n\x10\x44\x41TA_TYPE_UINT32\x10\x07\x12\x14\n\x10\x44\x41TA_TYPE_UINT64\x10\x08\x12\x15\n\x11\x44\x41TA_TYPE_FLOAT16\x10\t\x12\x15\n\x11\x44\x41TA_TYPE_FLOAT32\x10\n\x12\x15\n\x11\x44\x41TA_TYPE_FLOAT64\x10\x0b\x12\x14\n\x10\x44\x41TA_TYPE_CINT16\x10\x0c\x12\x14\n\x10\x44\x41TA_TYPE_CINT32\x10\r\x12\x16\n\x12\x44\x41TA_TYPE_CFLOAT32\x10\x0e\x12\x16\n\x12\x44\x41TA_TYPE_CFLOAT64\x10\x0f\x12\x13\n\x0f\x44\x41TA_TYPE_OTHER\x10\x10\x42\x89\x01\n\x14\x63om.datasets.stac.v1B\nAssetProtoP\x01\xa2\x02\x03\x44SX\xaa\x02\x10\x44\x61tasets.Stac.V1\xca\x02\x10\x44\x61tasets\\Stac\\V1\xe2\x02\x1c\x44\x61tasets\\Stac\\V1\\GPBMetadata\xea\x02\x12\x44\x61tasets::Stac::V1\x92\x03\x02\x08\x02\x62\x08\x65\x64itionsp\xe8\x07') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'datasets.stac.v1.asset_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.datasets.stac.v1B\nAssetProtoP\001\242\002\003DSX\252\002\020Datasets.Stac.V1\312\002\020Datasets\\Stac\\V1\342\002\034Datasets\\Stac\\V1\\GPBMetadata\352\002\022Datasets::Stac::V1\222\003\002\010\002' + _globals['_STATISTICS'].fields_by_name['minimum']._loaded_options = None + _globals['_STATISTICS'].fields_by_name['minimum']._serialized_options = b'\252\001\002\010\001' + _globals['_STATISTICS'].fields_by_name['maximum']._loaded_options = None + _globals['_STATISTICS'].fields_by_name['maximum']._serialized_options = b'\252\001\002\010\001' + _globals['_ASSETACCESSPROFILE'].fields_by_name['default_alternate_name']._loaded_options = None + _globals['_ASSETACCESSPROFILE'].fields_by_name['default_alternate_name']._serialized_options = b'\252\001\002\010\001' + _globals['_ASSETLOCATION'].fields_by_name['access_profile_index']._loaded_options = None + _globals['_ASSETLOCATION'].fields_by_name['access_profile_index']._serialized_options = b'\252\001\002\010\001' + _globals['_ASSETLOCATION'].fields_by_name['href']._loaded_options = None + _globals['_ASSETLOCATION'].fields_by_name['href']._serialized_options = b'\252\001\002\010\001' + _globals['_ASSETLOCATION'].fields_by_name['alternate_name']._loaded_options = None + _globals['_ASSETLOCATION'].fields_by_name['alternate_name']._serialized_options = b'\252\001\002\010\001' + _globals['_BAND'].fields_by_name['name']._loaded_options = None + _globals['_BAND'].fields_by_name['name']._serialized_options = b'\252\001\002\010\001' + _globals['_BAND'].fields_by_name['description']._loaded_options = None + _globals['_BAND'].fields_by_name['description']._serialized_options = b'\252\001\002\010\001' + _globals['_BAND'].fields_by_name['nodata']._loaded_options = None + _globals['_BAND'].fields_by_name['nodata']._serialized_options = b'\252\001\002\010\001' + _globals['_BAND'].fields_by_name['unit']._loaded_options = None + _globals['_BAND'].fields_by_name['unit']._serialized_options = b'\252\001\002\010\001' + _globals['_ASSET'].fields_by_name['title']._loaded_options = None + _globals['_ASSET'].fields_by_name['title']._serialized_options = b'\252\001\002\010\001' + _globals['_ASSET'].fields_by_name['description']._loaded_options = None + _globals['_ASSET'].fields_by_name['description']._serialized_options = b'\252\001\002\010\001' + _globals['_ASSET'].fields_by_name['gsd']._loaded_options = None + _globals['_ASSET'].fields_by_name['gsd']._serialized_options = b'\252\001\002\010\001' + _globals['_ASSET'].fields_by_name['nodata']._loaded_options = None + _globals['_ASSET'].fields_by_name['nodata']._serialized_options = b'\252\001\002\010\001' + _globals['_ASSET'].fields_by_name['unit']._loaded_options = None + _globals['_ASSET'].fields_by_name['unit']._serialized_options = b'\252\001\002\010\001' + _globals['_KNOWNASSETROLE']._serialized_start=2402 + _globals['_KNOWNASSETROLE']._serialized_end=3360 + _globals['_DATATYPE']._serialized_start=3363 + _globals['_DATATYPE']._serialized_end=3752 + _globals['_STATISTICS']._serialized_start=212 + _globals['_STATISTICS']._serialized_end=290 + _globals['_ASSETACCESSPROFILE']._serialized_start=293 + _globals['_ASSETACCESSPROFILE']._serialized_end=504 + _globals['_ASSETLOCATION']._serialized_start=507 + _globals['_ASSETLOCATION']._serialized_end=652 + _globals['_BAND']._serialized_start=655 + _globals['_BAND']._serialized_end=1068 + _globals['_ASSET']._serialized_start=1071 + _globals['_ASSET']._serialized_end=2199 + _globals['_ASSETS']._serialized_start=2202 + _globals['_ASSETS']._serialized_end=2399 +# @@protoc_insertion_point(module_scope) diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_pb2.pyi b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_pb2.pyi new file mode 100644 index 0000000..ef15113 --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_pb2.pyi @@ -0,0 +1,225 @@ +from tilebox.datasets.datasets.stac.v1 import asset_metadata_pb2 as _asset_metadata_pb2 +from tilebox.datasets.datasets.stac.v1 import core_pb2 as _core_pb2 +from tilebox.datasets.datasets.stac.v1 import product_pb2 as _product_pb2 +from tilebox.datasets.datasets.stac.v1 import sar_pb2 as _sar_pb2 +from tilebox.datasets.datasets.stac.v1 import satellite_pb2 as _satellite_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class KnownAssetRole(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + KNOWN_ASSET_ROLE_UNSPECIFIED: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_DATA: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_METADATA: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_THUMBNAIL: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_OVERVIEW: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_VISUAL: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_DATE: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_GRAPHIC: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_DATA_MASK: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_SNOW_ICE: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_LAND_WATER: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_WATER_MASK: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_ISO_19115: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_REFLECTANCE: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_TEMPERATURE: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_SATURATION: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_CLOUD: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_CLOUD_SHADOW: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_LOCAL_INCIDENCE_ANGLE: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_ELLIPSOID_INCIDENCE_ANGLE: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_NOISE_POWER: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_AMPLITUDE: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_MAGNITUDE: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_SIGMA0: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_BETA0: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_GAMMA0: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_DATE_OFFSET: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_COVMAT: _ClassVar[KnownAssetRole] + KNOWN_ASSET_ROLE_PRD: _ClassVar[KnownAssetRole] + +class DataType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + DATA_TYPE_UNSPECIFIED: _ClassVar[DataType] + DATA_TYPE_INT8: _ClassVar[DataType] + DATA_TYPE_INT16: _ClassVar[DataType] + DATA_TYPE_INT32: _ClassVar[DataType] + DATA_TYPE_INT64: _ClassVar[DataType] + DATA_TYPE_UINT8: _ClassVar[DataType] + DATA_TYPE_UINT16: _ClassVar[DataType] + DATA_TYPE_UINT32: _ClassVar[DataType] + DATA_TYPE_UINT64: _ClassVar[DataType] + DATA_TYPE_FLOAT16: _ClassVar[DataType] + DATA_TYPE_FLOAT32: _ClassVar[DataType] + DATA_TYPE_FLOAT64: _ClassVar[DataType] + DATA_TYPE_CINT16: _ClassVar[DataType] + DATA_TYPE_CINT32: _ClassVar[DataType] + DATA_TYPE_CFLOAT32: _ClassVar[DataType] + DATA_TYPE_CFLOAT64: _ClassVar[DataType] + DATA_TYPE_OTHER: _ClassVar[DataType] +KNOWN_ASSET_ROLE_UNSPECIFIED: KnownAssetRole +KNOWN_ASSET_ROLE_DATA: KnownAssetRole +KNOWN_ASSET_ROLE_METADATA: KnownAssetRole +KNOWN_ASSET_ROLE_THUMBNAIL: KnownAssetRole +KNOWN_ASSET_ROLE_OVERVIEW: KnownAssetRole +KNOWN_ASSET_ROLE_VISUAL: KnownAssetRole +KNOWN_ASSET_ROLE_DATE: KnownAssetRole +KNOWN_ASSET_ROLE_GRAPHIC: KnownAssetRole +KNOWN_ASSET_ROLE_DATA_MASK: KnownAssetRole +KNOWN_ASSET_ROLE_SNOW_ICE: KnownAssetRole +KNOWN_ASSET_ROLE_LAND_WATER: KnownAssetRole +KNOWN_ASSET_ROLE_WATER_MASK: KnownAssetRole +KNOWN_ASSET_ROLE_ISO_19115: KnownAssetRole +KNOWN_ASSET_ROLE_REFLECTANCE: KnownAssetRole +KNOWN_ASSET_ROLE_TEMPERATURE: KnownAssetRole +KNOWN_ASSET_ROLE_SATURATION: KnownAssetRole +KNOWN_ASSET_ROLE_CLOUD: KnownAssetRole +KNOWN_ASSET_ROLE_CLOUD_SHADOW: KnownAssetRole +KNOWN_ASSET_ROLE_LOCAL_INCIDENCE_ANGLE: KnownAssetRole +KNOWN_ASSET_ROLE_ELLIPSOID_INCIDENCE_ANGLE: KnownAssetRole +KNOWN_ASSET_ROLE_NOISE_POWER: KnownAssetRole +KNOWN_ASSET_ROLE_AMPLITUDE: KnownAssetRole +KNOWN_ASSET_ROLE_MAGNITUDE: KnownAssetRole +KNOWN_ASSET_ROLE_SIGMA0: KnownAssetRole +KNOWN_ASSET_ROLE_BETA0: KnownAssetRole +KNOWN_ASSET_ROLE_GAMMA0: KnownAssetRole +KNOWN_ASSET_ROLE_DATE_OFFSET: KnownAssetRole +KNOWN_ASSET_ROLE_COVMAT: KnownAssetRole +KNOWN_ASSET_ROLE_PRD: KnownAssetRole +DATA_TYPE_UNSPECIFIED: DataType +DATA_TYPE_INT8: DataType +DATA_TYPE_INT16: DataType +DATA_TYPE_INT32: DataType +DATA_TYPE_INT64: DataType +DATA_TYPE_UINT8: DataType +DATA_TYPE_UINT16: DataType +DATA_TYPE_UINT32: DataType +DATA_TYPE_UINT64: DataType +DATA_TYPE_FLOAT16: DataType +DATA_TYPE_FLOAT32: DataType +DATA_TYPE_FLOAT64: DataType +DATA_TYPE_CINT16: DataType +DATA_TYPE_CINT32: DataType +DATA_TYPE_CFLOAT32: DataType +DATA_TYPE_CFLOAT64: DataType +DATA_TYPE_OTHER: DataType + +class Statistics(_message.Message): + __slots__ = ("minimum", "maximum") + MINIMUM_FIELD_NUMBER: _ClassVar[int] + MAXIMUM_FIELD_NUMBER: _ClassVar[int] + minimum: float + maximum: float + def __init__(self, minimum: _Optional[float] = ..., maximum: _Optional[float] = ...) -> None: ... + +class AssetAccessProfile(_message.Message): + __slots__ = ("alternate_key", "default_alternate_name", "base_href", "storage_refs", "auth_refs") + ALTERNATE_KEY_FIELD_NUMBER: _ClassVar[int] + DEFAULT_ALTERNATE_NAME_FIELD_NUMBER: _ClassVar[int] + BASE_HREF_FIELD_NUMBER: _ClassVar[int] + STORAGE_REFS_FIELD_NUMBER: _ClassVar[int] + AUTH_REFS_FIELD_NUMBER: _ClassVar[int] + alternate_key: str + default_alternate_name: str + base_href: str + storage_refs: _containers.RepeatedScalarFieldContainer[str] + auth_refs: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, alternate_key: _Optional[str] = ..., default_alternate_name: _Optional[str] = ..., base_href: _Optional[str] = ..., storage_refs: _Optional[_Iterable[str]] = ..., auth_refs: _Optional[_Iterable[str]] = ...) -> None: ... + +class AssetLocation(_message.Message): + __slots__ = ("access_profile_index", "href", "alternate_name") + ACCESS_PROFILE_INDEX_FIELD_NUMBER: _ClassVar[int] + HREF_FIELD_NUMBER: _ClassVar[int] + ALTERNATE_NAME_FIELD_NUMBER: _ClassVar[int] + access_profile_index: int + href: str + alternate_name: str + def __init__(self, access_profile_index: _Optional[int] = ..., href: _Optional[str] = ..., alternate_name: _Optional[str] = ...) -> None: ... + +class Band(_message.Message): + __slots__ = ("name", "description", "data_type", "nodata", "unit", "eo", "raster", "classes", "sar") + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + DATA_TYPE_FIELD_NUMBER: _ClassVar[int] + NODATA_FIELD_NUMBER: _ClassVar[int] + UNIT_FIELD_NUMBER: _ClassVar[int] + EO_FIELD_NUMBER: _ClassVar[int] + RASTER_FIELD_NUMBER: _ClassVar[int] + CLASSES_FIELD_NUMBER: _ClassVar[int] + SAR_FIELD_NUMBER: _ClassVar[int] + name: str + description: str + data_type: DataType + nodata: float + unit: str + eo: _asset_metadata_pb2.EOProperties + raster: _asset_metadata_pb2.RasterProperties + classes: _containers.RepeatedCompositeFieldContainer[_asset_metadata_pb2.ClassificationClass] + sar: _sar_pb2.SARProperties + def __init__(self, name: _Optional[str] = ..., description: _Optional[str] = ..., data_type: _Optional[_Union[DataType, str]] = ..., nodata: _Optional[float] = ..., unit: _Optional[str] = ..., eo: _Optional[_Union[_asset_metadata_pb2.EOProperties, _Mapping]] = ..., raster: _Optional[_Union[_asset_metadata_pb2.RasterProperties, _Mapping]] = ..., classes: _Optional[_Iterable[_Union[_asset_metadata_pb2.ClassificationClass, _Mapping]]] = ..., sar: _Optional[_Union[_sar_pb2.SARProperties, _Mapping]] = ...) -> None: ... + +class Asset(_message.Message): + __slots__ = ("key", "primary", "alternates", "media_type", "title", "description", "roles", "custom_roles", "gsd", "band_profile_indices", "data_type", "nodata", "statistics", "unit", "eo", "raster", "projection", "view", "classes", "file", "sar", "satellite", "product") + KEY_FIELD_NUMBER: _ClassVar[int] + PRIMARY_FIELD_NUMBER: _ClassVar[int] + ALTERNATES_FIELD_NUMBER: _ClassVar[int] + MEDIA_TYPE_FIELD_NUMBER: _ClassVar[int] + TITLE_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + ROLES_FIELD_NUMBER: _ClassVar[int] + CUSTOM_ROLES_FIELD_NUMBER: _ClassVar[int] + GSD_FIELD_NUMBER: _ClassVar[int] + BAND_PROFILE_INDICES_FIELD_NUMBER: _ClassVar[int] + DATA_TYPE_FIELD_NUMBER: _ClassVar[int] + NODATA_FIELD_NUMBER: _ClassVar[int] + STATISTICS_FIELD_NUMBER: _ClassVar[int] + UNIT_FIELD_NUMBER: _ClassVar[int] + EO_FIELD_NUMBER: _ClassVar[int] + RASTER_FIELD_NUMBER: _ClassVar[int] + PROJECTION_FIELD_NUMBER: _ClassVar[int] + VIEW_FIELD_NUMBER: _ClassVar[int] + CLASSES_FIELD_NUMBER: _ClassVar[int] + FILE_FIELD_NUMBER: _ClassVar[int] + SAR_FIELD_NUMBER: _ClassVar[int] + SATELLITE_FIELD_NUMBER: _ClassVar[int] + PRODUCT_FIELD_NUMBER: _ClassVar[int] + key: str + primary: AssetLocation + alternates: _containers.RepeatedCompositeFieldContainer[AssetLocation] + media_type: _core_pb2.MediaType + title: str + description: str + roles: _containers.RepeatedScalarFieldContainer[KnownAssetRole] + custom_roles: _containers.RepeatedScalarFieldContainer[str] + gsd: float + band_profile_indices: _containers.RepeatedScalarFieldContainer[int] + data_type: DataType + nodata: float + statistics: Statistics + unit: str + eo: _asset_metadata_pb2.EOProperties + raster: _asset_metadata_pb2.RasterProperties + projection: _asset_metadata_pb2.Projection + view: _asset_metadata_pb2.View + classes: _containers.RepeatedCompositeFieldContainer[_asset_metadata_pb2.ClassificationClass] + file: _asset_metadata_pb2.File + sar: _sar_pb2.SARProperties + satellite: _satellite_pb2.SatelliteProperties + product: _product_pb2.ProductProperties + def __init__(self, key: _Optional[str] = ..., primary: _Optional[_Union[AssetLocation, _Mapping]] = ..., alternates: _Optional[_Iterable[_Union[AssetLocation, _Mapping]]] = ..., media_type: _Optional[_Union[_core_pb2.MediaType, _Mapping]] = ..., title: _Optional[str] = ..., description: _Optional[str] = ..., roles: _Optional[_Iterable[_Union[KnownAssetRole, str]]] = ..., custom_roles: _Optional[_Iterable[str]] = ..., gsd: _Optional[float] = ..., band_profile_indices: _Optional[_Iterable[int]] = ..., data_type: _Optional[_Union[DataType, str]] = ..., nodata: _Optional[float] = ..., statistics: _Optional[_Union[Statistics, _Mapping]] = ..., unit: _Optional[str] = ..., eo: _Optional[_Union[_asset_metadata_pb2.EOProperties, _Mapping]] = ..., raster: _Optional[_Union[_asset_metadata_pb2.RasterProperties, _Mapping]] = ..., projection: _Optional[_Union[_asset_metadata_pb2.Projection, _Mapping]] = ..., view: _Optional[_Union[_asset_metadata_pb2.View, _Mapping]] = ..., classes: _Optional[_Iterable[_Union[_asset_metadata_pb2.ClassificationClass, _Mapping]]] = ..., file: _Optional[_Union[_asset_metadata_pb2.File, _Mapping]] = ..., sar: _Optional[_Union[_sar_pb2.SARProperties, _Mapping]] = ..., satellite: _Optional[_Union[_satellite_pb2.SatelliteProperties, _Mapping]] = ..., product: _Optional[_Union[_product_pb2.ProductProperties, _Mapping]] = ...) -> None: ... + +class Assets(_message.Message): + __slots__ = ("access_profiles", "band_profiles", "assets") + ACCESS_PROFILES_FIELD_NUMBER: _ClassVar[int] + BAND_PROFILES_FIELD_NUMBER: _ClassVar[int] + ASSETS_FIELD_NUMBER: _ClassVar[int] + access_profiles: _containers.RepeatedCompositeFieldContainer[AssetAccessProfile] + band_profiles: _containers.RepeatedCompositeFieldContainer[Band] + assets: _containers.RepeatedCompositeFieldContainer[Asset] + def __init__(self, access_profiles: _Optional[_Iterable[_Union[AssetAccessProfile, _Mapping]]] = ..., band_profiles: _Optional[_Iterable[_Union[Band, _Mapping]]] = ..., assets: _Optional[_Iterable[_Union[Asset, _Mapping]]] = ...) -> None: ... diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_pb2_grpc.py b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_pb2_grpc.py new file mode 100644 index 0000000..8a93939 --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/asset_pb2_grpc.py @@ -0,0 +1,3 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/authentication_pb2.py b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/authentication_pb2.py new file mode 100644 index 0000000..49212bb --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/authentication_pb2.py @@ -0,0 +1,92 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: datasets/stac/v1/authentication.proto +# Protobuf Python Version: 6.30.0 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 30, + 0, + '', + 'datasets/stac/v1/authentication.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%datasets/stac/v1/authentication.proto\x12\x10\x64\x61tasets.stac.v1\x1a\x1cgoogle/protobuf/struct.proto\"\xbd\x01\n\x0e\x41uthentication\x12G\n\x07schemes\x18\x01 \x03(\x0b\x32-.datasets.stac.v1.Authentication.SchemesEntryR\x07schemes\x1a\x62\n\x0cSchemesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12<\n\x05value\x18\x02 \x01(\x0b\x32&.datasets.stac.v1.AuthenticationSchemeR\x05value:\x02\x38\x01\"\x81\x03\n\x14\x41uthenticationScheme\x12O\n\nknown_type\x18\x01 \x01(\x0e\x32).datasets.stac.v1.KnownAuthenticationTypeB\x05\xaa\x01\x02\x08\x01R\tknownType\x12&\n\x0b\x63ustom_type\x18\x02 \x01(\tB\x05\xaa\x01\x02\x08\x01R\ncustomType\x12\'\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x0b\x64\x65scription\x12\x19\n\x04name\x18\x04 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x04name\x12\x1b\n\x08location\x18\x05 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x02in\x12\x1d\n\x06scheme\x18\x06 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x06scheme\x12:\n\x05\x66lows\x18\x07 \x03(\x0b\x32$.datasets.stac.v1.AuthenticationFlowR\x05\x66lows\x12\x34\n\x13open_id_connect_url\x18\x08 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x10openIdConnectUrl\"\x9c\x01\n\x12\x41uthenticationFlow\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x34\n\x06oauth2\x18\x02 \x01(\x0b\x32\x1c.datasets.stac.v1.OAuth2FlowR\x06oauth2\x12>\n\nsigned_url\x18\x03 \x01(\x0b\x32\x1f.datasets.stac.v1.SignedURLFlowR\tsignedUrl\"\x89\x02\n\nOAuth2Flow\x12\x32\n\x11\x61uthorization_url\x18\x01 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x10\x61uthorizationUrl\x12\"\n\ttoken_url\x18\x02 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x08tokenUrl\x12@\n\x06scopes\x18\x03 \x03(\x0b\x32(.datasets.stac.v1.OAuth2Flow.ScopesEntryR\x06scopes\x12&\n\x0brefresh_url\x18\x04 \x01(\tB\x05\xaa\x01\x02\x08\x01R\nrefreshUrl\x1a\x39\n\x0bScopesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xbd\x02\n\rSignedURLFlow\x12\x16\n\x06method\x18\x01 \x01(\tR\x06method\x12+\n\x11\x61uthorization_api\x18\x02 \x01(\tR\x10\x61uthorizationApi\x12O\n\nparameters\x18\x03 \x03(\x0b\x32/.datasets.stac.v1.SignedURLFlow.ParametersEntryR\nparameters\x12,\n\x0eresponse_field\x18\x04 \x01(\tB\x05\xaa\x01\x02\x08\x01R\rresponseField\x1ah\n\x0fParametersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12?\n\x05value\x18\x02 \x01(\x0b\x32).datasets.stac.v1.AuthenticationParameterR\x05value:\x02\x38\x01\"\xb1\x01\n\x17\x41uthenticationParameter\x12\x14\n\x08location\x18\x01 \x01(\tR\x02in\x12!\n\x08required\x18\x02 \x01(\x08\x42\x05\xaa\x01\x02\x08\x01R\x08required\x12\'\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x0b\x64\x65scription\x12\x34\n\x06schema\x18\x04 \x01(\x0b\x32\x1c.datasets.stac.v1.JSONSchemaR\x06schema\"^\n\nJSONSchema\x12/\n\x06object\x18\x01 \x01(\x0b\x32\x17.google.protobuf.StructR\x06object\x12\x1f\n\x07\x62oolean\x18\x02 \x01(\x08\x42\x05\xaa\x01\x02\x08\x01R\x07\x62oolean*\xb0\x02\n\x17KnownAuthenticationType\x12)\n%KNOWN_AUTHENTICATION_TYPE_UNSPECIFIED\x10\x00\x12\"\n\x1eKNOWN_AUTHENTICATION_TYPE_HTTP\x10\x01\x12 \n\x1cKNOWN_AUTHENTICATION_TYPE_S3\x10\x02\x12(\n$KNOWN_AUTHENTICATION_TYPE_SIGNED_URL\x10\x03\x12$\n KNOWN_AUTHENTICATION_TYPE_OAUTH2\x10\x04\x12%\n!KNOWN_AUTHENTICATION_TYPE_API_KEY\x10\x05\x12-\n)KNOWN_AUTHENTICATION_TYPE_OPEN_ID_CONNECT\x10\x06\x42\x92\x01\n\x14\x63om.datasets.stac.v1B\x13\x41uthenticationProtoP\x01\xa2\x02\x03\x44SX\xaa\x02\x10\x44\x61tasets.Stac.V1\xca\x02\x10\x44\x61tasets\\Stac\\V1\xe2\x02\x1c\x44\x61tasets\\Stac\\V1\\GPBMetadata\xea\x02\x12\x44\x61tasets::Stac::V1\x92\x03\x02\x08\x02\x62\x08\x65\x64itionsp\xe8\x07') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'datasets.stac.v1.authentication_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.datasets.stac.v1B\023AuthenticationProtoP\001\242\002\003DSX\252\002\020Datasets.Stac.V1\312\002\020Datasets\\Stac\\V1\342\002\034Datasets\\Stac\\V1\\GPBMetadata\352\002\022Datasets::Stac::V1\222\003\002\010\002' + _globals['_AUTHENTICATION_SCHEMESENTRY']._loaded_options = None + _globals['_AUTHENTICATION_SCHEMESENTRY']._serialized_options = b'8\001' + _globals['_AUTHENTICATIONSCHEME'].fields_by_name['known_type']._loaded_options = None + _globals['_AUTHENTICATIONSCHEME'].fields_by_name['known_type']._serialized_options = b'\252\001\002\010\001' + _globals['_AUTHENTICATIONSCHEME'].fields_by_name['custom_type']._loaded_options = None + _globals['_AUTHENTICATIONSCHEME'].fields_by_name['custom_type']._serialized_options = b'\252\001\002\010\001' + _globals['_AUTHENTICATIONSCHEME'].fields_by_name['description']._loaded_options = None + _globals['_AUTHENTICATIONSCHEME'].fields_by_name['description']._serialized_options = b'\252\001\002\010\001' + _globals['_AUTHENTICATIONSCHEME'].fields_by_name['name']._loaded_options = None + _globals['_AUTHENTICATIONSCHEME'].fields_by_name['name']._serialized_options = b'\252\001\002\010\001' + _globals['_AUTHENTICATIONSCHEME'].fields_by_name['location']._loaded_options = None + _globals['_AUTHENTICATIONSCHEME'].fields_by_name['location']._serialized_options = b'\252\001\002\010\001' + _globals['_AUTHENTICATIONSCHEME'].fields_by_name['scheme']._loaded_options = None + _globals['_AUTHENTICATIONSCHEME'].fields_by_name['scheme']._serialized_options = b'\252\001\002\010\001' + _globals['_AUTHENTICATIONSCHEME'].fields_by_name['open_id_connect_url']._loaded_options = None + _globals['_AUTHENTICATIONSCHEME'].fields_by_name['open_id_connect_url']._serialized_options = b'\252\001\002\010\001' + _globals['_OAUTH2FLOW_SCOPESENTRY']._loaded_options = None + _globals['_OAUTH2FLOW_SCOPESENTRY']._serialized_options = b'8\001' + _globals['_OAUTH2FLOW'].fields_by_name['authorization_url']._loaded_options = None + _globals['_OAUTH2FLOW'].fields_by_name['authorization_url']._serialized_options = b'\252\001\002\010\001' + _globals['_OAUTH2FLOW'].fields_by_name['token_url']._loaded_options = None + _globals['_OAUTH2FLOW'].fields_by_name['token_url']._serialized_options = b'\252\001\002\010\001' + _globals['_OAUTH2FLOW'].fields_by_name['refresh_url']._loaded_options = None + _globals['_OAUTH2FLOW'].fields_by_name['refresh_url']._serialized_options = b'\252\001\002\010\001' + _globals['_SIGNEDURLFLOW_PARAMETERSENTRY']._loaded_options = None + _globals['_SIGNEDURLFLOW_PARAMETERSENTRY']._serialized_options = b'8\001' + _globals['_SIGNEDURLFLOW'].fields_by_name['response_field']._loaded_options = None + _globals['_SIGNEDURLFLOW'].fields_by_name['response_field']._serialized_options = b'\252\001\002\010\001' + _globals['_AUTHENTICATIONPARAMETER'].fields_by_name['required']._loaded_options = None + _globals['_AUTHENTICATIONPARAMETER'].fields_by_name['required']._serialized_options = b'\252\001\002\010\001' + _globals['_AUTHENTICATIONPARAMETER'].fields_by_name['description']._loaded_options = None + _globals['_AUTHENTICATIONPARAMETER'].fields_by_name['description']._serialized_options = b'\252\001\002\010\001' + _globals['_JSONSCHEMA'].fields_by_name['boolean']._loaded_options = None + _globals['_JSONSCHEMA'].fields_by_name['boolean']._serialized_options = b'\252\001\002\010\001' + _globals['_KNOWNAUTHENTICATIONTYPE']._serialized_start=1693 + _globals['_KNOWNAUTHENTICATIONTYPE']._serialized_end=1997 + _globals['_AUTHENTICATION']._serialized_start=90 + _globals['_AUTHENTICATION']._serialized_end=279 + _globals['_AUTHENTICATION_SCHEMESENTRY']._serialized_start=181 + _globals['_AUTHENTICATION_SCHEMESENTRY']._serialized_end=279 + _globals['_AUTHENTICATIONSCHEME']._serialized_start=282 + _globals['_AUTHENTICATIONSCHEME']._serialized_end=667 + _globals['_AUTHENTICATIONFLOW']._serialized_start=670 + _globals['_AUTHENTICATIONFLOW']._serialized_end=826 + _globals['_OAUTH2FLOW']._serialized_start=829 + _globals['_OAUTH2FLOW']._serialized_end=1094 + _globals['_OAUTH2FLOW_SCOPESENTRY']._serialized_start=1037 + _globals['_OAUTH2FLOW_SCOPESENTRY']._serialized_end=1094 + _globals['_SIGNEDURLFLOW']._serialized_start=1097 + _globals['_SIGNEDURLFLOW']._serialized_end=1414 + _globals['_SIGNEDURLFLOW_PARAMETERSENTRY']._serialized_start=1310 + _globals['_SIGNEDURLFLOW_PARAMETERSENTRY']._serialized_end=1414 + _globals['_AUTHENTICATIONPARAMETER']._serialized_start=1417 + _globals['_AUTHENTICATIONPARAMETER']._serialized_end=1594 + _globals['_JSONSCHEMA']._serialized_start=1596 + _globals['_JSONSCHEMA']._serialized_end=1690 +# @@protoc_insertion_point(module_scope) diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/authentication_pb2.pyi b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/authentication_pb2.pyi new file mode 100644 index 0000000..9dae2c5 --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/authentication_pb2.pyi @@ -0,0 +1,127 @@ +from google.protobuf import struct_pb2 as _struct_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class KnownAuthenticationType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + KNOWN_AUTHENTICATION_TYPE_UNSPECIFIED: _ClassVar[KnownAuthenticationType] + KNOWN_AUTHENTICATION_TYPE_HTTP: _ClassVar[KnownAuthenticationType] + KNOWN_AUTHENTICATION_TYPE_S3: _ClassVar[KnownAuthenticationType] + KNOWN_AUTHENTICATION_TYPE_SIGNED_URL: _ClassVar[KnownAuthenticationType] + KNOWN_AUTHENTICATION_TYPE_OAUTH2: _ClassVar[KnownAuthenticationType] + KNOWN_AUTHENTICATION_TYPE_API_KEY: _ClassVar[KnownAuthenticationType] + KNOWN_AUTHENTICATION_TYPE_OPEN_ID_CONNECT: _ClassVar[KnownAuthenticationType] +KNOWN_AUTHENTICATION_TYPE_UNSPECIFIED: KnownAuthenticationType +KNOWN_AUTHENTICATION_TYPE_HTTP: KnownAuthenticationType +KNOWN_AUTHENTICATION_TYPE_S3: KnownAuthenticationType +KNOWN_AUTHENTICATION_TYPE_SIGNED_URL: KnownAuthenticationType +KNOWN_AUTHENTICATION_TYPE_OAUTH2: KnownAuthenticationType +KNOWN_AUTHENTICATION_TYPE_API_KEY: KnownAuthenticationType +KNOWN_AUTHENTICATION_TYPE_OPEN_ID_CONNECT: KnownAuthenticationType + +class Authentication(_message.Message): + __slots__ = ("schemes",) + class SchemesEntry(_message.Message): + __slots__ = ("key", "value") + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: AuthenticationScheme + def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[AuthenticationScheme, _Mapping]] = ...) -> None: ... + SCHEMES_FIELD_NUMBER: _ClassVar[int] + schemes: _containers.MessageMap[str, AuthenticationScheme] + def __init__(self, schemes: _Optional[_Mapping[str, AuthenticationScheme]] = ...) -> None: ... + +class AuthenticationScheme(_message.Message): + __slots__ = ("known_type", "custom_type", "description", "name", "location", "scheme", "flows", "open_id_connect_url") + KNOWN_TYPE_FIELD_NUMBER: _ClassVar[int] + CUSTOM_TYPE_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + LOCATION_FIELD_NUMBER: _ClassVar[int] + SCHEME_FIELD_NUMBER: _ClassVar[int] + FLOWS_FIELD_NUMBER: _ClassVar[int] + OPEN_ID_CONNECT_URL_FIELD_NUMBER: _ClassVar[int] + known_type: KnownAuthenticationType + custom_type: str + description: str + name: str + location: str + scheme: str + flows: _containers.RepeatedCompositeFieldContainer[AuthenticationFlow] + open_id_connect_url: str + def __init__(self, known_type: _Optional[_Union[KnownAuthenticationType, str]] = ..., custom_type: _Optional[str] = ..., description: _Optional[str] = ..., name: _Optional[str] = ..., location: _Optional[str] = ..., scheme: _Optional[str] = ..., flows: _Optional[_Iterable[_Union[AuthenticationFlow, _Mapping]]] = ..., open_id_connect_url: _Optional[str] = ...) -> None: ... + +class AuthenticationFlow(_message.Message): + __slots__ = ("key", "oauth2", "signed_url") + KEY_FIELD_NUMBER: _ClassVar[int] + OAUTH2_FIELD_NUMBER: _ClassVar[int] + SIGNED_URL_FIELD_NUMBER: _ClassVar[int] + key: str + oauth2: OAuth2Flow + signed_url: SignedURLFlow + def __init__(self, key: _Optional[str] = ..., oauth2: _Optional[_Union[OAuth2Flow, _Mapping]] = ..., signed_url: _Optional[_Union[SignedURLFlow, _Mapping]] = ...) -> None: ... + +class OAuth2Flow(_message.Message): + __slots__ = ("authorization_url", "token_url", "scopes", "refresh_url") + class ScopesEntry(_message.Message): + __slots__ = ("key", "value") + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + AUTHORIZATION_URL_FIELD_NUMBER: _ClassVar[int] + TOKEN_URL_FIELD_NUMBER: _ClassVar[int] + SCOPES_FIELD_NUMBER: _ClassVar[int] + REFRESH_URL_FIELD_NUMBER: _ClassVar[int] + authorization_url: str + token_url: str + scopes: _containers.ScalarMap[str, str] + refresh_url: str + def __init__(self, authorization_url: _Optional[str] = ..., token_url: _Optional[str] = ..., scopes: _Optional[_Mapping[str, str]] = ..., refresh_url: _Optional[str] = ...) -> None: ... + +class SignedURLFlow(_message.Message): + __slots__ = ("method", "authorization_api", "parameters", "response_field") + class ParametersEntry(_message.Message): + __slots__ = ("key", "value") + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: AuthenticationParameter + def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[AuthenticationParameter, _Mapping]] = ...) -> None: ... + METHOD_FIELD_NUMBER: _ClassVar[int] + AUTHORIZATION_API_FIELD_NUMBER: _ClassVar[int] + PARAMETERS_FIELD_NUMBER: _ClassVar[int] + RESPONSE_FIELD_FIELD_NUMBER: _ClassVar[int] + method: str + authorization_api: str + parameters: _containers.MessageMap[str, AuthenticationParameter] + response_field: str + def __init__(self, method: _Optional[str] = ..., authorization_api: _Optional[str] = ..., parameters: _Optional[_Mapping[str, AuthenticationParameter]] = ..., response_field: _Optional[str] = ...) -> None: ... + +class AuthenticationParameter(_message.Message): + __slots__ = ("location", "required", "description", "schema") + LOCATION_FIELD_NUMBER: _ClassVar[int] + REQUIRED_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + SCHEMA_FIELD_NUMBER: _ClassVar[int] + location: str + required: bool + description: str + schema: JSONSchema + def __init__(self, location: _Optional[str] = ..., required: bool = ..., description: _Optional[str] = ..., schema: _Optional[_Union[JSONSchema, _Mapping]] = ...) -> None: ... + +class JSONSchema(_message.Message): + __slots__ = ("object", "boolean") + OBJECT_FIELD_NUMBER: _ClassVar[int] + BOOLEAN_FIELD_NUMBER: _ClassVar[int] + object: _struct_pb2.Struct + boolean: bool + def __init__(self, object: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., boolean: bool = ...) -> None: ... diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/authentication_pb2_grpc.py b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/authentication_pb2_grpc.py new file mode 100644 index 0000000..8a93939 --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/authentication_pb2_grpc.py @@ -0,0 +1,3 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/core_pb2.py b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/core_pb2.py new file mode 100644 index 0000000..3ad77ce --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/core_pb2.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: datasets/stac/v1/core.proto +# Protobuf Python Version: 6.30.0 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 30, + 0, + '', + 'datasets/stac/v1/core.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x64\x61tasets/stac/v1/core.proto\x12\x10\x64\x61tasets.stac.v1\"i\n\tMediaType\x12=\n\x05known\x18\x01 \x01(\x0e\x32 .datasets.stac.v1.KnownMediaTypeB\x05\xaa\x01\x02\x08\x01R\x05known\x12\x1d\n\x06\x63ustom\x18\x02 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x06\x63ustom\"\x9d\x01\n\x08Provider\x12\x19\n\x04name\x18\x01 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x04name\x12\'\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x0b\x64\x65scription\x12\x34\n\x05roles\x18\x03 \x03(\x0e\x32\x1e.datasets.stac.v1.ProviderRoleR\x05roles\x12\x17\n\x03url\x18\x04 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x03url\"\xc5\x01\n\x04Link\x12\x12\n\x04href\x18\x01 \x01(\tR\x04href\x12\x10\n\x03rel\x18\x02 \x01(\tR\x03rel\x12:\n\nmedia_type\x18\x03 \x01(\x0b\x32\x1b.datasets.stac.v1.MediaTypeR\tmediaType\x12\x1b\n\x05title\x18\x04 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x05title\x12!\n\x0cstorage_refs\x18\x05 \x03(\tR\x0bstorageRefs\x12\x1b\n\tauth_refs\x18\x06 \x03(\tR\x08\x61uthRefs\"5\n\x05Links\x12,\n\x05links\x18\x01 \x03(\x0b\x32\x16.datasets.stac.v1.LinkR\x05links*\xc1\x06\n\x0eKnownMediaType\x12 \n\x1cKNOWN_MEDIA_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18KNOWN_MEDIA_TYPE_GEOJSON\x10\x01\x12\x19\n\x15KNOWN_MEDIA_TYPE_JSON\x10\x02\x12,\n(KNOWN_MEDIA_TYPE_CLOUD_OPTIMIZED_GEOTIFF\x10\x03\x12\x1e\n\x1aKNOWN_MEDIA_TYPE_JPEG_2000\x10\x04\x12\x19\n\x15KNOWN_MEDIA_TYPE_JPEG\x10\x05\x12\x18\n\x14KNOWN_MEDIA_TYPE_PNG\x10\x06\x12$\n KNOWN_MEDIA_TYPE_APPLICATION_XML\x10\x07\x12\x18\n\x14KNOWN_MEDIA_TYPE_ZIP\x10\x08\x12\x1e\n\x1aKNOWN_MEDIA_TYPE_DIRECTORY\x10\t\x12\x1c\n\x18KNOWN_MEDIA_TYPE_GEOTIFF\x10\n\x12\x19\n\x15KNOWN_MEDIA_TYPE_TIFF\x10\x0b\x12\x19\n\x15KNOWN_MEDIA_TYPE_HDF5\x10\x0c\x12\x18\n\x14KNOWN_MEDIA_TYPE_HDF\x10\r\x12\x1b\n\x17KNOWN_MEDIA_TYPE_NETCDF\x10\x0e\x12\x1c\n\x18KNOWN_MEDIA_TYPE_ZARR_V2\x10\x0f\x12\x1c\n\x18KNOWN_MEDIA_TYPE_ZARR_V3\x10\x10\x12\x1c\n\x18KNOWN_MEDIA_TYPE_PARQUET\x10\x11\x12\x1f\n\x1bKNOWN_MEDIA_TYPE_GEOPACKAGE\x10\x12\x12\x19\n\x15KNOWN_MEDIA_TYPE_COPC\x10\x13\x12\x19\n\x15KNOWN_MEDIA_TYPE_HTML\x10\x14\x12\x19\n\x15KNOWN_MEDIA_TYPE_TEXT\x10\x15\x12\x1d\n\x19KNOWN_MEDIA_TYPE_TEXT_XML\x10\x16\x12\x1f\n\x1bKNOWN_MEDIA_TYPE_FLATGEOBUF\x10\x17\x12\x1c\n\x18KNOWN_MEDIA_TYPE_PMTILES\x10\x18\x12\x19\n\x15KNOWN_MEDIA_TYPE_NITF\x10\x19\x12!\n\x1dKNOWN_MEDIA_TYPE_OCTET_STREAM\x10\x1a*\x9a\x01\n\x0cProviderRole\x12\x1d\n\x19PROVIDER_ROLE_UNSPECIFIED\x10\x00\x12\x1a\n\x16PROVIDER_ROLE_PRODUCER\x10\x01\x12\x1a\n\x16PROVIDER_ROLE_LICENSOR\x10\x02\x12\x1b\n\x17PROVIDER_ROLE_PROCESSOR\x10\x03\x12\x16\n\x12PROVIDER_ROLE_HOST\x10\x04\x42\x88\x01\n\x14\x63om.datasets.stac.v1B\tCoreProtoP\x01\xa2\x02\x03\x44SX\xaa\x02\x10\x44\x61tasets.Stac.V1\xca\x02\x10\x44\x61tasets\\Stac\\V1\xe2\x02\x1c\x44\x61tasets\\Stac\\V1\\GPBMetadata\xea\x02\x12\x44\x61tasets::Stac::V1\x92\x03\x02\x08\x02\x62\x08\x65\x64itionsp\xe8\x07') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'datasets.stac.v1.core_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.datasets.stac.v1B\tCoreProtoP\001\242\002\003DSX\252\002\020Datasets.Stac.V1\312\002\020Datasets\\Stac\\V1\342\002\034Datasets\\Stac\\V1\\GPBMetadata\352\002\022Datasets::Stac::V1\222\003\002\010\002' + _globals['_MEDIATYPE'].fields_by_name['known']._loaded_options = None + _globals['_MEDIATYPE'].fields_by_name['known']._serialized_options = b'\252\001\002\010\001' + _globals['_MEDIATYPE'].fields_by_name['custom']._loaded_options = None + _globals['_MEDIATYPE'].fields_by_name['custom']._serialized_options = b'\252\001\002\010\001' + _globals['_PROVIDER'].fields_by_name['name']._loaded_options = None + _globals['_PROVIDER'].fields_by_name['name']._serialized_options = b'\252\001\002\010\001' + _globals['_PROVIDER'].fields_by_name['description']._loaded_options = None + _globals['_PROVIDER'].fields_by_name['description']._serialized_options = b'\252\001\002\010\001' + _globals['_PROVIDER'].fields_by_name['url']._loaded_options = None + _globals['_PROVIDER'].fields_by_name['url']._serialized_options = b'\252\001\002\010\001' + _globals['_LINK'].fields_by_name['title']._loaded_options = None + _globals['_LINK'].fields_by_name['title']._serialized_options = b'\252\001\002\010\001' + _globals['_KNOWNMEDIATYPE']._serialized_start=572 + _globals['_KNOWNMEDIATYPE']._serialized_end=1405 + _globals['_PROVIDERROLE']._serialized_start=1408 + _globals['_PROVIDERROLE']._serialized_end=1562 + _globals['_MEDIATYPE']._serialized_start=49 + _globals['_MEDIATYPE']._serialized_end=154 + _globals['_PROVIDER']._serialized_start=157 + _globals['_PROVIDER']._serialized_end=314 + _globals['_LINK']._serialized_start=317 + _globals['_LINK']._serialized_end=514 + _globals['_LINKS']._serialized_start=516 + _globals['_LINKS']._serialized_end=569 +# @@protoc_insertion_point(module_scope) diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/core_pb2.pyi b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/core_pb2.pyi new file mode 100644 index 0000000..8e1f293 --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/core_pb2.pyi @@ -0,0 +1,120 @@ +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class KnownMediaType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + KNOWN_MEDIA_TYPE_UNSPECIFIED: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_GEOJSON: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_JSON: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_CLOUD_OPTIMIZED_GEOTIFF: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_JPEG_2000: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_JPEG: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_PNG: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_APPLICATION_XML: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_ZIP: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_DIRECTORY: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_GEOTIFF: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_TIFF: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_HDF5: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_HDF: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_NETCDF: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_ZARR_V2: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_ZARR_V3: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_PARQUET: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_GEOPACKAGE: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_COPC: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_HTML: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_TEXT: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_TEXT_XML: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_FLATGEOBUF: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_PMTILES: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_NITF: _ClassVar[KnownMediaType] + KNOWN_MEDIA_TYPE_OCTET_STREAM: _ClassVar[KnownMediaType] + +class ProviderRole(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + PROVIDER_ROLE_UNSPECIFIED: _ClassVar[ProviderRole] + PROVIDER_ROLE_PRODUCER: _ClassVar[ProviderRole] + PROVIDER_ROLE_LICENSOR: _ClassVar[ProviderRole] + PROVIDER_ROLE_PROCESSOR: _ClassVar[ProviderRole] + PROVIDER_ROLE_HOST: _ClassVar[ProviderRole] +KNOWN_MEDIA_TYPE_UNSPECIFIED: KnownMediaType +KNOWN_MEDIA_TYPE_GEOJSON: KnownMediaType +KNOWN_MEDIA_TYPE_JSON: KnownMediaType +KNOWN_MEDIA_TYPE_CLOUD_OPTIMIZED_GEOTIFF: KnownMediaType +KNOWN_MEDIA_TYPE_JPEG_2000: KnownMediaType +KNOWN_MEDIA_TYPE_JPEG: KnownMediaType +KNOWN_MEDIA_TYPE_PNG: KnownMediaType +KNOWN_MEDIA_TYPE_APPLICATION_XML: KnownMediaType +KNOWN_MEDIA_TYPE_ZIP: KnownMediaType +KNOWN_MEDIA_TYPE_DIRECTORY: KnownMediaType +KNOWN_MEDIA_TYPE_GEOTIFF: KnownMediaType +KNOWN_MEDIA_TYPE_TIFF: KnownMediaType +KNOWN_MEDIA_TYPE_HDF5: KnownMediaType +KNOWN_MEDIA_TYPE_HDF: KnownMediaType +KNOWN_MEDIA_TYPE_NETCDF: KnownMediaType +KNOWN_MEDIA_TYPE_ZARR_V2: KnownMediaType +KNOWN_MEDIA_TYPE_ZARR_V3: KnownMediaType +KNOWN_MEDIA_TYPE_PARQUET: KnownMediaType +KNOWN_MEDIA_TYPE_GEOPACKAGE: KnownMediaType +KNOWN_MEDIA_TYPE_COPC: KnownMediaType +KNOWN_MEDIA_TYPE_HTML: KnownMediaType +KNOWN_MEDIA_TYPE_TEXT: KnownMediaType +KNOWN_MEDIA_TYPE_TEXT_XML: KnownMediaType +KNOWN_MEDIA_TYPE_FLATGEOBUF: KnownMediaType +KNOWN_MEDIA_TYPE_PMTILES: KnownMediaType +KNOWN_MEDIA_TYPE_NITF: KnownMediaType +KNOWN_MEDIA_TYPE_OCTET_STREAM: KnownMediaType +PROVIDER_ROLE_UNSPECIFIED: ProviderRole +PROVIDER_ROLE_PRODUCER: ProviderRole +PROVIDER_ROLE_LICENSOR: ProviderRole +PROVIDER_ROLE_PROCESSOR: ProviderRole +PROVIDER_ROLE_HOST: ProviderRole + +class MediaType(_message.Message): + __slots__ = ("known", "custom") + KNOWN_FIELD_NUMBER: _ClassVar[int] + CUSTOM_FIELD_NUMBER: _ClassVar[int] + known: KnownMediaType + custom: str + def __init__(self, known: _Optional[_Union[KnownMediaType, str]] = ..., custom: _Optional[str] = ...) -> None: ... + +class Provider(_message.Message): + __slots__ = ("name", "description", "roles", "url") + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + ROLES_FIELD_NUMBER: _ClassVar[int] + URL_FIELD_NUMBER: _ClassVar[int] + name: str + description: str + roles: _containers.RepeatedScalarFieldContainer[ProviderRole] + url: str + def __init__(self, name: _Optional[str] = ..., description: _Optional[str] = ..., roles: _Optional[_Iterable[_Union[ProviderRole, str]]] = ..., url: _Optional[str] = ...) -> None: ... + +class Link(_message.Message): + __slots__ = ("href", "rel", "media_type", "title", "storage_refs", "auth_refs") + HREF_FIELD_NUMBER: _ClassVar[int] + REL_FIELD_NUMBER: _ClassVar[int] + MEDIA_TYPE_FIELD_NUMBER: _ClassVar[int] + TITLE_FIELD_NUMBER: _ClassVar[int] + STORAGE_REFS_FIELD_NUMBER: _ClassVar[int] + AUTH_REFS_FIELD_NUMBER: _ClassVar[int] + href: str + rel: str + media_type: MediaType + title: str + storage_refs: _containers.RepeatedScalarFieldContainer[str] + auth_refs: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, href: _Optional[str] = ..., rel: _Optional[str] = ..., media_type: _Optional[_Union[MediaType, _Mapping]] = ..., title: _Optional[str] = ..., storage_refs: _Optional[_Iterable[str]] = ..., auth_refs: _Optional[_Iterable[str]] = ...) -> None: ... + +class Links(_message.Message): + __slots__ = ("links",) + LINKS_FIELD_NUMBER: _ClassVar[int] + links: _containers.RepeatedCompositeFieldContainer[Link] + def __init__(self, links: _Optional[_Iterable[_Union[Link, _Mapping]]] = ...) -> None: ... diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/core_pb2_grpc.py b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/core_pb2_grpc.py new file mode 100644 index 0000000..8a93939 --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/core_pb2_grpc.py @@ -0,0 +1,3 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/processing_pb2.py b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/processing_pb2.py new file mode 100644 index 0000000..f54973d --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/processing_pb2.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: datasets/stac/v1/processing.proto +# Protobuf Python Version: 6.30.0 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 30, + 0, + '', + 'datasets/stac/v1/processing.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!datasets/stac/v1/processing.proto\x12\x10\x64\x61tasets.stac.v1\"\xa1\x01\n\x12ProcessingSoftware\x12N\n\x08versions\x18\x01 \x03(\x0b\x32\x32.datasets.stac.v1.ProcessingSoftware.VersionsEntryR\x08versions\x1a;\n\rVersionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x8e\x01\n\x14\x63om.datasets.stac.v1B\x0fProcessingProtoP\x01\xa2\x02\x03\x44SX\xaa\x02\x10\x44\x61tasets.Stac.V1\xca\x02\x10\x44\x61tasets\\Stac\\V1\xe2\x02\x1c\x44\x61tasets\\Stac\\V1\\GPBMetadata\xea\x02\x12\x44\x61tasets::Stac::V1\x92\x03\x02\x08\x02\x62\x08\x65\x64itionsp\xe8\x07') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'datasets.stac.v1.processing_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.datasets.stac.v1B\017ProcessingProtoP\001\242\002\003DSX\252\002\020Datasets.Stac.V1\312\002\020Datasets\\Stac\\V1\342\002\034Datasets\\Stac\\V1\\GPBMetadata\352\002\022Datasets::Stac::V1\222\003\002\010\002' + _globals['_PROCESSINGSOFTWARE_VERSIONSENTRY']._loaded_options = None + _globals['_PROCESSINGSOFTWARE_VERSIONSENTRY']._serialized_options = b'8\001' + _globals['_PROCESSINGSOFTWARE']._serialized_start=56 + _globals['_PROCESSINGSOFTWARE']._serialized_end=217 + _globals['_PROCESSINGSOFTWARE_VERSIONSENTRY']._serialized_start=158 + _globals['_PROCESSINGSOFTWARE_VERSIONSENTRY']._serialized_end=217 +# @@protoc_insertion_point(module_scope) diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/processing_pb2.pyi b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/processing_pb2.pyi new file mode 100644 index 0000000..523056d --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/processing_pb2.pyi @@ -0,0 +1,20 @@ +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional + +DESCRIPTOR: _descriptor.FileDescriptor + +class ProcessingSoftware(_message.Message): + __slots__ = ("versions",) + class VersionsEntry(_message.Message): + __slots__ = ("key", "value") + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + VERSIONS_FIELD_NUMBER: _ClassVar[int] + versions: _containers.ScalarMap[str, str] + def __init__(self, versions: _Optional[_Mapping[str, str]] = ...) -> None: ... diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/processing_pb2_grpc.py b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/processing_pb2_grpc.py new file mode 100644 index 0000000..8a93939 --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/processing_pb2_grpc.py @@ -0,0 +1,3 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/product_pb2.py b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/product_pb2.py new file mode 100644 index 0000000..6cc07b2 --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/product_pb2.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: datasets/stac/v1/product.proto +# Protobuf Python Version: 6.30.0 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 30, + 0, + '', + 'datasets/stac/v1/product.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x64\x61tasets/stac/v1/product.proto\x12\x10\x64\x61tasets.stac.v1\"\xe2\x01\n\x11ProductProperties\x12\x19\n\x04type\x18\x01 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x04type\x12%\n\ntimeliness\x18\x02 \x01(\tB\x05\xaa\x01\x02\x08\x01R\ntimeliness\x12\x36\n\x13timeliness_category\x18\x03 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x12timelinessCategory\x12S\n\x10\x61\x63quisition_type\x18\x04 \x01(\x0e\x32(.datasets.stac.v1.ProductAcquisitionTypeR\x0f\x61\x63quisitionType*\xb6\x01\n\x16ProductAcquisitionType\x12(\n$PRODUCT_ACQUISITION_TYPE_UNSPECIFIED\x10\x00\x12$\n PRODUCT_ACQUISITION_TYPE_NOMINAL\x10\x01\x12(\n$PRODUCT_ACQUISITION_TYPE_CALIBRATION\x10\x02\x12\"\n\x1ePRODUCT_ACQUISITION_TYPE_OTHER\x10\x03\x42\x8b\x01\n\x14\x63om.datasets.stac.v1B\x0cProductProtoP\x01\xa2\x02\x03\x44SX\xaa\x02\x10\x44\x61tasets.Stac.V1\xca\x02\x10\x44\x61tasets\\Stac\\V1\xe2\x02\x1c\x44\x61tasets\\Stac\\V1\\GPBMetadata\xea\x02\x12\x44\x61tasets::Stac::V1\x92\x03\x02\x08\x02\x62\x08\x65\x64itionsp\xe8\x07') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'datasets.stac.v1.product_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.datasets.stac.v1B\014ProductProtoP\001\242\002\003DSX\252\002\020Datasets.Stac.V1\312\002\020Datasets\\Stac\\V1\342\002\034Datasets\\Stac\\V1\\GPBMetadata\352\002\022Datasets::Stac::V1\222\003\002\010\002' + _globals['_PRODUCTPROPERTIES'].fields_by_name['type']._loaded_options = None + _globals['_PRODUCTPROPERTIES'].fields_by_name['type']._serialized_options = b'\252\001\002\010\001' + _globals['_PRODUCTPROPERTIES'].fields_by_name['timeliness']._loaded_options = None + _globals['_PRODUCTPROPERTIES'].fields_by_name['timeliness']._serialized_options = b'\252\001\002\010\001' + _globals['_PRODUCTPROPERTIES'].fields_by_name['timeliness_category']._loaded_options = None + _globals['_PRODUCTPROPERTIES'].fields_by_name['timeliness_category']._serialized_options = b'\252\001\002\010\001' + _globals['_PRODUCTACQUISITIONTYPE']._serialized_start=282 + _globals['_PRODUCTACQUISITIONTYPE']._serialized_end=464 + _globals['_PRODUCTPROPERTIES']._serialized_start=53 + _globals['_PRODUCTPROPERTIES']._serialized_end=279 +# @@protoc_insertion_point(module_scope) diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/product_pb2.pyi b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/product_pb2.pyi new file mode 100644 index 0000000..c0adec6 --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/product_pb2.pyi @@ -0,0 +1,29 @@ +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class ProductAcquisitionType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + PRODUCT_ACQUISITION_TYPE_UNSPECIFIED: _ClassVar[ProductAcquisitionType] + PRODUCT_ACQUISITION_TYPE_NOMINAL: _ClassVar[ProductAcquisitionType] + PRODUCT_ACQUISITION_TYPE_CALIBRATION: _ClassVar[ProductAcquisitionType] + PRODUCT_ACQUISITION_TYPE_OTHER: _ClassVar[ProductAcquisitionType] +PRODUCT_ACQUISITION_TYPE_UNSPECIFIED: ProductAcquisitionType +PRODUCT_ACQUISITION_TYPE_NOMINAL: ProductAcquisitionType +PRODUCT_ACQUISITION_TYPE_CALIBRATION: ProductAcquisitionType +PRODUCT_ACQUISITION_TYPE_OTHER: ProductAcquisitionType + +class ProductProperties(_message.Message): + __slots__ = ("type", "timeliness", "timeliness_category", "acquisition_type") + TYPE_FIELD_NUMBER: _ClassVar[int] + TIMELINESS_FIELD_NUMBER: _ClassVar[int] + TIMELINESS_CATEGORY_FIELD_NUMBER: _ClassVar[int] + ACQUISITION_TYPE_FIELD_NUMBER: _ClassVar[int] + type: str + timeliness: str + timeliness_category: str + acquisition_type: ProductAcquisitionType + def __init__(self, type: _Optional[str] = ..., timeliness: _Optional[str] = ..., timeliness_category: _Optional[str] = ..., acquisition_type: _Optional[_Union[ProductAcquisitionType, str]] = ...) -> None: ... diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/product_pb2_grpc.py b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/product_pb2_grpc.py new file mode 100644 index 0000000..8a93939 --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/product_pb2_grpc.py @@ -0,0 +1,3 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/sar_pb2.py b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/sar_pb2.py new file mode 100644 index 0000000..029cc04 --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/sar_pb2.py @@ -0,0 +1,65 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: datasets/stac/v1/sar.proto +# Protobuf Python Version: 6.30.0 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 30, + 0, + '', + 'datasets/stac/v1/sar.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x64\x61tasets/stac/v1/sar.proto\x12\x10\x64\x61tasets.stac.v1\"\xc0\x06\n\rSARProperties\x12G\n\rpolarizations\x18\x01 \x03(\x0e\x32!.datasets.stac.v1.SARPolarizationR\rpolarizations\x12.\n\x0finstrument_mode\x18\x02 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x0einstrumentMode\x12I\n\x0e\x66requency_band\x18\x03 \x01(\x0e\x32\".datasets.stac.v1.SARFrequencyBandR\rfrequencyBand\x12\x30\n\x10\x63\x65nter_frequency\x18\x04 \x01(\x01\x42\x05\xaa\x01\x02\x08\x01R\x0f\x63\x65nterFrequency\x12#\n\tbandwidth\x18\x05 \x01(\x01\x42\x05\xaa\x01\x02\x08\x01R\tbandwidth\x12\x30\n\x10resolution_range\x18\x06 \x01(\x01\x42\x05\xaa\x01\x02\x08\x01R\x0fresolutionRange\x12\x34\n\x12resolution_azimuth\x18\x07 \x01(\x01\x42\x05\xaa\x01\x02\x08\x01R\x11resolutionAzimuth\x12\x35\n\x13pixel_spacing_range\x18\x08 \x01(\x01\x42\x05\xaa\x01\x02\x08\x01R\x11pixelSpacingRange\x12\x39\n\x15pixel_spacing_azimuth\x18\t \x01(\x01\x42\x05\xaa\x01\x02\x08\x01R\x13pixelSpacingAzimuth\x12&\n\x0blooks_range\x18\n \x01(\x04\x42\x05\xaa\x01\x02\x08\x01R\nlooksRange\x12*\n\rlooks_azimuth\x18\x0b \x01(\x04\x42\x05\xaa\x01\x02\x08\x01R\x0clooksAzimuth\x12=\n\x17looks_equivalent_number\x18\x0c \x01(\x01\x42\x05\xaa\x01\x02\x08\x01R\x15looksEquivalentNumber\x12^\n\x15observation_direction\x18\r \x01(\x0e\x32).datasets.stac.v1.SARObservationDirectionR\x14observationDirection\x12,\n\x0erelative_burst\x18\x0e \x01(\x04\x42\x05\xaa\x01\x02\x08\x01R\rrelativeBurst\x12\x19\n\x08\x62\x65\x61m_ids\x18\x0f \x03(\tR\x07\x62\x65\x61mIds*\x88\x02\n\x10SARFrequencyBand\x12\"\n\x1eSAR_FREQUENCY_BAND_UNSPECIFIED\x10\x00\x12\x18\n\x14SAR_FREQUENCY_BAND_P\x10\x01\x12\x18\n\x14SAR_FREQUENCY_BAND_L\x10\x02\x12\x18\n\x14SAR_FREQUENCY_BAND_S\x10\x03\x12\x18\n\x14SAR_FREQUENCY_BAND_C\x10\x04\x12\x18\n\x14SAR_FREQUENCY_BAND_X\x10\x05\x12\x19\n\x15SAR_FREQUENCY_BAND_KU\x10\x06\x12\x18\n\x14SAR_FREQUENCY_BAND_K\x10\x07\x12\x19\n\x15SAR_FREQUENCY_BAND_KA\x10\x08*\xad\x02\n\x0fSARPolarization\x12 \n\x1cSAR_POLARIZATION_UNSPECIFIED\x10\x00\x12\x17\n\x13SAR_POLARIZATION_HH\x10\x01\x12\x17\n\x13SAR_POLARIZATION_VV\x10\x02\x12\x17\n\x13SAR_POLARIZATION_HV\x10\x03\x12\x17\n\x13SAR_POLARIZATION_VH\x10\x04\x12\x17\n\x13SAR_POLARIZATION_LH\x10\x05\x12\x17\n\x13SAR_POLARIZATION_LV\x10\x06\x12\x17\n\x13SAR_POLARIZATION_RH\x10\x07\x12\x17\n\x13SAR_POLARIZATION_RV\x10\x08\x12\x17\n\x13SAR_POLARIZATION_CH\x10\t\x12\x17\n\x13SAR_POLARIZATION_CV\x10\n*\x8d\x01\n\x17SARObservationDirection\x12)\n%SAR_OBSERVATION_DIRECTION_UNSPECIFIED\x10\x00\x12\"\n\x1eSAR_OBSERVATION_DIRECTION_LEFT\x10\x01\x12#\n\x1fSAR_OBSERVATION_DIRECTION_RIGHT\x10\x02\x42\x87\x01\n\x14\x63om.datasets.stac.v1B\x08SarProtoP\x01\xa2\x02\x03\x44SX\xaa\x02\x10\x44\x61tasets.Stac.V1\xca\x02\x10\x44\x61tasets\\Stac\\V1\xe2\x02\x1c\x44\x61tasets\\Stac\\V1\\GPBMetadata\xea\x02\x12\x44\x61tasets::Stac::V1\x92\x03\x02\x08\x02\x62\x08\x65\x64itionsp\xe8\x07') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'datasets.stac.v1.sar_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.datasets.stac.v1B\010SarProtoP\001\242\002\003DSX\252\002\020Datasets.Stac.V1\312\002\020Datasets\\Stac\\V1\342\002\034Datasets\\Stac\\V1\\GPBMetadata\352\002\022Datasets::Stac::V1\222\003\002\010\002' + _globals['_SARPROPERTIES'].fields_by_name['instrument_mode']._loaded_options = None + _globals['_SARPROPERTIES'].fields_by_name['instrument_mode']._serialized_options = b'\252\001\002\010\001' + _globals['_SARPROPERTIES'].fields_by_name['center_frequency']._loaded_options = None + _globals['_SARPROPERTIES'].fields_by_name['center_frequency']._serialized_options = b'\252\001\002\010\001' + _globals['_SARPROPERTIES'].fields_by_name['bandwidth']._loaded_options = None + _globals['_SARPROPERTIES'].fields_by_name['bandwidth']._serialized_options = b'\252\001\002\010\001' + _globals['_SARPROPERTIES'].fields_by_name['resolution_range']._loaded_options = None + _globals['_SARPROPERTIES'].fields_by_name['resolution_range']._serialized_options = b'\252\001\002\010\001' + _globals['_SARPROPERTIES'].fields_by_name['resolution_azimuth']._loaded_options = None + _globals['_SARPROPERTIES'].fields_by_name['resolution_azimuth']._serialized_options = b'\252\001\002\010\001' + _globals['_SARPROPERTIES'].fields_by_name['pixel_spacing_range']._loaded_options = None + _globals['_SARPROPERTIES'].fields_by_name['pixel_spacing_range']._serialized_options = b'\252\001\002\010\001' + _globals['_SARPROPERTIES'].fields_by_name['pixel_spacing_azimuth']._loaded_options = None + _globals['_SARPROPERTIES'].fields_by_name['pixel_spacing_azimuth']._serialized_options = b'\252\001\002\010\001' + _globals['_SARPROPERTIES'].fields_by_name['looks_range']._loaded_options = None + _globals['_SARPROPERTIES'].fields_by_name['looks_range']._serialized_options = b'\252\001\002\010\001' + _globals['_SARPROPERTIES'].fields_by_name['looks_azimuth']._loaded_options = None + _globals['_SARPROPERTIES'].fields_by_name['looks_azimuth']._serialized_options = b'\252\001\002\010\001' + _globals['_SARPROPERTIES'].fields_by_name['looks_equivalent_number']._loaded_options = None + _globals['_SARPROPERTIES'].fields_by_name['looks_equivalent_number']._serialized_options = b'\252\001\002\010\001' + _globals['_SARPROPERTIES'].fields_by_name['relative_burst']._loaded_options = None + _globals['_SARPROPERTIES'].fields_by_name['relative_burst']._serialized_options = b'\252\001\002\010\001' + _globals['_SARFREQUENCYBAND']._serialized_start=884 + _globals['_SARFREQUENCYBAND']._serialized_end=1148 + _globals['_SARPOLARIZATION']._serialized_start=1151 + _globals['_SARPOLARIZATION']._serialized_end=1452 + _globals['_SAROBSERVATIONDIRECTION']._serialized_start=1455 + _globals['_SAROBSERVATIONDIRECTION']._serialized_end=1596 + _globals['_SARPROPERTIES']._serialized_start=49 + _globals['_SARPROPERTIES']._serialized_end=881 +# @@protoc_insertion_point(module_scope) diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/sar_pb2.pyi b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/sar_pb2.pyi new file mode 100644 index 0000000..5014050 --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/sar_pb2.pyi @@ -0,0 +1,97 @@ +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class SARFrequencyBand(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + SAR_FREQUENCY_BAND_UNSPECIFIED: _ClassVar[SARFrequencyBand] + SAR_FREQUENCY_BAND_P: _ClassVar[SARFrequencyBand] + SAR_FREQUENCY_BAND_L: _ClassVar[SARFrequencyBand] + SAR_FREQUENCY_BAND_S: _ClassVar[SARFrequencyBand] + SAR_FREQUENCY_BAND_C: _ClassVar[SARFrequencyBand] + SAR_FREQUENCY_BAND_X: _ClassVar[SARFrequencyBand] + SAR_FREQUENCY_BAND_KU: _ClassVar[SARFrequencyBand] + SAR_FREQUENCY_BAND_K: _ClassVar[SARFrequencyBand] + SAR_FREQUENCY_BAND_KA: _ClassVar[SARFrequencyBand] + +class SARPolarization(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + SAR_POLARIZATION_UNSPECIFIED: _ClassVar[SARPolarization] + SAR_POLARIZATION_HH: _ClassVar[SARPolarization] + SAR_POLARIZATION_VV: _ClassVar[SARPolarization] + SAR_POLARIZATION_HV: _ClassVar[SARPolarization] + SAR_POLARIZATION_VH: _ClassVar[SARPolarization] + SAR_POLARIZATION_LH: _ClassVar[SARPolarization] + SAR_POLARIZATION_LV: _ClassVar[SARPolarization] + SAR_POLARIZATION_RH: _ClassVar[SARPolarization] + SAR_POLARIZATION_RV: _ClassVar[SARPolarization] + SAR_POLARIZATION_CH: _ClassVar[SARPolarization] + SAR_POLARIZATION_CV: _ClassVar[SARPolarization] + +class SARObservationDirection(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + SAR_OBSERVATION_DIRECTION_UNSPECIFIED: _ClassVar[SARObservationDirection] + SAR_OBSERVATION_DIRECTION_LEFT: _ClassVar[SARObservationDirection] + SAR_OBSERVATION_DIRECTION_RIGHT: _ClassVar[SARObservationDirection] +SAR_FREQUENCY_BAND_UNSPECIFIED: SARFrequencyBand +SAR_FREQUENCY_BAND_P: SARFrequencyBand +SAR_FREQUENCY_BAND_L: SARFrequencyBand +SAR_FREQUENCY_BAND_S: SARFrequencyBand +SAR_FREQUENCY_BAND_C: SARFrequencyBand +SAR_FREQUENCY_BAND_X: SARFrequencyBand +SAR_FREQUENCY_BAND_KU: SARFrequencyBand +SAR_FREQUENCY_BAND_K: SARFrequencyBand +SAR_FREQUENCY_BAND_KA: SARFrequencyBand +SAR_POLARIZATION_UNSPECIFIED: SARPolarization +SAR_POLARIZATION_HH: SARPolarization +SAR_POLARIZATION_VV: SARPolarization +SAR_POLARIZATION_HV: SARPolarization +SAR_POLARIZATION_VH: SARPolarization +SAR_POLARIZATION_LH: SARPolarization +SAR_POLARIZATION_LV: SARPolarization +SAR_POLARIZATION_RH: SARPolarization +SAR_POLARIZATION_RV: SARPolarization +SAR_POLARIZATION_CH: SARPolarization +SAR_POLARIZATION_CV: SARPolarization +SAR_OBSERVATION_DIRECTION_UNSPECIFIED: SARObservationDirection +SAR_OBSERVATION_DIRECTION_LEFT: SARObservationDirection +SAR_OBSERVATION_DIRECTION_RIGHT: SARObservationDirection + +class SARProperties(_message.Message): + __slots__ = ("polarizations", "instrument_mode", "frequency_band", "center_frequency", "bandwidth", "resolution_range", "resolution_azimuth", "pixel_spacing_range", "pixel_spacing_azimuth", "looks_range", "looks_azimuth", "looks_equivalent_number", "observation_direction", "relative_burst", "beam_ids") + POLARIZATIONS_FIELD_NUMBER: _ClassVar[int] + INSTRUMENT_MODE_FIELD_NUMBER: _ClassVar[int] + FREQUENCY_BAND_FIELD_NUMBER: _ClassVar[int] + CENTER_FREQUENCY_FIELD_NUMBER: _ClassVar[int] + BANDWIDTH_FIELD_NUMBER: _ClassVar[int] + RESOLUTION_RANGE_FIELD_NUMBER: _ClassVar[int] + RESOLUTION_AZIMUTH_FIELD_NUMBER: _ClassVar[int] + PIXEL_SPACING_RANGE_FIELD_NUMBER: _ClassVar[int] + PIXEL_SPACING_AZIMUTH_FIELD_NUMBER: _ClassVar[int] + LOOKS_RANGE_FIELD_NUMBER: _ClassVar[int] + LOOKS_AZIMUTH_FIELD_NUMBER: _ClassVar[int] + LOOKS_EQUIVALENT_NUMBER_FIELD_NUMBER: _ClassVar[int] + OBSERVATION_DIRECTION_FIELD_NUMBER: _ClassVar[int] + RELATIVE_BURST_FIELD_NUMBER: _ClassVar[int] + BEAM_IDS_FIELD_NUMBER: _ClassVar[int] + polarizations: _containers.RepeatedScalarFieldContainer[SARPolarization] + instrument_mode: str + frequency_band: SARFrequencyBand + center_frequency: float + bandwidth: float + resolution_range: float + resolution_azimuth: float + pixel_spacing_range: float + pixel_spacing_azimuth: float + looks_range: int + looks_azimuth: int + looks_equivalent_number: float + observation_direction: SARObservationDirection + relative_burst: int + beam_ids: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, polarizations: _Optional[_Iterable[_Union[SARPolarization, str]]] = ..., instrument_mode: _Optional[str] = ..., frequency_band: _Optional[_Union[SARFrequencyBand, str]] = ..., center_frequency: _Optional[float] = ..., bandwidth: _Optional[float] = ..., resolution_range: _Optional[float] = ..., resolution_azimuth: _Optional[float] = ..., pixel_spacing_range: _Optional[float] = ..., pixel_spacing_azimuth: _Optional[float] = ..., looks_range: _Optional[int] = ..., looks_azimuth: _Optional[int] = ..., looks_equivalent_number: _Optional[float] = ..., observation_direction: _Optional[_Union[SARObservationDirection, str]] = ..., relative_burst: _Optional[int] = ..., beam_ids: _Optional[_Iterable[str]] = ...) -> None: ... diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/sar_pb2_grpc.py b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/sar_pb2_grpc.py new file mode 100644 index 0000000..8a93939 --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/sar_pb2_grpc.py @@ -0,0 +1,3 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/satellite_pb2.py b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/satellite_pb2.py new file mode 100644 index 0000000..fb5009a --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/satellite_pb2.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: datasets/stac/v1/satellite.proto +# Protobuf Python Version: 6.30.0 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 30, + 0, + '', + 'datasets/stac/v1/satellite.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n datasets/stac/v1/satellite.proto\x12\x10\x64\x61tasets.stac.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"k\n\x19SatelliteOrbitStateVector\x12\x36\n\x08\x64\x61tetime\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x08\x64\x61tetime\x12\x16\n\x06values\x18\x02 \x03(\x01R\x06values\"\x88\x04\n\x13SatelliteProperties\x12Q\n!platform_international_designator\x18\x01 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x1fplatformInternationalDesignator\x12\x46\n\x0borbit_state\x18\x02 \x01(\x0e\x32%.datasets.stac.v1.SatelliteOrbitStateR\norbitState\x12,\n\x0e\x61\x62solute_orbit\x18\x03 \x01(\x04\x42\x05\xaa\x01\x02\x08\x01R\rabsoluteOrbit\x12,\n\x0erelative_orbit\x18\x04 \x01(\x04\x42\x05\xaa\x01\x02\x08\x01R\rrelativeOrbit\x12&\n\x0borbit_cycle\x18\x05 \x01(\x04\x42\x05\xaa\x01\x02\x08\x01R\norbitCycle\x12[\n\x13orbit_state_vectors\x18\x06 \x03(\x0b\x32+.datasets.stac.v1.SatelliteOrbitStateVectorR\x11orbitStateVectors\x12=\n\x0c\x61nx_datetime\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0b\x61nxDatetime\x12\x36\n\x13\x61\x63quisition_station\x18\x08 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x12\x61\x63quisitionStation*\xd4\x01\n\x13SatelliteOrbitState\x12%\n!SATELLITE_ORBIT_STATE_UNSPECIFIED\x10\x00\x12#\n\x1fSATELLITE_ORBIT_STATE_ASCENDING\x10\x01\x12$\n SATELLITE_ORBIT_STATE_DESCENDING\x10\x02\x12\'\n#SATELLITE_ORBIT_STATE_GEOSTATIONARY\x10\x03\x12\"\n\x1eSATELLITE_ORBIT_STATE_CROSSING\x10\x04\x42\x8d\x01\n\x14\x63om.datasets.stac.v1B\x0eSatelliteProtoP\x01\xa2\x02\x03\x44SX\xaa\x02\x10\x44\x61tasets.Stac.V1\xca\x02\x10\x44\x61tasets\\Stac\\V1\xe2\x02\x1c\x44\x61tasets\\Stac\\V1\\GPBMetadata\xea\x02\x12\x44\x61tasets::Stac::V1\x92\x03\x02\x08\x02\x62\x08\x65\x64itionsp\xe8\x07') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'datasets.stac.v1.satellite_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.datasets.stac.v1B\016SatelliteProtoP\001\242\002\003DSX\252\002\020Datasets.Stac.V1\312\002\020Datasets\\Stac\\V1\342\002\034Datasets\\Stac\\V1\\GPBMetadata\352\002\022Datasets::Stac::V1\222\003\002\010\002' + _globals['_SATELLITEPROPERTIES'].fields_by_name['platform_international_designator']._loaded_options = None + _globals['_SATELLITEPROPERTIES'].fields_by_name['platform_international_designator']._serialized_options = b'\252\001\002\010\001' + _globals['_SATELLITEPROPERTIES'].fields_by_name['absolute_orbit']._loaded_options = None + _globals['_SATELLITEPROPERTIES'].fields_by_name['absolute_orbit']._serialized_options = b'\252\001\002\010\001' + _globals['_SATELLITEPROPERTIES'].fields_by_name['relative_orbit']._loaded_options = None + _globals['_SATELLITEPROPERTIES'].fields_by_name['relative_orbit']._serialized_options = b'\252\001\002\010\001' + _globals['_SATELLITEPROPERTIES'].fields_by_name['orbit_cycle']._loaded_options = None + _globals['_SATELLITEPROPERTIES'].fields_by_name['orbit_cycle']._serialized_options = b'\252\001\002\010\001' + _globals['_SATELLITEPROPERTIES'].fields_by_name['acquisition_station']._loaded_options = None + _globals['_SATELLITEPROPERTIES'].fields_by_name['acquisition_station']._serialized_options = b'\252\001\002\010\001' + _globals['_SATELLITEORBITSTATE']._serialized_start=720 + _globals['_SATELLITEORBITSTATE']._serialized_end=932 + _globals['_SATELLITEORBITSTATEVECTOR']._serialized_start=87 + _globals['_SATELLITEORBITSTATEVECTOR']._serialized_end=194 + _globals['_SATELLITEPROPERTIES']._serialized_start=197 + _globals['_SATELLITEPROPERTIES']._serialized_end=717 +# @@protoc_insertion_point(module_scope) diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/satellite_pb2.pyi b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/satellite_pb2.pyi new file mode 100644 index 0000000..51a2971 --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/satellite_pb2.pyi @@ -0,0 +1,50 @@ +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class SatelliteOrbitState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + SATELLITE_ORBIT_STATE_UNSPECIFIED: _ClassVar[SatelliteOrbitState] + SATELLITE_ORBIT_STATE_ASCENDING: _ClassVar[SatelliteOrbitState] + SATELLITE_ORBIT_STATE_DESCENDING: _ClassVar[SatelliteOrbitState] + SATELLITE_ORBIT_STATE_GEOSTATIONARY: _ClassVar[SatelliteOrbitState] + SATELLITE_ORBIT_STATE_CROSSING: _ClassVar[SatelliteOrbitState] +SATELLITE_ORBIT_STATE_UNSPECIFIED: SatelliteOrbitState +SATELLITE_ORBIT_STATE_ASCENDING: SatelliteOrbitState +SATELLITE_ORBIT_STATE_DESCENDING: SatelliteOrbitState +SATELLITE_ORBIT_STATE_GEOSTATIONARY: SatelliteOrbitState +SATELLITE_ORBIT_STATE_CROSSING: SatelliteOrbitState + +class SatelliteOrbitStateVector(_message.Message): + __slots__ = ("datetime", "values") + DATETIME_FIELD_NUMBER: _ClassVar[int] + VALUES_FIELD_NUMBER: _ClassVar[int] + datetime: _timestamp_pb2.Timestamp + values: _containers.RepeatedScalarFieldContainer[float] + def __init__(self, datetime: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., values: _Optional[_Iterable[float]] = ...) -> None: ... + +class SatelliteProperties(_message.Message): + __slots__ = ("platform_international_designator", "orbit_state", "absolute_orbit", "relative_orbit", "orbit_cycle", "orbit_state_vectors", "anx_datetime", "acquisition_station") + PLATFORM_INTERNATIONAL_DESIGNATOR_FIELD_NUMBER: _ClassVar[int] + ORBIT_STATE_FIELD_NUMBER: _ClassVar[int] + ABSOLUTE_ORBIT_FIELD_NUMBER: _ClassVar[int] + RELATIVE_ORBIT_FIELD_NUMBER: _ClassVar[int] + ORBIT_CYCLE_FIELD_NUMBER: _ClassVar[int] + ORBIT_STATE_VECTORS_FIELD_NUMBER: _ClassVar[int] + ANX_DATETIME_FIELD_NUMBER: _ClassVar[int] + ACQUISITION_STATION_FIELD_NUMBER: _ClassVar[int] + platform_international_designator: str + orbit_state: SatelliteOrbitState + absolute_orbit: int + relative_orbit: int + orbit_cycle: int + orbit_state_vectors: _containers.RepeatedCompositeFieldContainer[SatelliteOrbitStateVector] + anx_datetime: _timestamp_pb2.Timestamp + acquisition_station: str + def __init__(self, platform_international_designator: _Optional[str] = ..., orbit_state: _Optional[_Union[SatelliteOrbitState, str]] = ..., absolute_orbit: _Optional[int] = ..., relative_orbit: _Optional[int] = ..., orbit_cycle: _Optional[int] = ..., orbit_state_vectors: _Optional[_Iterable[_Union[SatelliteOrbitStateVector, _Mapping]]] = ..., anx_datetime: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., acquisition_station: _Optional[str] = ...) -> None: ... diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/satellite_pb2_grpc.py b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/satellite_pb2_grpc.py new file mode 100644 index 0000000..8a93939 --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/satellite_pb2_grpc.py @@ -0,0 +1,3 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/storage_pb2.py b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/storage_pb2.py new file mode 100644 index 0000000..8d8aa7e --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/storage_pb2.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: datasets/stac/v1/storage.proto +# Protobuf Python Version: 6.30.0 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 30, + 0, + '', + 'datasets/stac/v1/storage.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x64\x61tasets/stac/v1/storage.proto\x12\x10\x64\x61tasets.stac.v1\"\xa8\x01\n\x07Storage\x12@\n\x07schemes\x18\x01 \x03(\x0b\x32&.datasets.stac.v1.Storage.SchemesEntryR\x07schemes\x1a[\n\x0cSchemesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32\x1f.datasets.stac.v1.StorageSchemeR\x05value:\x02\x38\x01\"\xdc\x02\n\rStorageScheme\x12H\n\nknown_type\x18\x01 \x01(\x0e\x32\".datasets.stac.v1.KnownStorageTypeB\x05\xaa\x01\x02\x08\x01R\tknownType\x12&\n\x0b\x63ustom_type\x18\x02 \x01(\tB\x05\xaa\x01\x02\x08\x01R\ncustomType\x12\x1a\n\x08platform\x18\x03 \x01(\tR\x08platform\x12\x1b\n\x05title\x18\x04 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x05title\x12\'\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x0b\x64\x65scription\x12\x1d\n\x06region\x18\x06 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x06region\x12,\n\x0erequester_pays\x18\x07 \x01(\x08\x42\x05\xaa\x01\x02\x08\x01R\rrequesterPays\x12*\n\rstorage_class\x18\x08 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x0cstorageClass*\xcc\x01\n\x10KnownStorageType\x12\"\n\x1eKNOWN_STORAGE_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19KNOWN_STORAGE_TYPE_AWS_S3\x10\x01\x12 \n\x1cKNOWN_STORAGE_TYPE_CUSTOM_S3\x10\x02\x12&\n\"KNOWN_STORAGE_TYPE_MICROSOFT_AZURE\x10\x03\x12+\n\'KNOWN_STORAGE_TYPE_GOOGLE_CLOUD_STORAGE\x10\x04\x42\x8b\x01\n\x14\x63om.datasets.stac.v1B\x0cStorageProtoP\x01\xa2\x02\x03\x44SX\xaa\x02\x10\x44\x61tasets.Stac.V1\xca\x02\x10\x44\x61tasets\\Stac\\V1\xe2\x02\x1c\x44\x61tasets\\Stac\\V1\\GPBMetadata\xea\x02\x12\x44\x61tasets::Stac::V1\x92\x03\x02\x08\x02\x62\x08\x65\x64itionsp\xe8\x07') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'datasets.stac.v1.storage_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.datasets.stac.v1B\014StorageProtoP\001\242\002\003DSX\252\002\020Datasets.Stac.V1\312\002\020Datasets\\Stac\\V1\342\002\034Datasets\\Stac\\V1\\GPBMetadata\352\002\022Datasets::Stac::V1\222\003\002\010\002' + _globals['_STORAGE_SCHEMESENTRY']._loaded_options = None + _globals['_STORAGE_SCHEMESENTRY']._serialized_options = b'8\001' + _globals['_STORAGESCHEME'].fields_by_name['known_type']._loaded_options = None + _globals['_STORAGESCHEME'].fields_by_name['known_type']._serialized_options = b'\252\001\002\010\001' + _globals['_STORAGESCHEME'].fields_by_name['custom_type']._loaded_options = None + _globals['_STORAGESCHEME'].fields_by_name['custom_type']._serialized_options = b'\252\001\002\010\001' + _globals['_STORAGESCHEME'].fields_by_name['title']._loaded_options = None + _globals['_STORAGESCHEME'].fields_by_name['title']._serialized_options = b'\252\001\002\010\001' + _globals['_STORAGESCHEME'].fields_by_name['description']._loaded_options = None + _globals['_STORAGESCHEME'].fields_by_name['description']._serialized_options = b'\252\001\002\010\001' + _globals['_STORAGESCHEME'].fields_by_name['region']._loaded_options = None + _globals['_STORAGESCHEME'].fields_by_name['region']._serialized_options = b'\252\001\002\010\001' + _globals['_STORAGESCHEME'].fields_by_name['requester_pays']._loaded_options = None + _globals['_STORAGESCHEME'].fields_by_name['requester_pays']._serialized_options = b'\252\001\002\010\001' + _globals['_STORAGESCHEME'].fields_by_name['storage_class']._loaded_options = None + _globals['_STORAGESCHEME'].fields_by_name['storage_class']._serialized_options = b'\252\001\002\010\001' + _globals['_KNOWNSTORAGETYPE']._serialized_start=575 + _globals['_KNOWNSTORAGETYPE']._serialized_end=779 + _globals['_STORAGE']._serialized_start=53 + _globals['_STORAGE']._serialized_end=221 + _globals['_STORAGE_SCHEMESENTRY']._serialized_start=130 + _globals['_STORAGE_SCHEMESENTRY']._serialized_end=221 + _globals['_STORAGESCHEME']._serialized_start=224 + _globals['_STORAGESCHEME']._serialized_end=572 +# @@protoc_insertion_point(module_scope) diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/storage_pb2.pyi b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/storage_pb2.pyi new file mode 100644 index 0000000..6fa550c --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/storage_pb2.pyi @@ -0,0 +1,54 @@ +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class KnownStorageType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + KNOWN_STORAGE_TYPE_UNSPECIFIED: _ClassVar[KnownStorageType] + KNOWN_STORAGE_TYPE_AWS_S3: _ClassVar[KnownStorageType] + KNOWN_STORAGE_TYPE_CUSTOM_S3: _ClassVar[KnownStorageType] + KNOWN_STORAGE_TYPE_MICROSOFT_AZURE: _ClassVar[KnownStorageType] + KNOWN_STORAGE_TYPE_GOOGLE_CLOUD_STORAGE: _ClassVar[KnownStorageType] +KNOWN_STORAGE_TYPE_UNSPECIFIED: KnownStorageType +KNOWN_STORAGE_TYPE_AWS_S3: KnownStorageType +KNOWN_STORAGE_TYPE_CUSTOM_S3: KnownStorageType +KNOWN_STORAGE_TYPE_MICROSOFT_AZURE: KnownStorageType +KNOWN_STORAGE_TYPE_GOOGLE_CLOUD_STORAGE: KnownStorageType + +class Storage(_message.Message): + __slots__ = ("schemes",) + class SchemesEntry(_message.Message): + __slots__ = ("key", "value") + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: StorageScheme + def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[StorageScheme, _Mapping]] = ...) -> None: ... + SCHEMES_FIELD_NUMBER: _ClassVar[int] + schemes: _containers.MessageMap[str, StorageScheme] + def __init__(self, schemes: _Optional[_Mapping[str, StorageScheme]] = ...) -> None: ... + +class StorageScheme(_message.Message): + __slots__ = ("known_type", "custom_type", "platform", "title", "description", "region", "requester_pays", "storage_class") + KNOWN_TYPE_FIELD_NUMBER: _ClassVar[int] + CUSTOM_TYPE_FIELD_NUMBER: _ClassVar[int] + PLATFORM_FIELD_NUMBER: _ClassVar[int] + TITLE_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + REGION_FIELD_NUMBER: _ClassVar[int] + REQUESTER_PAYS_FIELD_NUMBER: _ClassVar[int] + STORAGE_CLASS_FIELD_NUMBER: _ClassVar[int] + known_type: KnownStorageType + custom_type: str + platform: str + title: str + description: str + region: str + requester_pays: bool + storage_class: str + def __init__(self, known_type: _Optional[_Union[KnownStorageType, str]] = ..., custom_type: _Optional[str] = ..., platform: _Optional[str] = ..., title: _Optional[str] = ..., description: _Optional[str] = ..., region: _Optional[str] = ..., requester_pays: bool = ..., storage_class: _Optional[str] = ...) -> None: ... diff --git a/tilebox-datasets/tilebox/datasets/datasets/stac/v1/storage_pb2_grpc.py b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/storage_pb2_grpc.py new file mode 100644 index 0000000..8a93939 --- /dev/null +++ b/tilebox-datasets/tilebox/datasets/datasets/stac/v1/storage_pb2_grpc.py @@ -0,0 +1,3 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc diff --git a/tilebox-datasets/tilebox/datasets/datasets/v1/dataset_type_pb2.py b/tilebox-datasets/tilebox/datasets/datasets/v1/dataset_type_pb2.py index 79acfa4..6ecba04 100644 --- a/tilebox-datasets/tilebox/datasets/datasets/v1/dataset_type_pb2.py +++ b/tilebox-datasets/tilebox/datasets/datasets/v1/dataset_type_pb2.py @@ -28,7 +28,7 @@ from tilebox.datasets.tilebox.v1 import id_pb2 as tilebox_dot_v1_dot_id__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x64\x61tasets/v1/dataset_type.proto\x12\x0b\x64\x61tasets.v1\x1a\"datasets/v1/well_known_types.proto\x1a google/protobuf/descriptor.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x13tilebox/v1/id.proto\"\x9d\x01\n\x05\x46ield\x12\x45\n\ndescriptor\x18\x01 \x01(\x0b\x32%.google.protobuf.FieldDescriptorProtoR\ndescriptor\x12<\n\nannotation\x18\x02 \x01(\x0b\x32\x1c.datasets.v1.FieldAnnotationR\nannotationJ\x04\x08\x03\x10\x04R\tqueryable\"\x9d\x02\n\x0f\x46ieldAnnotation\x12 \n\x0b\x64\x65scription\x18\x01 \x01(\tR\x0b\x64\x65scription\x12#\n\rexample_value\x18\x02 \x01(\tR\x0c\x65xampleValue\x12\x35\n\x13source_json_pointer\x18\x03 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x11sourceJsonPointer\x12\x1c\n\tqueryable\x18\x04 \x01(\x08R\tqueryable\x12@\n\x19queryable_json_schema_ref\x18\x05 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x16queryableJsonSchemaRef\x12,\n\x05roles\x18\x06 \x03(\x0e\x32\x16.datasets.v1.FieldRoleR\x05roles\"g\n\x0b\x44\x61tasetType\x12,\n\x04kind\x18\x01 \x01(\x0e\x32\x18.datasets.v1.DatasetKindR\x04kind\x12*\n\x06\x66ields\x18\x02 \x03(\x0b\x32\x12.datasets.v1.FieldR\x06\x66ields\"\xf4\x01\n\rAnnotatedType\x12I\n\x0e\x64\x65scriptor_set\x18\x01 \x01(\x0b\x32\".google.protobuf.FileDescriptorSetR\rdescriptorSet\x12\x19\n\x08type_url\x18\x02 \x01(\tR\x07typeUrl\x12I\n\x11\x66ield_annotations\x18\x04 \x03(\x0b\x32\x1c.datasets.v1.FieldAnnotationR\x10\x66ieldAnnotations\x12,\n\x04kind\x18\x05 \x01(\x0e\x32\x18.datasets.v1.DatasetKindR\x04kindJ\x04\x08\x03\x10\x04\"\xa6\x01\n\x11TemporalDatapoint\x12.\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12\x1e\n\x02id\x18\x02 \x01(\x0b\x32\x0e.tilebox.v1.IDR\x02id\x12\x41\n\x0eingestion_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ringestionTime\"\xdf\x01\n\x17SpatioTemporalDatapoint\x12.\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12\x1e\n\x02id\x18\x02 \x01(\x0b\x32\x0e.tilebox.v1.IDR\x02id\x12\x41\n\x0eingestion_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ringestionTime\x12\x31\n\x08geometry\x18\x04 \x01(\x0b\x32\x15.datasets.v1.GeometryR\x08geometry*g\n\x0b\x44\x61tasetKind\x12\x1c\n\x18\x44\x41TASET_KIND_UNSPECIFIED\x10\x00\x12\x19\n\x15\x44\x41TASET_KIND_TEMPORAL\x10\x01\x12\x1f\n\x1b\x44\x41TASET_KIND_SPATIOTEMPORAL\x10\x02*E\n\tFieldRole\x12\x1a\n\x16\x46IELD_ROLE_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x46IELD_ROLE_PRIMARY_TITLE\x10\x01\x42u\n\x0f\x63om.datasets.v1B\x10\x44\x61tasetTypeProtoP\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') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x64\x61tasets/v1/dataset_type.proto\x12\x0b\x64\x61tasets.v1\x1a\"datasets/v1/well_known_types.proto\x1a google/protobuf/descriptor.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x13tilebox/v1/id.proto\"\x8c\x01\n\x05\x46ield\x12\x45\n\ndescriptor\x18\x01 \x01(\x0b\x32%.google.protobuf.FieldDescriptorProtoR\ndescriptor\x12<\n\nannotation\x18\x02 \x01(\x0b\x32\x1c.datasets.v1.FieldAnnotationR\nannotation\"\x8a\x02\n\x0f\x46ieldAnnotation\x12 \n\x0b\x64\x65scription\x18\x01 \x01(\tR\x0b\x64\x65scription\x12#\n\rexample_value\x18\x02 \x01(\tR\x0c\x65xampleValue\x12\x35\n\x13source_json_pointer\x18\x03 \x01(\tB\x05\xaa\x01\x02\x08\x01R\x11sourceJsonPointer\x12\x1c\n\tqueryable\x18\x04 \x01(\x08R\tqueryable\x12-\n\x0fjson_schema_ref\x18\x05 \x01(\tB\x05\xaa\x01\x02\x08\x01R\rjsonSchemaRef\x12,\n\x05roles\x18\x06 \x03(\x0e\x32\x16.datasets.v1.FieldRoleR\x05roles\"g\n\x0b\x44\x61tasetType\x12,\n\x04kind\x18\x01 \x01(\x0e\x32\x18.datasets.v1.DatasetKindR\x04kind\x12*\n\x06\x66ields\x18\x02 \x03(\x0b\x32\x12.datasets.v1.FieldR\x06\x66ields\"\xf4\x01\n\rAnnotatedType\x12I\n\x0e\x64\x65scriptor_set\x18\x01 \x01(\x0b\x32\".google.protobuf.FileDescriptorSetR\rdescriptorSet\x12\x19\n\x08type_url\x18\x02 \x01(\tR\x07typeUrl\x12I\n\x11\x66ield_annotations\x18\x04 \x03(\x0b\x32\x1c.datasets.v1.FieldAnnotationR\x10\x66ieldAnnotations\x12,\n\x04kind\x18\x05 \x01(\x0e\x32\x18.datasets.v1.DatasetKindR\x04kindJ\x04\x08\x03\x10\x04\"\xa6\x01\n\x11TemporalDatapoint\x12.\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12\x1e\n\x02id\x18\x02 \x01(\x0b\x32\x0e.tilebox.v1.IDR\x02id\x12\x41\n\x0eingestion_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ringestionTime\"\xdf\x01\n\x17SpatioTemporalDatapoint\x12.\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12\x1e\n\x02id\x18\x02 \x01(\x0b\x32\x0e.tilebox.v1.IDR\x02id\x12\x41\n\x0eingestion_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ringestionTime\x12\x31\n\x08geometry\x18\x04 \x01(\x0b\x32\x15.datasets.v1.GeometryR\x08geometry*g\n\x0b\x44\x61tasetKind\x12\x1c\n\x18\x44\x41TASET_KIND_UNSPECIFIED\x10\x00\x12\x19\n\x15\x44\x41TASET_KIND_TEMPORAL\x10\x01\x12\x1f\n\x1b\x44\x41TASET_KIND_SPATIOTEMPORAL\x10\x02*E\n\tFieldRole\x12\x1a\n\x16\x46IELD_ROLE_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x46IELD_ROLE_PRIMARY_TITLE\x10\x01\x42u\n\x0f\x63om.datasets.v1B\x10\x44\x61tasetTypeProtoP\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') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -38,22 +38,22 @@ _globals['DESCRIPTOR']._serialized_options = b'\n\017com.datasets.v1B\020DatasetTypeProtoP\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' _globals['_FIELDANNOTATION'].fields_by_name['source_json_pointer']._loaded_options = None _globals['_FIELDANNOTATION'].fields_by_name['source_json_pointer']._serialized_options = b'\252\001\002\010\001' - _globals['_FIELDANNOTATION'].fields_by_name['queryable_json_schema_ref']._loaded_options = None - _globals['_FIELDANNOTATION'].fields_by_name['queryable_json_schema_ref']._serialized_options = b'\252\001\002\010\001' - _globals['_DATASETKIND']._serialized_start=1366 - _globals['_DATASETKIND']._serialized_end=1469 - _globals['_FIELDROLE']._serialized_start=1471 - _globals['_FIELDROLE']._serialized_end=1540 + _globals['_FIELDANNOTATION'].fields_by_name['json_schema_ref']._loaded_options = None + _globals['_FIELDANNOTATION'].fields_by_name['json_schema_ref']._serialized_options = b'\252\001\002\010\001' + _globals['_DATASETKIND']._serialized_start=1330 + _globals['_DATASETKIND']._serialized_end=1433 + _globals['_FIELDROLE']._serialized_start=1435 + _globals['_FIELDROLE']._serialized_end=1504 _globals['_FIELD']._serialized_start=172 - _globals['_FIELD']._serialized_end=329 - _globals['_FIELDANNOTATION']._serialized_start=332 - _globals['_FIELDANNOTATION']._serialized_end=617 - _globals['_DATASETTYPE']._serialized_start=619 - _globals['_DATASETTYPE']._serialized_end=722 - _globals['_ANNOTATEDTYPE']._serialized_start=725 - _globals['_ANNOTATEDTYPE']._serialized_end=969 - _globals['_TEMPORALDATAPOINT']._serialized_start=972 - _globals['_TEMPORALDATAPOINT']._serialized_end=1138 - _globals['_SPATIOTEMPORALDATAPOINT']._serialized_start=1141 - _globals['_SPATIOTEMPORALDATAPOINT']._serialized_end=1364 + _globals['_FIELD']._serialized_end=312 + _globals['_FIELDANNOTATION']._serialized_start=315 + _globals['_FIELDANNOTATION']._serialized_end=581 + _globals['_DATASETTYPE']._serialized_start=583 + _globals['_DATASETTYPE']._serialized_end=686 + _globals['_ANNOTATEDTYPE']._serialized_start=689 + _globals['_ANNOTATEDTYPE']._serialized_end=933 + _globals['_TEMPORALDATAPOINT']._serialized_start=936 + _globals['_TEMPORALDATAPOINT']._serialized_end=1102 + _globals['_SPATIOTEMPORALDATAPOINT']._serialized_start=1105 + _globals['_SPATIOTEMPORALDATAPOINT']._serialized_end=1328 # @@protoc_insertion_point(module_scope) diff --git a/tilebox-datasets/tilebox/datasets/datasets/v1/dataset_type_pb2.pyi b/tilebox-datasets/tilebox/datasets/datasets/v1/dataset_type_pb2.pyi index 343d269..2bddeb9 100644 --- a/tilebox-datasets/tilebox/datasets/datasets/v1/dataset_type_pb2.pyi +++ b/tilebox-datasets/tilebox/datasets/datasets/v1/dataset_type_pb2.pyi @@ -36,20 +36,20 @@ class Field(_message.Message): def __init__(self, descriptor: _Optional[_Union[_descriptor_pb2.FieldDescriptorProto, _Mapping]] = ..., annotation: _Optional[_Union[FieldAnnotation, _Mapping]] = ...) -> None: ... class FieldAnnotation(_message.Message): - __slots__ = ("description", "example_value", "source_json_pointer", "queryable", "queryable_json_schema_ref", "roles") + __slots__ = ("description", "example_value", "source_json_pointer", "queryable", "json_schema_ref", "roles") DESCRIPTION_FIELD_NUMBER: _ClassVar[int] EXAMPLE_VALUE_FIELD_NUMBER: _ClassVar[int] SOURCE_JSON_POINTER_FIELD_NUMBER: _ClassVar[int] QUERYABLE_FIELD_NUMBER: _ClassVar[int] - QUERYABLE_JSON_SCHEMA_REF_FIELD_NUMBER: _ClassVar[int] + JSON_SCHEMA_REF_FIELD_NUMBER: _ClassVar[int] ROLES_FIELD_NUMBER: _ClassVar[int] description: str example_value: str source_json_pointer: str queryable: bool - queryable_json_schema_ref: str + json_schema_ref: str roles: _containers.RepeatedScalarFieldContainer[FieldRole] - def __init__(self, description: _Optional[str] = ..., example_value: _Optional[str] = ..., source_json_pointer: _Optional[str] = ..., queryable: bool = ..., queryable_json_schema_ref: _Optional[str] = ..., roles: _Optional[_Iterable[_Union[FieldRole, str]]] = ...) -> None: ... + def __init__(self, description: _Optional[str] = ..., example_value: _Optional[str] = ..., source_json_pointer: _Optional[str] = ..., queryable: bool = ..., json_schema_ref: _Optional[str] = ..., roles: _Optional[_Iterable[_Union[FieldRole, str]]] = ...) -> None: ... class DatasetType(_message.Message): __slots__ = ("kind", "fields") diff --git a/tools/generate_protobuf.py b/tools/generate_protobuf.py index 8f5ef7d..ab53d99 100755 --- a/tools/generate_protobuf.py +++ b/tools/generate_protobuf.py @@ -32,6 +32,8 @@ def main() -> None: package_mapping = { "from datasets.v1 import": "from tilebox.datasets.datasets.v1 import", "import datasets.v1.": "import tilebox.datasets.datasets.v1.", + "from datasets.stac.v1 import": "from tilebox.datasets.datasets.stac.v1 import", + "import datasets.stac.v1.": "import tilebox.datasets.datasets.stac.v1.", "from tilebox.v1 import": "from tilebox.datasets.tilebox.v1 import", "import tilebox.v1.": "import tilebox.datasets.tilebox.v1.", "from workflows.v1 import": "from tilebox.workflows.workflows.v1 import", @@ -40,6 +42,7 @@ def main() -> None: folders = ( clients_repo / "tilebox-datasets" / "tilebox" / "datasets" / "datasets" / "v1", + clients_repo / "tilebox-datasets" / "tilebox" / "datasets" / "datasets" / "stac" / "v1", clients_repo / "tilebox-datasets" / "tilebox" / "datasets" / "tilebox" / "v1", clients_repo / "tilebox-workflows" / "tilebox" / "workflows" / "workflows" / "v1", ) From 343be766cd227b6d2a0aeefaa56825b78a7d7134 Mon Sep 17 00:00:00 2001 From: Lukas Bindreiter Date: Thu, 16 Jul 2026 18:19:18 +0200 Subject: [PATCH 2/2] Dataset field annotations for roles, queryables and json path mapping --- CHANGELOG.md | 8 ++- tilebox-datasets/tests/data/datasets.py | 20 +++++- tilebox-datasets/tests/data/test_datasets.py | 66 +++++++++++++++++++ .../tilebox/datasets/data/datasets.py | 63 +++++++++++++++--- tilebox-datasets/tilebox/datasets/service.py | 13 ++-- 5 files changed, 153 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b23865e..e60d2d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [0.56.0] - 2026-07-16 +### Added + +- `tilebox-datasets`: Added dataset field annotations for source JSON pointers, queryable fields, JSON Schema references, + and semantic roles, including STAC mappings for well-known dataset fields. + ### Changed - `tilebox-workflows`: Reduced import-time overhead for release runners by lazily loading optional heavy dependencies @@ -412,7 +417,8 @@ the first client that does not cache data (since it's already on the local file - Released under the [MIT](https://opensource.org/license/mit) license. - Released packages: `tilebox-datasets`, `tilebox-workflows`, `tilebox-storage`, `tilebox-grpc` -[Unreleased]: https://github.com/tilebox/tilebox-python/compare/v0.55.1...HEAD +[Unreleased]: https://github.com/tilebox/tilebox-python/compare/v0.56.0...HEAD +[0.56.0]: https://github.com/tilebox/tilebox-python/compare/v0.55.1...v0.56.0 [0.55.1]: https://github.com/tilebox/tilebox-python/compare/v0.55.0...v0.55.1 [0.55.0]: https://github.com/tilebox/tilebox-python/compare/v0.54.0...v0.55.0 [0.54.0]: https://github.com/tilebox/tilebox-python/compare/v0.53.0...v0.54.0 diff --git a/tilebox-datasets/tests/data/datasets.py b/tilebox-datasets/tests/data/datasets.py index d1d6b23..c83fb90 100644 --- a/tilebox-datasets/tests/data/datasets.py +++ b/tilebox-datasets/tests/data/datasets.py @@ -31,6 +31,7 @@ Field, FieldAnnotation, FieldDict, + FieldRole, ListDatasetsResponse, ) from tilebox.datasets.message_pool import register_once @@ -41,7 +42,11 @@ def field_annotations(draw: DrawFn) -> FieldAnnotation: """A hypothesis strategy for generating random field annotations""" description = draw(text(alphabet=string.ascii_letters, min_size=3, max_size=25)) example_value = draw(text(alphabet=string.ascii_letters + string.digits + "-_", min_size=1, max_size=10)) - return FieldAnnotation(description, example_value) + source_json_pointer = draw(text(alphabet=string.ascii_letters + string.digits + "/_-", max_size=25) | none()) + queryable = draw(booleans()) + json_schema_ref = draw(text(alphabet=string.ascii_letters + string.digits + "#/_-", max_size=25) | none()) + roles = draw(lists(sampled_from(FieldRole), unique=True)) + return FieldAnnotation(description, example_value, source_json_pointer, queryable, json_schema_ref, roles) @composite @@ -73,12 +78,22 @@ def field_dicts(draw: DrawFn) -> FieldDict: ) ) annotation = draw(field_annotations()) + roles = draw( + one_of( + lists(sampled_from(FieldRole), unique=True), + lists(just("primary_title"), unique=True), + ) + ) return { "name": name, "type": field_type, "description": annotation.description, "example_value": annotation.example_value, + "source_json_pointer": annotation.source_json_pointer, + "queryable": annotation.queryable, + "json_schema_ref": annotation.json_schema_ref, + "roles": roles, } @@ -104,8 +119,7 @@ def fields(draw: DrawFn) -> Field: descriptor = FieldDescriptorProto(name=name, type=field_type, type_name=type_name, label=label) annotation = draw(field_annotations()) - queryable = draw(booleans()) - return Field(descriptor, annotation, queryable) + return Field(descriptor, annotation) @composite diff --git a/tilebox-datasets/tests/data/test_datasets.py b/tilebox-datasets/tests/data/test_datasets.py index 5c8215a..79f9b8d 100644 --- a/tilebox-datasets/tests/data/test_datasets.py +++ b/tilebox-datasets/tests/data/test_datasets.py @@ -1,3 +1,7 @@ +from unittest.mock import MagicMock, patch +from uuid import uuid4 + +import pytest from hypothesis import given from tests.data.datasets import ( @@ -14,12 +18,15 @@ AnnotatedType, Dataset, DatasetGroup, + DatasetKind, DatasetType, Field, FieldAnnotation, FieldDict, + FieldRole, ListDatasetsResponse, ) +from tilebox.datasets.service import TileboxDatasetService @given(field_annotations()) @@ -27,6 +34,18 @@ def test_field_annotations_to_message_and_back(annotation: FieldAnnotation) -> N assert FieldAnnotation.from_message(annotation.to_message()) == annotation +@pytest.mark.parametrize("attribute", ["source_json_pointer", "json_schema_ref"]) +def test_optional_field_annotation_presence(attribute: str) -> None: + absent = FieldAnnotation("description", "example").to_message() + assert not absent.HasField(attribute) + + if attribute == "source_json_pointer": + present = FieldAnnotation("description", "example", source_json_pointer="").to_message() + else: + present = FieldAnnotation("description", "example", json_schema_ref="").to_message() + assert present.HasField(attribute) + + @given(field_dicts()) def test_field_from_dict(field_dict: FieldDict) -> None: field = Field.from_dict(field_dict) @@ -34,6 +53,12 @@ def test_field_from_dict(field_dict: FieldDict) -> None: assert field.descriptor.type is not None assert field.annotation.description == field_dict.get("description", "") assert field.annotation.example_value == field_dict.get("example_value", "") + assert field.annotation.source_json_pointer == field_dict.get("source_json_pointer") + assert field.annotation.queryable == field_dict.get("queryable", False) + assert field.annotation.json_schema_ref == field_dict.get("json_schema_ref") + assert field.annotation.roles == [ + FieldRole[role.upper()] if isinstance(role, str) else role for role in field_dict.get("roles", []) + ] @given(fields()) @@ -64,3 +89,44 @@ def test_dataset_groups_to_message_and_back(group: DatasetGroup) -> None: @given(list_datasets_responses()) def test_list_datasets_responses_to_message_and_back(response: ListDatasetsResponse) -> None: assert ListDatasetsResponse.from_message(response.to_message()) == response + + +@pytest.mark.parametrize("operation", ["create", "update"]) +def test_create_and_update_dataset_include_field_annotations(operation: str) -> None: + dataset_service = MagicMock() + service = TileboxDatasetService(dataset_service, MagicMock(), MagicMock(), MagicMock()) + custom_fields: list[FieldDict] = [ + { + "name": "title", + "type": str, + "source_json_pointer": "/properties/title", + "queryable": True, + "json_schema_ref": "https://example.com/schema.json#/title", + "roles": [FieldRole.PRIMARY_TITLE], + } + ] + + with patch.object(Dataset, "from_message", side_effect=lambda message: message): + if operation == "create": + service.create_dataset(DatasetKind.SPATIOTEMPORAL, "example", "Example", custom_fields).get() + request = dataset_service.CreateDataset.call_args.args[0] + else: + service.update_dataset(DatasetKind.SPATIOTEMPORAL, uuid4(), "Example", custom_fields).get() + request = dataset_service.UpdateDataset.call_args.args[0] + + annotations = {field.descriptor.name: field.annotation for field in request.type.fields} + assert annotations["time"].source_json_pointer == "/properties/datetime" + assert annotations["time"].json_schema_ref.endswith("datetime.json#/properties/datetime") + assert annotations["id"].source_json_pointer == "/properties/tilebox_id" + assert not annotations["id"].HasField("json_schema_ref") + assert annotations["ingestion_time"].source_json_pointer == "/properties/created" + assert annotations["ingestion_time"].json_schema_ref.endswith("datetime.json#/properties/created") + assert annotations["geometry"].source_json_pointer == "/geometry" + assert annotations["geometry"].json_schema_ref == "https://geojson.org/schema/Geometry.json" + assert all( + not annotation.queryable and not annotation.roles for name, annotation in annotations.items() if name != "title" + ) + assert annotations["title"].source_json_pointer == "/properties/title" + assert annotations["title"].queryable + assert annotations["title"].json_schema_ref == "https://example.com/schema.json#/title" + assert list(annotations["title"].roles) == [FieldRole.PRIMARY_TITLE.value] diff --git a/tilebox-datasets/tilebox/datasets/data/datasets.py b/tilebox-datasets/tilebox/datasets/data/datasets.py index 436e300..a0c43e8 100644 --- a/tilebox-datasets/tilebox/datasets/data/datasets.py +++ b/tilebox-datasets/tilebox/datasets/data/datasets.py @@ -1,7 +1,8 @@ from dataclasses import dataclass +from dataclasses import field as dataclass_field from datetime import datetime, timedelta from enum import Enum -from typing import TypedDict, get_args, get_origin +from typing import Literal, TypeAlias, TypedDict, get_args, get_origin from uuid import UUID import numpy as np @@ -24,17 +25,56 @@ class DatasetKind(Enum): _dataset_kind_int_to_enum = {kind.value: kind for kind in DatasetKind} +class FieldRole(Enum): + PRIMARY_TITLE = dataset_type_pb2.FIELD_ROLE_PRIMARY_TITLE + """The primary human-readable title or name used when displaying a datapoint.""" + + +_field_roles_from_string = {role.name.lower(): role for role in FieldRole} +_field_role_int_to_enum = {role.value: role for role in FieldRole} +FieldRolesLike: TypeAlias = list[FieldRole] | list[Literal["primary_title"]] + + @dataclass(frozen=True) class FieldAnnotation: description: str + """A human-readable description of the field.""" example_value: str + """An example value illustrating the field's expected contents.""" + source_json_pointer: str | None = None + """An RFC 6901 JSON Pointer locating the field value in the source document.""" + queryable: bool = False + """Whether the field is available for use in server-side filter expressions.""" + json_schema_ref: str | None = None + """A JSON Schema reference for the field when it corresponds to a well-known schema.""" + roles: list[FieldRole] = dataclass_field(default_factory=list) + """Semantic display roles fulfilled by the field.""" @classmethod def from_message(cls, annotation: dataset_type_pb2.FieldAnnotation) -> "FieldAnnotation": - return cls(description=annotation.description, example_value=annotation.example_value) + return cls( + description=annotation.description, + example_value=annotation.example_value, + source_json_pointer=( + annotation.source_json_pointer if annotation.HasField("source_json_pointer") else None + ), + queryable=annotation.queryable, + json_schema_ref=annotation.json_schema_ref if annotation.HasField("json_schema_ref") else None, + roles=[_field_role_int_to_enum[role] for role in annotation.roles], + ) def to_message(self) -> dataset_type_pb2.FieldAnnotation: - return dataset_type_pb2.FieldAnnotation(description=self.description, example_value=self.example_value) + annotation = dataset_type_pb2.FieldAnnotation( + description=self.description, + example_value=self.example_value, + queryable=self.queryable, + roles=[role.value for role in self.roles], + ) + if self.source_json_pointer is not None: + annotation.source_json_pointer = self.source_json_pointer + if self.json_schema_ref is not None: + annotation.json_schema_ref = self.json_schema_ref + return annotation class FieldDict(TypedDict): @@ -63,6 +103,10 @@ class FieldDict(TypedDict): ] description: NotRequired[str] example_value: NotRequired[str] + source_json_pointer: NotRequired[str | None] + queryable: NotRequired[bool] + json_schema_ref: NotRequired[str | None] + roles: NotRequired[FieldRolesLike] _TYPE_INFO: dict[type, tuple[FieldDescriptorProto.Type.ValueType, str | None]] = { @@ -83,14 +127,12 @@ class FieldDict(TypedDict): class Field: descriptor: FieldDescriptorProto annotation: FieldAnnotation - queryable: bool @classmethod def from_message(cls, field: dataset_type_pb2.Field) -> "Field": return cls( descriptor=field.descriptor, annotation=FieldAnnotation.from_message(field.annotation), - queryable=field.annotation.queryable, ) @classmethod @@ -116,16 +158,19 @@ def from_dict(cls, field: FieldDict) -> "Field": annotation=FieldAnnotation( description=field.get("description", ""), example_value=field.get("example_value", ""), + source_json_pointer=field.get("source_json_pointer"), + queryable=field.get("queryable", False), + json_schema_ref=field.get("json_schema_ref"), + roles=[ + _field_roles_from_string[role] if isinstance(role, str) else role for role in field.get("roles", []) + ], ), - queryable=False, ) def to_message(self) -> dataset_type_pb2.Field: - annotation = self.annotation.to_message() - annotation.queryable = self.queryable return dataset_type_pb2.Field( descriptor=self.descriptor, - annotation=annotation, + annotation=self.annotation.to_message(), ) diff --git a/tilebox-datasets/tilebox/datasets/service.py b/tilebox-datasets/tilebox/datasets/service.py index c840af5..fe79e4f 100644 --- a/tilebox-datasets/tilebox/datasets/service.py +++ b/tilebox-datasets/tilebox/datasets/service.py @@ -303,8 +303,11 @@ def _environment_info() -> str: annotation=FieldAnnotation( description="The timestamp associated with each data point.", example_value="2022-10-17T14:35:28Z", + source_json_pointer="/properties/datetime", + json_schema_ref=( + "https://schemas.stacspec.org/v1.1.0/item-spec/json-schema/datetime.json#/properties/datetime" + ), ), - queryable=False, ) _id_field = Field( @@ -317,8 +320,8 @@ def _environment_info() -> str: annotation=FieldAnnotation( description="A universally unique identifier (UUID) that uniquely identifies each data point, automatically generated by Tilebox.", example_value="4e8a2836-72f8-4ac2-a9e9-cbe3492ef60c", + source_json_pointer="/properties/tilebox_id", ), - queryable=False, ) _ingestion_time_field = Field( @@ -331,8 +334,9 @@ def _environment_info() -> str: annotation=FieldAnnotation( description="The time the data point was ingested into the Tilebox API, automatically generated by Tilebox.", example_value="2022-10-17T14:35:28Z", + source_json_pointer="/properties/created", + json_schema_ref=("https://schemas.stacspec.org/v1.1.0/item-spec/json-schema/datetime.json#/properties/created"), ), - queryable=False, ) _geometry_field = Field( @@ -345,8 +349,9 @@ def _environment_info() -> str: annotation=FieldAnnotation( description="The geometry associated with each data point.", example_value="POLYGON ((112.345 -36.789, ...))", + source_json_pointer="/geometry", + json_schema_ref="https://geojson.org/schema/Geometry.json", ), - queryable=False, ) _REQUIRED_FIELDS_PER_DATASET_KIND: dict[DatasetKind, list[Field]] = {