diff --git a/fennel/CHANGELOG.md b/fennel/CHANGELOG.md index ee6e595d..601c7549 100644 --- a/fennel/CHANGELOG.md +++ b/fennel/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog +## [1.5.38] - 2024-10-13 +- Add support for use_v2 in query_offline. + ## [1.5.37] - 2024-10-10 - Support date and datetime types in Min and Max aggregations diff --git a/fennel/client/client.py b/fennel/client/client.py index 6527cba5..9b879ab7 100644 --- a/fennel/client/client.py +++ b/fennel/client/client.py @@ -461,6 +461,7 @@ def query_offline( input_s3: Optional[S3Connector] = None, output_s3: Optional[S3Connector] = None, feature_to_column_map: Optional[Dict[Feature, str]] = None, + use_v2: bool = False, ) -> Dict[str, Any]: """Extract point in time correct values of output features. @@ -608,6 +609,7 @@ def query_offline( "input": extract_historical_input, "timestamp_column": timestamp_column, "s3_output": _s3_connector_dict(output_s3) if output_s3 else None, + "use_v2": use_v2, } response = self._post_json( "{}/query_offline".format( diff --git a/fennel/expr/expr.py b/fennel/expr/expr.py index cf85430c..1c99e18d 100644 --- a/fennel/expr/expr.py +++ b/fennel/expr/expr.py @@ -18,7 +18,7 @@ from fennel_data_lib import assign, type_of, matches import fennel.gen.schema_pb2 as schema_proto -import fennel.gen.expr_pb2 as expr_proto +import fennel.gen.expression_pb2 as expr_proto from fennel.internal_lib.schema import ( get_datatype, cast_col_to_arrow_dtype, diff --git a/fennel/expr/serializer.py b/fennel/expr/serializer.py index df8aafb3..263fd338 100644 --- a/fennel/expr/serializer.py +++ b/fennel/expr/serializer.py @@ -4,7 +4,7 @@ from fennel.dtypes.dtypes import FENNEL_STRUCT from .visitor import Visitor -import fennel.gen.expr_pb2 as proto +import fennel.gen.expression_pb2 as proto from fennel.internal_lib.schema import get_datatype from fennel.expr.expr import ( diff --git a/fennel/expr/test_expr.py b/fennel/expr/test_expr.py index ce7caf60..45f6d7ff 100644 --- a/fennel/expr/test_expr.py +++ b/fennel/expr/test_expr.py @@ -17,7 +17,7 @@ from fennel.expr.visitor import ExprPrinter, FetchReferences from fennel.expr.serializer import ExprSerializer from google.protobuf.json_format import ParseDict # type: ignore -from fennel.gen.expr_pb2 import Expr +from fennel.gen.expression_pb2 import Expr from fennel.internal_lib.utils.utils import is_user_defined_class from fennel.testing.test_utils import error_message diff --git a/fennel/expr/test_invalid_expr.py b/fennel/expr/test_invalid_expr.py index 7d467bd2..23e9d07c 100644 --- a/fennel/expr/test_invalid_expr.py +++ b/fennel/expr/test_invalid_expr.py @@ -11,7 +11,7 @@ from fennel.expr.visitor import ExprPrinter, FetchReferences from fennel.expr.serializer import ExprSerializer from google.protobuf.json_format import ParseDict # type: ignore -from fennel.gen.expr_pb2 import Expr +from fennel.gen.expression_pb2 import Expr from fennel.testing.test_utils import error_message diff --git a/fennel/gen/auth_pb2.py b/fennel/gen/auth_pb2.py index c51bec9c..c478c945 100644 --- a/fennel/gen/auth_pb2.py +++ b/fennel/gen/auth_pb2.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: auth.proto -# Protobuf Python Version: 4.25.4 """Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -16,13 +15,13 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nauth.proto\x12\x11\x66\x65nnel.proto.auth*\xb8\x01\n\rOrgPermission\x12\x0b\n\x07ORG_ALL\x10\x00\x12\n\n\x06INVITE\x10\x01\x12\x0f\n\x0b\x43REATE_ROLE\x10\x02\x12\r\n\tEDIT_ROLE\x10\x03\x12\r\n\tVIEW_ROLE\x10\x04\x12\x0f\n\x0b\x41SSIGN_ROLE\x10\x05\x12\x12\n\x0ePROVISION_TIER\x10\x06\x12\x0f\n\x0b\x44\x45LETE_TIER\x10\x07\x12\x14\n\x10SET_DEFAULT_ROLE\x10\x08\x12\x13\n\x0f\x41SSUME_IDENTITY\x10\t*\x80\x02\n\x0eTierPermission\x12\x0c\n\x08TIER_ALL\x10\x00\x12\x16\n\x12MODIFY_ENVIRONMENT\x10\x01\x12\x0c\n\x08\x41\x44\x44_TAGS\x10\x02\x12\x14\n\x10\x44\x45LETE_TIER_ONLY\x10\x03\x12\r\n\tVIEW_TIER\x10\x04\x12\x0f\n\x0bTIER_ACCESS\x10\x05\x12\x1a\n\x16VIEW_ENTITY_DEFINITION\x10\x06\x12\x1a\n\x16\x45\x44IT_ENTITY_DEFINITION\x10\x07\x12\x14\n\x10READ_ENTITY_DATA\x10\x08\x12\x15\n\x11WRITE_ENTITY_DATA\x10\t\x12\x1f\n\x1b\x45XTRACT_HISTORICAL_FEATURES\x10\nb\x06proto3') -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'auth_pb2', _globals) +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'auth_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None - _globals['_ORGPERMISSION']._serialized_start=34 - _globals['_ORGPERMISSION']._serialized_end=218 - _globals['_TIERPERMISSION']._serialized_start=221 - _globals['_TIERPERMISSION']._serialized_end=477 + _ORGPERMISSION._serialized_start=34 + _ORGPERMISSION._serialized_end=218 + _TIERPERMISSION._serialized_start=221 + _TIERPERMISSION._serialized_end=477 # @@protoc_insertion_point(module_scope) diff --git a/fennel/gen/connector_pb2.py b/fennel/gen/connector_pb2.py index bde0dd7e..3e2b153f 100644 --- a/fennel/gen/connector_pb2.py +++ b/fennel/gen/connector_pb2.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: connector.proto -# Protobuf Python Version: 4.25.4 """Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -14,7 +13,7 @@ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -import fennel.gen.expr_pb2 as expr__pb2 +import fennel.gen.expression_pb2 as expression__pb2 import fennel.gen.kinesis_pb2 as kinesis__pb2 import fennel.gen.pycode_pb2 as pycode__pb2 import fennel.gen.schema_registry_pb2 as schema__registry__pb2 @@ -22,107 +21,107 @@ import fennel.gen.secret_pb2 as secret__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0f\x63onnector.proto\x12\x16\x66\x65nnel.proto.connector\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\nexpr.proto\x1a\rkinesis.proto\x1a\x0cpycode.proto\x1a\x15schema_registry.proto\x1a\x0cschema.proto\x1a\x0csecret.proto\"\x8c\x05\n\x0b\x45xtDatabase\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\x05mysql\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.connector.MySQLH\x00\x12\x34\n\x08postgres\x18\x03 \x01(\x0b\x32 .fennel.proto.connector.PostgresH\x00\x12\x36\n\treference\x18\x04 \x01(\x0b\x32!.fennel.proto.connector.ReferenceH\x00\x12(\n\x02s3\x18\x05 \x01(\x0b\x32\x1a.fennel.proto.connector.S3H\x00\x12\x34\n\x08\x62igquery\x18\x06 \x01(\x0b\x32 .fennel.proto.connector.BigqueryH\x00\x12\x36\n\tsnowflake\x18\x07 \x01(\x0b\x32!.fennel.proto.connector.SnowflakeH\x00\x12.\n\x05kafka\x18\x08 \x01(\x0b\x32\x1d.fennel.proto.connector.KafkaH\x00\x12\x32\n\x07webhook\x18\t \x01(\x0b\x32\x1f.fennel.proto.connector.WebhookH\x00\x12\x32\n\x07kinesis\x18\n \x01(\x0b\x32\x1f.fennel.proto.connector.KinesisH\x00\x12\x34\n\x08redshift\x18\x0b \x01(\x0b\x32 .fennel.proto.connector.RedshiftH\x00\x12.\n\x05mongo\x18\x0c \x01(\x0b\x32\x1d.fennel.proto.connector.MongoH\x00\x12\x30\n\x06pubsub\x18\r \x01(\x0b\x32\x1e.fennel.proto.connector.PubSubH\x00\x42\t\n\x07variant\"M\n\x0cPubSubFormat\x12\x32\n\x04json\x18\x01 \x01(\x0b\x32\".fennel.proto.connector.JsonFormatH\x00\x42\t\n\x07variant\"\xbc\x01\n\x0bKafkaFormat\x12\x32\n\x04json\x18\x01 \x01(\x0b\x32\".fennel.proto.connector.JsonFormatH\x00\x12\x32\n\x04\x61vro\x18\x02 \x01(\x0b\x32\".fennel.proto.connector.AvroFormatH\x00\x12:\n\x08protobuf\x18\x03 \x01(\x0b\x32&.fennel.proto.connector.ProtobufFormatH\x00\x42\t\n\x07variant\"\x0c\n\nJsonFormat\"S\n\nAvroFormat\x12\x45\n\x0fschema_registry\x18\x01 \x01(\x0b\x32,.fennel.proto.schema_registry.SchemaRegistry\"W\n\x0eProtobufFormat\x12\x45\n\x0fschema_registry\x18\x01 \x01(\x0b\x32,.fennel.proto.schema_registry.SchemaRegistry\"\xde\x01\n\tReference\x12;\n\x06\x64\x62type\x18\x01 \x01(\x0e\x32+.fennel.proto.connector.Reference.ExtDBType\"\x93\x01\n\tExtDBType\x12\t\n\x05MYSQL\x10\x00\x12\x0c\n\x08POSTGRES\x10\x01\x12\x06\n\x02S3\x10\x02\x12\t\n\x05KAFKA\x10\x03\x12\x0c\n\x08\x42IGQUERY\x10\x04\x12\r\n\tSNOWFLAKE\x10\x05\x12\x0b\n\x07WEBHOOK\x10\x06\x12\x0b\n\x07KINESIS\x10\x07\x12\x0c\n\x08REDSHIFT\x10\x08\x12\t\n\x05MONGO\x10\t\x12\n\n\x06PUBSUB\x10\n\"E\n\x07Webhook\x12\x0c\n\x04name\x18\x01 \x01(\t\x12,\n\tretention\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\"\x8c\x02\n\x05MySQL\x12\x0e\n\x04user\x18\x03 \x01(\tH\x00\x12\x39\n\x0fusername_secret\x18\x07 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x12\x12\n\x08password\x18\x04 \x01(\tH\x01\x12\x39\n\x0fpassword_secret\x18\x08 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x01\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x05 \x01(\r\x12\x13\n\x0bjdbc_params\x18\x06 \x01(\tB\x12\n\x10username_variantB\x12\n\x10password_variant\"\x8f\x02\n\x08Postgres\x12\x0e\n\x04user\x18\x03 \x01(\tH\x00\x12\x39\n\x0fusername_secret\x18\x07 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x12\x12\n\x08password\x18\x04 \x01(\tH\x01\x12\x39\n\x0fpassword_secret\x18\x08 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x01\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x05 \x01(\r\x12\x13\n\x0bjdbc_params\x18\x06 \x01(\tB\x12\n\x10username_variantB\x12\n\x10password_variant\"\xb0\x02\n\x02S3\x12\x1f\n\x15\x61ws_secret_access_key\x18\x01 \x01(\tH\x00\x12\x46\n\x1c\x61ws_secret_access_key_secret\x18\x04 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x12\x1b\n\x11\x61ws_access_key_id\x18\x02 \x01(\tH\x01\x12\x42\n\x18\x61ws_access_key_id_secret\x18\x05 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x01\x12\x15\n\x08role_arn\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x1f\n\x1d\x61ws_secret_access_key_variantB\x1b\n\x19\x61ws_access_key_id_variantB\x0b\n\t_role_arn\"\xb6\x01\n\x08\x42igquery\x12\x1d\n\x13service_account_key\x18\x02 \x01(\tH\x00\x12\x44\n\x1aservice_account_key_secret\x18\x04 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x12\x12\n\ndataset_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x03 \x01(\tB\x1d\n\x1bservice_account_key_variant\"\xa1\x02\n\tSnowflake\x12\x0e\n\x04user\x18\x02 \x01(\tH\x00\x12\x39\n\x0fusername_secret\x18\x08 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x12\x12\n\x08password\x18\x03 \x01(\tH\x01\x12\x39\n\x0fpassword_secret\x18\t \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x01\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x04 \x01(\t\x12\x11\n\twarehouse\x18\x05 \x01(\t\x12\x0c\n\x04role\x18\x06 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x07 \x01(\tB\x12\n\x10username_variantB\x12\n\x10password_variant\"\xf9\x02\n\x05Kafka\x12\x1d\n\x13sasl_plain_username\x18\x05 \x01(\tH\x00\x12>\n\x14sasl_username_secret\x18\x08 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x12\x1d\n\x13sasl_plain_password\x18\x06 \x01(\tH\x01\x12>\n\x14sasl_password_secret\x18\t \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x01\x12\x19\n\x11\x62ootstrap_servers\x18\x01 \x01(\t\x12\x19\n\x11security_protocol\x18\x02 \x01(\t\x12\x16\n\x0esasl_mechanism\x18\x03 \x01(\t\x12\x1c\n\x10sasl_jaas_config\x18\x04 \x01(\tB\x02\x18\x01\x12\x14\n\x08group_id\x18\x07 \x01(\tB\x02\x18\x01\x42\x17\n\x15sasl_username_variantB\x17\n\x15sasl_password_variant\"\x1b\n\x07Kinesis\x12\x10\n\x08role_arn\x18\x01 \x01(\t\"\xd3\x01\n\x0b\x43redentials\x12\x12\n\x08username\x18\x01 \x01(\tH\x00\x12\x39\n\x0fusername_secret\x18\x03 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x12\x12\n\x08password\x18\x02 \x01(\tH\x01\x12\x39\n\x0fpassword_secret\x18\x04 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x01\x42\x12\n\x10username_variantB\x12\n\x10password_variant\"}\n\x16RedshiftAuthentication\x12\x1c\n\x12s3_access_role_arn\x18\x01 \x01(\tH\x00\x12:\n\x0b\x63redentials\x18\x02 \x01(\x0b\x32#.fennel.proto.connector.CredentialsH\x00\x42\t\n\x07variant\"\x99\x01\n\x08Redshift\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\x12\x0e\n\x06schema\x18\x04 \x01(\t\x12O\n\x17redshift_authentication\x18\x05 \x01(\x0b\x32..fennel.proto.connector.RedshiftAuthentication\"\xe9\x01\n\x05Mongo\x12\x0e\n\x04user\x18\x03 \x01(\tH\x00\x12\x39\n\x0fusername_secret\x18\x05 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x12\x12\n\x08password\x18\x04 \x01(\tH\x01\x12\x39\n\x0fpassword_secret\x18\x06 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x01\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x02 \x01(\tB\x12\n\x10username_variantB\x12\n\x10password_variant\"\xa0\x01\n\x06PubSub\x12\x1d\n\x13service_account_key\x18\x02 \x01(\tH\x00\x12\x44\n\x1aservice_account_key_secret\x18\x03 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x12\x12\n\nproject_id\x18\x01 \x01(\tB\x1d\n\x1bservice_account_key_variant\"\xc0\x05\n\x08\x45xtTable\x12\x39\n\x0bmysql_table\x18\x01 \x01(\x0b\x32\".fennel.proto.connector.MySQLTableH\x00\x12\x39\n\x08pg_table\x18\x02 \x01(\x0b\x32%.fennel.proto.connector.PostgresTableH\x00\x12\x33\n\x08s3_table\x18\x03 \x01(\x0b\x32\x1f.fennel.proto.connector.S3TableH\x00\x12\x39\n\x0bkafka_topic\x18\x04 \x01(\x0b\x32\".fennel.proto.connector.KafkaTopicH\x00\x12\x41\n\x0fsnowflake_table\x18\x05 \x01(\x0b\x32&.fennel.proto.connector.SnowflakeTableH\x00\x12?\n\x0e\x62igquery_table\x18\x06 \x01(\x0b\x32%.fennel.proto.connector.BigqueryTableH\x00\x12;\n\x08\x65ndpoint\x18\x07 \x01(\x0b\x32\'.fennel.proto.connector.WebhookEndpointH\x00\x12?\n\x0ekinesis_stream\x18\x08 \x01(\x0b\x32%.fennel.proto.connector.KinesisStreamH\x00\x12?\n\x0eredshift_table\x18\t \x01(\x0b\x32%.fennel.proto.connector.RedshiftTableH\x00\x12\x43\n\x10mongo_collection\x18\n \x01(\x0b\x32\'.fennel.proto.connector.MongoCollectionH\x00\x12;\n\x0cpubsub_topic\x18\x0b \x01(\x0b\x32#.fennel.proto.connector.PubSubTopicH\x00\x42\t\n\x07variant\"Q\n\nMySQLTable\x12/\n\x02\x64\x62\x18\x01 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12\x12\n\ntable_name\x18\x02 \x01(\t\"z\n\rPostgresTable\x12/\n\x02\x64\x62\x18\x01 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12\x12\n\ntable_name\x18\x02 \x01(\t\x12\x16\n\tslot_name\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0c\n\n_slot_name\"\xf7\x01\n\x07S3Table\x12\x0e\n\x06\x62ucket\x18\x01 \x01(\t\x12\x13\n\x0bpath_prefix\x18\x02 \x01(\t\x12\x11\n\tdelimiter\x18\x04 \x01(\t\x12\x0e\n\x06\x66ormat\x18\x05 \x01(\t\x12/\n\x02\x64\x62\x18\x06 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12\x12\n\npre_sorted\x18\x07 \x01(\x08\x12\x13\n\x0bpath_suffix\x18\x08 \x01(\t\x12.\n\x06spread\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x12\x0f\n\x07headers\x18\t \x03(\tB\t\n\x07_spread\"\x81\x01\n\nKafkaTopic\x12/\n\x02\x64\x62\x18\x01 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12\r\n\x05topic\x18\x02 \x01(\t\x12\x33\n\x06\x66ormat\x18\x03 \x01(\x0b\x32#.fennel.proto.connector.KafkaFormat\"T\n\rBigqueryTable\x12/\n\x02\x64\x62\x18\x01 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12\x12\n\ntable_name\x18\x02 \x01(\t\"U\n\x0eSnowflakeTable\x12/\n\x02\x64\x62\x18\x01 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12\x12\n\ntable_name\x18\x02 \x01(\t\"\x81\x01\n\x0fWebhookEndpoint\x12/\n\x02\x64\x62\x18\x01 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12\x10\n\x08\x65ndpoint\x18\x02 \x01(\t\x12+\n\x08\x64uration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xd3\x01\n\rKinesisStream\x12\x12\n\nstream_arn\x18\x01 \x01(\t\x12\x39\n\rinit_position\x18\x02 \x01(\x0e\x32\".fennel.proto.kinesis.InitPosition\x12\x32\n\x0einit_timestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0e\n\x06\x66ormat\x18\x04 \x01(\t\x12/\n\x02\x64\x62\x18\x05 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\"T\n\rRedshiftTable\x12/\n\x02\x64\x62\x18\x01 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12\x12\n\ntable_name\x18\x02 \x01(\t\"\x86\x01\n\x0bPubSubTopic\x12/\n\x02\x64\x62\x18\x01 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12\x10\n\x08topic_id\x18\x02 \x01(\t\x12\x34\n\x06\x66ormat\x18\x03 \x01(\x0b\x32$.fennel.proto.connector.PubSubFormat\"\xab\x02\n\x0cPreProcValue\x12\r\n\x03ref\x18\x01 \x01(\tH\x00\x12+\n\x05value\x18\x02 \x01(\x0b\x32\x1a.fennel.proto.schema.ValueH\x00\x12\x39\n\x04\x65val\x18\x03 \x01(\x0b\x32).fennel.proto.connector.PreProcValue.EvalH\x00\x1a\x98\x01\n\x04\x45val\x12+\n\x06schema\x18\x01 \x01(\x0b\x32\x1b.fennel.proto.schema.Schema\x12\'\n\x04\x65xpr\x18\x02 \x01(\x0b\x32\x17.fennel.proto.expr.ExprH\x00\x12-\n\x06pycode\x18\x03 \x01(\x0b\x32\x1b.fennel.proto.pycode.PyCodeH\x00\x42\x0b\n\teval_typeB\t\n\x07variant\"[\n\x0fMongoCollection\x12/\n\x02\x64\x62\x18\x01 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12\x17\n\x0f\x63ollection_name\x18\x02 \x01(\t\"2\n\x0cSnapshotData\x12\x0e\n\x06marker\x18\x01 \x01(\t\x12\x12\n\nnum_retain\x18\x02 \x01(\r\"\r\n\x0bIncremental\"\n\n\x08Recreate\"\xbc\x01\n\x05Style\x12:\n\x0bincremental\x18\x01 \x01(\x0b\x32#.fennel.proto.connector.IncrementalH\x00\x12\x34\n\x08recreate\x18\x02 \x01(\x0b\x32 .fennel.proto.connector.RecreateH\x00\x12\x38\n\x08snapshot\x18\x03 \x01(\x0b\x32$.fennel.proto.connector.SnapshotDataH\x00\x42\x07\n\x05Style\"\xb1\x05\n\x06Source\x12/\n\x05table\x18\x01 \x01(\x0b\x32 .fennel.proto.connector.ExtTable\x12\x0f\n\x07\x64\x61taset\x18\x02 \x01(\t\x12\x12\n\nds_version\x18\x03 \x01(\r\x12(\n\x05\x65very\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x13\n\x06\x63ursor\x18\x05 \x01(\tH\x00\x88\x01\x01\x12+\n\x08\x64isorder\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x17\n\x0ftimestamp_field\x18\x07 \x01(\t\x12\x30\n\x03\x63\x64\x63\x18\x08 \x01(\x0e\x32#.fennel.proto.connector.CDCStrategy\x12\x31\n\rstarting_from\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12=\n\x08pre_proc\x18\n \x03(\x0b\x32+.fennel.proto.connector.Source.PreProcEntry\x12\x0f\n\x07version\x18\x0b \x01(\r\x12\x0f\n\x07\x62ounded\x18\x0c \x01(\x08\x12\x30\n\x08idleness\x18\r \x01(\x0b\x32\x19.google.protobuf.DurationH\x01\x88\x01\x01\x12)\n\x05until\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x06\x66ilter\x18\x0f \x01(\x0b\x32\x1b.fennel.proto.pycode.PyCodeH\x02\x88\x01\x01\x1aT\n\x0cPreProcEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.fennel.proto.connector.PreProcValue:\x02\x38\x01\x42\t\n\x07_cursorB\x0b\n\t_idlenessB\t\n\x07_filter\"\xee\x03\n\x04Sink\x12/\n\x05table\x18\x01 \x01(\x0b\x32 .fennel.proto.connector.ExtTable\x12\x0f\n\x07\x64\x61taset\x18\x02 \x01(\t\x12\x12\n\nds_version\x18\x03 \x01(\r\x12\x35\n\x03\x63\x64\x63\x18\x04 \x01(\x0e\x32#.fennel.proto.connector.CDCStrategyH\x00\x88\x01\x01\x12(\n\x05\x65very\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12/\n\x03how\x18\x06 \x01(\x0b\x32\x1d.fennel.proto.connector.StyleH\x01\x88\x01\x01\x12\x0e\n\x06\x63reate\x18\x07 \x01(\x08\x12:\n\x07renames\x18\x08 \x03(\x0b\x32).fennel.proto.connector.Sink.RenamesEntry\x12.\n\x05since\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02\x88\x01\x01\x12.\n\x05until\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x03\x88\x01\x01\x1a.\n\x0cRenamesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x06\n\x04_cdcB\x06\n\x04_howB\x08\n\x06_sinceB\x08\n\x06_until*K\n\x0b\x43\x44\x43Strategy\x12\n\n\x06\x41ppend\x10\x00\x12\n\n\x06Upsert\x10\x01\x12\x0c\n\x08\x44\x65\x62\x65zium\x10\x02\x12\n\n\x06Native\x10\x03\x12\n\n\x06\x44\x65lete\x10\x04\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0f\x63onnector.proto\x12\x16\x66\x65nnel.proto.connector\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x10\x65xpression.proto\x1a\rkinesis.proto\x1a\x0cpycode.proto\x1a\x15schema_registry.proto\x1a\x0cschema.proto\x1a\x0csecret.proto\"\x8c\x05\n\x0b\x45xtDatabase\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\x05mysql\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.connector.MySQLH\x00\x12\x34\n\x08postgres\x18\x03 \x01(\x0b\x32 .fennel.proto.connector.PostgresH\x00\x12\x36\n\treference\x18\x04 \x01(\x0b\x32!.fennel.proto.connector.ReferenceH\x00\x12(\n\x02s3\x18\x05 \x01(\x0b\x32\x1a.fennel.proto.connector.S3H\x00\x12\x34\n\x08\x62igquery\x18\x06 \x01(\x0b\x32 .fennel.proto.connector.BigqueryH\x00\x12\x36\n\tsnowflake\x18\x07 \x01(\x0b\x32!.fennel.proto.connector.SnowflakeH\x00\x12.\n\x05kafka\x18\x08 \x01(\x0b\x32\x1d.fennel.proto.connector.KafkaH\x00\x12\x32\n\x07webhook\x18\t \x01(\x0b\x32\x1f.fennel.proto.connector.WebhookH\x00\x12\x32\n\x07kinesis\x18\n \x01(\x0b\x32\x1f.fennel.proto.connector.KinesisH\x00\x12\x34\n\x08redshift\x18\x0b \x01(\x0b\x32 .fennel.proto.connector.RedshiftH\x00\x12.\n\x05mongo\x18\x0c \x01(\x0b\x32\x1d.fennel.proto.connector.MongoH\x00\x12\x30\n\x06pubsub\x18\r \x01(\x0b\x32\x1e.fennel.proto.connector.PubSubH\x00\x42\t\n\x07variant\"M\n\x0cPubSubFormat\x12\x32\n\x04json\x18\x01 \x01(\x0b\x32\".fennel.proto.connector.JsonFormatH\x00\x42\t\n\x07variant\"\xbc\x01\n\x0bKafkaFormat\x12\x32\n\x04json\x18\x01 \x01(\x0b\x32\".fennel.proto.connector.JsonFormatH\x00\x12\x32\n\x04\x61vro\x18\x02 \x01(\x0b\x32\".fennel.proto.connector.AvroFormatH\x00\x12:\n\x08protobuf\x18\x03 \x01(\x0b\x32&.fennel.proto.connector.ProtobufFormatH\x00\x42\t\n\x07variant\"\x0c\n\nJsonFormat\"S\n\nAvroFormat\x12\x45\n\x0fschema_registry\x18\x01 \x01(\x0b\x32,.fennel.proto.schema_registry.SchemaRegistry\"W\n\x0eProtobufFormat\x12\x45\n\x0fschema_registry\x18\x01 \x01(\x0b\x32,.fennel.proto.schema_registry.SchemaRegistry\"\xde\x01\n\tReference\x12;\n\x06\x64\x62type\x18\x01 \x01(\x0e\x32+.fennel.proto.connector.Reference.ExtDBType\"\x93\x01\n\tExtDBType\x12\t\n\x05MYSQL\x10\x00\x12\x0c\n\x08POSTGRES\x10\x01\x12\x06\n\x02S3\x10\x02\x12\t\n\x05KAFKA\x10\x03\x12\x0c\n\x08\x42IGQUERY\x10\x04\x12\r\n\tSNOWFLAKE\x10\x05\x12\x0b\n\x07WEBHOOK\x10\x06\x12\x0b\n\x07KINESIS\x10\x07\x12\x0c\n\x08REDSHIFT\x10\x08\x12\t\n\x05MONGO\x10\t\x12\n\n\x06PUBSUB\x10\n\"E\n\x07Webhook\x12\x0c\n\x04name\x18\x01 \x01(\t\x12,\n\tretention\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\"\x8c\x02\n\x05MySQL\x12\x0e\n\x04user\x18\x03 \x01(\tH\x00\x12\x39\n\x0fusername_secret\x18\x07 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x12\x12\n\x08password\x18\x04 \x01(\tH\x01\x12\x39\n\x0fpassword_secret\x18\x08 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x01\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x05 \x01(\r\x12\x13\n\x0bjdbc_params\x18\x06 \x01(\tB\x12\n\x10username_variantB\x12\n\x10password_variant\"\x8f\x02\n\x08Postgres\x12\x0e\n\x04user\x18\x03 \x01(\tH\x00\x12\x39\n\x0fusername_secret\x18\x07 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x12\x12\n\x08password\x18\x04 \x01(\tH\x01\x12\x39\n\x0fpassword_secret\x18\x08 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x01\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x05 \x01(\r\x12\x13\n\x0bjdbc_params\x18\x06 \x01(\tB\x12\n\x10username_variantB\x12\n\x10password_variant\"\xb0\x02\n\x02S3\x12\x1f\n\x15\x61ws_secret_access_key\x18\x01 \x01(\tH\x00\x12\x46\n\x1c\x61ws_secret_access_key_secret\x18\x04 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x12\x1b\n\x11\x61ws_access_key_id\x18\x02 \x01(\tH\x01\x12\x42\n\x18\x61ws_access_key_id_secret\x18\x05 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x01\x12\x15\n\x08role_arn\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x1f\n\x1d\x61ws_secret_access_key_variantB\x1b\n\x19\x61ws_access_key_id_variantB\x0b\n\t_role_arn\"\xb6\x01\n\x08\x42igquery\x12\x1d\n\x13service_account_key\x18\x02 \x01(\tH\x00\x12\x44\n\x1aservice_account_key_secret\x18\x04 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x12\x12\n\ndataset_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x03 \x01(\tB\x1d\n\x1bservice_account_key_variant\"\xa1\x02\n\tSnowflake\x12\x0e\n\x04user\x18\x02 \x01(\tH\x00\x12\x39\n\x0fusername_secret\x18\x08 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x12\x12\n\x08password\x18\x03 \x01(\tH\x01\x12\x39\n\x0fpassword_secret\x18\t \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x01\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x04 \x01(\t\x12\x11\n\twarehouse\x18\x05 \x01(\t\x12\x0c\n\x04role\x18\x06 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x07 \x01(\tB\x12\n\x10username_variantB\x12\n\x10password_variant\"\xf9\x02\n\x05Kafka\x12\x1d\n\x13sasl_plain_username\x18\x05 \x01(\tH\x00\x12>\n\x14sasl_username_secret\x18\x08 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x12\x1d\n\x13sasl_plain_password\x18\x06 \x01(\tH\x01\x12>\n\x14sasl_password_secret\x18\t \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x01\x12\x19\n\x11\x62ootstrap_servers\x18\x01 \x01(\t\x12\x19\n\x11security_protocol\x18\x02 \x01(\t\x12\x16\n\x0esasl_mechanism\x18\x03 \x01(\t\x12\x1c\n\x10sasl_jaas_config\x18\x04 \x01(\tB\x02\x18\x01\x12\x14\n\x08group_id\x18\x07 \x01(\tB\x02\x18\x01\x42\x17\n\x15sasl_username_variantB\x17\n\x15sasl_password_variant\"\x1b\n\x07Kinesis\x12\x10\n\x08role_arn\x18\x01 \x01(\t\"\xd3\x01\n\x0b\x43redentials\x12\x12\n\x08username\x18\x01 \x01(\tH\x00\x12\x39\n\x0fusername_secret\x18\x03 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x12\x12\n\x08password\x18\x02 \x01(\tH\x01\x12\x39\n\x0fpassword_secret\x18\x04 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x01\x42\x12\n\x10username_variantB\x12\n\x10password_variant\"}\n\x16RedshiftAuthentication\x12\x1c\n\x12s3_access_role_arn\x18\x01 \x01(\tH\x00\x12:\n\x0b\x63redentials\x18\x02 \x01(\x0b\x32#.fennel.proto.connector.CredentialsH\x00\x42\t\n\x07variant\"\x99\x01\n\x08Redshift\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\x12\x0e\n\x06schema\x18\x04 \x01(\t\x12O\n\x17redshift_authentication\x18\x05 \x01(\x0b\x32..fennel.proto.connector.RedshiftAuthentication\"\xe9\x01\n\x05Mongo\x12\x0e\n\x04user\x18\x03 \x01(\tH\x00\x12\x39\n\x0fusername_secret\x18\x05 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x12\x12\n\x08password\x18\x04 \x01(\tH\x01\x12\x39\n\x0fpassword_secret\x18\x06 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x01\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x02 \x01(\tB\x12\n\x10username_variantB\x12\n\x10password_variant\"\xa0\x01\n\x06PubSub\x12\x1d\n\x13service_account_key\x18\x02 \x01(\tH\x00\x12\x44\n\x1aservice_account_key_secret\x18\x03 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x12\x12\n\nproject_id\x18\x01 \x01(\tB\x1d\n\x1bservice_account_key_variant\"\xc0\x05\n\x08\x45xtTable\x12\x39\n\x0bmysql_table\x18\x01 \x01(\x0b\x32\".fennel.proto.connector.MySQLTableH\x00\x12\x39\n\x08pg_table\x18\x02 \x01(\x0b\x32%.fennel.proto.connector.PostgresTableH\x00\x12\x33\n\x08s3_table\x18\x03 \x01(\x0b\x32\x1f.fennel.proto.connector.S3TableH\x00\x12\x39\n\x0bkafka_topic\x18\x04 \x01(\x0b\x32\".fennel.proto.connector.KafkaTopicH\x00\x12\x41\n\x0fsnowflake_table\x18\x05 \x01(\x0b\x32&.fennel.proto.connector.SnowflakeTableH\x00\x12?\n\x0e\x62igquery_table\x18\x06 \x01(\x0b\x32%.fennel.proto.connector.BigqueryTableH\x00\x12;\n\x08\x65ndpoint\x18\x07 \x01(\x0b\x32\'.fennel.proto.connector.WebhookEndpointH\x00\x12?\n\x0ekinesis_stream\x18\x08 \x01(\x0b\x32%.fennel.proto.connector.KinesisStreamH\x00\x12?\n\x0eredshift_table\x18\t \x01(\x0b\x32%.fennel.proto.connector.RedshiftTableH\x00\x12\x43\n\x10mongo_collection\x18\n \x01(\x0b\x32\'.fennel.proto.connector.MongoCollectionH\x00\x12;\n\x0cpubsub_topic\x18\x0b \x01(\x0b\x32#.fennel.proto.connector.PubSubTopicH\x00\x42\t\n\x07variant\"Q\n\nMySQLTable\x12/\n\x02\x64\x62\x18\x01 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12\x12\n\ntable_name\x18\x02 \x01(\t\"z\n\rPostgresTable\x12/\n\x02\x64\x62\x18\x01 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12\x12\n\ntable_name\x18\x02 \x01(\t\x12\x16\n\tslot_name\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0c\n\n_slot_name\"\xf7\x01\n\x07S3Table\x12\x0e\n\x06\x62ucket\x18\x01 \x01(\t\x12\x13\n\x0bpath_prefix\x18\x02 \x01(\t\x12\x11\n\tdelimiter\x18\x04 \x01(\t\x12\x0e\n\x06\x66ormat\x18\x05 \x01(\t\x12/\n\x02\x64\x62\x18\x06 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12\x12\n\npre_sorted\x18\x07 \x01(\x08\x12\x13\n\x0bpath_suffix\x18\x08 \x01(\t\x12.\n\x06spread\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x12\x0f\n\x07headers\x18\t \x03(\tB\t\n\x07_spread\"\x81\x01\n\nKafkaTopic\x12/\n\x02\x64\x62\x18\x01 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12\r\n\x05topic\x18\x02 \x01(\t\x12\x33\n\x06\x66ormat\x18\x03 \x01(\x0b\x32#.fennel.proto.connector.KafkaFormat\"T\n\rBigqueryTable\x12/\n\x02\x64\x62\x18\x01 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12\x12\n\ntable_name\x18\x02 \x01(\t\"U\n\x0eSnowflakeTable\x12/\n\x02\x64\x62\x18\x01 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12\x12\n\ntable_name\x18\x02 \x01(\t\"\x81\x01\n\x0fWebhookEndpoint\x12/\n\x02\x64\x62\x18\x01 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12\x10\n\x08\x65ndpoint\x18\x02 \x01(\t\x12+\n\x08\x64uration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xd3\x01\n\rKinesisStream\x12\x12\n\nstream_arn\x18\x01 \x01(\t\x12\x39\n\rinit_position\x18\x02 \x01(\x0e\x32\".fennel.proto.kinesis.InitPosition\x12\x32\n\x0einit_timestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0e\n\x06\x66ormat\x18\x04 \x01(\t\x12/\n\x02\x64\x62\x18\x05 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\"T\n\rRedshiftTable\x12/\n\x02\x64\x62\x18\x01 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12\x12\n\ntable_name\x18\x02 \x01(\t\"\x86\x01\n\x0bPubSubTopic\x12/\n\x02\x64\x62\x18\x01 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12\x10\n\x08topic_id\x18\x02 \x01(\t\x12\x34\n\x06\x66ormat\x18\x03 \x01(\x0b\x32$.fennel.proto.connector.PubSubFormat\"\xb1\x02\n\x0cPreProcValue\x12\r\n\x03ref\x18\x01 \x01(\tH\x00\x12+\n\x05value\x18\x02 \x01(\x0b\x32\x1a.fennel.proto.schema.ValueH\x00\x12\x39\n\x04\x65val\x18\x03 \x01(\x0b\x32).fennel.proto.connector.PreProcValue.EvalH\x00\x1a\x9e\x01\n\x04\x45val\x12+\n\x06schema\x18\x01 \x01(\x0b\x32\x1b.fennel.proto.schema.Schema\x12-\n\x04\x65xpr\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.expression.ExprH\x00\x12-\n\x06pycode\x18\x03 \x01(\x0b\x32\x1b.fennel.proto.pycode.PyCodeH\x00\x42\x0b\n\teval_typeB\t\n\x07variant\"[\n\x0fMongoCollection\x12/\n\x02\x64\x62\x18\x01 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12\x17\n\x0f\x63ollection_name\x18\x02 \x01(\t\"2\n\x0cSnapshotData\x12\x0e\n\x06marker\x18\x01 \x01(\t\x12\x12\n\nnum_retain\x18\x02 \x01(\r\"\r\n\x0bIncremental\"\n\n\x08Recreate\"\xbc\x01\n\x05Style\x12:\n\x0bincremental\x18\x01 \x01(\x0b\x32#.fennel.proto.connector.IncrementalH\x00\x12\x34\n\x08recreate\x18\x02 \x01(\x0b\x32 .fennel.proto.connector.RecreateH\x00\x12\x38\n\x08snapshot\x18\x03 \x01(\x0b\x32$.fennel.proto.connector.SnapshotDataH\x00\x42\x07\n\x05Style\"\xb1\x05\n\x06Source\x12/\n\x05table\x18\x01 \x01(\x0b\x32 .fennel.proto.connector.ExtTable\x12\x0f\n\x07\x64\x61taset\x18\x02 \x01(\t\x12\x12\n\nds_version\x18\x03 \x01(\r\x12(\n\x05\x65very\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x13\n\x06\x63ursor\x18\x05 \x01(\tH\x00\x88\x01\x01\x12+\n\x08\x64isorder\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x17\n\x0ftimestamp_field\x18\x07 \x01(\t\x12\x30\n\x03\x63\x64\x63\x18\x08 \x01(\x0e\x32#.fennel.proto.connector.CDCStrategy\x12\x31\n\rstarting_from\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12=\n\x08pre_proc\x18\n \x03(\x0b\x32+.fennel.proto.connector.Source.PreProcEntry\x12\x0f\n\x07version\x18\x0b \x01(\r\x12\x0f\n\x07\x62ounded\x18\x0c \x01(\x08\x12\x30\n\x08idleness\x18\r \x01(\x0b\x32\x19.google.protobuf.DurationH\x01\x88\x01\x01\x12)\n\x05until\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x06\x66ilter\x18\x0f \x01(\x0b\x32\x1b.fennel.proto.pycode.PyCodeH\x02\x88\x01\x01\x1aT\n\x0cPreProcEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.fennel.proto.connector.PreProcValue:\x02\x38\x01\x42\t\n\x07_cursorB\x0b\n\t_idlenessB\t\n\x07_filter\"\xee\x03\n\x04Sink\x12/\n\x05table\x18\x01 \x01(\x0b\x32 .fennel.proto.connector.ExtTable\x12\x0f\n\x07\x64\x61taset\x18\x02 \x01(\t\x12\x12\n\nds_version\x18\x03 \x01(\r\x12\x35\n\x03\x63\x64\x63\x18\x04 \x01(\x0e\x32#.fennel.proto.connector.CDCStrategyH\x00\x88\x01\x01\x12(\n\x05\x65very\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12/\n\x03how\x18\x06 \x01(\x0b\x32\x1d.fennel.proto.connector.StyleH\x01\x88\x01\x01\x12\x0e\n\x06\x63reate\x18\x07 \x01(\x08\x12:\n\x07renames\x18\x08 \x03(\x0b\x32).fennel.proto.connector.Sink.RenamesEntry\x12.\n\x05since\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02\x88\x01\x01\x12.\n\x05until\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x03\x88\x01\x01\x1a.\n\x0cRenamesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x06\n\x04_cdcB\x06\n\x04_howB\x08\n\x06_sinceB\x08\n\x06_until*K\n\x0b\x43\x44\x43Strategy\x12\n\n\x06\x41ppend\x10\x00\x12\n\n\x06Upsert\x10\x01\x12\x0c\n\x08\x44\x65\x62\x65zium\x10\x02\x12\n\n\x06Native\x10\x03\x12\n\n\x06\x44\x65lete\x10\x04\x62\x06proto3') -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'connector_pb2', _globals) +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'connector_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None - _globals['_KAFKA'].fields_by_name['sasl_jaas_config']._options = None - _globals['_KAFKA'].fields_by_name['sasl_jaas_config']._serialized_options = b'\030\001' - _globals['_KAFKA'].fields_by_name['group_id']._options = None - _globals['_KAFKA'].fields_by_name['group_id']._serialized_options = b'\030\001' - _globals['_SOURCE_PREPROCENTRY']._options = None - _globals['_SOURCE_PREPROCENTRY']._serialized_options = b'8\001' - _globals['_SINK_RENAMESENTRY']._options = None - _globals['_SINK_RENAMESENTRY']._serialized_options = b'8\001' - _globals['_CDCSTRATEGY']._serialized_start=8135 - _globals['_CDCSTRATEGY']._serialized_end=8210 - _globals['_EXTDATABASE']._serialized_start=201 - _globals['_EXTDATABASE']._serialized_end=853 - _globals['_PUBSUBFORMAT']._serialized_start=855 - _globals['_PUBSUBFORMAT']._serialized_end=932 - _globals['_KAFKAFORMAT']._serialized_start=935 - _globals['_KAFKAFORMAT']._serialized_end=1123 - _globals['_JSONFORMAT']._serialized_start=1125 - _globals['_JSONFORMAT']._serialized_end=1137 - _globals['_AVROFORMAT']._serialized_start=1139 - _globals['_AVROFORMAT']._serialized_end=1222 - _globals['_PROTOBUFFORMAT']._serialized_start=1224 - _globals['_PROTOBUFFORMAT']._serialized_end=1311 - _globals['_REFERENCE']._serialized_start=1314 - _globals['_REFERENCE']._serialized_end=1536 - _globals['_REFERENCE_EXTDBTYPE']._serialized_start=1389 - _globals['_REFERENCE_EXTDBTYPE']._serialized_end=1536 - _globals['_WEBHOOK']._serialized_start=1538 - _globals['_WEBHOOK']._serialized_end=1607 - _globals['_MYSQL']._serialized_start=1610 - _globals['_MYSQL']._serialized_end=1878 - _globals['_POSTGRES']._serialized_start=1881 - _globals['_POSTGRES']._serialized_end=2152 - _globals['_S3']._serialized_start=2155 - _globals['_S3']._serialized_end=2459 - _globals['_BIGQUERY']._serialized_start=2462 - _globals['_BIGQUERY']._serialized_end=2644 - _globals['_SNOWFLAKE']._serialized_start=2647 - _globals['_SNOWFLAKE']._serialized_end=2936 - _globals['_KAFKA']._serialized_start=2939 - _globals['_KAFKA']._serialized_end=3316 - _globals['_KINESIS']._serialized_start=3318 - _globals['_KINESIS']._serialized_end=3345 - _globals['_CREDENTIALS']._serialized_start=3348 - _globals['_CREDENTIALS']._serialized_end=3559 - _globals['_REDSHIFTAUTHENTICATION']._serialized_start=3561 - _globals['_REDSHIFTAUTHENTICATION']._serialized_end=3686 - _globals['_REDSHIFT']._serialized_start=3689 - _globals['_REDSHIFT']._serialized_end=3842 - _globals['_MONGO']._serialized_start=3845 - _globals['_MONGO']._serialized_end=4078 - _globals['_PUBSUB']._serialized_start=4081 - _globals['_PUBSUB']._serialized_end=4241 - _globals['_EXTTABLE']._serialized_start=4244 - _globals['_EXTTABLE']._serialized_end=4948 - _globals['_MYSQLTABLE']._serialized_start=4950 - _globals['_MYSQLTABLE']._serialized_end=5031 - _globals['_POSTGRESTABLE']._serialized_start=5033 - _globals['_POSTGRESTABLE']._serialized_end=5155 - _globals['_S3TABLE']._serialized_start=5158 - _globals['_S3TABLE']._serialized_end=5405 - _globals['_KAFKATOPIC']._serialized_start=5408 - _globals['_KAFKATOPIC']._serialized_end=5537 - _globals['_BIGQUERYTABLE']._serialized_start=5539 - _globals['_BIGQUERYTABLE']._serialized_end=5623 - _globals['_SNOWFLAKETABLE']._serialized_start=5625 - _globals['_SNOWFLAKETABLE']._serialized_end=5710 - _globals['_WEBHOOKENDPOINT']._serialized_start=5713 - _globals['_WEBHOOKENDPOINT']._serialized_end=5842 - _globals['_KINESISSTREAM']._serialized_start=5845 - _globals['_KINESISSTREAM']._serialized_end=6056 - _globals['_REDSHIFTTABLE']._serialized_start=6058 - _globals['_REDSHIFTTABLE']._serialized_end=6142 - _globals['_PUBSUBTOPIC']._serialized_start=6145 - _globals['_PUBSUBTOPIC']._serialized_end=6279 - _globals['_PREPROCVALUE']._serialized_start=6282 - _globals['_PREPROCVALUE']._serialized_end=6581 - _globals['_PREPROCVALUE_EVAL']._serialized_start=6418 - _globals['_PREPROCVALUE_EVAL']._serialized_end=6570 - _globals['_MONGOCOLLECTION']._serialized_start=6583 - _globals['_MONGOCOLLECTION']._serialized_end=6674 - _globals['_SNAPSHOTDATA']._serialized_start=6676 - _globals['_SNAPSHOTDATA']._serialized_end=6726 - _globals['_INCREMENTAL']._serialized_start=6728 - _globals['_INCREMENTAL']._serialized_end=6741 - _globals['_RECREATE']._serialized_start=6743 - _globals['_RECREATE']._serialized_end=6753 - _globals['_STYLE']._serialized_start=6756 - _globals['_STYLE']._serialized_end=6944 - _globals['_SOURCE']._serialized_start=6947 - _globals['_SOURCE']._serialized_end=7636 - _globals['_SOURCE_PREPROCENTRY']._serialized_start=7517 - _globals['_SOURCE_PREPROCENTRY']._serialized_end=7601 - _globals['_SINK']._serialized_start=7639 - _globals['_SINK']._serialized_end=8133 - _globals['_SINK_RENAMESENTRY']._serialized_start=8051 - _globals['_SINK_RENAMESENTRY']._serialized_end=8097 + _KAFKA.fields_by_name['sasl_jaas_config']._options = None + _KAFKA.fields_by_name['sasl_jaas_config']._serialized_options = b'\030\001' + _KAFKA.fields_by_name['group_id']._options = None + _KAFKA.fields_by_name['group_id']._serialized_options = b'\030\001' + _SOURCE_PREPROCENTRY._options = None + _SOURCE_PREPROCENTRY._serialized_options = b'8\001' + _SINK_RENAMESENTRY._options = None + _SINK_RENAMESENTRY._serialized_options = b'8\001' + _CDCSTRATEGY._serialized_start=8147 + _CDCSTRATEGY._serialized_end=8222 + _EXTDATABASE._serialized_start=207 + _EXTDATABASE._serialized_end=859 + _PUBSUBFORMAT._serialized_start=861 + _PUBSUBFORMAT._serialized_end=938 + _KAFKAFORMAT._serialized_start=941 + _KAFKAFORMAT._serialized_end=1129 + _JSONFORMAT._serialized_start=1131 + _JSONFORMAT._serialized_end=1143 + _AVROFORMAT._serialized_start=1145 + _AVROFORMAT._serialized_end=1228 + _PROTOBUFFORMAT._serialized_start=1230 + _PROTOBUFFORMAT._serialized_end=1317 + _REFERENCE._serialized_start=1320 + _REFERENCE._serialized_end=1542 + _REFERENCE_EXTDBTYPE._serialized_start=1395 + _REFERENCE_EXTDBTYPE._serialized_end=1542 + _WEBHOOK._serialized_start=1544 + _WEBHOOK._serialized_end=1613 + _MYSQL._serialized_start=1616 + _MYSQL._serialized_end=1884 + _POSTGRES._serialized_start=1887 + _POSTGRES._serialized_end=2158 + _S3._serialized_start=2161 + _S3._serialized_end=2465 + _BIGQUERY._serialized_start=2468 + _BIGQUERY._serialized_end=2650 + _SNOWFLAKE._serialized_start=2653 + _SNOWFLAKE._serialized_end=2942 + _KAFKA._serialized_start=2945 + _KAFKA._serialized_end=3322 + _KINESIS._serialized_start=3324 + _KINESIS._serialized_end=3351 + _CREDENTIALS._serialized_start=3354 + _CREDENTIALS._serialized_end=3565 + _REDSHIFTAUTHENTICATION._serialized_start=3567 + _REDSHIFTAUTHENTICATION._serialized_end=3692 + _REDSHIFT._serialized_start=3695 + _REDSHIFT._serialized_end=3848 + _MONGO._serialized_start=3851 + _MONGO._serialized_end=4084 + _PUBSUB._serialized_start=4087 + _PUBSUB._serialized_end=4247 + _EXTTABLE._serialized_start=4250 + _EXTTABLE._serialized_end=4954 + _MYSQLTABLE._serialized_start=4956 + _MYSQLTABLE._serialized_end=5037 + _POSTGRESTABLE._serialized_start=5039 + _POSTGRESTABLE._serialized_end=5161 + _S3TABLE._serialized_start=5164 + _S3TABLE._serialized_end=5411 + _KAFKATOPIC._serialized_start=5414 + _KAFKATOPIC._serialized_end=5543 + _BIGQUERYTABLE._serialized_start=5545 + _BIGQUERYTABLE._serialized_end=5629 + _SNOWFLAKETABLE._serialized_start=5631 + _SNOWFLAKETABLE._serialized_end=5716 + _WEBHOOKENDPOINT._serialized_start=5719 + _WEBHOOKENDPOINT._serialized_end=5848 + _KINESISSTREAM._serialized_start=5851 + _KINESISSTREAM._serialized_end=6062 + _REDSHIFTTABLE._serialized_start=6064 + _REDSHIFTTABLE._serialized_end=6148 + _PUBSUBTOPIC._serialized_start=6151 + _PUBSUBTOPIC._serialized_end=6285 + _PREPROCVALUE._serialized_start=6288 + _PREPROCVALUE._serialized_end=6593 + _PREPROCVALUE_EVAL._serialized_start=6424 + _PREPROCVALUE_EVAL._serialized_end=6582 + _MONGOCOLLECTION._serialized_start=6595 + _MONGOCOLLECTION._serialized_end=6686 + _SNAPSHOTDATA._serialized_start=6688 + _SNAPSHOTDATA._serialized_end=6738 + _INCREMENTAL._serialized_start=6740 + _INCREMENTAL._serialized_end=6753 + _RECREATE._serialized_start=6755 + _RECREATE._serialized_end=6765 + _STYLE._serialized_start=6768 + _STYLE._serialized_end=6956 + _SOURCE._serialized_start=6959 + _SOURCE._serialized_end=7648 + _SOURCE_PREPROCENTRY._serialized_start=7529 + _SOURCE_PREPROCENTRY._serialized_end=7613 + _SINK._serialized_start=7651 + _SINK._serialized_end=8145 + _SINK_RENAMESENTRY._serialized_start=8063 + _SINK_RENAMESENTRY._serialized_end=8109 # @@protoc_insertion_point(module_scope) diff --git a/fennel/gen/connector_pb2.pyi b/fennel/gen/connector_pb2.pyi index 04e38755..ca83dab0 100644 --- a/fennel/gen/connector_pb2.pyi +++ b/fennel/gen/connector_pb2.pyi @@ -13,7 +13,7 @@ database """ import builtins import collections.abc -import expr_pb2 +import expression_pb2 import google.protobuf.descriptor import google.protobuf.duration_pb2 import google.protobuf.internal.containers @@ -305,6 +305,7 @@ class MySQL(google.protobuf.message.Message): database: builtins.str port: builtins.int jdbc_params: builtins.str + """Next id: 9""" def __init__( self, *, @@ -348,6 +349,7 @@ class Postgres(google.protobuf.message.Message): database: builtins.str port: builtins.int jdbc_params: builtins.str + """Next id: 9""" def __init__( self, *, @@ -385,6 +387,7 @@ class S3(google.protobuf.message.Message): @property def aws_access_key_id_secret(self) -> secret_pb2.SecretRef: ... role_arn: builtins.str + """Next id: 6""" def __init__( self, *, @@ -418,6 +421,7 @@ class Bigquery(google.protobuf.message.Message): def service_account_key_secret(self) -> secret_pb2.SecretRef: ... dataset_id: builtins.str project_id: builtins.str + """Next id: 5""" def __init__( self, *, @@ -456,6 +460,7 @@ class Snowflake(google.protobuf.message.Message): warehouse: builtins.str role: builtins.str database: builtins.str + """Next id: 10""" def __init__( self, *, @@ -502,6 +507,7 @@ class Kafka(google.protobuf.message.Message): sasl_mechanism: builtins.str sasl_jaas_config: builtins.str group_id: builtins.str + """Next id: 10""" def __init__( self, *, @@ -640,6 +646,7 @@ class Mongo(google.protobuf.message.Message): def password_secret(self) -> secret_pb2.SecretRef: ... host: builtins.str database: builtins.str + """Next id: 7""" def __init__( self, *, @@ -670,6 +677,7 @@ class PubSub(google.protobuf.message.Message): @property def service_account_key_secret(self) -> secret_pb2.SecretRef: ... project_id: builtins.str + """Next id: 4""" def __init__( self, *, @@ -1010,14 +1018,14 @@ class PreProcValue(google.protobuf.message.Message): @property def schema(self) -> schema_pb2.Schema: ... @property - def expr(self) -> expr_pb2.Expr: ... + def expr(self) -> expression_pb2.Expr: ... @property def pycode(self) -> pycode_pb2.PyCode: ... def __init__( self, *, schema: schema_pb2.Schema | None = ..., - expr: expr_pb2.Expr | None = ..., + expr: expression_pb2.Expr | None = ..., pycode: pycode_pb2.PyCode | None = ..., ) -> None: ... def HasField(self, field_name: typing_extensions.Literal["eval_type", b"eval_type", "expr", b"expr", "pycode", b"pycode", "schema", b"schema"]) -> builtins.bool: ... diff --git a/fennel/gen/dataset_pb2.py b/fennel/gen/dataset_pb2.py index e6176a5a..0507da7d 100644 --- a/fennel/gen/dataset_pb2.py +++ b/fennel/gen/dataset_pb2.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: dataset.proto -# Protobuf Python Version: 4.25.4 """Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -18,98 +17,98 @@ import fennel.gen.schema_pb2 as schema__pb2 import fennel.gen.spec_pb2 as spec__pb2 import fennel.gen.window_pb2 as window__pb2 -import fennel.gen.expr_pb2 as expr__pb2 +import fennel.gen.expression_pb2 as expression__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rdataset.proto\x12\x14\x66\x65nnel.proto.dataset\x1a\x1egoogle/protobuf/duration.proto\x1a\x0emetadata.proto\x1a\x0cpycode.proto\x1a\x0cschema.proto\x1a\nspec.proto\x1a\x0cwindow.proto\x1a\nexpr.proto\"\xe5\x03\n\x0b\x43oreDataset\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x31\n\x08metadata\x18\x02 \x01(\x0b\x32\x1f.fennel.proto.metadata.Metadata\x12/\n\x08\x64sschema\x18\x03 \x01(\x0b\x32\x1d.fennel.proto.schema.DSSchema\x12*\n\x07history\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12,\n\tretention\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12L\n\x0e\x66ield_metadata\x18\x06 \x03(\x0b\x32\x34.fennel.proto.dataset.CoreDataset.FieldMetadataEntry\x12+\n\x06pycode\x18\x07 \x01(\x0b\x32\x1b.fennel.proto.pycode.PyCode\x12\x19\n\x11is_source_dataset\x18\x08 \x01(\x08\x12\x0f\n\x07version\x18\t \x01(\r\x12\x0c\n\x04tags\x18\n \x03(\t\x1aU\n\x12\x46ieldMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.fennel.proto.metadata.Metadata:\x02\x38\x01\"Q\n\x08OnDemand\x12\x1c\n\x14\x66unction_source_code\x18\x01 \x01(\t\x12\x10\n\x08\x66unction\x18\x02 \x01(\x0c\x12\x15\n\rexpires_after\x18\x03 \x01(\x03\"\xd2\x01\n\x08Pipeline\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x64\x61taset_name\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\t\x12\x31\n\x08metadata\x18\x04 \x01(\x0b\x32\x1f.fennel.proto.metadata.Metadata\x12\x1b\n\x13input_dataset_names\x18\x05 \x03(\t\x12\x12\n\nds_version\x18\x06 \x01(\r\x12+\n\x06pycode\x18\x07 \x01(\x0b\x32\x1b.fennel.proto.pycode.PyCode\"\x8f\x08\n\x08Operator\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0f\n\x07is_root\x18\x02 \x01(\x08\x12\x15\n\rpipeline_name\x18\x03 \x01(\t\x12\x14\n\x0c\x64\x61taset_name\x18\x04 \x01(\t\x12\x12\n\nds_version\x18\x14 \x01(\r\x12\x34\n\taggregate\x18\x05 \x01(\x0b\x32\x1f.fennel.proto.dataset.AggregateH\x00\x12*\n\x04join\x18\x06 \x01(\x0b\x32\x1a.fennel.proto.dataset.JoinH\x00\x12\x34\n\ttransform\x18\x07 \x01(\x0b\x32\x1f.fennel.proto.dataset.TransformH\x00\x12,\n\x05union\x18\x08 \x01(\x0b\x32\x1b.fennel.proto.dataset.UnionH\x00\x12.\n\x06\x66ilter\x18\t \x01(\x0b\x32\x1c.fennel.proto.dataset.FilterH\x00\x12\x37\n\x0b\x64\x61taset_ref\x18\n \x01(\x0b\x32 .fennel.proto.dataset.DatasetRefH\x00\x12.\n\x06rename\x18\x0c \x01(\x0b\x32\x1c.fennel.proto.dataset.RenameH\x00\x12*\n\x04\x64rop\x18\r \x01(\x0b\x32\x1a.fennel.proto.dataset.DropH\x00\x12\x30\n\x07\x65xplode\x18\x0e \x01(\x0b\x32\x1d.fennel.proto.dataset.ExplodeH\x00\x12,\n\x05\x64\x65\x64up\x18\x0f \x01(\x0b\x32\x1b.fennel.proto.dataset.DedupH\x00\x12,\n\x05\x66irst\x18\x10 \x01(\x0b\x32\x1b.fennel.proto.dataset.FirstH\x00\x12.\n\x06\x61ssign\x18\x11 \x01(\x0b\x32\x1c.fennel.proto.dataset.AssignH\x00\x12\x32\n\x08\x64ropnull\x18\x12 \x01(\x0b\x32\x1e.fennel.proto.dataset.DropnullH\x00\x12:\n\x06window\x18\x13 \x01(\x0b\x32(.fennel.proto.dataset.WindowOperatorKindH\x00\x12.\n\x06latest\x18\x15 \x01(\x0b\x32\x1c.fennel.proto.dataset.LatestH\x00\x12\x34\n\tchangelog\x18\x16 \x01(\x0b\x32\x1f.fennel.proto.dataset.ChangelogH\x00\x12\x37\n\x0b\x61ssign_expr\x18\x17 \x01(\x0b\x32 .fennel.proto.dataset.AssignExprH\x00\x12\x37\n\x0b\x66ilter_expr\x18\x18 \x01(\x0b\x32 .fennel.proto.dataset.FilterExprH\x00\x12\x0c\n\x04name\x18\x0b \x01(\tB\x06\n\x04kind\"\xc7\x01\n\tAggregate\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12\x0c\n\x04keys\x18\x02 \x03(\t\x12)\n\x05specs\x18\x03 \x03(\x0b\x32\x1a.fennel.proto.spec.PreSpec\x12\x12\n\x05\x61long\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x39\n\remit_strategy\x18\x06 \x01(\x0e\x32\".fennel.proto.dataset.EmitStrategy\x12\x14\n\x0coperand_name\x18\x04 \x01(\tB\x08\n\x06_along\"\xcd\x03\n\x04Join\x12\x16\n\x0elhs_operand_id\x18\x01 \x01(\t\x12\x1c\n\x14rhs_dsref_operand_id\x18\x02 \x01(\t\x12.\n\x02on\x18\x03 \x03(\x0b\x32\".fennel.proto.dataset.Join.OnEntry\x12\x32\n\nwithin_low\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x12\x33\n\x0bwithin_high\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationH\x01\x88\x01\x01\x12\x18\n\x10lhs_operand_name\x18\x04 \x01(\t\x12\x1e\n\x16rhs_dsref_operand_name\x18\x05 \x01(\t\x12+\n\x03how\x18\x08 \x01(\x0e\x32\x1e.fennel.proto.dataset.Join.How\x12\x15\n\tbroadcast\x18\t \x01(\x08\x42\x02\x18\x01\x12\x12\n\nrhs_fields\x18\n \x03(\t\x1a)\n\x07OnEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x1a\n\x03How\x12\x08\n\x04Left\x10\x00\x12\t\n\x05Inner\x10\x01\x42\r\n\x0b_within_lowB\x0e\n\x0c_within_high\"\xed\x01\n\tTransform\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12;\n\x06schema\x18\x02 \x03(\x0b\x32+.fennel.proto.dataset.Transform.SchemaEntry\x12+\n\x06pycode\x18\x03 \x01(\x0b\x32\x1b.fennel.proto.pycode.PyCode\x12\x14\n\x0coperand_name\x18\x04 \x01(\t\x1aL\n\x0bSchemaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType:\x02\x38\x01\"]\n\nFilterExpr\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12%\n\x04\x65xpr\x18\x02 \x01(\x0b\x32\x17.fennel.proto.expr.Expr\x12\x14\n\x0coperand_name\x18\x03 \x01(\t\"_\n\x06\x46ilter\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12+\n\x06pycode\x18\x02 \x01(\x0b\x32\x1b.fennel.proto.pycode.PyCode\x12\x14\n\x0coperand_name\x18\x03 \x01(\t\"\xa8\x01\n\x06\x41ssign\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12+\n\x06pycode\x18\x02 \x01(\x0b\x32\x1b.fennel.proto.pycode.PyCode\x12\x13\n\x0b\x63olumn_name\x18\x03 \x01(\t\x12\x32\n\x0boutput_type\x18\x04 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType\x12\x14\n\x0coperand_name\x18\x05 \x01(\t\"\xd5\x02\n\nAssignExpr\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12:\n\x05\x65xprs\x18\x02 \x03(\x0b\x32+.fennel.proto.dataset.AssignExpr.ExprsEntry\x12G\n\x0coutput_types\x18\x03 \x03(\x0b\x32\x31.fennel.proto.dataset.AssignExpr.OutputTypesEntry\x12\x14\n\x0coperand_name\x18\x05 \x01(\t\x1a\x45\n\nExprsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.fennel.proto.expr.Expr:\x02\x38\x01\x1aQ\n\x10OutputTypesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType:\x02\x38\x01\"E\n\x08\x44ropnull\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x02 \x03(\t\x12\x14\n\x0coperand_name\x18\x03 \x01(\t\"B\n\x04\x44rop\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12\x10\n\x08\x64ropcols\x18\x02 \x03(\t\x12\x14\n\x0coperand_name\x18\x03 \x01(\t\"\xa5\x01\n\x06Rename\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12?\n\ncolumn_map\x18\x02 \x03(\x0b\x32+.fennel.proto.dataset.Rename.ColumnMapEntry\x12\x14\n\x0coperand_name\x18\x03 \x01(\t\x1a\x30\n\x0e\x43olumnMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"3\n\x05Union\x12\x13\n\x0boperand_ids\x18\x01 \x03(\t\x12\x15\n\roperand_names\x18\x02 \x03(\t\"B\n\x05\x44\x65\x64up\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x02 \x03(\t\x12\x14\n\x0coperand_name\x18\x03 \x01(\t\"D\n\x07\x45xplode\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x02 \x03(\t\x12\x14\n\x0coperand_name\x18\x03 \x01(\t\"=\n\x05\x46irst\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12\n\n\x02\x62y\x18\x02 \x03(\t\x12\x14\n\x0coperand_name\x18\x03 \x01(\t\">\n\x06Latest\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12\n\n\x02\x62y\x18\x02 \x03(\t\x12\x14\n\x0coperand_name\x18\x03 \x01(\t\"L\n\tChangelog\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12\x15\n\rdelete_column\x18\x02 \x01(\t\x12\x14\n\x0coperand_name\x18\x03 \x01(\t\"\xcb\x01\n\x12WindowOperatorKind\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12\x30\n\x0bwindow_type\x18\x02 \x01(\x0b\x32\x1b.fennel.proto.window.Window\x12\n\n\x02\x62y\x18\x03 \x03(\t\x12\r\n\x05\x66ield\x18\x04 \x01(\t\x12\x32\n\x07summary\x18\x06 \x01(\x0b\x32\x1c.fennel.proto.window.SummaryH\x00\x88\x01\x01\x12\x14\n\x0coperand_name\x18\x05 \x01(\tB\n\n\x08_summary\",\n\nDatasetRef\x12\x1e\n\x16referring_dataset_name\x18\x01 \x01(\t\"\x80\x02\n\x08\x44\x61taflow\x12\x16\n\x0c\x64\x61taset_name\x18\x01 \x01(\tH\x00\x12L\n\x11pipeline_dataflow\x18\x02 \x01(\x0b\x32/.fennel.proto.dataset.Dataflow.PipelineDataflowH\x00\x12\x0c\n\x04tags\x18\x03 \x03(\t\x1ax\n\x10PipelineDataflow\x12\x14\n\x0c\x64\x61taset_name\x18\x01 \x01(\t\x12\x15\n\rpipeline_name\x18\x02 \x01(\t\x12\x37\n\x0finput_dataflows\x18\x03 \x03(\x0b\x32\x1e.fennel.proto.dataset.DataflowB\x06\n\x04kind\"\x9c\x01\n\x10PipelineLineages\x12\x14\n\x0c\x64\x61taset_name\x18\x01 \x01(\t\x12\x15\n\rpipeline_name\x18\x02 \x01(\t\x12=\n\x0einput_datasets\x18\x03 \x03(\x0b\x32%.fennel.proto.dataset.DatasetLineages\x12\x0e\n\x06\x61\x63tive\x18\x04 \x01(\x08\x12\x0c\n\x04tags\x18\x05 \x03(\t\"\\\n\x17\x44\x61tasetPipelineLineages\x12\x41\n\x11pipeline_lineages\x18\x02 \x03(\x0b\x32&.fennel.proto.dataset.PipelineLineages\"\x8b\x01\n\x0f\x44\x61tasetLineages\x12\x18\n\x0esource_dataset\x18\x01 \x01(\tH\x00\x12H\n\x0f\x64\x65rived_dataset\x18\x02 \x01(\x0b\x32-.fennel.proto.dataset.DatasetPipelineLineagesH\x00\x12\x0c\n\x04tags\x18\x03 \x03(\tB\x06\n\x04kind*$\n\x0c\x45mitStrategy\x12\t\n\x05\x45\x61ger\x10\x00\x12\t\n\x05\x46inal\x10\x01\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rdataset.proto\x12\x14\x66\x65nnel.proto.dataset\x1a\x1egoogle/protobuf/duration.proto\x1a\x0emetadata.proto\x1a\x0cpycode.proto\x1a\x0cschema.proto\x1a\nspec.proto\x1a\x0cwindow.proto\x1a\x10\x65xpression.proto\"\xe5\x03\n\x0b\x43oreDataset\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x31\n\x08metadata\x18\x02 \x01(\x0b\x32\x1f.fennel.proto.metadata.Metadata\x12/\n\x08\x64sschema\x18\x03 \x01(\x0b\x32\x1d.fennel.proto.schema.DSSchema\x12*\n\x07history\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12,\n\tretention\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12L\n\x0e\x66ield_metadata\x18\x06 \x03(\x0b\x32\x34.fennel.proto.dataset.CoreDataset.FieldMetadataEntry\x12+\n\x06pycode\x18\x07 \x01(\x0b\x32\x1b.fennel.proto.pycode.PyCode\x12\x19\n\x11is_source_dataset\x18\x08 \x01(\x08\x12\x0f\n\x07version\x18\t \x01(\r\x12\x0c\n\x04tags\x18\n \x03(\t\x1aU\n\x12\x46ieldMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.fennel.proto.metadata.Metadata:\x02\x38\x01\"Q\n\x08OnDemand\x12\x1c\n\x14\x66unction_source_code\x18\x01 \x01(\t\x12\x10\n\x08\x66unction\x18\x02 \x01(\x0c\x12\x15\n\rexpires_after\x18\x03 \x01(\x03\"\xd2\x01\n\x08Pipeline\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x64\x61taset_name\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\t\x12\x31\n\x08metadata\x18\x04 \x01(\x0b\x32\x1f.fennel.proto.metadata.Metadata\x12\x1b\n\x13input_dataset_names\x18\x05 \x03(\t\x12\x12\n\nds_version\x18\x06 \x01(\r\x12+\n\x06pycode\x18\x07 \x01(\x0b\x32\x1b.fennel.proto.pycode.PyCode\"\x8f\x08\n\x08Operator\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0f\n\x07is_root\x18\x02 \x01(\x08\x12\x15\n\rpipeline_name\x18\x03 \x01(\t\x12\x14\n\x0c\x64\x61taset_name\x18\x04 \x01(\t\x12\x12\n\nds_version\x18\x14 \x01(\r\x12\x34\n\taggregate\x18\x05 \x01(\x0b\x32\x1f.fennel.proto.dataset.AggregateH\x00\x12*\n\x04join\x18\x06 \x01(\x0b\x32\x1a.fennel.proto.dataset.JoinH\x00\x12\x34\n\ttransform\x18\x07 \x01(\x0b\x32\x1f.fennel.proto.dataset.TransformH\x00\x12,\n\x05union\x18\x08 \x01(\x0b\x32\x1b.fennel.proto.dataset.UnionH\x00\x12.\n\x06\x66ilter\x18\t \x01(\x0b\x32\x1c.fennel.proto.dataset.FilterH\x00\x12\x37\n\x0b\x64\x61taset_ref\x18\n \x01(\x0b\x32 .fennel.proto.dataset.DatasetRefH\x00\x12.\n\x06rename\x18\x0c \x01(\x0b\x32\x1c.fennel.proto.dataset.RenameH\x00\x12*\n\x04\x64rop\x18\r \x01(\x0b\x32\x1a.fennel.proto.dataset.DropH\x00\x12\x30\n\x07\x65xplode\x18\x0e \x01(\x0b\x32\x1d.fennel.proto.dataset.ExplodeH\x00\x12,\n\x05\x64\x65\x64up\x18\x0f \x01(\x0b\x32\x1b.fennel.proto.dataset.DedupH\x00\x12,\n\x05\x66irst\x18\x10 \x01(\x0b\x32\x1b.fennel.proto.dataset.FirstH\x00\x12.\n\x06\x61ssign\x18\x11 \x01(\x0b\x32\x1c.fennel.proto.dataset.AssignH\x00\x12\x32\n\x08\x64ropnull\x18\x12 \x01(\x0b\x32\x1e.fennel.proto.dataset.DropnullH\x00\x12:\n\x06window\x18\x13 \x01(\x0b\x32(.fennel.proto.dataset.WindowOperatorKindH\x00\x12.\n\x06latest\x18\x15 \x01(\x0b\x32\x1c.fennel.proto.dataset.LatestH\x00\x12\x34\n\tchangelog\x18\x16 \x01(\x0b\x32\x1f.fennel.proto.dataset.ChangelogH\x00\x12\x37\n\x0b\x61ssign_expr\x18\x17 \x01(\x0b\x32 .fennel.proto.dataset.AssignExprH\x00\x12\x37\n\x0b\x66ilter_expr\x18\x18 \x01(\x0b\x32 .fennel.proto.dataset.FilterExprH\x00\x12\x0c\n\x04name\x18\x0b \x01(\tB\x06\n\x04kind\"\xc7\x01\n\tAggregate\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12\x0c\n\x04keys\x18\x02 \x03(\t\x12)\n\x05specs\x18\x03 \x03(\x0b\x32\x1a.fennel.proto.spec.PreSpec\x12\x12\n\x05\x61long\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x39\n\remit_strategy\x18\x06 \x01(\x0e\x32\".fennel.proto.dataset.EmitStrategy\x12\x14\n\x0coperand_name\x18\x04 \x01(\tB\x08\n\x06_along\"\xcd\x03\n\x04Join\x12\x16\n\x0elhs_operand_id\x18\x01 \x01(\t\x12\x1c\n\x14rhs_dsref_operand_id\x18\x02 \x01(\t\x12.\n\x02on\x18\x03 \x03(\x0b\x32\".fennel.proto.dataset.Join.OnEntry\x12\x32\n\nwithin_low\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x12\x33\n\x0bwithin_high\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationH\x01\x88\x01\x01\x12\x18\n\x10lhs_operand_name\x18\x04 \x01(\t\x12\x1e\n\x16rhs_dsref_operand_name\x18\x05 \x01(\t\x12+\n\x03how\x18\x08 \x01(\x0e\x32\x1e.fennel.proto.dataset.Join.How\x12\x15\n\tbroadcast\x18\t \x01(\x08\x42\x02\x18\x01\x12\x12\n\nrhs_fields\x18\n \x03(\t\x1a)\n\x07OnEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x1a\n\x03How\x12\x08\n\x04Left\x10\x00\x12\t\n\x05Inner\x10\x01\x42\r\n\x0b_within_lowB\x0e\n\x0c_within_high\"\xed\x01\n\tTransform\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12;\n\x06schema\x18\x02 \x03(\x0b\x32+.fennel.proto.dataset.Transform.SchemaEntry\x12+\n\x06pycode\x18\x03 \x01(\x0b\x32\x1b.fennel.proto.pycode.PyCode\x12\x14\n\x0coperand_name\x18\x04 \x01(\t\x1aL\n\x0bSchemaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType:\x02\x38\x01\"c\n\nFilterExpr\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12+\n\x04\x65xpr\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\x12\x14\n\x0coperand_name\x18\x03 \x01(\t\"_\n\x06\x46ilter\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12+\n\x06pycode\x18\x02 \x01(\x0b\x32\x1b.fennel.proto.pycode.PyCode\x12\x14\n\x0coperand_name\x18\x03 \x01(\t\"\xa8\x01\n\x06\x41ssign\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12+\n\x06pycode\x18\x02 \x01(\x0b\x32\x1b.fennel.proto.pycode.PyCode\x12\x13\n\x0b\x63olumn_name\x18\x03 \x01(\t\x12\x32\n\x0boutput_type\x18\x04 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType\x12\x14\n\x0coperand_name\x18\x05 \x01(\t\"\xdb\x02\n\nAssignExpr\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12:\n\x05\x65xprs\x18\x02 \x03(\x0b\x32+.fennel.proto.dataset.AssignExpr.ExprsEntry\x12G\n\x0coutput_types\x18\x03 \x03(\x0b\x32\x31.fennel.proto.dataset.AssignExpr.OutputTypesEntry\x12\x14\n\x0coperand_name\x18\x05 \x01(\t\x1aK\n\nExprsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr:\x02\x38\x01\x1aQ\n\x10OutputTypesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType:\x02\x38\x01\"E\n\x08\x44ropnull\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x02 \x03(\t\x12\x14\n\x0coperand_name\x18\x03 \x01(\t\"B\n\x04\x44rop\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12\x10\n\x08\x64ropcols\x18\x02 \x03(\t\x12\x14\n\x0coperand_name\x18\x03 \x01(\t\"\xa5\x01\n\x06Rename\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12?\n\ncolumn_map\x18\x02 \x03(\x0b\x32+.fennel.proto.dataset.Rename.ColumnMapEntry\x12\x14\n\x0coperand_name\x18\x03 \x01(\t\x1a\x30\n\x0e\x43olumnMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"3\n\x05Union\x12\x13\n\x0boperand_ids\x18\x01 \x03(\t\x12\x15\n\roperand_names\x18\x02 \x03(\t\"B\n\x05\x44\x65\x64up\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x02 \x03(\t\x12\x14\n\x0coperand_name\x18\x03 \x01(\t\"D\n\x07\x45xplode\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x02 \x03(\t\x12\x14\n\x0coperand_name\x18\x03 \x01(\t\"=\n\x05\x46irst\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12\n\n\x02\x62y\x18\x02 \x03(\t\x12\x14\n\x0coperand_name\x18\x03 \x01(\t\">\n\x06Latest\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12\n\n\x02\x62y\x18\x02 \x03(\t\x12\x14\n\x0coperand_name\x18\x03 \x01(\t\"L\n\tChangelog\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12\x15\n\rdelete_column\x18\x02 \x01(\t\x12\x14\n\x0coperand_name\x18\x03 \x01(\t\"\xcb\x01\n\x12WindowOperatorKind\x12\x12\n\noperand_id\x18\x01 \x01(\t\x12\x30\n\x0bwindow_type\x18\x02 \x01(\x0b\x32\x1b.fennel.proto.window.Window\x12\n\n\x02\x62y\x18\x03 \x03(\t\x12\r\n\x05\x66ield\x18\x04 \x01(\t\x12\x32\n\x07summary\x18\x06 \x01(\x0b\x32\x1c.fennel.proto.window.SummaryH\x00\x88\x01\x01\x12\x14\n\x0coperand_name\x18\x05 \x01(\tB\n\n\x08_summary\",\n\nDatasetRef\x12\x1e\n\x16referring_dataset_name\x18\x01 \x01(\t\"\x80\x02\n\x08\x44\x61taflow\x12\x16\n\x0c\x64\x61taset_name\x18\x01 \x01(\tH\x00\x12L\n\x11pipeline_dataflow\x18\x02 \x01(\x0b\x32/.fennel.proto.dataset.Dataflow.PipelineDataflowH\x00\x12\x0c\n\x04tags\x18\x03 \x03(\t\x1ax\n\x10PipelineDataflow\x12\x14\n\x0c\x64\x61taset_name\x18\x01 \x01(\t\x12\x15\n\rpipeline_name\x18\x02 \x01(\t\x12\x37\n\x0finput_dataflows\x18\x03 \x03(\x0b\x32\x1e.fennel.proto.dataset.DataflowB\x06\n\x04kind\"\x9c\x01\n\x10PipelineLineages\x12\x14\n\x0c\x64\x61taset_name\x18\x01 \x01(\t\x12\x15\n\rpipeline_name\x18\x02 \x01(\t\x12=\n\x0einput_datasets\x18\x03 \x03(\x0b\x32%.fennel.proto.dataset.DatasetLineages\x12\x0e\n\x06\x61\x63tive\x18\x04 \x01(\x08\x12\x0c\n\x04tags\x18\x05 \x03(\t\"\\\n\x17\x44\x61tasetPipelineLineages\x12\x41\n\x11pipeline_lineages\x18\x02 \x03(\x0b\x32&.fennel.proto.dataset.PipelineLineages\"\x8b\x01\n\x0f\x44\x61tasetLineages\x12\x18\n\x0esource_dataset\x18\x01 \x01(\tH\x00\x12H\n\x0f\x64\x65rived_dataset\x18\x02 \x01(\x0b\x32-.fennel.proto.dataset.DatasetPipelineLineagesH\x00\x12\x0c\n\x04tags\x18\x03 \x03(\tB\x06\n\x04kind*$\n\x0c\x45mitStrategy\x12\t\n\x05\x45\x61ger\x10\x00\x12\t\n\x05\x46inal\x10\x01\x62\x06proto3') -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'dataset_pb2', _globals) +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'dataset_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None - _globals['_COREDATASET_FIELDMETADATAENTRY']._options = None - _globals['_COREDATASET_FIELDMETADATAENTRY']._serialized_options = b'8\001' - _globals['_JOIN_ONENTRY']._options = None - _globals['_JOIN_ONENTRY']._serialized_options = b'8\001' - _globals['_JOIN'].fields_by_name['broadcast']._options = None - _globals['_JOIN'].fields_by_name['broadcast']._serialized_options = b'\030\001' - _globals['_TRANSFORM_SCHEMAENTRY']._options = None - _globals['_TRANSFORM_SCHEMAENTRY']._serialized_options = b'8\001' - _globals['_ASSIGNEXPR_EXPRSENTRY']._options = None - _globals['_ASSIGNEXPR_EXPRSENTRY']._serialized_options = b'8\001' - _globals['_ASSIGNEXPR_OUTPUTTYPESENTRY']._options = None - _globals['_ASSIGNEXPR_OUTPUTTYPESENTRY']._serialized_options = b'8\001' - _globals['_RENAME_COLUMNMAPENTRY']._options = None - _globals['_RENAME_COLUMNMAPENTRY']._serialized_options = b'8\001' - _globals['_EMITSTRATEGY']._serialized_start=5201 - _globals['_EMITSTRATEGY']._serialized_end=5237 - _globals['_COREDATASET']._serialized_start=154 - _globals['_COREDATASET']._serialized_end=639 - _globals['_COREDATASET_FIELDMETADATAENTRY']._serialized_start=554 - _globals['_COREDATASET_FIELDMETADATAENTRY']._serialized_end=639 - _globals['_ONDEMAND']._serialized_start=641 - _globals['_ONDEMAND']._serialized_end=722 - _globals['_PIPELINE']._serialized_start=725 - _globals['_PIPELINE']._serialized_end=935 - _globals['_OPERATOR']._serialized_start=938 - _globals['_OPERATOR']._serialized_end=1977 - _globals['_AGGREGATE']._serialized_start=1980 - _globals['_AGGREGATE']._serialized_end=2179 - _globals['_JOIN']._serialized_start=2182 - _globals['_JOIN']._serialized_end=2643 - _globals['_JOIN_ONENTRY']._serialized_start=2543 - _globals['_JOIN_ONENTRY']._serialized_end=2584 - _globals['_JOIN_HOW']._serialized_start=2586 - _globals['_JOIN_HOW']._serialized_end=2612 - _globals['_TRANSFORM']._serialized_start=2646 - _globals['_TRANSFORM']._serialized_end=2883 - _globals['_TRANSFORM_SCHEMAENTRY']._serialized_start=2807 - _globals['_TRANSFORM_SCHEMAENTRY']._serialized_end=2883 - _globals['_FILTEREXPR']._serialized_start=2885 - _globals['_FILTEREXPR']._serialized_end=2978 - _globals['_FILTER']._serialized_start=2980 - _globals['_FILTER']._serialized_end=3075 - _globals['_ASSIGN']._serialized_start=3078 - _globals['_ASSIGN']._serialized_end=3246 - _globals['_ASSIGNEXPR']._serialized_start=3249 - _globals['_ASSIGNEXPR']._serialized_end=3590 - _globals['_ASSIGNEXPR_EXPRSENTRY']._serialized_start=3438 - _globals['_ASSIGNEXPR_EXPRSENTRY']._serialized_end=3507 - _globals['_ASSIGNEXPR_OUTPUTTYPESENTRY']._serialized_start=3509 - _globals['_ASSIGNEXPR_OUTPUTTYPESENTRY']._serialized_end=3590 - _globals['_DROPNULL']._serialized_start=3592 - _globals['_DROPNULL']._serialized_end=3661 - _globals['_DROP']._serialized_start=3663 - _globals['_DROP']._serialized_end=3729 - _globals['_RENAME']._serialized_start=3732 - _globals['_RENAME']._serialized_end=3897 - _globals['_RENAME_COLUMNMAPENTRY']._serialized_start=3849 - _globals['_RENAME_COLUMNMAPENTRY']._serialized_end=3897 - _globals['_UNION']._serialized_start=3899 - _globals['_UNION']._serialized_end=3950 - _globals['_DEDUP']._serialized_start=3952 - _globals['_DEDUP']._serialized_end=4018 - _globals['_EXPLODE']._serialized_start=4020 - _globals['_EXPLODE']._serialized_end=4088 - _globals['_FIRST']._serialized_start=4090 - _globals['_FIRST']._serialized_end=4151 - _globals['_LATEST']._serialized_start=4153 - _globals['_LATEST']._serialized_end=4215 - _globals['_CHANGELOG']._serialized_start=4217 - _globals['_CHANGELOG']._serialized_end=4293 - _globals['_WINDOWOPERATORKIND']._serialized_start=4296 - _globals['_WINDOWOPERATORKIND']._serialized_end=4499 - _globals['_DATASETREF']._serialized_start=4501 - _globals['_DATASETREF']._serialized_end=4545 - _globals['_DATAFLOW']._serialized_start=4548 - _globals['_DATAFLOW']._serialized_end=4804 - _globals['_DATAFLOW_PIPELINEDATAFLOW']._serialized_start=4676 - _globals['_DATAFLOW_PIPELINEDATAFLOW']._serialized_end=4796 - _globals['_PIPELINELINEAGES']._serialized_start=4807 - _globals['_PIPELINELINEAGES']._serialized_end=4963 - _globals['_DATASETPIPELINELINEAGES']._serialized_start=4965 - _globals['_DATASETPIPELINELINEAGES']._serialized_end=5057 - _globals['_DATASETLINEAGES']._serialized_start=5060 - _globals['_DATASETLINEAGES']._serialized_end=5199 + _COREDATASET_FIELDMETADATAENTRY._options = None + _COREDATASET_FIELDMETADATAENTRY._serialized_options = b'8\001' + _JOIN_ONENTRY._options = None + _JOIN_ONENTRY._serialized_options = b'8\001' + _JOIN.fields_by_name['broadcast']._options = None + _JOIN.fields_by_name['broadcast']._serialized_options = b'\030\001' + _TRANSFORM_SCHEMAENTRY._options = None + _TRANSFORM_SCHEMAENTRY._serialized_options = b'8\001' + _ASSIGNEXPR_EXPRSENTRY._options = None + _ASSIGNEXPR_EXPRSENTRY._serialized_options = b'8\001' + _ASSIGNEXPR_OUTPUTTYPESENTRY._options = None + _ASSIGNEXPR_OUTPUTTYPESENTRY._serialized_options = b'8\001' + _RENAME_COLUMNMAPENTRY._options = None + _RENAME_COLUMNMAPENTRY._serialized_options = b'8\001' + _EMITSTRATEGY._serialized_start=5219 + _EMITSTRATEGY._serialized_end=5255 + _COREDATASET._serialized_start=160 + _COREDATASET._serialized_end=645 + _COREDATASET_FIELDMETADATAENTRY._serialized_start=560 + _COREDATASET_FIELDMETADATAENTRY._serialized_end=645 + _ONDEMAND._serialized_start=647 + _ONDEMAND._serialized_end=728 + _PIPELINE._serialized_start=731 + _PIPELINE._serialized_end=941 + _OPERATOR._serialized_start=944 + _OPERATOR._serialized_end=1983 + _AGGREGATE._serialized_start=1986 + _AGGREGATE._serialized_end=2185 + _JOIN._serialized_start=2188 + _JOIN._serialized_end=2649 + _JOIN_ONENTRY._serialized_start=2549 + _JOIN_ONENTRY._serialized_end=2590 + _JOIN_HOW._serialized_start=2592 + _JOIN_HOW._serialized_end=2618 + _TRANSFORM._serialized_start=2652 + _TRANSFORM._serialized_end=2889 + _TRANSFORM_SCHEMAENTRY._serialized_start=2813 + _TRANSFORM_SCHEMAENTRY._serialized_end=2889 + _FILTEREXPR._serialized_start=2891 + _FILTEREXPR._serialized_end=2990 + _FILTER._serialized_start=2992 + _FILTER._serialized_end=3087 + _ASSIGN._serialized_start=3090 + _ASSIGN._serialized_end=3258 + _ASSIGNEXPR._serialized_start=3261 + _ASSIGNEXPR._serialized_end=3608 + _ASSIGNEXPR_EXPRSENTRY._serialized_start=3450 + _ASSIGNEXPR_EXPRSENTRY._serialized_end=3525 + _ASSIGNEXPR_OUTPUTTYPESENTRY._serialized_start=3527 + _ASSIGNEXPR_OUTPUTTYPESENTRY._serialized_end=3608 + _DROPNULL._serialized_start=3610 + _DROPNULL._serialized_end=3679 + _DROP._serialized_start=3681 + _DROP._serialized_end=3747 + _RENAME._serialized_start=3750 + _RENAME._serialized_end=3915 + _RENAME_COLUMNMAPENTRY._serialized_start=3867 + _RENAME_COLUMNMAPENTRY._serialized_end=3915 + _UNION._serialized_start=3917 + _UNION._serialized_end=3968 + _DEDUP._serialized_start=3970 + _DEDUP._serialized_end=4036 + _EXPLODE._serialized_start=4038 + _EXPLODE._serialized_end=4106 + _FIRST._serialized_start=4108 + _FIRST._serialized_end=4169 + _LATEST._serialized_start=4171 + _LATEST._serialized_end=4233 + _CHANGELOG._serialized_start=4235 + _CHANGELOG._serialized_end=4311 + _WINDOWOPERATORKIND._serialized_start=4314 + _WINDOWOPERATORKIND._serialized_end=4517 + _DATASETREF._serialized_start=4519 + _DATASETREF._serialized_end=4563 + _DATAFLOW._serialized_start=4566 + _DATAFLOW._serialized_end=4822 + _DATAFLOW_PIPELINEDATAFLOW._serialized_start=4694 + _DATAFLOW_PIPELINEDATAFLOW._serialized_end=4814 + _PIPELINELINEAGES._serialized_start=4825 + _PIPELINELINEAGES._serialized_end=4981 + _DATASETPIPELINELINEAGES._serialized_start=4983 + _DATASETPIPELINELINEAGES._serialized_end=5075 + _DATASETLINEAGES._serialized_start=5078 + _DATASETLINEAGES._serialized_end=5217 # @@protoc_insertion_point(module_scope) diff --git a/fennel/gen/dataset_pb2.pyi b/fennel/gen/dataset_pb2.pyi index 881427ce..602fd4de 100644 --- a/fennel/gen/dataset_pb2.pyi +++ b/fennel/gen/dataset_pb2.pyi @@ -4,7 +4,7 @@ isort:skip_file """ import builtins import collections.abc -import expr_pb2 +import expression_pb2 import google.protobuf.descriptor import google.protobuf.duration_pb2 import google.protobuf.internal.containers @@ -472,7 +472,7 @@ class FilterExpr(google.protobuf.message.Message): OPERAND_NAME_FIELD_NUMBER: builtins.int operand_id: builtins.str @property - def expr(self) -> expr_pb2.Expr: ... + def expr(self) -> expression_pb2.Expr: ... operand_name: builtins.str """NOTE: FOLLOWING PROPERTIES ARE SET BY THE SERVER AND WILL BE IGNORED BY THE CLIENT @@ -481,7 +481,7 @@ class FilterExpr(google.protobuf.message.Message): self, *, operand_id: builtins.str = ..., - expr: expr_pb2.Expr | None = ..., + expr: expression_pb2.Expr | None = ..., operand_name: builtins.str = ..., ) -> None: ... def HasField(self, field_name: typing_extensions.Literal["expr", b"expr"]) -> builtins.bool: ... @@ -560,12 +560,12 @@ class AssignExpr(google.protobuf.message.Message): VALUE_FIELD_NUMBER: builtins.int key: builtins.str @property - def value(self) -> expr_pb2.Expr: ... + def value(self) -> expression_pb2.Expr: ... def __init__( self, *, key: builtins.str = ..., - value: expr_pb2.Expr | None = ..., + value: expression_pb2.Expr | None = ..., ) -> None: ... def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ... def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ... @@ -594,7 +594,7 @@ class AssignExpr(google.protobuf.message.Message): OPERAND_NAME_FIELD_NUMBER: builtins.int operand_id: builtins.str @property - def exprs(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, expr_pb2.Expr]: ... + def exprs(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, expression_pb2.Expr]: ... @property def output_types(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, schema_pb2.DataType]: ... operand_name: builtins.str @@ -605,7 +605,7 @@ class AssignExpr(google.protobuf.message.Message): self, *, operand_id: builtins.str = ..., - exprs: collections.abc.Mapping[builtins.str, expr_pb2.Expr] | None = ..., + exprs: collections.abc.Mapping[builtins.str, expression_pb2.Expr] | None = ..., output_types: collections.abc.Mapping[builtins.str, schema_pb2.DataType] | None = ..., operand_name: builtins.str = ..., ) -> None: ... diff --git a/fennel/gen/expectations_pb2.py b/fennel/gen/expectations_pb2.py index a149c87e..4aa2145d 100644 --- a/fennel/gen/expectations_pb2.py +++ b/fennel/gen/expectations_pb2.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: expectations.proto -# Protobuf Python Version: 4.25.4 """Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -17,15 +16,15 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12\x65xpectations.proto\x12\x19\x66\x65nnel.proto.expectations\x1a\x0emetadata.proto\"\xc9\x02\n\x0c\x45xpectations\x12\x13\n\x0b\x65ntity_name\x18\x01 \x01(\t\x12\x16\n\x0e\x65ntity_version\x18\x02 \x01(\x05\x12\r\n\x05suite\x18\x03 \x01(\t\x12<\n\x0c\x65xpectations\x18\x04 \x03(\x0b\x32&.fennel.proto.expectations.Expectation\x12\x0f\n\x07version\x18\x05 \x01(\x05\x12\x31\n\x08metadata\x18\x06 \x01(\x0b\x32\x1f.fennel.proto.metadata.Metadata\x12\x42\n\x06\x65_type\x18\x07 \x01(\x0e\x32\x32.fennel.proto.expectations.Expectations.EntityType\x12\x0c\n\x04tags\x18\x08 \x03(\t\")\n\nEntityType\x12\x0b\n\x07\x44\x61taset\x10\x00\x12\x0e\n\nFeatureset\x10\x01\"C\n\x0b\x45xpectation\x12\x18\n\x10\x65xpectation_type\x18\x01 \x01(\t\x12\x1a\n\x12\x65xpectation_kwargs\x18\x02 \x01(\tb\x06proto3') -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'expectations_pb2', _globals) +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'expectations_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None - _globals['_EXPECTATIONS']._serialized_start=66 - _globals['_EXPECTATIONS']._serialized_end=395 - _globals['_EXPECTATIONS_ENTITYTYPE']._serialized_start=354 - _globals['_EXPECTATIONS_ENTITYTYPE']._serialized_end=395 - _globals['_EXPECTATION']._serialized_start=397 - _globals['_EXPECTATION']._serialized_end=464 + _EXPECTATIONS._serialized_start=66 + _EXPECTATIONS._serialized_end=395 + _EXPECTATIONS_ENTITYTYPE._serialized_start=354 + _EXPECTATIONS_ENTITYTYPE._serialized_end=395 + _EXPECTATION._serialized_start=397 + _EXPECTATION._serialized_end=464 # @@protoc_insertion_point(module_scope) diff --git a/fennel/gen/expression_pb2.py b/fennel/gen/expression_pb2.py new file mode 100644 index 00000000..f744e3e9 --- /dev/null +++ b/fennel/gen/expression_pb2.py @@ -0,0 +1,144 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: expression.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +import fennel.gen.schema_pb2 as schema__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10\x65xpression.proto\x12\x17\x66\x65nnel.proto.expression\x1a\x0cschema.proto\"9\n\x0b\x45valContext\x12\x19\n\x0cnow_col_name\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_now_col_name\"\xd4\x07\n\x04\x45xpr\x12+\n\x03ref\x18\x01 \x01(\x0b\x32\x1c.fennel.proto.expression.RefH\x00\x12<\n\x0cjson_literal\x18\x02 \x01(\x0b\x32$.fennel.proto.expression.JsonLiteralH\x00\x12/\n\x05unary\x18\x04 \x01(\x0b\x32\x1e.fennel.proto.expression.UnaryH\x00\x12-\n\x04\x63\x61se\x18\x05 \x01(\x0b\x32\x1d.fennel.proto.expression.CaseH\x00\x12\x31\n\x06\x62inary\x18\x06 \x01(\x0b\x32\x1f.fennel.proto.expression.BinaryH\x00\x12\x31\n\x06isnull\x18\x07 \x01(\x0b\x32\x1f.fennel.proto.expression.IsNullH\x00\x12\x35\n\x08\x66illnull\x18\x08 \x01(\x0b\x32!.fennel.proto.expression.FillNullH\x00\x12\x32\n\x07list_fn\x18\t \x01(\x0b\x32\x1f.fennel.proto.expression.ListFnH\x00\x12\x32\n\x07math_fn\x18\n \x01(\x0b\x32\x1f.fennel.proto.expression.MathFnH\x00\x12\x36\n\tstruct_fn\x18\x0b \x01(\x0b\x32!.fennel.proto.expression.StructFnH\x00\x12\x32\n\x07\x64ict_fn\x18\x0c \x01(\x0b\x32\x1f.fennel.proto.expression.DictFnH\x00\x12\x36\n\tstring_fn\x18\r \x01(\x0b\x32!.fennel.proto.expression.StringFnH\x00\x12:\n\x0b\x64\x61tetime_fn\x18\x0e \x01(\x0b\x32#.fennel.proto.expression.DateTimeFnH\x00\x12\x44\n\x10\x64\x61tetime_literal\x18\x0f \x01(\x0b\x32(.fennel.proto.expression.DatetimeLiteralH\x00\x12:\n\x0bmake_struct\x18\x10 \x01(\x0b\x32#.fennel.proto.expression.MakeStructH\x00\x12\x38\n\nfrom_epoch\x18\x11 \x01(\x0b\x32\".fennel.proto.expression.FromEpochH\x00\x12+\n\x03var\x18\x12 \x01(\x0b\x32\x1c.fennel.proto.expression.VarH\x00\x12+\n\x03now\x18\x13 \x01(\x0b\x32\x1c.fennel.proto.expression.NowH\x00\x42\x06\n\x04node\"\x05\n\x03Now\"\x13\n\x03Var\x12\x0c\n\x04name\x18\x01 \x01(\t\"m\n\tFromEpoch\x12/\n\x08\x64uration\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\x12/\n\x04unit\x18\x02 \x01(\x0e\x32!.fennel.proto.expression.TimeUnit\"\xb3\x01\n\x0f\x44\x61tetimeLiteral\x12\x0c\n\x04year\x18\x01 \x01(\r\x12\r\n\x05month\x18\x02 \x01(\r\x12\x0b\n\x03\x64\x61y\x18\x03 \x01(\r\x12\x0c\n\x04hour\x18\x04 \x01(\r\x12\x0e\n\x06minute\x18\x05 \x01(\r\x12\x0e\n\x06second\x18\x06 \x01(\r\x12\x13\n\x0bmicrosecond\x18\x07 \x01(\r\x12\x33\n\x08timezone\x18\x08 \x01(\x0b\x32!.fennel.proto.expression.Timezone\"\xd1\x01\n\nMakeStruct\x12\x34\n\x0bstruct_type\x18\x01 \x01(\x0b\x32\x1f.fennel.proto.schema.StructType\x12?\n\x06\x66ields\x18\x02 \x03(\x0b\x32/.fennel.proto.expression.MakeStruct.FieldsEntry\x1aL\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr:\x02\x38\x01\"L\n\x0bJsonLiteral\x12\x0f\n\x07literal\x18\x01 \x01(\t\x12,\n\x05\x64type\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType\"\x13\n\x03Ref\x12\x0c\n\x04name\x18\x01 \x01(\t\"e\n\x05Unary\x12,\n\x02op\x18\x01 \x01(\x0e\x32 .fennel.proto.expression.UnaryOp\x12.\n\x07operand\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\"\x8f\x01\n\x06\x42inary\x12+\n\x04left\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\x12,\n\x05right\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\x12*\n\x02op\x18\x03 \x01(\x0e\x32\x1e.fennel.proto.expression.BinOp\"n\n\x04\x43\x61se\x12\x34\n\twhen_then\x18\x01 \x03(\x0b\x32!.fennel.proto.expression.WhenThen\x12\x30\n\totherwise\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\"d\n\x08WhenThen\x12+\n\x04when\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\x12+\n\x04then\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\"8\n\x06IsNull\x12.\n\x07operand\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\"g\n\x08\x46illNull\x12.\n\x07operand\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\x12+\n\x04\x66ill\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\"\xeb\x04\n\x06ListOp\x12+\n\x03len\x18\x01 \x01(\x0b\x32\x1c.fennel.proto.expression.LenH\x00\x12,\n\x03get\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.expression.ExprH\x00\x12\x35\n\x08\x63ontains\x18\x03 \x01(\x0b\x32!.fennel.proto.expression.ContainsH\x00\x12\x34\n\x08has_null\x18\x04 \x01(\x0b\x32 .fennel.proto.expression.HasNullH\x00\x12/\n\x03sum\x18\x05 \x01(\x0b\x32 .fennel.proto.expression.ListSumH\x00\x12/\n\x03min\x18\x06 \x01(\x0b\x32 .fennel.proto.expression.ListMinH\x00\x12/\n\x03max\x18\x07 \x01(\x0b\x32 .fennel.proto.expression.ListMaxH\x00\x12/\n\x03\x61ll\x18\x08 \x01(\x0b\x32 .fennel.proto.expression.ListAllH\x00\x12/\n\x03\x61ny\x18\t \x01(\x0b\x32 .fennel.proto.expression.ListAnyH\x00\x12\x31\n\x04mean\x18\n \x01(\x0b\x32!.fennel.proto.expression.ListMeanH\x00\x12\x35\n\x06\x66ilter\x18\x0b \x01(\x0b\x32#.fennel.proto.expression.ListFilterH\x00\x12/\n\x03map\x18\x0c \x01(\x0b\x32 .fennel.proto.expression.ListMapH\x00\x42\t\n\x07\x66n_type\"K\n\nListFilter\x12\x0b\n\x03var\x18\x01 \x01(\t\x12\x30\n\tpredicate\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\"G\n\x07ListMap\x12\x0b\n\x03var\x18\x01 \x01(\t\x12/\n\x08map_expr\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\"\t\n\x07ListSum\"\t\n\x07ListMin\"\n\n\x08ListMean\"\t\n\x07ListMax\"\t\n\x07ListAll\"\t\n\x07ListAny\"\x05\n\x03Len\"\t\n\x07HasNull\":\n\x08\x43ontains\x12.\n\x07\x65lement\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\"b\n\x06ListFn\x12+\n\x04list\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\x12+\n\x02\x66n\x18\x02 \x01(\x0b\x32\x1f.fennel.proto.expression.ListOp\"\xd1\x01\n\x06MathOp\x12/\n\x05round\x18\x01 \x01(\x0b\x32\x1e.fennel.proto.expression.RoundH\x00\x12+\n\x03\x61\x62s\x18\x02 \x01(\x0b\x32\x1c.fennel.proto.expression.AbsH\x00\x12-\n\x04\x63\x65il\x18\x03 \x01(\x0b\x32\x1d.fennel.proto.expression.CeilH\x00\x12/\n\x05\x66loor\x18\x04 \x01(\x0b\x32\x1e.fennel.proto.expression.FloorH\x00\x42\t\n\x07\x66n_type\"\x1a\n\x05Round\x12\x11\n\tprecision\x18\x01 \x01(\x05\"\x05\n\x03\x41\x62s\"\x06\n\x04\x43\x65il\"\x07\n\x05\x46loor\"e\n\x06MathFn\x12.\n\x07operand\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\x12+\n\x02\x66n\x18\x02 \x01(\x0b\x32\x1f.fennel.proto.expression.MathOp\"&\n\x08StructOp\x12\x0f\n\x05\x66ield\x18\x01 \x01(\tH\x00\x42\t\n\x07\x66n_type\"h\n\x08StructFn\x12-\n\x06struct\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\x12-\n\x02\x66n\x18\x02 \x01(\x0b\x32!.fennel.proto.expression.StructOp\"m\n\x07\x44ictGet\x12,\n\x05\x66ield\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\x12\x34\n\rdefault_value\x18\x03 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\"\xa8\x01\n\x06\x44ictOp\x12+\n\x03len\x18\x01 \x01(\x0b\x32\x1c.fennel.proto.expression.LenH\x00\x12/\n\x03get\x18\x02 \x01(\x0b\x32 .fennel.proto.expression.DictGetH\x00\x12\x35\n\x08\x63ontains\x18\x03 \x01(\x0b\x32!.fennel.proto.expression.ContainsH\x00\x42\t\n\x07\x66n_type\"b\n\x06\x44ictFn\x12+\n\x04\x64ict\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\x12+\n\x02\x66n\x18\x02 \x01(\x0b\x32\x1f.fennel.proto.expression.DictOp\"\xfb\x03\n\x08StringOp\x12+\n\x03len\x18\x01 \x01(\x0b\x32\x1c.fennel.proto.expression.LenH\x00\x12\x33\n\x07tolower\x18\x02 \x01(\x0b\x32 .fennel.proto.expression.ToLowerH\x00\x12\x33\n\x07toupper\x18\x03 \x01(\x0b\x32 .fennel.proto.expression.ToUpperH\x00\x12\x35\n\x08\x63ontains\x18\x04 \x01(\x0b\x32!.fennel.proto.expression.ContainsH\x00\x12\x39\n\nstartswith\x18\x05 \x01(\x0b\x32#.fennel.proto.expression.StartsWithH\x00\x12\x35\n\x08\x65ndswith\x18\x06 \x01(\x0b\x32!.fennel.proto.expression.EndsWithH\x00\x12\x31\n\x06\x63oncat\x18\x07 \x01(\x0b\x32\x1f.fennel.proto.expression.ConcatH\x00\x12\x35\n\x08strptime\x18\x08 \x01(\x0b\x32!.fennel.proto.expression.StrptimeH\x00\x12:\n\x0bjson_decode\x18\t \x01(\x0b\x32#.fennel.proto.expression.JsonDecodeH\x00\x42\t\n\x07\x66n_type\"\x1c\n\x08Timezone\x12\x10\n\x08timezone\x18\x01 \x01(\t\":\n\nJsonDecode\x12,\n\x05\x64type\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType\"O\n\x08Strptime\x12\x0e\n\x06\x66ormat\x18\x01 \x01(\t\x12\x33\n\x08timezone\x18\x02 \x01(\x0b\x32!.fennel.proto.expression.Timezone\"\t\n\x07ToLower\"\t\n\x07ToUpper\"8\n\nStartsWith\x12*\n\x03key\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\"6\n\x08\x45ndsWith\x12*\n\x03key\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\"6\n\x06\x43oncat\x12,\n\x05other\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\"h\n\x08StringFn\x12-\n\x06string\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\x12-\n\x02\x66n\x18\x02 \x01(\x0b\x32!.fennel.proto.expression.StringOp\"n\n\nDateTimeFn\x12/\n\x08\x64\x61tetime\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\x12/\n\x02\x66n\x18\x02 \x01(\x0b\x32#.fennel.proto.expression.DateTimeOp\"\xea\x01\n\nDateTimeOp\x12/\n\x05since\x18\x01 \x01(\x0b\x32\x1e.fennel.proto.expression.SinceH\x00\x12:\n\x0bsince_epoch\x18\x02 \x01(\x0b\x32#.fennel.proto.expression.SinceEpochH\x00\x12\x35\n\x08strftime\x18\x03 \x01(\x0b\x32!.fennel.proto.expression.StrftimeH\x00\x12-\n\x04part\x18\x04 \x01(\x0b\x32\x1d.fennel.proto.expression.PartH\x00\x42\t\n\x07\x66n_type\"f\n\x05Since\x12,\n\x05other\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\x12/\n\x04unit\x18\x02 \x01(\x0e\x32!.fennel.proto.expression.TimeUnit\"=\n\nSinceEpoch\x12/\n\x04unit\x18\x01 \x01(\x0e\x32!.fennel.proto.expression.TimeUnit\"O\n\x08Strftime\x12\x0e\n\x06\x66ormat\x18\x01 \x01(\t\x12\x33\n\x08timezone\x18\x02 \x01(\x0b\x32!.fennel.proto.expression.Timezone\"l\n\x04Part\x12/\n\x04unit\x18\x01 \x01(\x0e\x32!.fennel.proto.expression.TimeUnit\x12\x33\n\x08timezone\x18\x02 \x01(\x0b\x32!.fennel.proto.expression.Timezone*\x1b\n\x07UnaryOp\x12\x07\n\x03NEG\x10\x00\x12\x07\n\x03NOT\x10\x01*\x86\x01\n\x05\x42inOp\x12\x07\n\x03\x41\x44\x44\x10\x00\x12\x07\n\x03SUB\x10\x01\x12\x07\n\x03MUL\x10\x02\x12\x07\n\x03\x44IV\x10\x03\x12\x07\n\x03MOD\x10\x04\x12\r\n\tFLOOR_DIV\x10\x05\x12\x06\n\x02\x45Q\x10\x06\x12\x06\n\x02NE\x10\x07\x12\x06\n\x02GT\x10\x08\x12\x07\n\x03GTE\x10\t\x12\x06\n\x02LT\x10\n\x12\x07\n\x03LTE\x10\x0b\x12\x07\n\x03\x41ND\x10\x0c\x12\x06\n\x02OR\x10\r*\x83\x01\n\x08TimeUnit\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06SECOND\x10\x01\x12\n\n\x06MINUTE\x10\x02\x12\x08\n\x04HOUR\x10\x03\x12\x07\n\x03\x44\x41Y\x10\x04\x12\x08\n\x04WEEK\x10\x05\x12\t\n\x05MONTH\x10\x06\x12\x08\n\x04YEAR\x10\x07\x12\x0f\n\x0bMICROSECOND\x10\x08\x12\x0f\n\x0bMILLISECOND\x10\tb\x06proto3') + +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'expression_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + _MAKESTRUCT_FIELDSENTRY._options = None + _MAKESTRUCT_FIELDSENTRY._serialized_options = b'8\001' + _UNARYOP._serialized_start=5957 + _UNARYOP._serialized_end=5984 + _BINOP._serialized_start=5987 + _BINOP._serialized_end=6121 + _TIMEUNIT._serialized_start=6124 + _TIMEUNIT._serialized_end=6255 + _EVALCONTEXT._serialized_start=59 + _EVALCONTEXT._serialized_end=116 + _EXPR._serialized_start=119 + _EXPR._serialized_end=1099 + _NOW._serialized_start=1101 + _NOW._serialized_end=1106 + _VAR._serialized_start=1108 + _VAR._serialized_end=1127 + _FROMEPOCH._serialized_start=1129 + _FROMEPOCH._serialized_end=1238 + _DATETIMELITERAL._serialized_start=1241 + _DATETIMELITERAL._serialized_end=1420 + _MAKESTRUCT._serialized_start=1423 + _MAKESTRUCT._serialized_end=1632 + _MAKESTRUCT_FIELDSENTRY._serialized_start=1556 + _MAKESTRUCT_FIELDSENTRY._serialized_end=1632 + _JSONLITERAL._serialized_start=1634 + _JSONLITERAL._serialized_end=1710 + _REF._serialized_start=1712 + _REF._serialized_end=1731 + _UNARY._serialized_start=1733 + _UNARY._serialized_end=1834 + _BINARY._serialized_start=1837 + _BINARY._serialized_end=1980 + _CASE._serialized_start=1982 + _CASE._serialized_end=2092 + _WHENTHEN._serialized_start=2094 + _WHENTHEN._serialized_end=2194 + _ISNULL._serialized_start=2196 + _ISNULL._serialized_end=2252 + _FILLNULL._serialized_start=2254 + _FILLNULL._serialized_end=2357 + _LISTOP._serialized_start=2360 + _LISTOP._serialized_end=2979 + _LISTFILTER._serialized_start=2981 + _LISTFILTER._serialized_end=3056 + _LISTMAP._serialized_start=3058 + _LISTMAP._serialized_end=3129 + _LISTSUM._serialized_start=3131 + _LISTSUM._serialized_end=3140 + _LISTMIN._serialized_start=3142 + _LISTMIN._serialized_end=3151 + _LISTMEAN._serialized_start=3153 + _LISTMEAN._serialized_end=3163 + _LISTMAX._serialized_start=3165 + _LISTMAX._serialized_end=3174 + _LISTALL._serialized_start=3176 + _LISTALL._serialized_end=3185 + _LISTANY._serialized_start=3187 + _LISTANY._serialized_end=3196 + _LEN._serialized_start=3198 + _LEN._serialized_end=3203 + _HASNULL._serialized_start=3205 + _HASNULL._serialized_end=3214 + _CONTAINS._serialized_start=3216 + _CONTAINS._serialized_end=3274 + _LISTFN._serialized_start=3276 + _LISTFN._serialized_end=3374 + _MATHOP._serialized_start=3377 + _MATHOP._serialized_end=3586 + _ROUND._serialized_start=3588 + _ROUND._serialized_end=3614 + _ABS._serialized_start=3616 + _ABS._serialized_end=3621 + _CEIL._serialized_start=3623 + _CEIL._serialized_end=3629 + _FLOOR._serialized_start=3631 + _FLOOR._serialized_end=3638 + _MATHFN._serialized_start=3640 + _MATHFN._serialized_end=3741 + _STRUCTOP._serialized_start=3743 + _STRUCTOP._serialized_end=3781 + _STRUCTFN._serialized_start=3783 + _STRUCTFN._serialized_end=3887 + _DICTGET._serialized_start=3889 + _DICTGET._serialized_end=3998 + _DICTOP._serialized_start=4001 + _DICTOP._serialized_end=4169 + _DICTFN._serialized_start=4171 + _DICTFN._serialized_end=4269 + _STRINGOP._serialized_start=4272 + _STRINGOP._serialized_end=4779 + _TIMEZONE._serialized_start=4781 + _TIMEZONE._serialized_end=4809 + _JSONDECODE._serialized_start=4811 + _JSONDECODE._serialized_end=4869 + _STRPTIME._serialized_start=4871 + _STRPTIME._serialized_end=4950 + _TOLOWER._serialized_start=4952 + _TOLOWER._serialized_end=4961 + _TOUPPER._serialized_start=4963 + _TOUPPER._serialized_end=4972 + _STARTSWITH._serialized_start=4974 + _STARTSWITH._serialized_end=5030 + _ENDSWITH._serialized_start=5032 + _ENDSWITH._serialized_end=5086 + _CONCAT._serialized_start=5088 + _CONCAT._serialized_end=5142 + _STRINGFN._serialized_start=5144 + _STRINGFN._serialized_end=5248 + _DATETIMEFN._serialized_start=5250 + _DATETIMEFN._serialized_end=5360 + _DATETIMEOP._serialized_start=5363 + _DATETIMEOP._serialized_end=5597 + _SINCE._serialized_start=5599 + _SINCE._serialized_end=5701 + _SINCEEPOCH._serialized_start=5703 + _SINCEEPOCH._serialized_end=5764 + _STRFTIME._serialized_start=5766 + _STRFTIME._serialized_end=5845 + _PART._serialized_start=5847 + _PART._serialized_end=5955 +# @@protoc_insertion_point(module_scope) diff --git a/fennel/gen/expression_pb2.pyi b/fennel/gen/expression_pb2.pyi new file mode 100644 index 00000000..9d6c2d73 --- /dev/null +++ b/fennel/gen/expression_pb2.pyi @@ -0,0 +1,1241 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import schema_pb2 +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +class _UnaryOp: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _UnaryOpEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_UnaryOp.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NEG: _UnaryOp.ValueType # 0 + NOT: _UnaryOp.ValueType # 1 + """LEN = 2; [DEPRECATED] + NEXT ID = 3; + """ + +class UnaryOp(_UnaryOp, metaclass=_UnaryOpEnumTypeWrapper): ... + +NEG: UnaryOp.ValueType # 0 +NOT: UnaryOp.ValueType # 1 +"""LEN = 2; [DEPRECATED] +NEXT ID = 3; +""" +global___UnaryOp = UnaryOp + +class _BinOp: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _BinOpEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_BinOp.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + ADD: _BinOp.ValueType # 0 + SUB: _BinOp.ValueType # 1 + MUL: _BinOp.ValueType # 2 + DIV: _BinOp.ValueType # 3 + MOD: _BinOp.ValueType # 4 + FLOOR_DIV: _BinOp.ValueType # 5 + EQ: _BinOp.ValueType # 6 + NE: _BinOp.ValueType # 7 + GT: _BinOp.ValueType # 8 + GTE: _BinOp.ValueType # 9 + LT: _BinOp.ValueType # 10 + LTE: _BinOp.ValueType # 11 + AND: _BinOp.ValueType # 12 + OR: _BinOp.ValueType # 13 + +class BinOp(_BinOp, metaclass=_BinOpEnumTypeWrapper): ... + +ADD: BinOp.ValueType # 0 +SUB: BinOp.ValueType # 1 +MUL: BinOp.ValueType # 2 +DIV: BinOp.ValueType # 3 +MOD: BinOp.ValueType # 4 +FLOOR_DIV: BinOp.ValueType # 5 +EQ: BinOp.ValueType # 6 +NE: BinOp.ValueType # 7 +GT: BinOp.ValueType # 8 +GTE: BinOp.ValueType # 9 +LT: BinOp.ValueType # 10 +LTE: BinOp.ValueType # 11 +AND: BinOp.ValueType # 12 +OR: BinOp.ValueType # 13 +global___BinOp = BinOp + +class _TimeUnit: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _TimeUnitEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_TimeUnit.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: _TimeUnit.ValueType # 0 + SECOND: _TimeUnit.ValueType # 1 + MINUTE: _TimeUnit.ValueType # 2 + HOUR: _TimeUnit.ValueType # 3 + DAY: _TimeUnit.ValueType # 4 + WEEK: _TimeUnit.ValueType # 5 + MONTH: _TimeUnit.ValueType # 6 + YEAR: _TimeUnit.ValueType # 7 + MICROSECOND: _TimeUnit.ValueType # 8 + MILLISECOND: _TimeUnit.ValueType # 9 + +class TimeUnit(_TimeUnit, metaclass=_TimeUnitEnumTypeWrapper): ... + +UNKNOWN: TimeUnit.ValueType # 0 +SECOND: TimeUnit.ValueType # 1 +MINUTE: TimeUnit.ValueType # 2 +HOUR: TimeUnit.ValueType # 3 +DAY: TimeUnit.ValueType # 4 +WEEK: TimeUnit.ValueType # 5 +MONTH: TimeUnit.ValueType # 6 +YEAR: TimeUnit.ValueType # 7 +MICROSECOND: TimeUnit.ValueType # 8 +MILLISECOND: TimeUnit.ValueType # 9 +global___TimeUnit = TimeUnit + +@typing_extensions.final +class EvalContext(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NOW_COL_NAME_FIELD_NUMBER: builtins.int + now_col_name: builtins.str + def __init__( + self, + *, + now_col_name: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_now_col_name", b"_now_col_name", "now_col_name", b"now_col_name"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_now_col_name", b"_now_col_name", "now_col_name", b"now_col_name"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_now_col_name", b"_now_col_name"]) -> typing_extensions.Literal["now_col_name"] | None: ... + +global___EvalContext = EvalContext + +@typing_extensions.final +class Expr(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + REF_FIELD_NUMBER: builtins.int + JSON_LITERAL_FIELD_NUMBER: builtins.int + UNARY_FIELD_NUMBER: builtins.int + CASE_FIELD_NUMBER: builtins.int + BINARY_FIELD_NUMBER: builtins.int + ISNULL_FIELD_NUMBER: builtins.int + FILLNULL_FIELD_NUMBER: builtins.int + LIST_FN_FIELD_NUMBER: builtins.int + MATH_FN_FIELD_NUMBER: builtins.int + STRUCT_FN_FIELD_NUMBER: builtins.int + DICT_FN_FIELD_NUMBER: builtins.int + STRING_FN_FIELD_NUMBER: builtins.int + DATETIME_FN_FIELD_NUMBER: builtins.int + DATETIME_LITERAL_FIELD_NUMBER: builtins.int + MAKE_STRUCT_FIELD_NUMBER: builtins.int + FROM_EPOCH_FIELD_NUMBER: builtins.int + VAR_FIELD_NUMBER: builtins.int + NOW_FIELD_NUMBER: builtins.int + @property + def ref(self) -> global___Ref: ... + @property + def json_literal(self) -> global___JsonLiteral: + """Used for serializing a literal as a JSON string""" + @property + def unary(self) -> global___Unary: ... + @property + def case(self) -> global___Case: ... + @property + def binary(self) -> global___Binary: ... + @property + def isnull(self) -> global___IsNull: ... + @property + def fillnull(self) -> global___FillNull: ... + @property + def list_fn(self) -> global___ListFn: ... + @property + def math_fn(self) -> global___MathFn: ... + @property + def struct_fn(self) -> global___StructFn: ... + @property + def dict_fn(self) -> global___DictFn: ... + @property + def string_fn(self) -> global___StringFn: ... + @property + def datetime_fn(self) -> global___DateTimeFn: ... + @property + def datetime_literal(self) -> global___DatetimeLiteral: ... + @property + def make_struct(self) -> global___MakeStruct: ... + @property + def from_epoch(self) -> global___FromEpoch: ... + @property + def var(self) -> global___Var: ... + @property + def now(self) -> global___Now: ... + def __init__( + self, + *, + ref: global___Ref | None = ..., + json_literal: global___JsonLiteral | None = ..., + unary: global___Unary | None = ..., + case: global___Case | None = ..., + binary: global___Binary | None = ..., + isnull: global___IsNull | None = ..., + fillnull: global___FillNull | None = ..., + list_fn: global___ListFn | None = ..., + math_fn: global___MathFn | None = ..., + struct_fn: global___StructFn | None = ..., + dict_fn: global___DictFn | None = ..., + string_fn: global___StringFn | None = ..., + datetime_fn: global___DateTimeFn | None = ..., + datetime_literal: global___DatetimeLiteral | None = ..., + make_struct: global___MakeStruct | None = ..., + from_epoch: global___FromEpoch | None = ..., + var: global___Var | None = ..., + now: global___Now | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["binary", b"binary", "case", b"case", "datetime_fn", b"datetime_fn", "datetime_literal", b"datetime_literal", "dict_fn", b"dict_fn", "fillnull", b"fillnull", "from_epoch", b"from_epoch", "isnull", b"isnull", "json_literal", b"json_literal", "list_fn", b"list_fn", "make_struct", b"make_struct", "math_fn", b"math_fn", "node", b"node", "now", b"now", "ref", b"ref", "string_fn", b"string_fn", "struct_fn", b"struct_fn", "unary", b"unary", "var", b"var"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["binary", b"binary", "case", b"case", "datetime_fn", b"datetime_fn", "datetime_literal", b"datetime_literal", "dict_fn", b"dict_fn", "fillnull", b"fillnull", "from_epoch", b"from_epoch", "isnull", b"isnull", "json_literal", b"json_literal", "list_fn", b"list_fn", "make_struct", b"make_struct", "math_fn", b"math_fn", "node", b"node", "now", b"now", "ref", b"ref", "string_fn", b"string_fn", "struct_fn", b"struct_fn", "unary", b"unary", "var", b"var"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["node", b"node"]) -> typing_extensions.Literal["ref", "json_literal", "unary", "case", "binary", "isnull", "fillnull", "list_fn", "math_fn", "struct_fn", "dict_fn", "string_fn", "datetime_fn", "datetime_literal", "make_struct", "from_epoch", "var", "now"] | None: ... + +global___Expr = Expr + +@typing_extensions.final +class Now(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___Now = Now + +@typing_extensions.final +class Var(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NAME_FIELD_NUMBER: builtins.int + name: builtins.str + def __init__( + self, + *, + name: builtins.str = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["name", b"name"]) -> None: ... + +global___Var = Var + +@typing_extensions.final +class FromEpoch(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DURATION_FIELD_NUMBER: builtins.int + UNIT_FIELD_NUMBER: builtins.int + @property + def duration(self) -> global___Expr: ... + unit: global___TimeUnit.ValueType + def __init__( + self, + *, + duration: global___Expr | None = ..., + unit: global___TimeUnit.ValueType = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["duration", b"duration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["duration", b"duration", "unit", b"unit"]) -> None: ... + +global___FromEpoch = FromEpoch + +@typing_extensions.final +class DatetimeLiteral(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + YEAR_FIELD_NUMBER: builtins.int + MONTH_FIELD_NUMBER: builtins.int + DAY_FIELD_NUMBER: builtins.int + HOUR_FIELD_NUMBER: builtins.int + MINUTE_FIELD_NUMBER: builtins.int + SECOND_FIELD_NUMBER: builtins.int + MICROSECOND_FIELD_NUMBER: builtins.int + TIMEZONE_FIELD_NUMBER: builtins.int + year: builtins.int + month: builtins.int + day: builtins.int + hour: builtins.int + minute: builtins.int + second: builtins.int + microsecond: builtins.int + @property + def timezone(self) -> global___Timezone: ... + def __init__( + self, + *, + year: builtins.int = ..., + month: builtins.int = ..., + day: builtins.int = ..., + hour: builtins.int = ..., + minute: builtins.int = ..., + second: builtins.int = ..., + microsecond: builtins.int = ..., + timezone: global___Timezone | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["timezone", b"timezone"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["day", b"day", "hour", b"hour", "microsecond", b"microsecond", "minute", b"minute", "month", b"month", "second", b"second", "timezone", b"timezone", "year", b"year"]) -> None: ... + +global___DatetimeLiteral = DatetimeLiteral + +@typing_extensions.final +class MakeStruct(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing_extensions.final + class FieldsEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.str + @property + def value(self) -> global___Expr: ... + def __init__( + self, + *, + key: builtins.str = ..., + value: global___Expr | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ... + + STRUCT_TYPE_FIELD_NUMBER: builtins.int + FIELDS_FIELD_NUMBER: builtins.int + @property + def struct_type(self) -> schema_pb2.StructType: ... + @property + def fields(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___Expr]: ... + def __init__( + self, + *, + struct_type: schema_pb2.StructType | None = ..., + fields: collections.abc.Mapping[builtins.str, global___Expr] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["struct_type", b"struct_type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["fields", b"fields", "struct_type", b"struct_type"]) -> None: ... + +global___MakeStruct = MakeStruct + +@typing_extensions.final +class JsonLiteral(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LITERAL_FIELD_NUMBER: builtins.int + DTYPE_FIELD_NUMBER: builtins.int + literal: builtins.str + """Literal sent as a JSON string""" + @property + def dtype(self) -> schema_pb2.DataType: ... + def __init__( + self, + *, + literal: builtins.str = ..., + dtype: schema_pb2.DataType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["dtype", b"dtype"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["dtype", b"dtype", "literal", b"literal"]) -> None: ... + +global___JsonLiteral = JsonLiteral + +@typing_extensions.final +class Ref(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NAME_FIELD_NUMBER: builtins.int + name: builtins.str + def __init__( + self, + *, + name: builtins.str = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["name", b"name"]) -> None: ... + +global___Ref = Ref + +@typing_extensions.final +class Unary(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + OP_FIELD_NUMBER: builtins.int + OPERAND_FIELD_NUMBER: builtins.int + op: global___UnaryOp.ValueType + @property + def operand(self) -> global___Expr: ... + def __init__( + self, + *, + op: global___UnaryOp.ValueType = ..., + operand: global___Expr | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["operand", b"operand"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["op", b"op", "operand", b"operand"]) -> None: ... + +global___Unary = Unary + +@typing_extensions.final +class Binary(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LEFT_FIELD_NUMBER: builtins.int + RIGHT_FIELD_NUMBER: builtins.int + OP_FIELD_NUMBER: builtins.int + @property + def left(self) -> global___Expr: ... + @property + def right(self) -> global___Expr: ... + op: global___BinOp.ValueType + def __init__( + self, + *, + left: global___Expr | None = ..., + right: global___Expr | None = ..., + op: global___BinOp.ValueType = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["left", b"left", "right", b"right"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["left", b"left", "op", b"op", "right", b"right"]) -> None: ... + +global___Binary = Binary + +@typing_extensions.final +class Case(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + WHEN_THEN_FIELD_NUMBER: builtins.int + OTHERWISE_FIELD_NUMBER: builtins.int + @property + def when_then(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___WhenThen]: ... + @property + def otherwise(self) -> global___Expr: ... + def __init__( + self, + *, + when_then: collections.abc.Iterable[global___WhenThen] | None = ..., + otherwise: global___Expr | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["otherwise", b"otherwise"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["otherwise", b"otherwise", "when_then", b"when_then"]) -> None: ... + +global___Case = Case + +@typing_extensions.final +class WhenThen(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + WHEN_FIELD_NUMBER: builtins.int + THEN_FIELD_NUMBER: builtins.int + @property + def when(self) -> global___Expr: ... + @property + def then(self) -> global___Expr: ... + def __init__( + self, + *, + when: global___Expr | None = ..., + then: global___Expr | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["then", b"then", "when", b"when"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["then", b"then", "when", b"when"]) -> None: ... + +global___WhenThen = WhenThen + +@typing_extensions.final +class IsNull(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + OPERAND_FIELD_NUMBER: builtins.int + @property + def operand(self) -> global___Expr: ... + def __init__( + self, + *, + operand: global___Expr | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["operand", b"operand"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["operand", b"operand"]) -> None: ... + +global___IsNull = IsNull + +@typing_extensions.final +class FillNull(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + OPERAND_FIELD_NUMBER: builtins.int + FILL_FIELD_NUMBER: builtins.int + @property + def operand(self) -> global___Expr: ... + @property + def fill(self) -> global___Expr: ... + def __init__( + self, + *, + operand: global___Expr | None = ..., + fill: global___Expr | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["fill", b"fill", "operand", b"operand"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["fill", b"fill", "operand", b"operand"]) -> None: ... + +global___FillNull = FillNull + +@typing_extensions.final +class ListOp(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LEN_FIELD_NUMBER: builtins.int + GET_FIELD_NUMBER: builtins.int + CONTAINS_FIELD_NUMBER: builtins.int + HAS_NULL_FIELD_NUMBER: builtins.int + SUM_FIELD_NUMBER: builtins.int + MIN_FIELD_NUMBER: builtins.int + MAX_FIELD_NUMBER: builtins.int + ALL_FIELD_NUMBER: builtins.int + ANY_FIELD_NUMBER: builtins.int + MEAN_FIELD_NUMBER: builtins.int + FILTER_FIELD_NUMBER: builtins.int + MAP_FIELD_NUMBER: builtins.int + @property + def len(self) -> global___Len: ... + @property + def get(self) -> global___Expr: + """Index to fetch an element from the list""" + @property + def contains(self) -> global___Contains: + """Check if the list contains an element""" + @property + def has_null(self) -> global___HasNull: ... + @property + def sum(self) -> global___ListSum: ... + @property + def min(self) -> global___ListMin: ... + @property + def max(self) -> global___ListMax: ... + @property + def all(self) -> global___ListAll: ... + @property + def any(self) -> global___ListAny: ... + @property + def mean(self) -> global___ListMean: ... + @property + def filter(self) -> global___ListFilter: ... + @property + def map(self) -> global___ListMap: ... + def __init__( + self, + *, + len: global___Len | None = ..., + get: global___Expr | None = ..., + contains: global___Contains | None = ..., + has_null: global___HasNull | None = ..., + sum: global___ListSum | None = ..., + min: global___ListMin | None = ..., + max: global___ListMax | None = ..., + all: global___ListAll | None = ..., + any: global___ListAny | None = ..., + mean: global___ListMean | None = ..., + filter: global___ListFilter | None = ..., + map: global___ListMap | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["all", b"all", "any", b"any", "contains", b"contains", "filter", b"filter", "fn_type", b"fn_type", "get", b"get", "has_null", b"has_null", "len", b"len", "map", b"map", "max", b"max", "mean", b"mean", "min", b"min", "sum", b"sum"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["all", b"all", "any", b"any", "contains", b"contains", "filter", b"filter", "fn_type", b"fn_type", "get", b"get", "has_null", b"has_null", "len", b"len", "map", b"map", "max", b"max", "mean", b"mean", "min", b"min", "sum", b"sum"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["fn_type", b"fn_type"]) -> typing_extensions.Literal["len", "get", "contains", "has_null", "sum", "min", "max", "all", "any", "mean", "filter", "map"] | None: ... + +global___ListOp = ListOp + +@typing_extensions.final +class ListFilter(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + VAR_FIELD_NUMBER: builtins.int + PREDICATE_FIELD_NUMBER: builtins.int + var: builtins.str + @property + def predicate(self) -> global___Expr: ... + def __init__( + self, + *, + var: builtins.str = ..., + predicate: global___Expr | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["predicate", b"predicate"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["predicate", b"predicate", "var", b"var"]) -> None: ... + +global___ListFilter = ListFilter + +@typing_extensions.final +class ListMap(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + VAR_FIELD_NUMBER: builtins.int + MAP_EXPR_FIELD_NUMBER: builtins.int + var: builtins.str + @property + def map_expr(self) -> global___Expr: ... + def __init__( + self, + *, + var: builtins.str = ..., + map_expr: global___Expr | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["map_expr", b"map_expr"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["map_expr", b"map_expr", "var", b"var"]) -> None: ... + +global___ListMap = ListMap + +@typing_extensions.final +class ListSum(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___ListSum = ListSum + +@typing_extensions.final +class ListMin(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___ListMin = ListMin + +@typing_extensions.final +class ListMean(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___ListMean = ListMean + +@typing_extensions.final +class ListMax(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___ListMax = ListMax + +@typing_extensions.final +class ListAll(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___ListAll = ListAll + +@typing_extensions.final +class ListAny(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___ListAny = ListAny + +@typing_extensions.final +class Len(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___Len = Len + +@typing_extensions.final +class HasNull(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___HasNull = HasNull + +@typing_extensions.final +class Contains(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ELEMENT_FIELD_NUMBER: builtins.int + @property + def element(self) -> global___Expr: ... + def __init__( + self, + *, + element: global___Expr | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["element", b"element"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["element", b"element"]) -> None: ... + +global___Contains = Contains + +@typing_extensions.final +class ListFn(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LIST_FIELD_NUMBER: builtins.int + FN_FIELD_NUMBER: builtins.int + @property + def list(self) -> global___Expr: ... + @property + def fn(self) -> global___ListOp: ... + def __init__( + self, + *, + list: global___Expr | None = ..., + fn: global___ListOp | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["fn", b"fn", "list", b"list"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["fn", b"fn", "list", b"list"]) -> None: ... + +global___ListFn = ListFn + +@typing_extensions.final +class MathOp(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ROUND_FIELD_NUMBER: builtins.int + ABS_FIELD_NUMBER: builtins.int + CEIL_FIELD_NUMBER: builtins.int + FLOOR_FIELD_NUMBER: builtins.int + @property + def round(self) -> global___Round: ... + @property + def abs(self) -> global___Abs: ... + @property + def ceil(self) -> global___Ceil: ... + @property + def floor(self) -> global___Floor: ... + def __init__( + self, + *, + round: global___Round | None = ..., + abs: global___Abs | None = ..., + ceil: global___Ceil | None = ..., + floor: global___Floor | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["abs", b"abs", "ceil", b"ceil", "floor", b"floor", "fn_type", b"fn_type", "round", b"round"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["abs", b"abs", "ceil", b"ceil", "floor", b"floor", "fn_type", b"fn_type", "round", b"round"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["fn_type", b"fn_type"]) -> typing_extensions.Literal["round", "abs", "ceil", "floor"] | None: ... + +global___MathOp = MathOp + +@typing_extensions.final +class Round(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PRECISION_FIELD_NUMBER: builtins.int + precision: builtins.int + def __init__( + self, + *, + precision: builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["precision", b"precision"]) -> None: ... + +global___Round = Round + +@typing_extensions.final +class Abs(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___Abs = Abs + +@typing_extensions.final +class Ceil(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___Ceil = Ceil + +@typing_extensions.final +class Floor(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___Floor = Floor + +@typing_extensions.final +class MathFn(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + OPERAND_FIELD_NUMBER: builtins.int + FN_FIELD_NUMBER: builtins.int + @property + def operand(self) -> global___Expr: ... + @property + def fn(self) -> global___MathOp: ... + def __init__( + self, + *, + operand: global___Expr | None = ..., + fn: global___MathOp | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["fn", b"fn", "operand", b"operand"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["fn", b"fn", "operand", b"operand"]) -> None: ... + +global___MathFn = MathFn + +@typing_extensions.final +class StructOp(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FIELD_FIELD_NUMBER: builtins.int + field: builtins.str + def __init__( + self, + *, + field: builtins.str = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["field", b"field", "fn_type", b"fn_type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["field", b"field", "fn_type", b"fn_type"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["fn_type", b"fn_type"]) -> typing_extensions.Literal["field"] | None: ... + +global___StructOp = StructOp + +@typing_extensions.final +class StructFn(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + STRUCT_FIELD_NUMBER: builtins.int + FN_FIELD_NUMBER: builtins.int + @property + def struct(self) -> global___Expr: ... + @property + def fn(self) -> global___StructOp: ... + def __init__( + self, + *, + struct: global___Expr | None = ..., + fn: global___StructOp | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["fn", b"fn", "struct", b"struct"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["fn", b"fn", "struct", b"struct"]) -> None: ... + +global___StructFn = StructFn + +@typing_extensions.final +class DictGet(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FIELD_FIELD_NUMBER: builtins.int + DEFAULT_VALUE_FIELD_NUMBER: builtins.int + @property + def field(self) -> global___Expr: ... + @property + def default_value(self) -> global___Expr: ... + def __init__( + self, + *, + field: global___Expr | None = ..., + default_value: global___Expr | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["default_value", b"default_value", "field", b"field"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["default_value", b"default_value", "field", b"field"]) -> None: ... + +global___DictGet = DictGet + +@typing_extensions.final +class DictOp(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LEN_FIELD_NUMBER: builtins.int + GET_FIELD_NUMBER: builtins.int + CONTAINS_FIELD_NUMBER: builtins.int + @property + def len(self) -> global___Len: ... + @property + def get(self) -> global___DictGet: ... + @property + def contains(self) -> global___Contains: ... + def __init__( + self, + *, + len: global___Len | None = ..., + get: global___DictGet | None = ..., + contains: global___Contains | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["contains", b"contains", "fn_type", b"fn_type", "get", b"get", "len", b"len"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["contains", b"contains", "fn_type", b"fn_type", "get", b"get", "len", b"len"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["fn_type", b"fn_type"]) -> typing_extensions.Literal["len", "get", "contains"] | None: ... + +global___DictOp = DictOp + +@typing_extensions.final +class DictFn(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DICT_FIELD_NUMBER: builtins.int + FN_FIELD_NUMBER: builtins.int + @property + def dict(self) -> global___Expr: ... + @property + def fn(self) -> global___DictOp: ... + def __init__( + self, + *, + dict: global___Expr | None = ..., + fn: global___DictOp | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["dict", b"dict", "fn", b"fn"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["dict", b"dict", "fn", b"fn"]) -> None: ... + +global___DictFn = DictFn + +@typing_extensions.final +class StringOp(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LEN_FIELD_NUMBER: builtins.int + TOLOWER_FIELD_NUMBER: builtins.int + TOUPPER_FIELD_NUMBER: builtins.int + CONTAINS_FIELD_NUMBER: builtins.int + STARTSWITH_FIELD_NUMBER: builtins.int + ENDSWITH_FIELD_NUMBER: builtins.int + CONCAT_FIELD_NUMBER: builtins.int + STRPTIME_FIELD_NUMBER: builtins.int + JSON_DECODE_FIELD_NUMBER: builtins.int + @property + def len(self) -> global___Len: ... + @property + def tolower(self) -> global___ToLower: ... + @property + def toupper(self) -> global___ToUpper: ... + @property + def contains(self) -> global___Contains: ... + @property + def startswith(self) -> global___StartsWith: ... + @property + def endswith(self) -> global___EndsWith: ... + @property + def concat(self) -> global___Concat: ... + @property + def strptime(self) -> global___Strptime: ... + @property + def json_decode(self) -> global___JsonDecode: ... + def __init__( + self, + *, + len: global___Len | None = ..., + tolower: global___ToLower | None = ..., + toupper: global___ToUpper | None = ..., + contains: global___Contains | None = ..., + startswith: global___StartsWith | None = ..., + endswith: global___EndsWith | None = ..., + concat: global___Concat | None = ..., + strptime: global___Strptime | None = ..., + json_decode: global___JsonDecode | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["concat", b"concat", "contains", b"contains", "endswith", b"endswith", "fn_type", b"fn_type", "json_decode", b"json_decode", "len", b"len", "startswith", b"startswith", "strptime", b"strptime", "tolower", b"tolower", "toupper", b"toupper"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["concat", b"concat", "contains", b"contains", "endswith", b"endswith", "fn_type", b"fn_type", "json_decode", b"json_decode", "len", b"len", "startswith", b"startswith", "strptime", b"strptime", "tolower", b"tolower", "toupper", b"toupper"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["fn_type", b"fn_type"]) -> typing_extensions.Literal["len", "tolower", "toupper", "contains", "startswith", "endswith", "concat", "strptime", "json_decode"] | None: ... + +global___StringOp = StringOp + +@typing_extensions.final +class Timezone(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TIMEZONE_FIELD_NUMBER: builtins.int + timezone: builtins.str + def __init__( + self, + *, + timezone: builtins.str = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["timezone", b"timezone"]) -> None: ... + +global___Timezone = Timezone + +@typing_extensions.final +class JsonDecode(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DTYPE_FIELD_NUMBER: builtins.int + @property + def dtype(self) -> schema_pb2.DataType: ... + def __init__( + self, + *, + dtype: schema_pb2.DataType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["dtype", b"dtype"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["dtype", b"dtype"]) -> None: ... + +global___JsonDecode = JsonDecode + +@typing_extensions.final +class Strptime(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FORMAT_FIELD_NUMBER: builtins.int + TIMEZONE_FIELD_NUMBER: builtins.int + format: builtins.str + @property + def timezone(self) -> global___Timezone: ... + def __init__( + self, + *, + format: builtins.str = ..., + timezone: global___Timezone | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["timezone", b"timezone"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["format", b"format", "timezone", b"timezone"]) -> None: ... + +global___Strptime = Strptime + +@typing_extensions.final +class ToLower(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___ToLower = ToLower + +@typing_extensions.final +class ToUpper(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___ToUpper = ToUpper + +@typing_extensions.final +class StartsWith(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + @property + def key(self) -> global___Expr: ... + def __init__( + self, + *, + key: global___Expr | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["key", b"key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["key", b"key"]) -> None: ... + +global___StartsWith = StartsWith + +@typing_extensions.final +class EndsWith(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + @property + def key(self) -> global___Expr: ... + def __init__( + self, + *, + key: global___Expr | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["key", b"key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["key", b"key"]) -> None: ... + +global___EndsWith = EndsWith + +@typing_extensions.final +class Concat(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + OTHER_FIELD_NUMBER: builtins.int + @property + def other(self) -> global___Expr: ... + def __init__( + self, + *, + other: global___Expr | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["other", b"other"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["other", b"other"]) -> None: ... + +global___Concat = Concat + +@typing_extensions.final +class StringFn(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + STRING_FIELD_NUMBER: builtins.int + FN_FIELD_NUMBER: builtins.int + @property + def string(self) -> global___Expr: ... + @property + def fn(self) -> global___StringOp: ... + def __init__( + self, + *, + string: global___Expr | None = ..., + fn: global___StringOp | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["fn", b"fn", "string", b"string"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["fn", b"fn", "string", b"string"]) -> None: ... + +global___StringFn = StringFn + +@typing_extensions.final +class DateTimeFn(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DATETIME_FIELD_NUMBER: builtins.int + FN_FIELD_NUMBER: builtins.int + @property + def datetime(self) -> global___Expr: ... + @property + def fn(self) -> global___DateTimeOp: ... + def __init__( + self, + *, + datetime: global___Expr | None = ..., + fn: global___DateTimeOp | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["datetime", b"datetime", "fn", b"fn"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["datetime", b"datetime", "fn", b"fn"]) -> None: ... + +global___DateTimeFn = DateTimeFn + +@typing_extensions.final +class DateTimeOp(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SINCE_FIELD_NUMBER: builtins.int + SINCE_EPOCH_FIELD_NUMBER: builtins.int + STRFTIME_FIELD_NUMBER: builtins.int + PART_FIELD_NUMBER: builtins.int + @property + def since(self) -> global___Since: ... + @property + def since_epoch(self) -> global___SinceEpoch: ... + @property + def strftime(self) -> global___Strftime: ... + @property + def part(self) -> global___Part: ... + def __init__( + self, + *, + since: global___Since | None = ..., + since_epoch: global___SinceEpoch | None = ..., + strftime: global___Strftime | None = ..., + part: global___Part | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["fn_type", b"fn_type", "part", b"part", "since", b"since", "since_epoch", b"since_epoch", "strftime", b"strftime"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["fn_type", b"fn_type", "part", b"part", "since", b"since", "since_epoch", b"since_epoch", "strftime", b"strftime"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["fn_type", b"fn_type"]) -> typing_extensions.Literal["since", "since_epoch", "strftime", "part"] | None: ... + +global___DateTimeOp = DateTimeOp + +@typing_extensions.final +class Since(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + OTHER_FIELD_NUMBER: builtins.int + UNIT_FIELD_NUMBER: builtins.int + @property + def other(self) -> global___Expr: ... + unit: global___TimeUnit.ValueType + def __init__( + self, + *, + other: global___Expr | None = ..., + unit: global___TimeUnit.ValueType = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["other", b"other"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["other", b"other", "unit", b"unit"]) -> None: ... + +global___Since = Since + +@typing_extensions.final +class SinceEpoch(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + UNIT_FIELD_NUMBER: builtins.int + unit: global___TimeUnit.ValueType + def __init__( + self, + *, + unit: global___TimeUnit.ValueType = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["unit", b"unit"]) -> None: ... + +global___SinceEpoch = SinceEpoch + +@typing_extensions.final +class Strftime(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FORMAT_FIELD_NUMBER: builtins.int + TIMEZONE_FIELD_NUMBER: builtins.int + format: builtins.str + @property + def timezone(self) -> global___Timezone: ... + def __init__( + self, + *, + format: builtins.str = ..., + timezone: global___Timezone | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["timezone", b"timezone"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["format", b"format", "timezone", b"timezone"]) -> None: ... + +global___Strftime = Strftime + +@typing_extensions.final +class Part(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + UNIT_FIELD_NUMBER: builtins.int + TIMEZONE_FIELD_NUMBER: builtins.int + unit: global___TimeUnit.ValueType + @property + def timezone(self) -> global___Timezone: ... + def __init__( + self, + *, + unit: global___TimeUnit.ValueType = ..., + timezone: global___Timezone | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["timezone", b"timezone"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["timezone", b"timezone", "unit", b"unit"]) -> None: ... + +global___Part = Part diff --git a/fennel/gen/featureset_pb2.py b/fennel/gen/featureset_pb2.py index 4df083d9..ce60882d 100644 --- a/fennel/gen/featureset_pb2.py +++ b/fennel/gen/featureset_pb2.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: featureset.proto -# Protobuf Python Version: 4.25.4 """Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -15,30 +14,30 @@ import fennel.gen.metadata_pb2 as metadata__pb2 import fennel.gen.schema_pb2 as schema__pb2 import fennel.gen.pycode_pb2 as pycode__pb2 -import fennel.gen.expr_pb2 as expr__pb2 +import fennel.gen.expression_pb2 as expression__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10\x66\x65\x61tureset.proto\x12\x17\x66\x65nnel.proto.featureset\x1a\x0emetadata.proto\x1a\x0cschema.proto\x1a\x0cpycode.proto\x1a\nexpr.proto\"\x8c\x01\n\x0e\x43oreFeatureset\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x31\n\x08metadata\x18\x02 \x01(\x0b\x32\x1f.fennel.proto.metadata.Metadata\x12+\n\x06pycode\x18\x03 \x01(\x0b\x32\x1b.fennel.proto.pycode.PyCode\x12\x0c\n\x04tags\x18\x04 \x03(\t\"\xa0\x01\n\x07\x46\x65\x61ture\x12\x0c\n\x04name\x18\x01 \x01(\t\x12,\n\x05\x64type\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType\x12\x31\n\x08metadata\x18\x03 \x01(\x0b\x32\x1f.fennel.proto.metadata.Metadata\x12\x18\n\x10\x66\x65\x61ture_set_name\x18\x04 \x01(\t\x12\x0c\n\x04tags\x18\x05 \x03(\t\"S\n\x0f\x46ieldLookupInfo\x12)\n\x05\x66ield\x18\x01 \x01(\x0b\x32\x1a.fennel.proto.schema.Field\x12\x15\n\rdefault_value\x18\x03 \x01(\t\"\xc7\x03\n\tExtractor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08\x64\x61tasets\x18\x02 \x03(\t\x12.\n\x06inputs\x18\x03 \x03(\x0b\x32\x1e.fennel.proto.featureset.Input\x12\x10\n\x08\x66\x65\x61tures\x18\x04 \x03(\t\x12\x31\n\x08metadata\x18\x05 \x01(\x0b\x32\x1f.fennel.proto.metadata.Metadata\x12\x0f\n\x07version\x18\x06 \x01(\x05\x12+\n\x06pycode\x18\x07 \x01(\x0b\x32\x1b.fennel.proto.pycode.PyCode\x12\x18\n\x10\x66\x65\x61ture_set_name\x18\x08 \x01(\t\x12>\n\x0e\x65xtractor_type\x18\t \x01(\x0e\x32&.fennel.proto.featureset.ExtractorType\x12>\n\nfield_info\x18\n \x01(\x0b\x32(.fennel.proto.featureset.FieldLookupInfoH\x00\x12%\n\x04\x65xpr\x18\x0c \x01(\x0b\x32\x17.fennel.proto.expr.Expr\x12\x0c\n\x04tags\x18\x0b \x03(\tB\x18\n\x16\x64\x65rived_extractor_info\"\xa1\x01\n\x05Input\x12\x37\n\x07\x66\x65\x61ture\x18\x01 \x01(\x0b\x32&.fennel.proto.featureset.Input.Feature\x12,\n\x05\x64type\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType\x1a\x31\n\x07\x46\x65\x61ture\x12\x18\n\x10\x66\x65\x61ture_set_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xad\x01\n\x05Model\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x30\n\x06inputs\x18\x02 \x03(\x0b\x32 .fennel.proto.featureset.Feature\x12\x31\n\x07outputs\x18\x03 \x03(\x0b\x32 .fennel.proto.featureset.Feature\x12\x31\n\x08metadata\x18\x04 \x01(\x0b\x32\x1f.fennel.proto.metadata.Metadata*=\n\rExtractorType\x12\x0b\n\x07PY_FUNC\x10\x00\x12\n\n\x06LOOKUP\x10\x01\x12\t\n\x05\x41LIAS\x10\x02\x12\x08\n\x04\x45XPR\x10\x03\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10\x66\x65\x61tureset.proto\x12\x17\x66\x65nnel.proto.featureset\x1a\x0emetadata.proto\x1a\x0cschema.proto\x1a\x0cpycode.proto\x1a\x10\x65xpression.proto\"\x8c\x01\n\x0e\x43oreFeatureset\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x31\n\x08metadata\x18\x02 \x01(\x0b\x32\x1f.fennel.proto.metadata.Metadata\x12+\n\x06pycode\x18\x03 \x01(\x0b\x32\x1b.fennel.proto.pycode.PyCode\x12\x0c\n\x04tags\x18\x04 \x03(\t\"\xa0\x01\n\x07\x46\x65\x61ture\x12\x0c\n\x04name\x18\x01 \x01(\t\x12,\n\x05\x64type\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType\x12\x31\n\x08metadata\x18\x03 \x01(\x0b\x32\x1f.fennel.proto.metadata.Metadata\x12\x18\n\x10\x66\x65\x61ture_set_name\x18\x04 \x01(\t\x12\x0c\n\x04tags\x18\x05 \x03(\t\"S\n\x0f\x46ieldLookupInfo\x12)\n\x05\x66ield\x18\x01 \x01(\x0b\x32\x1a.fennel.proto.schema.Field\x12\x15\n\rdefault_value\x18\x03 \x01(\t\"\xcd\x03\n\tExtractor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08\x64\x61tasets\x18\x02 \x03(\t\x12.\n\x06inputs\x18\x03 \x03(\x0b\x32\x1e.fennel.proto.featureset.Input\x12\x10\n\x08\x66\x65\x61tures\x18\x04 \x03(\t\x12\x31\n\x08metadata\x18\x05 \x01(\x0b\x32\x1f.fennel.proto.metadata.Metadata\x12\x0f\n\x07version\x18\x06 \x01(\x05\x12+\n\x06pycode\x18\x07 \x01(\x0b\x32\x1b.fennel.proto.pycode.PyCode\x12\x18\n\x10\x66\x65\x61ture_set_name\x18\x08 \x01(\t\x12>\n\x0e\x65xtractor_type\x18\t \x01(\x0e\x32&.fennel.proto.featureset.ExtractorType\x12>\n\nfield_info\x18\n \x01(\x0b\x32(.fennel.proto.featureset.FieldLookupInfoH\x00\x12+\n\x04\x65xpr\x18\x0c \x01(\x0b\x32\x1d.fennel.proto.expression.Expr\x12\x0c\n\x04tags\x18\x0b \x03(\tB\x18\n\x16\x64\x65rived_extractor_info\"\xa1\x01\n\x05Input\x12\x37\n\x07\x66\x65\x61ture\x18\x01 \x01(\x0b\x32&.fennel.proto.featureset.Input.Feature\x12,\n\x05\x64type\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType\x1a\x31\n\x07\x46\x65\x61ture\x12\x18\n\x10\x66\x65\x61ture_set_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xad\x01\n\x05Model\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x30\n\x06inputs\x18\x02 \x03(\x0b\x32 .fennel.proto.featureset.Feature\x12\x31\n\x07outputs\x18\x03 \x03(\x0b\x32 .fennel.proto.featureset.Feature\x12\x31\n\x08metadata\x18\x04 \x01(\x0b\x32\x1f.fennel.proto.metadata.Metadata*=\n\rExtractorType\x12\x0b\n\x07PY_FUNC\x10\x00\x12\n\n\x06LOOKUP\x10\x01\x12\t\n\x05\x41LIAS\x10\x02\x12\x08\n\x04\x45XPR\x10\x03\x62\x06proto3') -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'featureset_pb2', _globals) +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'featureset_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None - _globals['_EXTRACTORTYPE']._serialized_start=1290 - _globals['_EXTRACTORTYPE']._serialized_end=1351 - _globals['_COREFEATURESET']._serialized_start=102 - _globals['_COREFEATURESET']._serialized_end=242 - _globals['_FEATURE']._serialized_start=245 - _globals['_FEATURE']._serialized_end=405 - _globals['_FIELDLOOKUPINFO']._serialized_start=407 - _globals['_FIELDLOOKUPINFO']._serialized_end=490 - _globals['_EXTRACTOR']._serialized_start=493 - _globals['_EXTRACTOR']._serialized_end=948 - _globals['_INPUT']._serialized_start=951 - _globals['_INPUT']._serialized_end=1112 - _globals['_INPUT_FEATURE']._serialized_start=1063 - _globals['_INPUT_FEATURE']._serialized_end=1112 - _globals['_MODEL']._serialized_start=1115 - _globals['_MODEL']._serialized_end=1288 + _EXTRACTORTYPE._serialized_start=1302 + _EXTRACTORTYPE._serialized_end=1363 + _COREFEATURESET._serialized_start=108 + _COREFEATURESET._serialized_end=248 + _FEATURE._serialized_start=251 + _FEATURE._serialized_end=411 + _FIELDLOOKUPINFO._serialized_start=413 + _FIELDLOOKUPINFO._serialized_end=496 + _EXTRACTOR._serialized_start=499 + _EXTRACTOR._serialized_end=960 + _INPUT._serialized_start=963 + _INPUT._serialized_end=1124 + _INPUT_FEATURE._serialized_start=1075 + _INPUT_FEATURE._serialized_end=1124 + _MODEL._serialized_start=1127 + _MODEL._serialized_end=1300 # @@protoc_insertion_point(module_scope) diff --git a/fennel/gen/featureset_pb2.pyi b/fennel/gen/featureset_pb2.pyi index d4bfe17f..dcf36b39 100644 --- a/fennel/gen/featureset_pb2.pyi +++ b/fennel/gen/featureset_pb2.pyi @@ -4,7 +4,7 @@ isort:skip_file """ import builtins import collections.abc -import expr_pb2 +import expression_pb2 import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.internal.enum_type_wrapper @@ -161,7 +161,7 @@ class Extractor(google.protobuf.message.Message): required iff extractor_type == LOOKUP """ @property - def expr(self) -> expr_pb2.Expr: + def expr(self) -> expression_pb2.Expr: """required iff extractor_type == EXPR""" @property def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... @@ -178,7 +178,7 @@ class Extractor(google.protobuf.message.Message): feature_set_name: builtins.str = ..., extractor_type: global___ExtractorType.ValueType = ..., field_info: global___FieldLookupInfo | None = ..., - expr: expr_pb2.Expr | None = ..., + expr: expression_pb2.Expr | None = ..., tags: collections.abc.Iterable[builtins.str] | None = ..., ) -> None: ... def HasField(self, field_name: typing_extensions.Literal["derived_extractor_info", b"derived_extractor_info", "expr", b"expr", "field_info", b"field_info", "metadata", b"metadata", "pycode", b"pycode"]) -> builtins.bool: ... diff --git a/fennel/gen/format_pb2.py b/fennel/gen/format_pb2.py index a83bd4cd..bd25d0df 100644 --- a/fennel/gen/format_pb2.py +++ b/fennel/gen/format_pb2.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: format.proto -# Protobuf Python Version: 4.25.4 """Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -17,25 +16,25 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0c\x66ormat.proto\x12\x13\x66\x65nnel.proto.format\x1a\x15schema_registry.proto\"\x8c\x05\n\nFileFormat\x12:\n\x07parquet\x18\x01 \x01(\x0b\x32\'.fennel.proto.format.FileFormat.ParquetH\x00\x12\x34\n\x04json\x18\x02 \x01(\x0b\x32$.fennel.proto.format.FileFormat.JsonH\x00\x12\x34\n\x04\x61vro\x18\x03 \x01(\x0b\x32$.fennel.proto.format.FileFormat.AvroH\x00\x12\x34\n\x04hudi\x18\x04 \x01(\x0b\x32$.fennel.proto.format.FileFormat.HudiH\x00\x12\x41\n\x0b\x64\x65lta_table\x18\x05 \x01(\x0b\x32*.fennel.proto.format.FileFormat.DeltaTableH\x00\x12\x32\n\x03\x63sv\x18\x06 \x01(\x0b\x32#.fennel.proto.format.FileFormat.CSVH\x00\x12<\n\x08protobuf\x18\x08 \x01(\x0b\x32(.fennel.proto.format.FileFormat.ProtobufH\x00\x1a\t\n\x07Parquet\x1a\x06\n\x04Json\x1aM\n\x04\x41vro\x12\x45\n\x0fschema_registry\x18\x01 \x01(\x0b\x32,.fennel.proto.schema_registry.SchemaRegistry\x1a\x06\n\x04Hudi\x1a\x0c\n\nDeltaTable\x1a\x18\n\x03\x43SV\x12\x11\n\tdelimiter\x18\x01 \x01(\x0c\x1aQ\n\x08Protobuf\x12\x45\n\x0fschema_registry\x18\x01 \x01(\x0b\x32,.fennel.proto.schema_registry.SchemaRegistryB\x06\n\x04kindb\x06proto3') -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'format_pb2', _globals) +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'format_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None - _globals['_FILEFORMAT']._serialized_start=61 - _globals['_FILEFORMAT']._serialized_end=713 - _globals['_FILEFORMAT_PARQUET']._serialized_start=478 - _globals['_FILEFORMAT_PARQUET']._serialized_end=487 - _globals['_FILEFORMAT_JSON']._serialized_start=489 - _globals['_FILEFORMAT_JSON']._serialized_end=495 - _globals['_FILEFORMAT_AVRO']._serialized_start=497 - _globals['_FILEFORMAT_AVRO']._serialized_end=574 - _globals['_FILEFORMAT_HUDI']._serialized_start=576 - _globals['_FILEFORMAT_HUDI']._serialized_end=582 - _globals['_FILEFORMAT_DELTATABLE']._serialized_start=584 - _globals['_FILEFORMAT_DELTATABLE']._serialized_end=596 - _globals['_FILEFORMAT_CSV']._serialized_start=598 - _globals['_FILEFORMAT_CSV']._serialized_end=622 - _globals['_FILEFORMAT_PROTOBUF']._serialized_start=624 - _globals['_FILEFORMAT_PROTOBUF']._serialized_end=705 + _FILEFORMAT._serialized_start=61 + _FILEFORMAT._serialized_end=713 + _FILEFORMAT_PARQUET._serialized_start=478 + _FILEFORMAT_PARQUET._serialized_end=487 + _FILEFORMAT_JSON._serialized_start=489 + _FILEFORMAT_JSON._serialized_end=495 + _FILEFORMAT_AVRO._serialized_start=497 + _FILEFORMAT_AVRO._serialized_end=574 + _FILEFORMAT_HUDI._serialized_start=576 + _FILEFORMAT_HUDI._serialized_end=582 + _FILEFORMAT_DELTATABLE._serialized_start=584 + _FILEFORMAT_DELTATABLE._serialized_end=596 + _FILEFORMAT_CSV._serialized_start=598 + _FILEFORMAT_CSV._serialized_end=622 + _FILEFORMAT_PROTOBUF._serialized_start=624 + _FILEFORMAT_PROTOBUF._serialized_end=705 # @@protoc_insertion_point(module_scope) diff --git a/fennel/gen/http_auth_pb2.py b/fennel/gen/http_auth_pb2.py index 8816026d..a164fd6e 100644 --- a/fennel/gen/http_auth_pb2.py +++ b/fennel/gen/http_auth_pb2.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: http_auth.proto -# Protobuf Python Version: 4.25.4 """Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -18,15 +17,15 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0fhttp_auth.proto\x12\x16\x66\x65nnel.proto.http_auth\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x0csecret.proto\"\x9b\x01\n\x12HTTPAuthentication\x12<\n\x05\x62\x61sic\x18\x01 \x01(\x0b\x32+.fennel.proto.http_auth.BasicAuthenticationH\x00\x12<\n\x05token\x18\x02 \x01(\x0b\x32+.fennel.proto.http_auth.TokenAuthenticationH\x00\x42\t\n\x07variant\"\xf9\x01\n\x13\x42\x61sicAuthentication\x12\x12\n\x08username\x18\x01 \x01(\tH\x00\x12\x39\n\x0fusername_secret\x18\x03 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x12\x30\n\x08password\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValueH\x01\x12\x39\n\x0fpassword_secret\x18\x04 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x01\x42\x12\n\x10username_variantB\x12\n\x10password_variant\"o\n\x13TokenAuthentication\x12\x0f\n\x05token\x18\x01 \x01(\tH\x00\x12\x36\n\x0ctoken_secret\x18\x02 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x42\x0f\n\rtoken_variantb\x06proto3') -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'http_auth_pb2', _globals) +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'http_auth_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None - _globals['_HTTPAUTHENTICATION']._serialized_start=90 - _globals['_HTTPAUTHENTICATION']._serialized_end=245 - _globals['_BASICAUTHENTICATION']._serialized_start=248 - _globals['_BASICAUTHENTICATION']._serialized_end=497 - _globals['_TOKENAUTHENTICATION']._serialized_start=499 - _globals['_TOKENAUTHENTICATION']._serialized_end=610 + _HTTPAUTHENTICATION._serialized_start=90 + _HTTPAUTHENTICATION._serialized_end=245 + _BASICAUTHENTICATION._serialized_start=248 + _BASICAUTHENTICATION._serialized_end=497 + _TOKENAUTHENTICATION._serialized_start=499 + _TOKENAUTHENTICATION._serialized_end=610 # @@protoc_insertion_point(module_scope) diff --git a/fennel/gen/index_pb2.py b/fennel/gen/index_pb2.py index d7cfdffb..3bf8e724 100644 --- a/fennel/gen/index_pb2.py +++ b/fennel/gen/index_pb2.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: index.proto -# Protobuf Python Version: 4.25.4 """Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -17,17 +16,17 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0bindex.proto\x12\x12\x66\x65nnel.proto.index\x1a\x1egoogle/protobuf/duration.proto\"\\\n\rIndexDuration\x12\x11\n\x07\x66orever\x18\x01 \x01(\tH\x00\x12-\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x42\t\n\x07variant\"\x9b\x01\n\x0cOfflineIndex\x12\x0f\n\x07\x64s_name\x18\x01 \x01(\t\x12\x12\n\nds_version\x18\x02 \x01(\r\x12\x31\n\nindex_type\x18\x03 \x01(\x0e\x32\x1d.fennel.proto.index.IndexType\x12\x33\n\x08\x64uration\x18\x04 \x01(\x0b\x32!.fennel.proto.index.IndexDuration\"\x9a\x01\n\x0bOnlineIndex\x12\x0f\n\x07\x64s_name\x18\x01 \x01(\t\x12\x12\n\nds_version\x18\x02 \x01(\r\x12\x31\n\nindex_type\x18\x03 \x01(\x0e\x32\x1d.fennel.proto.index.IndexType\x12\x33\n\x08\x64uration\x18\x04 \x01(\x0b\x32!.fennel.proto.index.IndexDuration*\x18\n\tIndexType\x12\x0b\n\x07PRIMARY\x10\x00\x62\x06proto3') -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'index_pb2', _globals) +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'index_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None - _globals['_INDEXTYPE']._serialized_start=476 - _globals['_INDEXTYPE']._serialized_end=500 - _globals['_INDEXDURATION']._serialized_start=67 - _globals['_INDEXDURATION']._serialized_end=159 - _globals['_OFFLINEINDEX']._serialized_start=162 - _globals['_OFFLINEINDEX']._serialized_end=317 - _globals['_ONLINEINDEX']._serialized_start=320 - _globals['_ONLINEINDEX']._serialized_end=474 + _INDEXTYPE._serialized_start=476 + _INDEXTYPE._serialized_end=500 + _INDEXDURATION._serialized_start=67 + _INDEXDURATION._serialized_end=159 + _OFFLINEINDEX._serialized_start=162 + _OFFLINEINDEX._serialized_end=317 + _ONLINEINDEX._serialized_start=320 + _ONLINEINDEX._serialized_end=474 # @@protoc_insertion_point(module_scope) diff --git a/fennel/gen/kinesis_pb2.py b/fennel/gen/kinesis_pb2.py index 37fe3cc6..0d1e71b6 100644 --- a/fennel/gen/kinesis_pb2.py +++ b/fennel/gen/kinesis_pb2.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: kinesis.proto -# Protobuf Python Version: 4.25.4 """Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -16,11 +15,11 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rkinesis.proto\x12\x14\x66\x65nnel.proto.kinesis*>\n\x0cInitPosition\x12\n\n\x06LATEST\x10\x00\x12\x10\n\x0cTRIM_HORIZON\x10\x01\x12\x10\n\x0c\x41T_TIMESTAMP\x10\x02\x62\x06proto3') -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'kinesis_pb2', _globals) +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'kinesis_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None - _globals['_INITPOSITION']._serialized_start=39 - _globals['_INITPOSITION']._serialized_end=101 + _INITPOSITION._serialized_start=39 + _INITPOSITION._serialized_end=101 # @@protoc_insertion_point(module_scope) diff --git a/fennel/gen/metadata_pb2.py b/fennel/gen/metadata_pb2.py index 82b9ffc4..213c4d1a 100644 --- a/fennel/gen/metadata_pb2.py +++ b/fennel/gen/metadata_pb2.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: metadata.proto -# Protobuf Python Version: 4.25.4 """Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -16,11 +15,11 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0emetadata.proto\x12\x15\x66\x65nnel.proto.metadata\"a\n\x08Metadata\x12\r\n\x05owner\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0c\n\x04tags\x18\x03 \x03(\t\x12\x12\n\ndeprecated\x18\x04 \x01(\x08\x12\x0f\n\x07\x64\x65leted\x18\x05 \x01(\x08\x62\x06proto3') -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'metadata_pb2', _globals) +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'metadata_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None - _globals['_METADATA']._serialized_start=41 - _globals['_METADATA']._serialized_end=138 + _METADATA._serialized_start=41 + _METADATA._serialized_end=138 # @@protoc_insertion_point(module_scope) diff --git a/fennel/gen/pycode_pb2.py b/fennel/gen/pycode_pb2.py index d53c3ede..99fa879e 100644 --- a/fennel/gen/pycode_pb2.py +++ b/fennel/gen/pycode_pb2.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: pycode.proto -# Protobuf Python Version: 4.25.4 """Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -16,19 +15,19 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cpycode.proto\x12\x13\x66\x65nnel.proto.pycode\"\xb3\x02\n\x06PyCode\x12\x13\n\x0b\x65ntry_point\x18\x01 \x01(\t\x12\x13\n\x0bsource_code\x18\x02 \x01(\t\x12\x11\n\tcore_code\x18\x03 \x01(\t\x12\x16\n\x0egenerated_code\x18\x04 \x01(\t\x12-\n\x08includes\x18\x05 \x03(\x0b\x32\x1b.fennel.proto.pycode.PyCode\x12\x42\n\x0cref_includes\x18\x06 \x03(\x0b\x32,.fennel.proto.pycode.PyCode.RefIncludesEntry\x12\x0f\n\x07imports\x18\x07 \x01(\t\x1aP\n\x10RefIncludesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12+\n\x05value\x18\x02 \x01(\x0e\x32\x1c.fennel.proto.pycode.RefType:\x02\x38\x01\"T\n\x03UDF\x12-\n\x06pycode\x18\x01 \x01(\x0b\x32\x1b.fennel.proto.pycode.PyCodeH\x00\x12\x16\n\x0cjson_literal\x18\x02 \x01(\tH\x00\x42\x06\n\x04node*&\n\x07RefType\x12\x0b\n\x07\x44\x61taset\x10\x00\x12\x0e\n\nFeatureset\x10\x01\x62\x06proto3') -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pycode_pb2', _globals) +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pycode_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None - _globals['_PYCODE_REFINCLUDESENTRY']._options = None - _globals['_PYCODE_REFINCLUDESENTRY']._serialized_options = b'8\001' - _globals['_REFTYPE']._serialized_start=433 - _globals['_REFTYPE']._serialized_end=471 - _globals['_PYCODE']._serialized_start=38 - _globals['_PYCODE']._serialized_end=345 - _globals['_PYCODE_REFINCLUDESENTRY']._serialized_start=265 - _globals['_PYCODE_REFINCLUDESENTRY']._serialized_end=345 - _globals['_UDF']._serialized_start=347 - _globals['_UDF']._serialized_end=431 + _PYCODE_REFINCLUDESENTRY._options = None + _PYCODE_REFINCLUDESENTRY._serialized_options = b'8\001' + _REFTYPE._serialized_start=433 + _REFTYPE._serialized_end=471 + _PYCODE._serialized_start=38 + _PYCODE._serialized_end=345 + _PYCODE_REFINCLUDESENTRY._serialized_start=265 + _PYCODE_REFINCLUDESENTRY._serialized_end=345 + _UDF._serialized_start=347 + _UDF._serialized_end=431 # @@protoc_insertion_point(module_scope) diff --git a/fennel/gen/schema_pb2.py b/fennel/gen/schema_pb2.py index 4f56afb6..223e7729 100644 --- a/fennel/gen/schema_pb2.py +++ b/fennel/gen/schema_pb2.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: schema.proto -# Protobuf Python Version: 4.25.4 """Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -17,71 +16,71 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cschema.proto\x12\x13\x66\x65nnel.proto.schema\x1a\x1fgoogle/protobuf/timestamp.proto\"\xb8\x07\n\x08\x44\x61taType\x12\x30\n\x08int_type\x18\x01 \x01(\x0b\x32\x1c.fennel.proto.schema.IntTypeH\x00\x12\x36\n\x0b\x64ouble_type\x18\x02 \x01(\x0b\x32\x1f.fennel.proto.schema.DoubleTypeH\x00\x12\x36\n\x0bstring_type\x18\x03 \x01(\x0b\x32\x1f.fennel.proto.schema.StringTypeH\x00\x12\x32\n\tbool_type\x18\x04 \x01(\x0b\x32\x1d.fennel.proto.schema.BoolTypeH\x00\x12<\n\x0etimestamp_type\x18\x05 \x01(\x0b\x32\".fennel.proto.schema.TimestampTypeH\x00\x12\x34\n\narray_type\x18\x06 \x01(\x0b\x32\x1e.fennel.proto.schema.ArrayTypeH\x00\x12\x30\n\x08map_type\x18\x07 \x01(\x0b\x32\x1c.fennel.proto.schema.MapTypeH\x00\x12<\n\x0e\x65mbedding_type\x18\x08 \x01(\x0b\x32\".fennel.proto.schema.EmbeddingTypeH\x00\x12\x34\n\x0c\x62\x65tween_type\x18\t \x01(\x0b\x32\x1c.fennel.proto.schema.BetweenH\x00\x12\x31\n\x0bone_of_type\x18\n \x01(\x0b\x32\x1a.fennel.proto.schema.OneOfH\x00\x12\x34\n\nregex_type\x18\x0b \x01(\x0b\x32\x1e.fennel.proto.schema.RegexTypeH\x00\x12:\n\roptional_type\x18\x0c \x01(\x0b\x32!.fennel.proto.schema.OptionalTypeH\x00\x12\x36\n\x0bstruct_type\x18\r \x01(\x0b\x32\x1f.fennel.proto.schema.StructTypeH\x00\x12\x38\n\x0c\x64\x65\x63imal_type\x18\x0e \x01(\x0b\x32 .fennel.proto.schema.DecimalTypeH\x00\x12\x32\n\tdate_type\x18\x0f \x01(\x0b\x32\x1d.fennel.proto.schema.DateTypeH\x00\x12\x34\n\nbytes_type\x18\x10 \x01(\x0b\x32\x1e.fennel.proto.schema.BytesTypeH\x00\x12\x32\n\tnull_type\x18\x11 \x01(\x0b\x32\x1d.fennel.proto.schema.NullTypeH\x00\x42\x07\n\x05\x64type\"C\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12,\n\x05\x64type\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType\"\n\n\x08NullType\"\t\n\x07IntType\"\x0c\n\nDoubleType\"\x0c\n\nStringType\"\n\n\x08\x42oolType\"\x0f\n\rTimestampType\"\n\n\x08\x44\x61teType\"\x0b\n\tBytesType\"\x1c\n\tRegexType\x12\x0f\n\x07pattern\x18\x01 \x01(\t\"6\n\tArrayType\x12)\n\x02of\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType\"\'\n\rEmbeddingType\x12\x16\n\x0e\x65mbedding_size\x18\x02 \x01(\x05\"c\n\x07MapType\x12*\n\x03key\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType\"F\n\nStructType\x12\x0c\n\x04name\x18\x01 \x01(\t\x12*\n\x06\x66ields\x18\x02 \x03(\x0b\x32\x1a.fennel.proto.schema.Field\"\xb1\x01\n\x07\x42\x65tween\x12,\n\x05\x64type\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType\x12\'\n\x03min\x18\x02 \x01(\x0b\x32\x1a.fennel.proto.schema.Value\x12\'\n\x03max\x18\x03 \x01(\x0b\x32\x1a.fennel.proto.schema.Value\x12\x12\n\nstrict_min\x18\x04 \x01(\x08\x12\x12\n\nstrict_max\x18\x05 \x01(\x08\"_\n\x05OneOf\x12)\n\x02of\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType\x12+\n\x07options\x18\x02 \x03(\x0b\x32\x1a.fennel.proto.schema.Value\"9\n\x0cOptionalType\x12)\n\x02of\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType\"\x1c\n\x0b\x44\x65\x63imalType\x12\r\n\x05scale\x18\x01 \x01(\x05\"4\n\x06Schema\x12*\n\x06\x66ields\x18\x01 \x03(\x0b\x32\x1a.fennel.proto.schema.Field\"\x89\x01\n\x08\x44SSchema\x12)\n\x04keys\x18\x01 \x01(\x0b\x32\x1b.fennel.proto.schema.Schema\x12+\n\x06values\x18\x02 \x01(\x0b\x32\x1b.fennel.proto.schema.Schema\x12\x11\n\ttimestamp\x18\x03 \x01(\t\x12\x12\n\nerase_keys\x18\x04 \x03(\t\"\xda\x03\n\x05Value\x12)\n\x04none\x18\x01 \x01(\x0b\x32\x19.fennel.proto.schema.NoneH\x00\x12\x0e\n\x04\x62ool\x18\x02 \x01(\x08H\x00\x12\r\n\x03int\x18\x03 \x01(\x03H\x00\x12\x0f\n\x05\x66loat\x18\x04 \x01(\x01H\x00\x12\x10\n\x06string\x18\x05 \x01(\tH\x00\x12/\n\ttimestamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x33\n\tembedding\x18\x07 \x01(\x0b\x32\x1e.fennel.proto.schema.EmbeddingH\x00\x12)\n\x04list\x18\x08 \x01(\x0b\x32\x19.fennel.proto.schema.ListH\x00\x12\'\n\x03map\x18\t \x01(\x0b\x32\x18.fennel.proto.schema.MapH\x00\x12\x32\n\x06struct\x18\n \x01(\x0b\x32 .fennel.proto.schema.StructValueH\x00\x12/\n\x07\x64\x65\x63imal\x18\x0b \x01(\x0b\x32\x1c.fennel.proto.schema.DecimalH\x00\x12)\n\x04\x64\x61te\x18\x0c \x01(\x0b\x32\x19.fennel.proto.schema.DateH\x00\x12\x0f\n\x05\x62ytes\x18\r \x01(\x0cH\x00\x42\t\n\x07variant\"\x1b\n\tEmbedding\x12\x0e\n\x06values\x18\x01 \x03(\x01\"`\n\x04List\x12,\n\x05\x64type\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType\x12*\n\x06values\x18\x02 \x03(\x0b\x32\x1a.fennel.proto.schema.Value\"\xf9\x01\n\x03Map\x12\x30\n\tkey_dtype\x18\x01 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType\x12\x32\n\x0bvalue_dtype\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType\x12/\n\x07\x65ntries\x18\x03 \x03(\x0b\x32\x1e.fennel.proto.schema.Map.Entry\x1a[\n\x05\x45ntry\x12\'\n\x03key\x18\x01 \x01(\x0b\x32\x1a.fennel.proto.schema.Value\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.fennel.proto.schema.Value\"\x87\x01\n\x0bStructValue\x12\x36\n\x06\x66ields\x18\x01 \x03(\x0b\x32&.fennel.proto.schema.StructValue.Entry\x1a@\n\x05\x45ntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.fennel.proto.schema.Value\"\'\n\x07\x44\x65\x63imal\x12\r\n\x05scale\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x03\"\x14\n\x04\x44\x61te\x12\x0c\n\x04\x64\x61ys\x18\x02 \x01(\x03\"\x06\n\x04Noneb\x06proto3') -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'schema_pb2', _globals) +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'schema_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None - _globals['_DATATYPE']._serialized_start=71 - _globals['_DATATYPE']._serialized_end=1023 - _globals['_FIELD']._serialized_start=1025 - _globals['_FIELD']._serialized_end=1092 - _globals['_NULLTYPE']._serialized_start=1094 - _globals['_NULLTYPE']._serialized_end=1104 - _globals['_INTTYPE']._serialized_start=1106 - _globals['_INTTYPE']._serialized_end=1115 - _globals['_DOUBLETYPE']._serialized_start=1117 - _globals['_DOUBLETYPE']._serialized_end=1129 - _globals['_STRINGTYPE']._serialized_start=1131 - _globals['_STRINGTYPE']._serialized_end=1143 - _globals['_BOOLTYPE']._serialized_start=1145 - _globals['_BOOLTYPE']._serialized_end=1155 - _globals['_TIMESTAMPTYPE']._serialized_start=1157 - _globals['_TIMESTAMPTYPE']._serialized_end=1172 - _globals['_DATETYPE']._serialized_start=1174 - _globals['_DATETYPE']._serialized_end=1184 - _globals['_BYTESTYPE']._serialized_start=1186 - _globals['_BYTESTYPE']._serialized_end=1197 - _globals['_REGEXTYPE']._serialized_start=1199 - _globals['_REGEXTYPE']._serialized_end=1227 - _globals['_ARRAYTYPE']._serialized_start=1229 - _globals['_ARRAYTYPE']._serialized_end=1283 - _globals['_EMBEDDINGTYPE']._serialized_start=1285 - _globals['_EMBEDDINGTYPE']._serialized_end=1324 - _globals['_MAPTYPE']._serialized_start=1326 - _globals['_MAPTYPE']._serialized_end=1425 - _globals['_STRUCTTYPE']._serialized_start=1427 - _globals['_STRUCTTYPE']._serialized_end=1497 - _globals['_BETWEEN']._serialized_start=1500 - _globals['_BETWEEN']._serialized_end=1677 - _globals['_ONEOF']._serialized_start=1679 - _globals['_ONEOF']._serialized_end=1774 - _globals['_OPTIONALTYPE']._serialized_start=1776 - _globals['_OPTIONALTYPE']._serialized_end=1833 - _globals['_DECIMALTYPE']._serialized_start=1835 - _globals['_DECIMALTYPE']._serialized_end=1863 - _globals['_SCHEMA']._serialized_start=1865 - _globals['_SCHEMA']._serialized_end=1917 - _globals['_DSSCHEMA']._serialized_start=1920 - _globals['_DSSCHEMA']._serialized_end=2057 - _globals['_VALUE']._serialized_start=2060 - _globals['_VALUE']._serialized_end=2534 - _globals['_EMBEDDING']._serialized_start=2536 - _globals['_EMBEDDING']._serialized_end=2563 - _globals['_LIST']._serialized_start=2565 - _globals['_LIST']._serialized_end=2661 - _globals['_MAP']._serialized_start=2664 - _globals['_MAP']._serialized_end=2913 - _globals['_MAP_ENTRY']._serialized_start=2822 - _globals['_MAP_ENTRY']._serialized_end=2913 - _globals['_STRUCTVALUE']._serialized_start=2916 - _globals['_STRUCTVALUE']._serialized_end=3051 - _globals['_STRUCTVALUE_ENTRY']._serialized_start=2987 - _globals['_STRUCTVALUE_ENTRY']._serialized_end=3051 - _globals['_DECIMAL']._serialized_start=3053 - _globals['_DECIMAL']._serialized_end=3092 - _globals['_DATE']._serialized_start=3094 - _globals['_DATE']._serialized_end=3114 - _globals['_NONE']._serialized_start=3116 - _globals['_NONE']._serialized_end=3122 + _DATATYPE._serialized_start=71 + _DATATYPE._serialized_end=1023 + _FIELD._serialized_start=1025 + _FIELD._serialized_end=1092 + _NULLTYPE._serialized_start=1094 + _NULLTYPE._serialized_end=1104 + _INTTYPE._serialized_start=1106 + _INTTYPE._serialized_end=1115 + _DOUBLETYPE._serialized_start=1117 + _DOUBLETYPE._serialized_end=1129 + _STRINGTYPE._serialized_start=1131 + _STRINGTYPE._serialized_end=1143 + _BOOLTYPE._serialized_start=1145 + _BOOLTYPE._serialized_end=1155 + _TIMESTAMPTYPE._serialized_start=1157 + _TIMESTAMPTYPE._serialized_end=1172 + _DATETYPE._serialized_start=1174 + _DATETYPE._serialized_end=1184 + _BYTESTYPE._serialized_start=1186 + _BYTESTYPE._serialized_end=1197 + _REGEXTYPE._serialized_start=1199 + _REGEXTYPE._serialized_end=1227 + _ARRAYTYPE._serialized_start=1229 + _ARRAYTYPE._serialized_end=1283 + _EMBEDDINGTYPE._serialized_start=1285 + _EMBEDDINGTYPE._serialized_end=1324 + _MAPTYPE._serialized_start=1326 + _MAPTYPE._serialized_end=1425 + _STRUCTTYPE._serialized_start=1427 + _STRUCTTYPE._serialized_end=1497 + _BETWEEN._serialized_start=1500 + _BETWEEN._serialized_end=1677 + _ONEOF._serialized_start=1679 + _ONEOF._serialized_end=1774 + _OPTIONALTYPE._serialized_start=1776 + _OPTIONALTYPE._serialized_end=1833 + _DECIMALTYPE._serialized_start=1835 + _DECIMALTYPE._serialized_end=1863 + _SCHEMA._serialized_start=1865 + _SCHEMA._serialized_end=1917 + _DSSCHEMA._serialized_start=1920 + _DSSCHEMA._serialized_end=2057 + _VALUE._serialized_start=2060 + _VALUE._serialized_end=2534 + _EMBEDDING._serialized_start=2536 + _EMBEDDING._serialized_end=2563 + _LIST._serialized_start=2565 + _LIST._serialized_end=2661 + _MAP._serialized_start=2664 + _MAP._serialized_end=2913 + _MAP_ENTRY._serialized_start=2822 + _MAP_ENTRY._serialized_end=2913 + _STRUCTVALUE._serialized_start=2916 + _STRUCTVALUE._serialized_end=3051 + _STRUCTVALUE_ENTRY._serialized_start=2987 + _STRUCTVALUE_ENTRY._serialized_end=3051 + _DECIMAL._serialized_start=3053 + _DECIMAL._serialized_end=3092 + _DATE._serialized_start=3094 + _DATE._serialized_end=3114 + _NONE._serialized_start=3116 + _NONE._serialized_end=3122 # @@protoc_insertion_point(module_scope) diff --git a/fennel/gen/schema_registry_pb2.py b/fennel/gen/schema_registry_pb2.py index f1248b25..452470cb 100644 --- a/fennel/gen/schema_registry_pb2.py +++ b/fennel/gen/schema_registry_pb2.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: schema_registry.proto -# Protobuf Python Version: 4.25.4 """Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -17,13 +16,13 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15schema_registry.proto\x12\x1c\x66\x65nnel.proto.schema_registry\x1a\x0fhttp_auth.proto\"\xa2\x01\n\x0eSchemaRegistry\x12I\n\x11registry_provider\x18\x01 \x01(\x0e\x32..fennel.proto.schema_registry.RegistryProvider\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x38\n\x04\x61uth\x18\x03 \x01(\x0b\x32*.fennel.proto.http_auth.HTTPAuthentication*!\n\x10RegistryProvider\x12\r\n\tCONFLUENT\x10\x00\x62\x06proto3') -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'schema_registry_pb2', _globals) +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'schema_registry_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None - _globals['_REGISTRYPROVIDER']._serialized_start=237 - _globals['_REGISTRYPROVIDER']._serialized_end=270 - _globals['_SCHEMAREGISTRY']._serialized_start=73 - _globals['_SCHEMAREGISTRY']._serialized_end=235 + _REGISTRYPROVIDER._serialized_start=237 + _REGISTRYPROVIDER._serialized_end=270 + _SCHEMAREGISTRY._serialized_start=73 + _SCHEMAREGISTRY._serialized_end=235 # @@protoc_insertion_point(module_scope) diff --git a/fennel/gen/secret_pb2.py b/fennel/gen/secret_pb2.py index ae0f9d60..df5f00f4 100644 --- a/fennel/gen/secret_pb2.py +++ b/fennel/gen/secret_pb2.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: secret.proto -# Protobuf Python Version: 4.25.4 """Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -16,11 +15,11 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0csecret.proto\x12\x13\x66\x65nnel.proto.secret\"Q\n\tSecretRef\x12\x12\n\nsecret_arn\x18\x01 \x01(\t\x12\x15\n\x08role_arn\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x0c\n\x04path\x18\x03 \x03(\tB\x0b\n\t_role_arnb\x06proto3') -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'secret_pb2', _globals) +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'secret_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None - _globals['_SECRETREF']._serialized_start=37 - _globals['_SECRETREF']._serialized_end=118 + _SECRETREF._serialized_start=37 + _SECRETREF._serialized_end=118 # @@protoc_insertion_point(module_scope) diff --git a/fennel/gen/secret_pb2.pyi b/fennel/gen/secret_pb2.pyi index 9f6ff1cc..965da9ff 100644 --- a/fennel/gen/secret_pb2.pyi +++ b/fennel/gen/secret_pb2.pyi @@ -26,7 +26,8 @@ class SecretRef(google.protobuf.message.Message): secret_arn: builtins.str role_arn: builtins.str @property - def path(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def path(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + """Next id: 4""" def __init__( self, *, diff --git a/fennel/gen/services_pb2.py b/fennel/gen/services_pb2.py index 0bf595ae..8f46ec02 100644 --- a/fennel/gen/services_pb2.py +++ b/fennel/gen/services_pb2.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: services.proto -# Protobuf Python Version: 4.25.4 """Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -21,11 +20,11 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0eservices.proto\x12\x15\x66\x65nnel.proto.services\x1a\rdataset.proto\x1a\x10\x66\x65\x61tureset.proto\x1a\x0f\x63onnector.proto\x1a\x12\x65xpectations.proto\x1a\x0bindex.proto\"\xda\x05\n\x0bSyncRequest\x12\x33\n\x08\x64\x61tasets\x18\x01 \x03(\x0b\x32!.fennel.proto.dataset.CoreDataset\x12\x31\n\tpipelines\x18\x02 \x03(\x0b\x32\x1e.fennel.proto.dataset.Pipeline\x12\x31\n\toperators\x18\x03 \x03(\x0b\x32\x1e.fennel.proto.dataset.Operator\x12=\n\x0c\x66\x65\x61ture_sets\x18\x04 \x03(\x0b\x32\'.fennel.proto.featureset.CoreFeatureset\x12\x32\n\x08\x66\x65\x61tures\x18\x05 \x03(\x0b\x32 .fennel.proto.featureset.Feature\x12\x36\n\nextractors\x18\x06 \x03(\x0b\x32\".fennel.proto.featureset.Extractor\x12.\n\x06models\x18\x07 \x03(\x0b\x32\x1e.fennel.proto.featureset.Model\x12/\n\x07sources\x18\x08 \x03(\x0b\x32\x1e.fennel.proto.connector.Source\x12\x33\n\x06\x65xtdbs\x18\t \x03(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12=\n\x0c\x65xpectations\x18\n \x03(\x0b\x32\'.fennel.proto.expectations.Expectations\x12\x0f\n\x07message\x18\x0b \x01(\t\x12\x39\n\x0foffline_indices\x18\x0c \x03(\x0b\x32 .fennel.proto.index.OfflineIndex\x12\x37\n\x0eonline_indices\x18\r \x03(\x0b\x32\x1f.fennel.proto.index.OnlineIndex\x12+\n\x05sinks\x18\x0e \x03(\x0b\x32\x1c.fennel.proto.connector.Sinkb\x06proto3') -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'services_pb2', _globals) +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'services_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None - _globals['_SYNCREQUEST']._serialized_start=125 - _globals['_SYNCREQUEST']._serialized_end=855 + _SYNCREQUEST._serialized_start=125 + _SYNCREQUEST._serialized_end=855 # @@protoc_insertion_point(module_scope) diff --git a/fennel/gen/spec_pb2.py b/fennel/gen/spec_pb2.py index 44f59b34..6c3bb4e6 100644 --- a/fennel/gen/spec_pb2.py +++ b/fennel/gen/spec_pb2.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: spec.proto -# Protobuf Python Version: 4.25.4 """Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -17,33 +16,33 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nspec.proto\x12\x11\x66\x65nnel.proto.spec\x1a\x0cwindow.proto\"\x8f\x04\n\x07PreSpec\x12%\n\x03sum\x18\x01 \x01(\x0b\x32\x16.fennel.proto.spec.SumH\x00\x12-\n\x07\x61verage\x18\x02 \x01(\x0b\x32\x1a.fennel.proto.spec.AverageH\x00\x12)\n\x05\x63ount\x18\x03 \x01(\x0b\x32\x18.fennel.proto.spec.CountH\x00\x12*\n\x06last_k\x18\x04 \x01(\x0b\x32\x18.fennel.proto.spec.LastKH\x00\x12%\n\x03min\x18\x05 \x01(\x0b\x32\x16.fennel.proto.spec.MinH\x00\x12%\n\x03max\x18\x06 \x01(\x0b\x32\x16.fennel.proto.spec.MaxH\x00\x12+\n\x06stddev\x18\x07 \x01(\x0b\x32\x19.fennel.proto.spec.StddevH\x00\x12/\n\x08\x64istinct\x18\x08 \x01(\x0b\x32\x1b.fennel.proto.spec.DistinctH\x00\x12/\n\x08quantile\x18\t \x01(\x0b\x32\x1b.fennel.proto.spec.QuantileH\x00\x12\x41\n\texp_decay\x18\n \x01(\x0b\x32,.fennel.proto.spec.ExponentialDecayAggregateH\x00\x12,\n\x07\x66irst_k\x18\x0b \x01(\x0b\x32\x19.fennel.proto.spec.FirstKH\x00\x42\t\n\x07variant\"L\n\x03Sum\x12\n\n\x02of\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12+\n\x06window\x18\x03 \x01(\x0b\x32\x1b.fennel.proto.window.Window\"a\n\x07\x41verage\x12\n\n\x02of\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12+\n\x06window\x18\x03 \x01(\x0b\x32\x1b.fennel.proto.window.Window\x12\x0f\n\x07\x64\x65\x66\x61ult\x18\x04 \x01(\x01\"\x80\x01\n\x05\x43ount\x12\x0c\n\x04name\x18\x01 \x01(\t\x12+\n\x06window\x18\x02 \x01(\x0b\x32\x1b.fennel.proto.window.Window\x12\x0e\n\x06unique\x18\x03 \x01(\x08\x12\x0e\n\x06\x61pprox\x18\x04 \x01(\x08\x12\n\n\x02of\x18\x05 \x01(\t\x12\x10\n\x08\x64ropnull\x18\x06 \x01(\x08\"~\n\x05LastK\x12\n\n\x02of\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05limit\x18\x03 \x01(\r\x12\r\n\x05\x64\x65\x64up\x18\x04 \x01(\x08\x12+\n\x06window\x18\x05 \x01(\x0b\x32\x1b.fennel.proto.window.Window\x12\x10\n\x08\x64ropnull\x18\x06 \x01(\x08\"\x7f\n\x06\x46irstK\x12\n\n\x02of\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05limit\x18\x03 \x01(\r\x12\r\n\x05\x64\x65\x64up\x18\x04 \x01(\x08\x12+\n\x06window\x18\x05 \x01(\x0b\x32\x1b.fennel.proto.window.Window\x12\x10\n\x08\x64ropnull\x18\x06 \x01(\x08\"]\n\x03Min\x12\n\n\x02of\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12+\n\x06window\x18\x03 \x01(\x0b\x32\x1b.fennel.proto.window.Window\x12\x0f\n\x07\x64\x65\x66\x61ult\x18\x04 \x01(\x01\"]\n\x03Max\x12\n\n\x02of\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12+\n\x06window\x18\x03 \x01(\x0b\x32\x1b.fennel.proto.window.Window\x12\x0f\n\x07\x64\x65\x66\x61ult\x18\x04 \x01(\x01\"`\n\x06Stddev\x12\n\n\x02of\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12+\n\x06window\x18\x03 \x01(\x0b\x32\x1b.fennel.proto.window.Window\x12\x0f\n\x07\x64\x65\x66\x61ult\x18\x04 \x01(\x01\"c\n\x08\x44istinct\x12\n\n\x02of\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12+\n\x06window\x18\x03 \x01(\x0b\x32\x1b.fennel.proto.window.Window\x12\x10\n\x08\x64ropnull\x18\x04 \x01(\x08\"\x95\x01\n\x08Quantile\x12\n\n\x02of\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12+\n\x06window\x18\x03 \x01(\x0b\x32\x1b.fennel.proto.window.Window\x12\x14\n\x07\x64\x65\x66\x61ult\x18\x04 \x01(\x01H\x00\x88\x01\x01\x12\x10\n\x08quantile\x18\x05 \x01(\x01\x12\x0e\n\x06\x61pprox\x18\x06 \x01(\x08\x42\n\n\x08_default\"}\n\x19\x45xponentialDecayAggregate\x12\n\n\x02of\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12+\n\x06window\x18\x03 \x01(\x0b\x32\x1b.fennel.proto.window.Window\x12\x19\n\x11half_life_seconds\x18\x04 \x01(\rb\x06proto3') -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'spec_pb2', _globals) +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'spec_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None - _globals['_PRESPEC']._serialized_start=48 - _globals['_PRESPEC']._serialized_end=575 - _globals['_SUM']._serialized_start=577 - _globals['_SUM']._serialized_end=653 - _globals['_AVERAGE']._serialized_start=655 - _globals['_AVERAGE']._serialized_end=752 - _globals['_COUNT']._serialized_start=755 - _globals['_COUNT']._serialized_end=883 - _globals['_LASTK']._serialized_start=885 - _globals['_LASTK']._serialized_end=1011 - _globals['_FIRSTK']._serialized_start=1013 - _globals['_FIRSTK']._serialized_end=1140 - _globals['_MIN']._serialized_start=1142 - _globals['_MIN']._serialized_end=1235 - _globals['_MAX']._serialized_start=1237 - _globals['_MAX']._serialized_end=1330 - _globals['_STDDEV']._serialized_start=1332 - _globals['_STDDEV']._serialized_end=1428 - _globals['_DISTINCT']._serialized_start=1430 - _globals['_DISTINCT']._serialized_end=1529 - _globals['_QUANTILE']._serialized_start=1532 - _globals['_QUANTILE']._serialized_end=1681 - _globals['_EXPONENTIALDECAYAGGREGATE']._serialized_start=1683 - _globals['_EXPONENTIALDECAYAGGREGATE']._serialized_end=1808 + _PRESPEC._serialized_start=48 + _PRESPEC._serialized_end=575 + _SUM._serialized_start=577 + _SUM._serialized_end=653 + _AVERAGE._serialized_start=655 + _AVERAGE._serialized_end=752 + _COUNT._serialized_start=755 + _COUNT._serialized_end=883 + _LASTK._serialized_start=885 + _LASTK._serialized_end=1011 + _FIRSTK._serialized_start=1013 + _FIRSTK._serialized_end=1140 + _MIN._serialized_start=1142 + _MIN._serialized_end=1235 + _MAX._serialized_start=1237 + _MAX._serialized_end=1330 + _STDDEV._serialized_start=1332 + _STDDEV._serialized_end=1428 + _DISTINCT._serialized_start=1430 + _DISTINCT._serialized_end=1529 + _QUANTILE._serialized_start=1532 + _QUANTILE._serialized_end=1681 + _EXPONENTIALDECAYAGGREGATE._serialized_start=1683 + _EXPONENTIALDECAYAGGREGATE._serialized_end=1808 # @@protoc_insertion_point(module_scope) diff --git a/fennel/gen/status_pb2.py b/fennel/gen/status_pb2.py index f24662be..fd8d292f 100644 --- a/fennel/gen/status_pb2.py +++ b/fennel/gen/status_pb2.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: status.proto -# Protobuf Python Version: 4.25.4 """Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -17,12 +16,12 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cstatus.proto\x12\x13\x66\x65nnel.proto.status\x1a\x19google/protobuf/any.proto\"N\n\x06Status\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0f\n\x07message\x18\x02 \x01(\t\x12%\n\x07\x64\x65tails\x18\x03 \x03(\x0b\x32\x14.google.protobuf.AnyBa\n\x0e\x63om.google.rpcB\x0bStatusProtoP\x01Z7google.golang.org/genproto/googleapis/rpc/status;status\xf8\x01\x01\xa2\x02\x03RPCb\x06proto3') -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'status_pb2', _globals) +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'status_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.rpcB\013StatusProtoP\001Z7google.golang.org/genproto/googleapis/rpc/status;status\370\001\001\242\002\003RPC' - _globals['_STATUS']._serialized_start=64 - _globals['_STATUS']._serialized_end=142 + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\n\016com.google.rpcB\013StatusProtoP\001Z7google.golang.org/genproto/googleapis/rpc/status;status\370\001\001\242\002\003RPC' + _STATUS._serialized_start=64 + _STATUS._serialized_end=142 # @@protoc_insertion_point(module_scope) diff --git a/fennel/gen/window_pb2.py b/fennel/gen/window_pb2.py index 6b51a69d..a618a820 100644 --- a/fennel/gen/window_pb2.py +++ b/fennel/gen/window_pb2.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: window.proto -# Protobuf Python Version: 4.25.4 """Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -19,25 +18,25 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cwindow.proto\x12\x13\x66\x65nnel.proto.window\x1a\x1egoogle/protobuf/duration.proto\x1a\x0cpycode.proto\x1a\x0cschema.proto\"\xca\x02\n\x06Window\x12/\n\x07sliding\x18\x01 \x01(\x0b\x32\x1c.fennel.proto.window.SlidingH\x00\x12/\n\x07\x66orever\x18\x02 \x01(\x0b\x32\x1c.fennel.proto.window.ForeverH\x00\x12/\n\x07session\x18\x03 \x01(\x0b\x32\x1c.fennel.proto.window.SessionH\x00\x12\x31\n\x08tumbling\x18\x04 \x01(\x0b\x32\x1d.fennel.proto.window.TumblingH\x00\x12/\n\x07hopping\x18\x05 \x01(\x0b\x32\x1c.fennel.proto.window.HoppingH\x00\x12>\n\x0f\x66orever_hopping\x18\x06 \x01(\x0b\x32#.fennel.proto.window.ForeverHoppingH\x00\x42\t\n\x07variant\"6\n\x07Sliding\x12+\n\x08\x64uration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\"\t\n\x07\x46orever\"d\n\x08Tumbling\x12+\n\x08\x64uration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12+\n\x08lookback\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\"\x8e\x01\n\x07Hopping\x12+\n\x08\x64uration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12)\n\x06stride\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12+\n\x08lookback\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\"h\n\x0e\x46oreverHopping\x12)\n\x06stride\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12+\n\x08lookback\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\"1\n\x07Session\x12&\n\x03gap\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\"\x7f\n\x07Summary\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12\x32\n\x0boutput_type\x18\x02 \x01(\x0b\x32\x1d.fennel.proto.schema.DataType\x12+\n\x06pycode\x18\x03 \x01(\x0b\x32\x1b.fennel.proto.pycode.PyCodeb\x06proto3') -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'window_pb2', _globals) +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'window_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None - _globals['_WINDOW']._serialized_start=98 - _globals['_WINDOW']._serialized_end=428 - _globals['_SLIDING']._serialized_start=430 - _globals['_SLIDING']._serialized_end=484 - _globals['_FOREVER']._serialized_start=486 - _globals['_FOREVER']._serialized_end=495 - _globals['_TUMBLING']._serialized_start=497 - _globals['_TUMBLING']._serialized_end=597 - _globals['_HOPPING']._serialized_start=600 - _globals['_HOPPING']._serialized_end=742 - _globals['_FOREVERHOPPING']._serialized_start=744 - _globals['_FOREVERHOPPING']._serialized_end=848 - _globals['_SESSION']._serialized_start=850 - _globals['_SESSION']._serialized_end=899 - _globals['_SUMMARY']._serialized_start=901 - _globals['_SUMMARY']._serialized_end=1028 + _WINDOW._serialized_start=98 + _WINDOW._serialized_end=428 + _SLIDING._serialized_start=430 + _SLIDING._serialized_end=484 + _FOREVER._serialized_start=486 + _FOREVER._serialized_end=495 + _TUMBLING._serialized_start=497 + _TUMBLING._serialized_end=597 + _HOPPING._serialized_start=600 + _HOPPING._serialized_end=742 + _FOREVERHOPPING._serialized_start=744 + _FOREVERHOPPING._serialized_end=848 + _SESSION._serialized_start=850 + _SESSION._serialized_end=899 + _SUMMARY._serialized_start=901 + _SUMMARY._serialized_end=1028 # @@protoc_insertion_point(module_scope) diff --git a/fennel/testing/mock_client.py b/fennel/testing/mock_client.py index b677ec30..df8f4ba2 100644 --- a/fennel/testing/mock_client.py +++ b/fennel/testing/mock_client.py @@ -297,6 +297,7 @@ def query_offline( input_s3: Optional[S3Connector] = None, output_s3: Optional[S3Connector] = None, feature_to_column_map: Optional[Dict[Feature, str]] = None, + use_v2: bool = False, ) -> Union[pd.DataFrame, pd.Series]: if input_dataframe is None: raise ValueError( diff --git a/pyproject.toml b/pyproject.toml index 1e6862c4..36b5b8ec 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "fennel-ai" -version = "1.5.37" +version = "1.5.38" description = "The modern realtime feature engineering platform" authors = ["Fennel AI "] packages = [{ include = "fennel" }]