diff --git a/docs/api.yml b/docs/api.yml index fc0dd3951..6a9c6a509 100644 --- a/docs/api.yml +++ b/docs/api.yml @@ -147,6 +147,7 @@ sidebar: - "api-reference/expressions/num/ceil" - "api-reference/expressions/num/floor" - "api-reference/expressions/num/round" + - "api-reference/expressions/num/to_string" - slug: "api-reference/expressions/str" title: "String Expressions" diff --git a/docs/examples/api-reference/expressions/num.py b/docs/examples/api-reference/expressions/num.py index 05484b8e0..08125dc3e 100644 --- a/docs/examples/api-reference/expressions/num.py +++ b/docs/examples/api-reference/expressions/num.py @@ -123,3 +123,26 @@ def test_round(): with pytest.raises(Exception): expr = col("x").round(1.1) + + +def test_to_string(): + # docsnip to_string + from fennel.expr import col + + # docsnip-highlight next-line + expr = col("x").num.to_string() + + # type is str or optional str + assert expr.typeof(schema={"x": int}) == str + assert expr.typeof(schema={"x": Optional[int]}) == Optional[str] + assert expr.typeof(schema={"x": float}) == str + assert expr.typeof(schema={"x": Optional[float]}) == Optional[str] + + # can be evaluated with a dataframe + df = pd.DataFrame({"x": pd.Series([1.1, -2.3, None])}) + assert expr.eval(df, schema={"x": Optional[float]}).tolist() == [ + "1.1", + "-2.3", + pd.NA, + ] + # /docsnip diff --git a/docs/pages/api-reference/expressions/num/to_string.md b/docs/pages/api-reference/expressions/num/to_string.md new file mode 100644 index 000000000..eca0406b7 --- /dev/null +++ b/docs/pages/api-reference/expressions/num/to_string.md @@ -0,0 +1,26 @@ +--- +title: To String +order: 0 +status: published +--- + +### To String + +Function in `num` namespace to convert a number to a string. + +#### Returns + +Returns an expression object denoting the string value of the input data. The +data type of the resulting expression is `str` (or `Optional[str]` if the input +is an optional number). + + +
+
+ +#### Errors + +Error during `typeof` or `eval` if the input expression is not of type int, +float, optional int or optional float. + \ No newline at end of file diff --git a/fennel/CHANGELOG.md b/fennel/CHANGELOG.md index f897e44f8..1b156d1d2 100644 --- a/fennel/CHANGELOG.md +++ b/fennel/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog +## [1.5.56] - 2024-11-24 +- Add to_string method to num namespace in expressions + ## [1.5.55] - 2024-11-14 - Add print visitor for couple missing string operations diff --git a/fennel/expr/expr.py b/fennel/expr/expr.py index abe799ab6..b41ece1cb 100644 --- a/fennel/expr/expr.py +++ b/fennel/expr/expr.py @@ -482,6 +482,10 @@ class Floor(MathOp): pass +class NumToStr(MathOp): + pass + + class MathNoop(MathOp): pass @@ -504,6 +508,9 @@ def ceil(self) -> _Number: def floor(self) -> _Number: return _Number(self, Floor()) + def to_string(self) -> _String: + return _String(_Number(self, NumToStr()), StringNoop()) + ######################################################### # String Functions diff --git a/fennel/expr/serializer.py b/fennel/expr/serializer.py index 88cc2d6e9..784a2445b 100644 --- a/fennel/expr/serializer.py +++ b/fennel/expr/serializer.py @@ -47,6 +47,7 @@ MathNoop, Round, Ceil, + NumToStr, Abs, Floor, StringNoop, @@ -231,6 +232,8 @@ def visitNumber(self, obj): expr.math_fn.fn.CopyFrom(proto.MathOp(abs=proto.Abs())) elif isinstance(obj.op, Floor): expr.math_fn.fn.CopyFrom(proto.MathOp(floor=proto.Floor())) + elif isinstance(obj.op, NumToStr): + expr.math_fn.fn.CopyFrom(proto.MathOp(to_string=proto.ToString())) else: raise InvalidExprException("invalid number operation: %s" % obj.op) expr.math_fn.operand.CopyFrom(self.visit(obj.operand)) diff --git a/fennel/expr/test_expr.py b/fennel/expr/test_expr.py index 45f6d7ffb..4b9a02b16 100644 --- a/fennel/expr/test_expr.py +++ b/fennel/expr/test_expr.py @@ -165,6 +165,17 @@ def test_math_expr(): assert ref_extractor.refs == {"a", "b", "d"} +def test_math_expr_to_string(): + expr = col("a").num.to_string() + printer = ExprPrinter() + assert printer.print(expr.root) == 'TO_STRING(col("a"))' + + df = pd.DataFrame({"a": [1.1232, 2.1232, 3.1232]}) + ret = expr.eval(df, {"a": float}) + assert ret.tolist() == ["1.1232", "2.1232", "3.1232"] + assert expr.typeof({"a": float}) == str + + def test_bool_expr(): expr = (col("a") == 5) | ((col("b") == "random") & (col("c") == 3.2)) printer = ExprPrinter() diff --git a/fennel/expr/visitor.py b/fennel/expr/visitor.py index dec1f7f4c..b2cf16aa4 100644 --- a/fennel/expr/visitor.py +++ b/fennel/expr/visitor.py @@ -35,6 +35,7 @@ MathNoop, Round, Ceil, + NumToStr, Abs, Floor, StringNoop, @@ -267,6 +268,8 @@ def visitNumber(self, obj): return "CEIL(%s)" % self.visit(obj.operand) elif isinstance(obj.op, Abs): return "ABS(%s)" % self.visit(obj.operand) + elif isinstance(obj.op, NumToStr): + return f"TO_STRING({self.visit(obj.operand)})" else: raise InvalidExprException("invalid number operation: %s" % obj.op) diff --git a/fennel/gen/connector_pb2.py b/fennel/gen/connector_pb2.py index 19ef8a407..33f1b072a 100644 --- a/fennel/gen/connector_pb2.py +++ b/fennel/gen/connector_pb2.py @@ -7,18 +7,13 @@ 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() -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, -) +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.expression_pb2 as expression__pb2 import fennel.gen.kinesis_pb2 as kinesis__pb2 import fennel.gen.pycode_pb2 as pycode__pb2 @@ -27,127 +22,121 @@ 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\x10\x65xpression.proto\x1a\rkinesis.proto\x1a\x0cpycode.proto\x1a\x15schema_registry.proto\x1a\x0cschema.proto\x1a\x0csecret.proto"\xba\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\x12,\n\x04http\x18\x0e \x01(\x0b\x32\x1c.fennel.proto.connector.HttpH\x00\x42\t\n\x07variant"?\n\x10SamplingStrategy\x12\x15\n\rsampling_rate\x18\x01 \x01(\x01\x12\x14\n\x0c\x63olumns_used\x18\x02 \x03(\t"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"\x10\n\x0e\x44\x65\x62\x65ziumFormat"\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"s\n\x0eSensitiveDatum\x12\x10\n\x06secret\x18\x01 \x01(\tH\x00\x12\x34\n\nsecret_ref\x18\x02 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x42\x19\n\x17sensitive_datum_variant"\xb8\x01\n\x04Http\x12\x0e\n\x04host\x18\x01 \x01(\tH\x00\x12\x35\n\x0bhost_secret\x18\x02 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x12\x0f\n\x07healthz\x18\x03 \x01(\t\x12<\n\x07\x63\x61_cert\x18\x04 \x01(\x0b\x32&.fennel.proto.connector.SensitiveDatumH\x01\x88\x01\x01\x42\x0e\n\x0chost_variantB\n\n\x08_ca_cert"\xf7\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\x12\x35\n\thttp_path\x18\x0c \x01(\x0b\x32 .fennel.proto.connector.HttpPathH\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"\xdb\x01\n\x08HttpPath\x12/\n\x02\x64\x62\x18\x01 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12\x10\n\x08\x65ndpoint\x18\x02 \x01(\t\x12\x12\n\x05limit\x18\x03 \x01(\rH\x00\x88\x01\x01\x12>\n\x07headers\x18\x04 \x03(\x0b\x32-.fennel.proto.connector.HttpPath.HeadersEntry\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x08\n\x06_limit"\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_type"\x83\x01\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,\n\x04\x65val\x18\x03 \x01(\x0b\x32\x1c.fennel.proto.connector.EvalH\x00\x42\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"\xa5\x07\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\x12H\n\x11sampling_strategy\x18\x10 \x01(\x0b\x32(.fennel.proto.connector.SamplingStrategyH\x03\x88\x01\x01\x12\x37\n\x0b\x66ilter_expr\x18\x11 \x01(\x0b\x32\x1d.fennel.proto.expression.ExprH\x04\x88\x01\x01\x12\x37\n\rfilter_schema\x18\x12 \x01(\x0b\x32\x1b.fennel.proto.schema.SchemaH\x05\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_filterB\x14\n\x12_sampling_strategyB\x0e\n\x0c_filter_exprB\x10\n\x0e_filter_schema"\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\"\xba\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\x12,\n\x04http\x18\x0e \x01(\x0b\x32\x1c.fennel.proto.connector.HttpH\x00\x42\t\n\x07variant\"?\n\x10SamplingStrategy\x12\x15\n\rsampling_rate\x18\x01 \x01(\x01\x12\x14\n\x0c\x63olumns_used\x18\x02 \x03(\t\"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\"\x10\n\x0e\x44\x65\x62\x65ziumFormat\"\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\"s\n\x0eSensitiveDatum\x12\x10\n\x06secret\x18\x01 \x01(\tH\x00\x12\x34\n\nsecret_ref\x18\x02 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x42\x19\n\x17sensitive_datum_variant\"\xb8\x01\n\x04Http\x12\x0e\n\x04host\x18\x01 \x01(\tH\x00\x12\x35\n\x0bhost_secret\x18\x02 \x01(\x0b\x32\x1e.fennel.proto.secret.SecretRefH\x00\x12\x0f\n\x07healthz\x18\x03 \x01(\t\x12<\n\x07\x63\x61_cert\x18\x04 \x01(\x0b\x32&.fennel.proto.connector.SensitiveDatumH\x01\x88\x01\x01\x42\x0e\n\x0chost_variantB\n\n\x08_ca_cert\"\xf7\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\x12\x35\n\thttp_path\x18\x0c \x01(\x0b\x32 .fennel.proto.connector.HttpPathH\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\"\xdb\x01\n\x08HttpPath\x12/\n\x02\x64\x62\x18\x01 \x01(\x0b\x32#.fennel.proto.connector.ExtDatabase\x12\x10\n\x08\x65ndpoint\x18\x02 \x01(\t\x12\x12\n\x05limit\x18\x03 \x01(\rH\x00\x88\x01\x01\x12>\n\x07headers\x18\x04 \x03(\x0b\x32-.fennel.proto.connector.HttpPath.HeadersEntry\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x08\n\x06_limit\"\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_type\"\x83\x01\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,\n\x04\x65val\x18\x03 \x01(\x0b\x32\x1c.fennel.proto.connector.EvalH\x00\x42\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\"\xa5\x07\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\x12H\n\x11sampling_strategy\x18\x10 \x01(\x0b\x32(.fennel.proto.connector.SamplingStrategyH\x03\x88\x01\x01\x12\x37\n\x0b\x66ilter_expr\x18\x11 \x01(\x0b\x32\x1d.fennel.proto.expression.ExprH\x04\x88\x01\x01\x12\x37\n\rfilter_schema\x18\x12 \x01(\x0b\x32\x1b.fennel.proto.schema.SchemaH\x05\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_filterB\x14\n\x12_sampling_strategyB\x0e\n\x0c_filter_exprB\x10\n\x0e_filter_schema\"\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.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'connector_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: - DESCRIPTOR._loaded_options = None - _globals["_KAFKA"].fields_by_name["sasl_jaas_config"]._loaded_options = None - _globals["_KAFKA"].fields_by_name[ - "sasl_jaas_config" - ]._serialized_options = b"\030\001" - _globals["_KAFKA"].fields_by_name["group_id"]._loaded_options = None - _globals["_KAFKA"].fields_by_name[ - "group_id" - ]._serialized_options = b"\030\001" - _globals["_HTTPPATH_HEADERSENTRY"]._loaded_options = None - _globals["_HTTPPATH_HEADERSENTRY"]._serialized_options = b"8\001" - _globals["_SOURCE_PREPROCENTRY"]._loaded_options = None - _globals["_SOURCE_PREPROCENTRY"]._serialized_options = b"8\001" - _globals["_SINK_RENAMESENTRY"]._loaded_options = None - _globals["_SINK_RENAMESENTRY"]._serialized_options = b"8\001" - _globals["_CDCSTRATEGY"]._serialized_start = 9088 - _globals["_CDCSTRATEGY"]._serialized_end = 9163 - _globals["_EXTDATABASE"]._serialized_start = 207 - _globals["_EXTDATABASE"]._serialized_end = 905 - _globals["_SAMPLINGSTRATEGY"]._serialized_start = 907 - _globals["_SAMPLINGSTRATEGY"]._serialized_end = 970 - _globals["_PUBSUBFORMAT"]._serialized_start = 972 - _globals["_PUBSUBFORMAT"]._serialized_end = 1049 - _globals["_KAFKAFORMAT"]._serialized_start = 1052 - _globals["_KAFKAFORMAT"]._serialized_end = 1240 - _globals["_DEBEZIUMFORMAT"]._serialized_start = 1242 - _globals["_DEBEZIUMFORMAT"]._serialized_end = 1258 - _globals["_JSONFORMAT"]._serialized_start = 1260 - _globals["_JSONFORMAT"]._serialized_end = 1272 - _globals["_AVROFORMAT"]._serialized_start = 1274 - _globals["_AVROFORMAT"]._serialized_end = 1357 - _globals["_PROTOBUFFORMAT"]._serialized_start = 1359 - _globals["_PROTOBUFFORMAT"]._serialized_end = 1446 - _globals["_REFERENCE"]._serialized_start = 1449 - _globals["_REFERENCE"]._serialized_end = 1671 - _globals["_REFERENCE_EXTDBTYPE"]._serialized_start = 1524 - _globals["_REFERENCE_EXTDBTYPE"]._serialized_end = 1671 - _globals["_WEBHOOK"]._serialized_start = 1673 - _globals["_WEBHOOK"]._serialized_end = 1742 - _globals["_MYSQL"]._serialized_start = 1745 - _globals["_MYSQL"]._serialized_end = 2013 - _globals["_POSTGRES"]._serialized_start = 2016 - _globals["_POSTGRES"]._serialized_end = 2287 - _globals["_S3"]._serialized_start = 2290 - _globals["_S3"]._serialized_end = 2594 - _globals["_BIGQUERY"]._serialized_start = 2597 - _globals["_BIGQUERY"]._serialized_end = 2779 - _globals["_SNOWFLAKE"]._serialized_start = 2782 - _globals["_SNOWFLAKE"]._serialized_end = 3071 - _globals["_KAFKA"]._serialized_start = 3074 - _globals["_KAFKA"]._serialized_end = 3451 - _globals["_KINESIS"]._serialized_start = 3453 - _globals["_KINESIS"]._serialized_end = 3480 - _globals["_CREDENTIALS"]._serialized_start = 3483 - _globals["_CREDENTIALS"]._serialized_end = 3694 - _globals["_REDSHIFTAUTHENTICATION"]._serialized_start = 3696 - _globals["_REDSHIFTAUTHENTICATION"]._serialized_end = 3821 - _globals["_REDSHIFT"]._serialized_start = 3824 - _globals["_REDSHIFT"]._serialized_end = 3977 - _globals["_MONGO"]._serialized_start = 3980 - _globals["_MONGO"]._serialized_end = 4213 - _globals["_PUBSUB"]._serialized_start = 4216 - _globals["_PUBSUB"]._serialized_end = 4376 - _globals["_SENSITIVEDATUM"]._serialized_start = 4378 - _globals["_SENSITIVEDATUM"]._serialized_end = 4493 - _globals["_HTTP"]._serialized_start = 4496 - _globals["_HTTP"]._serialized_end = 4680 - _globals["_EXTTABLE"]._serialized_start = 4683 - _globals["_EXTTABLE"]._serialized_end = 5442 - _globals["_MYSQLTABLE"]._serialized_start = 5444 - _globals["_MYSQLTABLE"]._serialized_end = 5525 - _globals["_POSTGRESTABLE"]._serialized_start = 5527 - _globals["_POSTGRESTABLE"]._serialized_end = 5649 - _globals["_S3TABLE"]._serialized_start = 5652 - _globals["_S3TABLE"]._serialized_end = 5899 - _globals["_KAFKATOPIC"]._serialized_start = 5902 - _globals["_KAFKATOPIC"]._serialized_end = 6031 - _globals["_BIGQUERYTABLE"]._serialized_start = 6033 - _globals["_BIGQUERYTABLE"]._serialized_end = 6117 - _globals["_SNOWFLAKETABLE"]._serialized_start = 6119 - _globals["_SNOWFLAKETABLE"]._serialized_end = 6204 - _globals["_WEBHOOKENDPOINT"]._serialized_start = 6207 - _globals["_WEBHOOKENDPOINT"]._serialized_end = 6336 - _globals["_KINESISSTREAM"]._serialized_start = 6339 - _globals["_KINESISSTREAM"]._serialized_end = 6550 - _globals["_REDSHIFTTABLE"]._serialized_start = 6552 - _globals["_REDSHIFTTABLE"]._serialized_end = 6636 - _globals["_PUBSUBTOPIC"]._serialized_start = 6639 - _globals["_PUBSUBTOPIC"]._serialized_end = 6773 - _globals["_HTTPPATH"]._serialized_start = 6776 - _globals["_HTTPPATH"]._serialized_end = 6995 - _globals["_HTTPPATH_HEADERSENTRY"]._serialized_start = 6939 - _globals["_HTTPPATH_HEADERSENTRY"]._serialized_end = 6985 - _globals["_EVAL"]._serialized_start = 6998 - _globals["_EVAL"]._serialized_end = 7156 - _globals["_PREPROCVALUE"]._serialized_start = 7159 - _globals["_PREPROCVALUE"]._serialized_end = 7290 - _globals["_MONGOCOLLECTION"]._serialized_start = 7292 - _globals["_MONGOCOLLECTION"]._serialized_end = 7383 - _globals["_SNAPSHOTDATA"]._serialized_start = 7385 - _globals["_SNAPSHOTDATA"]._serialized_end = 7435 - _globals["_INCREMENTAL"]._serialized_start = 7437 - _globals["_INCREMENTAL"]._serialized_end = 7450 - _globals["_RECREATE"]._serialized_start = 7452 - _globals["_RECREATE"]._serialized_end = 7462 - _globals["_STYLE"]._serialized_start = 7465 - _globals["_STYLE"]._serialized_end = 7653 - _globals["_SOURCE"]._serialized_start = 7656 - _globals["_SOURCE"]._serialized_end = 8589 - _globals["_SOURCE_PREPROCENTRY"]._serialized_start = 8414 - _globals["_SOURCE_PREPROCENTRY"]._serialized_end = 8498 - _globals["_SINK"]._serialized_start = 8592 - _globals["_SINK"]._serialized_end = 9086 - _globals["_SINK_RENAMESENTRY"]._serialized_start = 9004 - _globals["_SINK_RENAMESENTRY"]._serialized_end = 9050 + DESCRIPTOR._loaded_options = None + _globals['_KAFKA'].fields_by_name['sasl_jaas_config']._loaded_options = None + _globals['_KAFKA'].fields_by_name['sasl_jaas_config']._serialized_options = b'\030\001' + _globals['_KAFKA'].fields_by_name['group_id']._loaded_options = None + _globals['_KAFKA'].fields_by_name['group_id']._serialized_options = b'\030\001' + _globals['_HTTPPATH_HEADERSENTRY']._loaded_options = None + _globals['_HTTPPATH_HEADERSENTRY']._serialized_options = b'8\001' + _globals['_SOURCE_PREPROCENTRY']._loaded_options = None + _globals['_SOURCE_PREPROCENTRY']._serialized_options = b'8\001' + _globals['_SINK_RENAMESENTRY']._loaded_options = None + _globals['_SINK_RENAMESENTRY']._serialized_options = b'8\001' + _globals['_CDCSTRATEGY']._serialized_start=9088 + _globals['_CDCSTRATEGY']._serialized_end=9163 + _globals['_EXTDATABASE']._serialized_start=207 + _globals['_EXTDATABASE']._serialized_end=905 + _globals['_SAMPLINGSTRATEGY']._serialized_start=907 + _globals['_SAMPLINGSTRATEGY']._serialized_end=970 + _globals['_PUBSUBFORMAT']._serialized_start=972 + _globals['_PUBSUBFORMAT']._serialized_end=1049 + _globals['_KAFKAFORMAT']._serialized_start=1052 + _globals['_KAFKAFORMAT']._serialized_end=1240 + _globals['_DEBEZIUMFORMAT']._serialized_start=1242 + _globals['_DEBEZIUMFORMAT']._serialized_end=1258 + _globals['_JSONFORMAT']._serialized_start=1260 + _globals['_JSONFORMAT']._serialized_end=1272 + _globals['_AVROFORMAT']._serialized_start=1274 + _globals['_AVROFORMAT']._serialized_end=1357 + _globals['_PROTOBUFFORMAT']._serialized_start=1359 + _globals['_PROTOBUFFORMAT']._serialized_end=1446 + _globals['_REFERENCE']._serialized_start=1449 + _globals['_REFERENCE']._serialized_end=1671 + _globals['_REFERENCE_EXTDBTYPE']._serialized_start=1524 + _globals['_REFERENCE_EXTDBTYPE']._serialized_end=1671 + _globals['_WEBHOOK']._serialized_start=1673 + _globals['_WEBHOOK']._serialized_end=1742 + _globals['_MYSQL']._serialized_start=1745 + _globals['_MYSQL']._serialized_end=2013 + _globals['_POSTGRES']._serialized_start=2016 + _globals['_POSTGRES']._serialized_end=2287 + _globals['_S3']._serialized_start=2290 + _globals['_S3']._serialized_end=2594 + _globals['_BIGQUERY']._serialized_start=2597 + _globals['_BIGQUERY']._serialized_end=2779 + _globals['_SNOWFLAKE']._serialized_start=2782 + _globals['_SNOWFLAKE']._serialized_end=3071 + _globals['_KAFKA']._serialized_start=3074 + _globals['_KAFKA']._serialized_end=3451 + _globals['_KINESIS']._serialized_start=3453 + _globals['_KINESIS']._serialized_end=3480 + _globals['_CREDENTIALS']._serialized_start=3483 + _globals['_CREDENTIALS']._serialized_end=3694 + _globals['_REDSHIFTAUTHENTICATION']._serialized_start=3696 + _globals['_REDSHIFTAUTHENTICATION']._serialized_end=3821 + _globals['_REDSHIFT']._serialized_start=3824 + _globals['_REDSHIFT']._serialized_end=3977 + _globals['_MONGO']._serialized_start=3980 + _globals['_MONGO']._serialized_end=4213 + _globals['_PUBSUB']._serialized_start=4216 + _globals['_PUBSUB']._serialized_end=4376 + _globals['_SENSITIVEDATUM']._serialized_start=4378 + _globals['_SENSITIVEDATUM']._serialized_end=4493 + _globals['_HTTP']._serialized_start=4496 + _globals['_HTTP']._serialized_end=4680 + _globals['_EXTTABLE']._serialized_start=4683 + _globals['_EXTTABLE']._serialized_end=5442 + _globals['_MYSQLTABLE']._serialized_start=5444 + _globals['_MYSQLTABLE']._serialized_end=5525 + _globals['_POSTGRESTABLE']._serialized_start=5527 + _globals['_POSTGRESTABLE']._serialized_end=5649 + _globals['_S3TABLE']._serialized_start=5652 + _globals['_S3TABLE']._serialized_end=5899 + _globals['_KAFKATOPIC']._serialized_start=5902 + _globals['_KAFKATOPIC']._serialized_end=6031 + _globals['_BIGQUERYTABLE']._serialized_start=6033 + _globals['_BIGQUERYTABLE']._serialized_end=6117 + _globals['_SNOWFLAKETABLE']._serialized_start=6119 + _globals['_SNOWFLAKETABLE']._serialized_end=6204 + _globals['_WEBHOOKENDPOINT']._serialized_start=6207 + _globals['_WEBHOOKENDPOINT']._serialized_end=6336 + _globals['_KINESISSTREAM']._serialized_start=6339 + _globals['_KINESISSTREAM']._serialized_end=6550 + _globals['_REDSHIFTTABLE']._serialized_start=6552 + _globals['_REDSHIFTTABLE']._serialized_end=6636 + _globals['_PUBSUBTOPIC']._serialized_start=6639 + _globals['_PUBSUBTOPIC']._serialized_end=6773 + _globals['_HTTPPATH']._serialized_start=6776 + _globals['_HTTPPATH']._serialized_end=6995 + _globals['_HTTPPATH_HEADERSENTRY']._serialized_start=6939 + _globals['_HTTPPATH_HEADERSENTRY']._serialized_end=6985 + _globals['_EVAL']._serialized_start=6998 + _globals['_EVAL']._serialized_end=7156 + _globals['_PREPROCVALUE']._serialized_start=7159 + _globals['_PREPROCVALUE']._serialized_end=7290 + _globals['_MONGOCOLLECTION']._serialized_start=7292 + _globals['_MONGOCOLLECTION']._serialized_end=7383 + _globals['_SNAPSHOTDATA']._serialized_start=7385 + _globals['_SNAPSHOTDATA']._serialized_end=7435 + _globals['_INCREMENTAL']._serialized_start=7437 + _globals['_INCREMENTAL']._serialized_end=7450 + _globals['_RECREATE']._serialized_start=7452 + _globals['_RECREATE']._serialized_end=7462 + _globals['_STYLE']._serialized_start=7465 + _globals['_STYLE']._serialized_end=7653 + _globals['_SOURCE']._serialized_start=7656 + _globals['_SOURCE']._serialized_end=8589 + _globals['_SOURCE_PREPROCENTRY']._serialized_start=8414 + _globals['_SOURCE_PREPROCENTRY']._serialized_end=8498 + _globals['_SINK']._serialized_start=8592 + _globals['_SINK']._serialized_end=9086 + _globals['_SINK_RENAMESENTRY']._serialized_start=9004 + _globals['_SINK_RENAMESENTRY']._serialized_end=9050 # @@protoc_insertion_point(module_scope) diff --git a/fennel/gen/connector_pb2.pyi b/fennel/gen/connector_pb2.pyi index 551e7ed68..afb8fe074 100644 --- a/fennel/gen/connector_pb2.pyi +++ b/fennel/gen/connector_pb2.pyi @@ -11,7 +11,6 @@ database 4. Sink refers to a (table, dataset) along with some config 5. This whole module is called connector. """ - import builtins import collections.abc import expression_pb2 @@ -40,12 +39,7 @@ class _CDCStrategy: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _CDCStrategyEnumTypeWrapper( - google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ - _CDCStrategy.ValueType - ], - builtins.type, -): +class _CDCStrategyEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CDCStrategy.ValueType], builtins.type): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor Append: _CDCStrategy.ValueType # 0 Upsert: _CDCStrategy.ValueType # 1 @@ -95,7 +89,6 @@ class ExtDatabase(google.protobuf.message.Message): """When a source has already been created on the console Or via code and is specified by name ONLY. """ - @property def s3(self) -> global___S3: ... @property @@ -134,94 +127,9 @@ class ExtDatabase(google.protobuf.message.Message): pubsub: global___PubSub | None = ..., http: global___Http | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "bigquery", - b"bigquery", - "http", - b"http", - "kafka", - b"kafka", - "kinesis", - b"kinesis", - "mongo", - b"mongo", - "mysql", - b"mysql", - "postgres", - b"postgres", - "pubsub", - b"pubsub", - "redshift", - b"redshift", - "reference", - b"reference", - "s3", - b"s3", - "snowflake", - b"snowflake", - "variant", - b"variant", - "webhook", - b"webhook", - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "bigquery", - b"bigquery", - "http", - b"http", - "kafka", - b"kafka", - "kinesis", - b"kinesis", - "mongo", - b"mongo", - "mysql", - b"mysql", - "name", - b"name", - "postgres", - b"postgres", - "pubsub", - b"pubsub", - "redshift", - b"redshift", - "reference", - b"reference", - "s3", - b"s3", - "snowflake", - b"snowflake", - "variant", - b"variant", - "webhook", - b"webhook", - ], - ) -> None: ... - def WhichOneof( - self, oneof_group: typing_extensions.Literal["variant", b"variant"] - ) -> ( - typing_extensions.Literal[ - "mysql", - "postgres", - "reference", - "s3", - "bigquery", - "snowflake", - "kafka", - "webhook", - "kinesis", - "redshift", - "mongo", - "pubsub", - "http", - ] - | None - ): ... + def HasField(self, field_name: typing_extensions.Literal["bigquery", b"bigquery", "http", b"http", "kafka", b"kafka", "kinesis", b"kinesis", "mongo", b"mongo", "mysql", b"mysql", "postgres", b"postgres", "pubsub", b"pubsub", "redshift", b"redshift", "reference", b"reference", "s3", b"s3", "snowflake", b"snowflake", "variant", b"variant", "webhook", b"webhook"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["bigquery", b"bigquery", "http", b"http", "kafka", b"kafka", "kinesis", b"kinesis", "mongo", b"mongo", "mysql", b"mysql", "name", b"name", "postgres", b"postgres", "pubsub", b"pubsub", "redshift", b"redshift", "reference", b"reference", "s3", b"s3", "snowflake", b"snowflake", "variant", b"variant", "webhook", b"webhook"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["variant", b"variant"]) -> typing_extensions.Literal["mysql", "postgres", "reference", "s3", "bigquery", "snowflake", "kafka", "webhook", "kinesis", "redshift", "mongo", "pubsub", "http"] | None: ... global___ExtDatabase = ExtDatabase @@ -233,25 +141,15 @@ class SamplingStrategy(google.protobuf.message.Message): COLUMNS_USED_FIELD_NUMBER: builtins.int sampling_rate: builtins.float @property - def columns_used( - self, - ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ - builtins.str - ]: + def columns_used(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: """columns_used is a list of columns used for sampling""" - def __init__( self, *, sampling_rate: builtins.float = ..., columns_used: collections.abc.Iterable[builtins.str] | None = ..., ) -> None: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "columns_used", b"columns_used", "sampling_rate", b"sampling_rate" - ], - ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["columns_used", b"columns_used", "sampling_rate", b"sampling_rate"]) -> None: ... global___SamplingStrategy = SamplingStrategy @@ -267,21 +165,9 @@ class PubSubFormat(google.protobuf.message.Message): *, json: global___JsonFormat | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "json", b"json", "variant", b"variant" - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "json", b"json", "variant", b"variant" - ], - ) -> None: ... - def WhichOneof( - self, oneof_group: typing_extensions.Literal["variant", b"variant"] - ) -> typing_extensions.Literal["json"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["json", b"json", "variant", b"variant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["json", b"json", "variant", b"variant"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["variant", b"variant"]) -> typing_extensions.Literal["json"] | None: ... global___PubSubFormat = PubSubFormat @@ -305,35 +191,9 @@ class KafkaFormat(google.protobuf.message.Message): avro: global___AvroFormat | None = ..., protobuf: global___ProtobufFormat | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "avro", - b"avro", - "json", - b"json", - "protobuf", - b"protobuf", - "variant", - b"variant", - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "avro", - b"avro", - "json", - b"json", - "protobuf", - b"protobuf", - "variant", - b"variant", - ], - ) -> None: ... - def WhichOneof( - self, oneof_group: typing_extensions.Literal["variant", b"variant"] - ) -> typing_extensions.Literal["json", "avro", "protobuf"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["avro", b"avro", "json", b"json", "protobuf", b"protobuf", "variant", b"variant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["avro", b"avro", "json", b"json", "protobuf", b"protobuf", "variant", b"variant"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["variant", b"variant"]) -> typing_extensions.Literal["json", "avro", "protobuf"] | None: ... global___KafkaFormat = KafkaFormat @@ -369,18 +229,8 @@ class AvroFormat(google.protobuf.message.Message): *, schema_registry: schema_registry_pb2.SchemaRegistry | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "schema_registry", b"schema_registry" - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "schema_registry", b"schema_registry" - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["schema_registry", b"schema_registry"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["schema_registry", b"schema_registry"]) -> None: ... global___AvroFormat = AvroFormat @@ -396,18 +246,8 @@ class ProtobufFormat(google.protobuf.message.Message): *, schema_registry: schema_registry_pb2.SchemaRegistry | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "schema_registry", b"schema_registry" - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "schema_registry", b"schema_registry" - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["schema_registry", b"schema_registry"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["schema_registry", b"schema_registry"]) -> None: ... global___ProtobufFormat = ProtobufFormat @@ -419,12 +259,7 @@ class Reference(google.protobuf.message.Message): ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType - class _ExtDBTypeEnumTypeWrapper( - google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ - Reference._ExtDBType.ValueType - ], - builtins.type, - ): # noqa: F821 + class _ExtDBTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Reference._ExtDBType.ValueType], builtins.type): # noqa: F821 DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor MYSQL: Reference._ExtDBType.ValueType # 0 POSTGRES: Reference._ExtDBType.ValueType # 1 @@ -458,9 +293,7 @@ class Reference(google.protobuf.message.Message): *, dbtype: global___Reference.ExtDBType.ValueType = ..., ) -> None: ... - def ClearField( - self, field_name: typing_extensions.Literal["dbtype", b"dbtype"] - ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["dbtype", b"dbtype"]) -> None: ... global___Reference = Reference @@ -479,15 +312,8 @@ class Webhook(google.protobuf.message.Message): name: builtins.str = ..., retention: google.protobuf.duration_pb2.Duration | None = ..., ) -> None: ... - def HasField( - self, field_name: typing_extensions.Literal["retention", b"retention"] - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "name", b"name", "retention", b"retention" - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["retention", b"retention"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "retention", b"retention"]) -> None: ... global___Webhook = Webhook @@ -526,62 +352,12 @@ class MySQL(google.protobuf.message.Message): port: builtins.int = ..., jdbc_params: builtins.str = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "password", - b"password", - "password_secret", - b"password_secret", - "password_variant", - b"password_variant", - "user", - b"user", - "username_secret", - b"username_secret", - "username_variant", - b"username_variant", - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "database", - b"database", - "host", - b"host", - "jdbc_params", - b"jdbc_params", - "password", - b"password", - "password_secret", - b"password_secret", - "password_variant", - b"password_variant", - "port", - b"port", - "user", - b"user", - "username_secret", - b"username_secret", - "username_variant", - b"username_variant", - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["password", b"password", "password_secret", b"password_secret", "password_variant", b"password_variant", "user", b"user", "username_secret", b"username_secret", "username_variant", b"username_variant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["database", b"database", "host", b"host", "jdbc_params", b"jdbc_params", "password", b"password", "password_secret", b"password_secret", "password_variant", b"password_variant", "port", b"port", "user", b"user", "username_secret", b"username_secret", "username_variant", b"username_variant"]) -> None: ... @typing.overload - def WhichOneof( - self, - oneof_group: typing_extensions.Literal[ - "password_variant", b"password_variant" - ], - ) -> typing_extensions.Literal["password", "password_secret"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["password_variant", b"password_variant"]) -> typing_extensions.Literal["password", "password_secret"] | None: ... @typing.overload - def WhichOneof( - self, - oneof_group: typing_extensions.Literal[ - "username_variant", b"username_variant" - ], - ) -> typing_extensions.Literal["user", "username_secret"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["username_variant", b"username_variant"]) -> typing_extensions.Literal["user", "username_secret"] | None: ... global___MySQL = MySQL @@ -620,62 +396,12 @@ class Postgres(google.protobuf.message.Message): port: builtins.int = ..., jdbc_params: builtins.str = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "password", - b"password", - "password_secret", - b"password_secret", - "password_variant", - b"password_variant", - "user", - b"user", - "username_secret", - b"username_secret", - "username_variant", - b"username_variant", - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "database", - b"database", - "host", - b"host", - "jdbc_params", - b"jdbc_params", - "password", - b"password", - "password_secret", - b"password_secret", - "password_variant", - b"password_variant", - "port", - b"port", - "user", - b"user", - "username_secret", - b"username_secret", - "username_variant", - b"username_variant", - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["password", b"password", "password_secret", b"password_secret", "password_variant", b"password_variant", "user", b"user", "username_secret", b"username_secret", "username_variant", b"username_variant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["database", b"database", "host", b"host", "jdbc_params", b"jdbc_params", "password", b"password", "password_secret", b"password_secret", "password_variant", b"password_variant", "port", b"port", "user", b"user", "username_secret", b"username_secret", "username_variant", b"username_variant"]) -> None: ... @typing.overload - def WhichOneof( - self, - oneof_group: typing_extensions.Literal[ - "password_variant", b"password_variant" - ], - ) -> typing_extensions.Literal["password", "password_secret"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["password_variant", b"password_variant"]) -> typing_extensions.Literal["password", "password_secret"] | None: ... @typing.overload - def WhichOneof( - self, - oneof_group: typing_extensions.Literal[ - "username_variant", b"username_variant" - ], - ) -> typing_extensions.Literal["user", "username_secret"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["username_variant", b"username_variant"]) -> typing_extensions.Literal["user", "username_secret"] | None: ... global___Postgres = Postgres @@ -705,76 +431,14 @@ class S3(google.protobuf.message.Message): aws_access_key_id_secret: secret_pb2.SecretRef | None = ..., role_arn: builtins.str | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "_role_arn", - b"_role_arn", - "aws_access_key_id", - b"aws_access_key_id", - "aws_access_key_id_secret", - b"aws_access_key_id_secret", - "aws_access_key_id_variant", - b"aws_access_key_id_variant", - "aws_secret_access_key", - b"aws_secret_access_key", - "aws_secret_access_key_secret", - b"aws_secret_access_key_secret", - "aws_secret_access_key_variant", - b"aws_secret_access_key_variant", - "role_arn", - b"role_arn", - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "_role_arn", - b"_role_arn", - "aws_access_key_id", - b"aws_access_key_id", - "aws_access_key_id_secret", - b"aws_access_key_id_secret", - "aws_access_key_id_variant", - b"aws_access_key_id_variant", - "aws_secret_access_key", - b"aws_secret_access_key", - "aws_secret_access_key_secret", - b"aws_secret_access_key_secret", - "aws_secret_access_key_variant", - b"aws_secret_access_key_variant", - "role_arn", - b"role_arn", - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_role_arn", b"_role_arn", "aws_access_key_id", b"aws_access_key_id", "aws_access_key_id_secret", b"aws_access_key_id_secret", "aws_access_key_id_variant", b"aws_access_key_id_variant", "aws_secret_access_key", b"aws_secret_access_key", "aws_secret_access_key_secret", b"aws_secret_access_key_secret", "aws_secret_access_key_variant", b"aws_secret_access_key_variant", "role_arn", b"role_arn"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_role_arn", b"_role_arn", "aws_access_key_id", b"aws_access_key_id", "aws_access_key_id_secret", b"aws_access_key_id_secret", "aws_access_key_id_variant", b"aws_access_key_id_variant", "aws_secret_access_key", b"aws_secret_access_key", "aws_secret_access_key_secret", b"aws_secret_access_key_secret", "aws_secret_access_key_variant", b"aws_secret_access_key_variant", "role_arn", b"role_arn"]) -> None: ... @typing.overload - def WhichOneof( - self, oneof_group: typing_extensions.Literal["_role_arn", b"_role_arn"] - ) -> typing_extensions.Literal["role_arn"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_role_arn", b"_role_arn"]) -> typing_extensions.Literal["role_arn"] | None: ... @typing.overload - def WhichOneof( - self, - oneof_group: typing_extensions.Literal[ - "aws_access_key_id_variant", b"aws_access_key_id_variant" - ], - ) -> ( - typing_extensions.Literal[ - "aws_access_key_id", "aws_access_key_id_secret" - ] - | None - ): ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["aws_access_key_id_variant", b"aws_access_key_id_variant"]) -> typing_extensions.Literal["aws_access_key_id", "aws_access_key_id_secret"] | None: ... @typing.overload - def WhichOneof( - self, - oneof_group: typing_extensions.Literal[ - "aws_secret_access_key_variant", b"aws_secret_access_key_variant" - ], - ) -> ( - typing_extensions.Literal[ - "aws_secret_access_key", "aws_secret_access_key_secret" - ] - | None - ): ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["aws_secret_access_key_variant", b"aws_secret_access_key_variant"]) -> typing_extensions.Literal["aws_secret_access_key", "aws_secret_access_key_secret"] | None: ... global___S3 = S3 @@ -800,43 +464,9 @@ class Bigquery(google.protobuf.message.Message): dataset_id: builtins.str = ..., project_id: builtins.str = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "service_account_key", - b"service_account_key", - "service_account_key_secret", - b"service_account_key_secret", - "service_account_key_variant", - b"service_account_key_variant", - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "dataset_id", - b"dataset_id", - "project_id", - b"project_id", - "service_account_key", - b"service_account_key", - "service_account_key_secret", - b"service_account_key_secret", - "service_account_key_variant", - b"service_account_key_variant", - ], - ) -> None: ... - def WhichOneof( - self, - oneof_group: typing_extensions.Literal[ - "service_account_key_variant", b"service_account_key_variant" - ], - ) -> ( - typing_extensions.Literal[ - "service_account_key", "service_account_key_secret" - ] - | None - ): ... + def HasField(self, field_name: typing_extensions.Literal["service_account_key", b"service_account_key", "service_account_key_secret", b"service_account_key_secret", "service_account_key_variant", b"service_account_key_variant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["dataset_id", b"dataset_id", "project_id", b"project_id", "service_account_key", b"service_account_key", "service_account_key_secret", b"service_account_key_secret", "service_account_key_variant", b"service_account_key_variant"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["service_account_key_variant", b"service_account_key_variant"]) -> typing_extensions.Literal["service_account_key", "service_account_key_secret"] | None: ... global___Bigquery = Bigquery @@ -878,64 +508,12 @@ class Snowflake(google.protobuf.message.Message): role: builtins.str = ..., database: builtins.str = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "password", - b"password", - "password_secret", - b"password_secret", - "password_variant", - b"password_variant", - "user", - b"user", - "username_secret", - b"username_secret", - "username_variant", - b"username_variant", - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "account", - b"account", - "database", - b"database", - "password", - b"password", - "password_secret", - b"password_secret", - "password_variant", - b"password_variant", - "role", - b"role", - "schema", - b"schema", - "user", - b"user", - "username_secret", - b"username_secret", - "username_variant", - b"username_variant", - "warehouse", - b"warehouse", - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["password", b"password", "password_secret", b"password_secret", "password_variant", b"password_variant", "user", b"user", "username_secret", b"username_secret", "username_variant", b"username_variant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["account", b"account", "database", b"database", "password", b"password", "password_secret", b"password_secret", "password_variant", b"password_variant", "role", b"role", "schema", b"schema", "user", b"user", "username_secret", b"username_secret", "username_variant", b"username_variant", "warehouse", b"warehouse"]) -> None: ... @typing.overload - def WhichOneof( - self, - oneof_group: typing_extensions.Literal[ - "password_variant", b"password_variant" - ], - ) -> typing_extensions.Literal["password", "password_secret"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["password_variant", b"password_variant"]) -> typing_extensions.Literal["password", "password_secret"] | None: ... @typing.overload - def WhichOneof( - self, - oneof_group: typing_extensions.Literal[ - "username_variant", b"username_variant" - ], - ) -> typing_extensions.Literal["user", "username_secret"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["username_variant", b"username_variant"]) -> typing_extensions.Literal["user", "username_secret"] | None: ... global___Snowflake = Snowflake @@ -977,70 +555,12 @@ class Kafka(google.protobuf.message.Message): sasl_jaas_config: builtins.str = ..., group_id: builtins.str = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "sasl_password_secret", - b"sasl_password_secret", - "sasl_password_variant", - b"sasl_password_variant", - "sasl_plain_password", - b"sasl_plain_password", - "sasl_plain_username", - b"sasl_plain_username", - "sasl_username_secret", - b"sasl_username_secret", - "sasl_username_variant", - b"sasl_username_variant", - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "bootstrap_servers", - b"bootstrap_servers", - "group_id", - b"group_id", - "sasl_jaas_config", - b"sasl_jaas_config", - "sasl_mechanism", - b"sasl_mechanism", - "sasl_password_secret", - b"sasl_password_secret", - "sasl_password_variant", - b"sasl_password_variant", - "sasl_plain_password", - b"sasl_plain_password", - "sasl_plain_username", - b"sasl_plain_username", - "sasl_username_secret", - b"sasl_username_secret", - "sasl_username_variant", - b"sasl_username_variant", - "security_protocol", - b"security_protocol", - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["sasl_password_secret", b"sasl_password_secret", "sasl_password_variant", b"sasl_password_variant", "sasl_plain_password", b"sasl_plain_password", "sasl_plain_username", b"sasl_plain_username", "sasl_username_secret", b"sasl_username_secret", "sasl_username_variant", b"sasl_username_variant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["bootstrap_servers", b"bootstrap_servers", "group_id", b"group_id", "sasl_jaas_config", b"sasl_jaas_config", "sasl_mechanism", b"sasl_mechanism", "sasl_password_secret", b"sasl_password_secret", "sasl_password_variant", b"sasl_password_variant", "sasl_plain_password", b"sasl_plain_password", "sasl_plain_username", b"sasl_plain_username", "sasl_username_secret", b"sasl_username_secret", "sasl_username_variant", b"sasl_username_variant", "security_protocol", b"security_protocol"]) -> None: ... @typing.overload - def WhichOneof( - self, - oneof_group: typing_extensions.Literal[ - "sasl_password_variant", b"sasl_password_variant" - ], - ) -> ( - typing_extensions.Literal["sasl_plain_password", "sasl_password_secret"] - | None - ): ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["sasl_password_variant", b"sasl_password_variant"]) -> typing_extensions.Literal["sasl_plain_password", "sasl_password_secret"] | None: ... @typing.overload - def WhichOneof( - self, - oneof_group: typing_extensions.Literal[ - "sasl_username_variant", b"sasl_username_variant" - ], - ) -> ( - typing_extensions.Literal["sasl_plain_username", "sasl_username_secret"] - | None - ): ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["sasl_username_variant", b"sasl_username_variant"]) -> typing_extensions.Literal["sasl_plain_username", "sasl_username_secret"] | None: ... global___Kafka = Kafka @@ -1055,9 +575,7 @@ class Kinesis(google.protobuf.message.Message): *, role_arn: builtins.str = ..., ) -> None: ... - def ClearField( - self, field_name: typing_extensions.Literal["role_arn", b"role_arn"] - ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["role_arn", b"role_arn"]) -> None: ... global___Kinesis = Kinesis @@ -1085,54 +603,12 @@ class Credentials(google.protobuf.message.Message): password: builtins.str = ..., password_secret: secret_pb2.SecretRef | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "password", - b"password", - "password_secret", - b"password_secret", - "password_variant", - b"password_variant", - "username", - b"username", - "username_secret", - b"username_secret", - "username_variant", - b"username_variant", - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "password", - b"password", - "password_secret", - b"password_secret", - "password_variant", - b"password_variant", - "username", - b"username", - "username_secret", - b"username_secret", - "username_variant", - b"username_variant", - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["password", b"password", "password_secret", b"password_secret", "password_variant", b"password_variant", "username", b"username", "username_secret", b"username_secret", "username_variant", b"username_variant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["password", b"password", "password_secret", b"password_secret", "password_variant", b"password_variant", "username", b"username", "username_secret", b"username_secret", "username_variant", b"username_variant"]) -> None: ... @typing.overload - def WhichOneof( - self, - oneof_group: typing_extensions.Literal[ - "password_variant", b"password_variant" - ], - ) -> typing_extensions.Literal["password", "password_secret"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["password_variant", b"password_variant"]) -> typing_extensions.Literal["password", "password_secret"] | None: ... @typing.overload - def WhichOneof( - self, - oneof_group: typing_extensions.Literal[ - "username_variant", b"username_variant" - ], - ) -> typing_extensions.Literal["username", "username_secret"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["username_variant", b"username_variant"]) -> typing_extensions.Literal["username", "username_secret"] | None: ... global___Credentials = Credentials @@ -1151,33 +627,9 @@ class RedshiftAuthentication(google.protobuf.message.Message): s3_access_role_arn: builtins.str = ..., credentials: global___Credentials | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "credentials", - b"credentials", - "s3_access_role_arn", - b"s3_access_role_arn", - "variant", - b"variant", - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "credentials", - b"credentials", - "s3_access_role_arn", - b"s3_access_role_arn", - "variant", - b"variant", - ], - ) -> None: ... - def WhichOneof( - self, oneof_group: typing_extensions.Literal["variant", b"variant"] - ) -> ( - typing_extensions.Literal["s3_access_role_arn", "credentials"] | None - ): ... + def HasField(self, field_name: typing_extensions.Literal["credentials", b"credentials", "s3_access_role_arn", b"s3_access_role_arn", "variant", b"variant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["credentials", b"credentials", "s3_access_role_arn", b"s3_access_role_arn", "variant", b"variant"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["variant", b"variant"]) -> typing_extensions.Literal["s3_access_role_arn", "credentials"] | None: ... global___RedshiftAuthentication = RedshiftAuthentication @@ -1205,27 +657,8 @@ class Redshift(google.protobuf.message.Message): schema: builtins.str = ..., redshift_authentication: global___RedshiftAuthentication | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "redshift_authentication", b"redshift_authentication" - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "database", - b"database", - "host", - b"host", - "port", - b"port", - "redshift_authentication", - b"redshift_authentication", - "schema", - b"schema", - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["redshift_authentication", b"redshift_authentication"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["database", b"database", "host", b"host", "port", b"port", "redshift_authentication", b"redshift_authentication", "schema", b"schema"]) -> None: ... global___Redshift = Redshift @@ -1258,58 +691,12 @@ class Mongo(google.protobuf.message.Message): host: builtins.str = ..., database: builtins.str = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "password", - b"password", - "password_secret", - b"password_secret", - "password_variant", - b"password_variant", - "user", - b"user", - "username_secret", - b"username_secret", - "username_variant", - b"username_variant", - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "database", - b"database", - "host", - b"host", - "password", - b"password", - "password_secret", - b"password_secret", - "password_variant", - b"password_variant", - "user", - b"user", - "username_secret", - b"username_secret", - "username_variant", - b"username_variant", - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["password", b"password", "password_secret", b"password_secret", "password_variant", b"password_variant", "user", b"user", "username_secret", b"username_secret", "username_variant", b"username_variant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["database", b"database", "host", b"host", "password", b"password", "password_secret", b"password_secret", "password_variant", b"password_variant", "user", b"user", "username_secret", b"username_secret", "username_variant", b"username_variant"]) -> None: ... @typing.overload - def WhichOneof( - self, - oneof_group: typing_extensions.Literal[ - "password_variant", b"password_variant" - ], - ) -> typing_extensions.Literal["password", "password_secret"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["password_variant", b"password_variant"]) -> typing_extensions.Literal["password", "password_secret"] | None: ... @typing.overload - def WhichOneof( - self, - oneof_group: typing_extensions.Literal[ - "username_variant", b"username_variant" - ], - ) -> typing_extensions.Literal["user", "username_secret"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["username_variant", b"username_variant"]) -> typing_extensions.Literal["user", "username_secret"] | None: ... global___Mongo = Mongo @@ -1332,41 +719,9 @@ class PubSub(google.protobuf.message.Message): service_account_key_secret: secret_pb2.SecretRef | None = ..., project_id: builtins.str = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "service_account_key", - b"service_account_key", - "service_account_key_secret", - b"service_account_key_secret", - "service_account_key_variant", - b"service_account_key_variant", - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "project_id", - b"project_id", - "service_account_key", - b"service_account_key", - "service_account_key_secret", - b"service_account_key_secret", - "service_account_key_variant", - b"service_account_key_variant", - ], - ) -> None: ... - def WhichOneof( - self, - oneof_group: typing_extensions.Literal[ - "service_account_key_variant", b"service_account_key_variant" - ], - ) -> ( - typing_extensions.Literal[ - "service_account_key", "service_account_key_secret" - ] - | None - ): ... + def HasField(self, field_name: typing_extensions.Literal["service_account_key", b"service_account_key", "service_account_key_secret", b"service_account_key_secret", "service_account_key_variant", b"service_account_key_variant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["project_id", b"project_id", "service_account_key", b"service_account_key", "service_account_key_secret", b"service_account_key_secret", "service_account_key_variant", b"service_account_key_variant"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["service_account_key_variant", b"service_account_key_variant"]) -> typing_extensions.Literal["service_account_key", "service_account_key_secret"] | None: ... global___PubSub = PubSub @@ -1385,34 +740,9 @@ class SensitiveDatum(google.protobuf.message.Message): secret: builtins.str = ..., secret_ref: secret_pb2.SecretRef | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "secret", - b"secret", - "secret_ref", - b"secret_ref", - "sensitive_datum_variant", - b"sensitive_datum_variant", - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "secret", - b"secret", - "secret_ref", - b"secret_ref", - "sensitive_datum_variant", - b"sensitive_datum_variant", - ], - ) -> None: ... - def WhichOneof( - self, - oneof_group: typing_extensions.Literal[ - "sensitive_datum_variant", b"sensitive_datum_variant" - ], - ) -> typing_extensions.Literal["secret", "secret_ref"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["secret", b"secret", "secret_ref", b"secret_ref", "sensitive_datum_variant", b"sensitive_datum_variant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["secret", b"secret", "secret_ref", b"secret_ref", "sensitive_datum_variant", b"sensitive_datum_variant"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["sensitive_datum_variant", b"sensitive_datum_variant"]) -> typing_extensions.Literal["secret", "secret_ref"] | None: ... global___SensitiveDatum = SensitiveDatum @@ -1433,7 +763,6 @@ class Http(google.protobuf.message.Message): """Making this optional for now since local testing doesn't require it Next id: 5 """ - def __init__( self, *, @@ -1442,47 +771,12 @@ class Http(google.protobuf.message.Message): healthz: builtins.str = ..., ca_cert: global___SensitiveDatum | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "_ca_cert", - b"_ca_cert", - "ca_cert", - b"ca_cert", - "host", - b"host", - "host_secret", - b"host_secret", - "host_variant", - b"host_variant", - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "_ca_cert", - b"_ca_cert", - "ca_cert", - b"ca_cert", - "healthz", - b"healthz", - "host", - b"host", - "host_secret", - b"host_secret", - "host_variant", - b"host_variant", - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_ca_cert", b"_ca_cert", "ca_cert", b"ca_cert", "host", b"host", "host_secret", b"host_secret", "host_variant", b"host_variant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_ca_cert", b"_ca_cert", "ca_cert", b"ca_cert", "healthz", b"healthz", "host", b"host", "host_secret", b"host_secret", "host_variant", b"host_variant"]) -> None: ... @typing.overload - def WhichOneof( - self, oneof_group: typing_extensions.Literal["_ca_cert", b"_ca_cert"] - ) -> typing_extensions.Literal["ca_cert"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_ca_cert", b"_ca_cert"]) -> typing_extensions.Literal["ca_cert"] | None: ... @typing.overload - def WhichOneof( - self, - oneof_group: typing_extensions.Literal["host_variant", b"host_variant"], - ) -> typing_extensions.Literal["host", "host_secret"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["host_variant", b"host_variant"]) -> typing_extensions.Literal["host", "host_secret"] | None: ... global___Http = Http @@ -1547,87 +841,9 @@ class ExtTable(google.protobuf.message.Message): pubsub_topic: global___PubSubTopic | None = ..., http_path: global___HttpPath | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "bigquery_table", - b"bigquery_table", - "endpoint", - b"endpoint", - "http_path", - b"http_path", - "kafka_topic", - b"kafka_topic", - "kinesis_stream", - b"kinesis_stream", - "mongo_collection", - b"mongo_collection", - "mysql_table", - b"mysql_table", - "pg_table", - b"pg_table", - "pubsub_topic", - b"pubsub_topic", - "redshift_table", - b"redshift_table", - "s3_table", - b"s3_table", - "snowflake_table", - b"snowflake_table", - "variant", - b"variant", - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "bigquery_table", - b"bigquery_table", - "endpoint", - b"endpoint", - "http_path", - b"http_path", - "kafka_topic", - b"kafka_topic", - "kinesis_stream", - b"kinesis_stream", - "mongo_collection", - b"mongo_collection", - "mysql_table", - b"mysql_table", - "pg_table", - b"pg_table", - "pubsub_topic", - b"pubsub_topic", - "redshift_table", - b"redshift_table", - "s3_table", - b"s3_table", - "snowflake_table", - b"snowflake_table", - "variant", - b"variant", - ], - ) -> None: ... - def WhichOneof( - self, oneof_group: typing_extensions.Literal["variant", b"variant"] - ) -> ( - typing_extensions.Literal[ - "mysql_table", - "pg_table", - "s3_table", - "kafka_topic", - "snowflake_table", - "bigquery_table", - "endpoint", - "kinesis_stream", - "redshift_table", - "mongo_collection", - "pubsub_topic", - "http_path", - ] - | None - ): ... + def HasField(self, field_name: typing_extensions.Literal["bigquery_table", b"bigquery_table", "endpoint", b"endpoint", "http_path", b"http_path", "kafka_topic", b"kafka_topic", "kinesis_stream", b"kinesis_stream", "mongo_collection", b"mongo_collection", "mysql_table", b"mysql_table", "pg_table", b"pg_table", "pubsub_topic", b"pubsub_topic", "redshift_table", b"redshift_table", "s3_table", b"s3_table", "snowflake_table", b"snowflake_table", "variant", b"variant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["bigquery_table", b"bigquery_table", "endpoint", b"endpoint", "http_path", b"http_path", "kafka_topic", b"kafka_topic", "kinesis_stream", b"kinesis_stream", "mongo_collection", b"mongo_collection", "mysql_table", b"mysql_table", "pg_table", b"pg_table", "pubsub_topic", b"pubsub_topic", "redshift_table", b"redshift_table", "s3_table", b"s3_table", "snowflake_table", b"snowflake_table", "variant", b"variant"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["variant", b"variant"]) -> typing_extensions.Literal["mysql_table", "pg_table", "s3_table", "kafka_topic", "snowflake_table", "bigquery_table", "endpoint", "kinesis_stream", "redshift_table", "mongo_collection", "pubsub_topic", "http_path"] | None: ... global___ExtTable = ExtTable @@ -1646,15 +862,8 @@ class MySQLTable(google.protobuf.message.Message): db: global___ExtDatabase | None = ..., table_name: builtins.str = ..., ) -> None: ... - def HasField( - self, field_name: typing_extensions.Literal["db", b"db"] - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "db", b"db", "table_name", b"table_name" - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["db", b"db"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["db", b"db", "table_name", b"table_name"]) -> None: ... global___MySQLTable = MySQLTable @@ -1676,29 +885,9 @@ class PostgresTable(google.protobuf.message.Message): table_name: builtins.str = ..., slot_name: builtins.str | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "_slot_name", b"_slot_name", "db", b"db", "slot_name", b"slot_name" - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "_slot_name", - b"_slot_name", - "db", - b"db", - "slot_name", - b"slot_name", - "table_name", - b"table_name", - ], - ) -> None: ... - def WhichOneof( - self, - oneof_group: typing_extensions.Literal["_slot_name", b"_slot_name"], - ) -> typing_extensions.Literal["slot_name"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_slot_name", b"_slot_name", "db", b"db", "slot_name", b"slot_name"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_slot_name", b"_slot_name", "db", b"db", "slot_name", b"slot_name", "table_name", b"table_name"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_slot_name", b"_slot_name"]) -> typing_extensions.Literal["slot_name"] | None: ... global___PostgresTable = PostgresTable @@ -1726,11 +915,7 @@ class S3Table(google.protobuf.message.Message): @property def spread(self) -> google.protobuf.duration_pb2.Duration: ... @property - def headers( - self, - ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ - builtins.str - ]: ... + def headers(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... def __init__( self, *, @@ -1744,40 +929,9 @@ class S3Table(google.protobuf.message.Message): spread: google.protobuf.duration_pb2.Duration | None = ..., headers: collections.abc.Iterable[builtins.str] | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "_spread", b"_spread", "db", b"db", "spread", b"spread" - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "_spread", - b"_spread", - "bucket", - b"bucket", - "db", - b"db", - "delimiter", - b"delimiter", - "format", - b"format", - "headers", - b"headers", - "path_prefix", - b"path_prefix", - "path_suffix", - b"path_suffix", - "pre_sorted", - b"pre_sorted", - "spread", - b"spread", - ], - ) -> None: ... - def WhichOneof( - self, oneof_group: typing_extensions.Literal["_spread", b"_spread"] - ) -> typing_extensions.Literal["spread"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_spread", b"_spread", "db", b"db", "spread", b"spread"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_spread", b"_spread", "bucket", b"bucket", "db", b"db", "delimiter", b"delimiter", "format", b"format", "headers", b"headers", "path_prefix", b"path_prefix", "path_suffix", b"path_suffix", "pre_sorted", b"pre_sorted", "spread", b"spread"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_spread", b"_spread"]) -> typing_extensions.Literal["spread"] | None: ... global___S3Table = S3Table @@ -1800,16 +954,8 @@ class KafkaTopic(google.protobuf.message.Message): topic: builtins.str = ..., format: global___KafkaFormat | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal["db", b"db", "format", b"format"], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "db", b"db", "format", b"format", "topic", b"topic" - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["db", b"db", "format", b"format"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["db", b"db", "format", b"format", "topic", b"topic"]) -> None: ... global___KafkaTopic = KafkaTopic @@ -1828,15 +974,8 @@ class BigqueryTable(google.protobuf.message.Message): db: global___ExtDatabase | None = ..., table_name: builtins.str = ..., ) -> None: ... - def HasField( - self, field_name: typing_extensions.Literal["db", b"db"] - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "db", b"db", "table_name", b"table_name" - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["db", b"db"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["db", b"db", "table_name", b"table_name"]) -> None: ... global___BigqueryTable = BigqueryTable @@ -1855,15 +994,8 @@ class SnowflakeTable(google.protobuf.message.Message): db: global___ExtDatabase | None = ..., table_name: builtins.str = ..., ) -> None: ... - def HasField( - self, field_name: typing_extensions.Literal["db", b"db"] - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "db", b"db", "table_name", b"table_name" - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["db", b"db"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["db", b"db", "table_name", b"table_name"]) -> None: ... global___SnowflakeTable = SnowflakeTable @@ -1886,18 +1018,8 @@ class WebhookEndpoint(google.protobuf.message.Message): endpoint: builtins.str = ..., duration: google.protobuf.duration_pb2.Duration | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "db", b"db", "duration", b"duration" - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "db", b"db", "duration", b"duration", "endpoint", b"endpoint" - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["db", b"db", "duration", b"duration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["db", b"db", "duration", b"duration", "endpoint", b"endpoint"]) -> None: ... global___WebhookEndpoint = WebhookEndpoint @@ -1926,27 +1048,8 @@ class KinesisStream(google.protobuf.message.Message): format: builtins.str = ..., db: global___ExtDatabase | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "db", b"db", "init_timestamp", b"init_timestamp" - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "db", - b"db", - "format", - b"format", - "init_position", - b"init_position", - "init_timestamp", - b"init_timestamp", - "stream_arn", - b"stream_arn", - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["db", b"db", "init_timestamp", b"init_timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["db", b"db", "format", b"format", "init_position", b"init_position", "init_timestamp", b"init_timestamp", "stream_arn", b"stream_arn"]) -> None: ... global___KinesisStream = KinesisStream @@ -1965,15 +1068,8 @@ class RedshiftTable(google.protobuf.message.Message): db: global___ExtDatabase | None = ..., table_name: builtins.str = ..., ) -> None: ... - def HasField( - self, field_name: typing_extensions.Literal["db", b"db"] - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "db", b"db", "table_name", b"table_name" - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["db", b"db"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["db", b"db", "table_name", b"table_name"]) -> None: ... global___RedshiftTable = RedshiftTable @@ -1996,16 +1092,8 @@ class PubSubTopic(google.protobuf.message.Message): topic_id: builtins.str = ..., format: global___PubSubFormat | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal["db", b"db", "format", b"format"], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "db", b"db", "format", b"format", "topic_id", b"topic_id" - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["db", b"db", "format", b"format"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["db", b"db", "format", b"format", "topic_id", b"topic_id"]) -> None: ... global___PubSubTopic = PubSubTopic @@ -2027,12 +1115,7 @@ class HttpPath(google.protobuf.message.Message): key: builtins.str = ..., value: builtins.str = ..., ) -> None: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "key", b"key", "value", b"value" - ], - ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ... DB_FIELD_NUMBER: builtins.int ENDPOINT_FIELD_NUMBER: builtins.int @@ -2043,45 +1126,18 @@ class HttpPath(google.protobuf.message.Message): endpoint: builtins.str limit: builtins.int @property - def headers( - self, - ) -> google.protobuf.internal.containers.ScalarMap[ - builtins.str, builtins.str - ]: ... + def headers(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ... def __init__( self, *, db: global___ExtDatabase | None = ..., endpoint: builtins.str = ..., limit: builtins.int | None = ..., - headers: ( - collections.abc.Mapping[builtins.str, builtins.str] | None - ) = ..., + headers: collections.abc.Mapping[builtins.str, builtins.str] | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "_limit", b"_limit", "db", b"db", "limit", b"limit" - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "_limit", - b"_limit", - "db", - b"db", - "endpoint", - b"endpoint", - "headers", - b"headers", - "limit", - b"limit", - ], - ) -> None: ... - def WhichOneof( - self, oneof_group: typing_extensions.Literal["_limit", b"_limit"] - ) -> typing_extensions.Literal["limit"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_limit", b"_limit", "db", b"db", "limit", b"limit"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_limit", b"_limit", "db", b"db", "endpoint", b"endpoint", "headers", b"headers", "limit", b"limit"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_limit", b"_limit"]) -> typing_extensions.Literal["limit"] | None: ... global___HttpPath = HttpPath @@ -2105,35 +1161,9 @@ class Eval(google.protobuf.message.Message): 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: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "eval_type", - b"eval_type", - "expr", - b"expr", - "pycode", - b"pycode", - "schema", - b"schema", - ], - ) -> None: ... - def WhichOneof( - self, oneof_group: typing_extensions.Literal["eval_type", b"eval_type"] - ) -> typing_extensions.Literal["expr", "pycode"] | 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: ... + def ClearField(self, field_name: typing_extensions.Literal["eval_type", b"eval_type", "expr", b"expr", "pycode", b"pycode", "schema", b"schema"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["eval_type", b"eval_type"]) -> typing_extensions.Literal["expr", "pycode"] | None: ... global___Eval = Eval @@ -2156,35 +1186,9 @@ class PreProcValue(google.protobuf.message.Message): value: schema_pb2.Value | None = ..., eval: global___Eval | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "eval", - b"eval", - "ref", - b"ref", - "value", - b"value", - "variant", - b"variant", - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "eval", - b"eval", - "ref", - b"ref", - "value", - b"value", - "variant", - b"variant", - ], - ) -> None: ... - def WhichOneof( - self, oneof_group: typing_extensions.Literal["variant", b"variant"] - ) -> typing_extensions.Literal["ref", "value", "eval"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["eval", b"eval", "ref", b"ref", "value", b"value", "variant", b"variant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["eval", b"eval", "ref", b"ref", "value", b"value", "variant", b"variant"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["variant", b"variant"]) -> typing_extensions.Literal["ref", "value", "eval"] | None: ... global___PreProcValue = PreProcValue @@ -2203,15 +1207,8 @@ class MongoCollection(google.protobuf.message.Message): db: global___ExtDatabase | None = ..., collection_name: builtins.str = ..., ) -> None: ... - def HasField( - self, field_name: typing_extensions.Literal["db", b"db"] - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "collection_name", b"collection_name", "db", b"db" - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["db", b"db"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["collection_name", b"collection_name", "db", b"db"]) -> None: ... global___MongoCollection = MongoCollection @@ -2229,12 +1226,7 @@ class SnapshotData(google.protobuf.message.Message): marker: builtins.str = ..., num_retain: builtins.int = ..., ) -> None: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "marker", b"marker", "num_retain", b"num_retain" - ], - ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["marker", b"marker", "num_retain", b"num_retain"]) -> None: ... global___SnapshotData = SnapshotData @@ -2278,37 +1270,9 @@ class Style(google.protobuf.message.Message): recreate: global___Recreate | None = ..., snapshot: global___SnapshotData | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "Style", - b"Style", - "incremental", - b"incremental", - "recreate", - b"recreate", - "snapshot", - b"snapshot", - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "Style", - b"Style", - "incremental", - b"incremental", - "recreate", - b"recreate", - "snapshot", - b"snapshot", - ], - ) -> None: ... - def WhichOneof( - self, oneof_group: typing_extensions.Literal["Style", b"Style"] - ) -> ( - typing_extensions.Literal["incremental", "recreate", "snapshot"] | None - ): ... + def HasField(self, field_name: typing_extensions.Literal["Style", b"Style", "incremental", b"incremental", "recreate", b"recreate", "snapshot", b"snapshot"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["Style", b"Style", "incremental", b"incremental", "recreate", b"recreate", "snapshot", b"snapshot"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["Style", b"Style"]) -> typing_extensions.Literal["incremental", "recreate", "snapshot"] | None: ... global___Style = Style @@ -2336,15 +1300,8 @@ class Source(google.protobuf.message.Message): key: builtins.str = ..., value: global___PreProcValue | 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: ... + 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: ... TABLE_FIELD_NUMBER: builtins.int DATASET_FIELD_NUMBER: builtins.int @@ -2378,11 +1335,7 @@ class Source(google.protobuf.message.Message): @property def starting_from(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @property - def pre_proc( - self, - ) -> google.protobuf.internal.containers.MessageMap[ - builtins.str, global___PreProcValue - ]: ... + def pre_proc(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___PreProcValue]: ... version: builtins.int bounded: builtins.bool @property @@ -2398,7 +1351,6 @@ class Source(google.protobuf.message.Message): @property def filter_schema(self) -> schema_pb2.Schema: """next id: 19""" - def __init__( self, *, @@ -2411,9 +1363,7 @@ class Source(google.protobuf.message.Message): timestamp_field: builtins.str = ..., cdc: global___CDCStrategy.ValueType = ..., starting_from: google.protobuf.timestamp_pb2.Timestamp | None = ..., - pre_proc: ( - collections.abc.Mapping[builtins.str, global___PreProcValue] | None - ) = ..., + pre_proc: collections.abc.Mapping[builtins.str, global___PreProcValue] | None = ..., version: builtins.int = ..., bounded: builtins.bool = ..., idleness: google.protobuf.duration_pb2.Duration | None = ..., @@ -2423,129 +1373,20 @@ class Source(google.protobuf.message.Message): filter_expr: expression_pb2.Expr | None = ..., filter_schema: schema_pb2.Schema | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "_cursor", - b"_cursor", - "_filter", - b"_filter", - "_filter_expr", - b"_filter_expr", - "_filter_schema", - b"_filter_schema", - "_idleness", - b"_idleness", - "_sampling_strategy", - b"_sampling_strategy", - "cursor", - b"cursor", - "disorder", - b"disorder", - "every", - b"every", - "filter", - b"filter", - "filter_expr", - b"filter_expr", - "filter_schema", - b"filter_schema", - "idleness", - b"idleness", - "sampling_strategy", - b"sampling_strategy", - "starting_from", - b"starting_from", - "table", - b"table", - "until", - b"until", - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "_cursor", - b"_cursor", - "_filter", - b"_filter", - "_filter_expr", - b"_filter_expr", - "_filter_schema", - b"_filter_schema", - "_idleness", - b"_idleness", - "_sampling_strategy", - b"_sampling_strategy", - "bounded", - b"bounded", - "cdc", - b"cdc", - "cursor", - b"cursor", - "dataset", - b"dataset", - "disorder", - b"disorder", - "ds_version", - b"ds_version", - "every", - b"every", - "filter", - b"filter", - "filter_expr", - b"filter_expr", - "filter_schema", - b"filter_schema", - "idleness", - b"idleness", - "pre_proc", - b"pre_proc", - "sampling_strategy", - b"sampling_strategy", - "starting_from", - b"starting_from", - "table", - b"table", - "timestamp_field", - b"timestamp_field", - "until", - b"until", - "version", - b"version", - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_cursor", b"_cursor", "_filter", b"_filter", "_filter_expr", b"_filter_expr", "_filter_schema", b"_filter_schema", "_idleness", b"_idleness", "_sampling_strategy", b"_sampling_strategy", "cursor", b"cursor", "disorder", b"disorder", "every", b"every", "filter", b"filter", "filter_expr", b"filter_expr", "filter_schema", b"filter_schema", "idleness", b"idleness", "sampling_strategy", b"sampling_strategy", "starting_from", b"starting_from", "table", b"table", "until", b"until"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_cursor", b"_cursor", "_filter", b"_filter", "_filter_expr", b"_filter_expr", "_filter_schema", b"_filter_schema", "_idleness", b"_idleness", "_sampling_strategy", b"_sampling_strategy", "bounded", b"bounded", "cdc", b"cdc", "cursor", b"cursor", "dataset", b"dataset", "disorder", b"disorder", "ds_version", b"ds_version", "every", b"every", "filter", b"filter", "filter_expr", b"filter_expr", "filter_schema", b"filter_schema", "idleness", b"idleness", "pre_proc", b"pre_proc", "sampling_strategy", b"sampling_strategy", "starting_from", b"starting_from", "table", b"table", "timestamp_field", b"timestamp_field", "until", b"until", "version", b"version"]) -> None: ... @typing.overload - def WhichOneof( - self, oneof_group: typing_extensions.Literal["_cursor", b"_cursor"] - ) -> typing_extensions.Literal["cursor"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_cursor", b"_cursor"]) -> typing_extensions.Literal["cursor"] | None: ... @typing.overload - def WhichOneof( - self, oneof_group: typing_extensions.Literal["_filter", b"_filter"] - ) -> typing_extensions.Literal["filter"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_filter", b"_filter"]) -> typing_extensions.Literal["filter"] | None: ... @typing.overload - def WhichOneof( - self, - oneof_group: typing_extensions.Literal["_filter_expr", b"_filter_expr"], - ) -> typing_extensions.Literal["filter_expr"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_filter_expr", b"_filter_expr"]) -> typing_extensions.Literal["filter_expr"] | None: ... @typing.overload - def WhichOneof( - self, - oneof_group: typing_extensions.Literal[ - "_filter_schema", b"_filter_schema" - ], - ) -> typing_extensions.Literal["filter_schema"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_filter_schema", b"_filter_schema"]) -> typing_extensions.Literal["filter_schema"] | None: ... @typing.overload - def WhichOneof( - self, oneof_group: typing_extensions.Literal["_idleness", b"_idleness"] - ) -> typing_extensions.Literal["idleness"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_idleness", b"_idleness"]) -> typing_extensions.Literal["idleness"] | None: ... @typing.overload - def WhichOneof( - self, - oneof_group: typing_extensions.Literal[ - "_sampling_strategy", b"_sampling_strategy" - ], - ) -> typing_extensions.Literal["sampling_strategy"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_sampling_strategy", b"_sampling_strategy"]) -> typing_extensions.Literal["sampling_strategy"] | None: ... global___Source = Source @@ -2567,12 +1408,7 @@ class Sink(google.protobuf.message.Message): key: builtins.str = ..., value: builtins.str = ..., ) -> None: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "key", b"key", "value", b"value" - ], - ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ... TABLE_FIELD_NUMBER: builtins.int DATASET_FIELD_NUMBER: builtins.int @@ -2595,11 +1431,7 @@ class Sink(google.protobuf.message.Message): def how(self) -> global___Style: ... create: builtins.bool @property - def renames( - self, - ) -> google.protobuf.internal.containers.ScalarMap[ - builtins.str, builtins.str - ]: ... + def renames(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ... @property def since(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @property @@ -2614,85 +1446,19 @@ class Sink(google.protobuf.message.Message): every: google.protobuf.duration_pb2.Duration | None = ..., how: global___Style | None = ..., create: builtins.bool = ..., - renames: ( - collections.abc.Mapping[builtins.str, builtins.str] | None - ) = ..., + renames: collections.abc.Mapping[builtins.str, builtins.str] | None = ..., since: google.protobuf.timestamp_pb2.Timestamp | None = ..., until: google.protobuf.timestamp_pb2.Timestamp | None = ..., ) -> None: ... - def HasField( - self, - field_name: typing_extensions.Literal[ - "_cdc", - b"_cdc", - "_how", - b"_how", - "_since", - b"_since", - "_until", - b"_until", - "cdc", - b"cdc", - "every", - b"every", - "how", - b"how", - "since", - b"since", - "table", - b"table", - "until", - b"until", - ], - ) -> builtins.bool: ... - def ClearField( - self, - field_name: typing_extensions.Literal[ - "_cdc", - b"_cdc", - "_how", - b"_how", - "_since", - b"_since", - "_until", - b"_until", - "cdc", - b"cdc", - "create", - b"create", - "dataset", - b"dataset", - "ds_version", - b"ds_version", - "every", - b"every", - "how", - b"how", - "renames", - b"renames", - "since", - b"since", - "table", - b"table", - "until", - b"until", - ], - ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_cdc", b"_cdc", "_how", b"_how", "_since", b"_since", "_until", b"_until", "cdc", b"cdc", "every", b"every", "how", b"how", "since", b"since", "table", b"table", "until", b"until"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_cdc", b"_cdc", "_how", b"_how", "_since", b"_since", "_until", b"_until", "cdc", b"cdc", "create", b"create", "dataset", b"dataset", "ds_version", b"ds_version", "every", b"every", "how", b"how", "renames", b"renames", "since", b"since", "table", b"table", "until", b"until"]) -> None: ... @typing.overload - def WhichOneof( - self, oneof_group: typing_extensions.Literal["_cdc", b"_cdc"] - ) -> typing_extensions.Literal["cdc"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_cdc", b"_cdc"]) -> typing_extensions.Literal["cdc"] | None: ... @typing.overload - def WhichOneof( - self, oneof_group: typing_extensions.Literal["_how", b"_how"] - ) -> typing_extensions.Literal["how"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_how", b"_how"]) -> typing_extensions.Literal["how"] | None: ... @typing.overload - def WhichOneof( - self, oneof_group: typing_extensions.Literal["_since", b"_since"] - ) -> typing_extensions.Literal["since"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_since", b"_since"]) -> typing_extensions.Literal["since"] | None: ... @typing.overload - def WhichOneof( - self, oneof_group: typing_extensions.Literal["_until", b"_until"] - ) -> typing_extensions.Literal["until"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_until", b"_until"]) -> typing_extensions.Literal["until"] | None: ... global___Sink = Sink diff --git a/fennel/gen/expression_pb2.py b/fennel/gen/expression_pb2.py index 5a7488be4..ad4239301 100644 --- a/fennel/gen/expression_pb2.py +++ b/fennel/gen/expression_pb2.py @@ -15,7 +15,7 @@ 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\"\x9c\x05\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\x12/\n\x05split\x18\n \x01(\x0b\x32\x1e.fennel.proto.expression.SplitH\x00\x12<\n\x0cjson_extract\x18\x0b \x01(\x0b\x32$.fennel.proto.expression.JsonExtractH\x00\x12\x30\n\x06to_int\x18\x0c \x01(\x0b\x32\x1e.fennel.proto.expression.ToIntH\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\"\x14\n\x05Split\x12\x0b\n\x03sep\x18\x01 \x01(\t\"\x1b\n\x0bJsonExtract\x12\x0c\n\x04path\x18\x01 \x01(\t\"\x07\n\x05ToInt*\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') +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\"\x89\x02\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\x12\x36\n\tto_string\x18\x05 \x01(\x0b\x32!.fennel.proto.expression.ToStringH\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\"\n\n\x08ToString\"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\"\x9c\x05\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\x12/\n\x05split\x18\n \x01(\x0b\x32\x1e.fennel.proto.expression.SplitH\x00\x12<\n\x0cjson_extract\x18\x0b \x01(\x0b\x32$.fennel.proto.expression.JsonExtractH\x00\x12\x30\n\x06to_int\x18\x0c \x01(\x0b\x32\x1e.fennel.proto.expression.ToIntH\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\"\x14\n\x05Split\x12\x0b\n\x03sep\x18\x01 \x01(\t\"\x1b\n\x0bJsonExtract\x12\x0c\n\x04path\x18\x01 \x01(\t\"\x07\n\x05ToInt*\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') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -24,12 +24,12 @@ DESCRIPTOR._loaded_options = None _globals['_MAKESTRUCT_FIELDSENTRY']._loaded_options = None _globals['_MAKESTRUCT_FIELDSENTRY']._serialized_options = b'8\001' - _globals['_UNARYOP']._serialized_start=6178 - _globals['_UNARYOP']._serialized_end=6205 - _globals['_BINOP']._serialized_start=6208 - _globals['_BINOP']._serialized_end=6342 - _globals['_TIMEUNIT']._serialized_start=6345 - _globals['_TIMEUNIT']._serialized_end=6476 + _globals['_UNARYOP']._serialized_start=6246 + _globals['_UNARYOP']._serialized_end=6273 + _globals['_BINOP']._serialized_start=6276 + _globals['_BINOP']._serialized_end=6410 + _globals['_TIMEUNIT']._serialized_start=6413 + _globals['_TIMEUNIT']._serialized_end=6544 _globals['_EVALCONTEXT']._serialized_start=59 _globals['_EVALCONTEXT']._serialized_end=116 _globals['_EXPR']._serialized_start=119 @@ -89,63 +89,65 @@ _globals['_LISTFN']._serialized_start=3276 _globals['_LISTFN']._serialized_end=3374 _globals['_MATHOP']._serialized_start=3377 - _globals['_MATHOP']._serialized_end=3586 - _globals['_ROUND']._serialized_start=3588 - _globals['_ROUND']._serialized_end=3614 - _globals['_ABS']._serialized_start=3616 - _globals['_ABS']._serialized_end=3621 - _globals['_CEIL']._serialized_start=3623 - _globals['_CEIL']._serialized_end=3629 - _globals['_FLOOR']._serialized_start=3631 - _globals['_FLOOR']._serialized_end=3638 - _globals['_MATHFN']._serialized_start=3640 - _globals['_MATHFN']._serialized_end=3741 - _globals['_STRUCTOP']._serialized_start=3743 - _globals['_STRUCTOP']._serialized_end=3781 - _globals['_STRUCTFN']._serialized_start=3783 - _globals['_STRUCTFN']._serialized_end=3887 - _globals['_DICTGET']._serialized_start=3889 - _globals['_DICTGET']._serialized_end=3998 - _globals['_DICTOP']._serialized_start=4001 - _globals['_DICTOP']._serialized_end=4169 - _globals['_DICTFN']._serialized_start=4171 - _globals['_DICTFN']._serialized_end=4269 - _globals['_STRINGOP']._serialized_start=4272 - _globals['_STRINGOP']._serialized_end=4940 - _globals['_TIMEZONE']._serialized_start=4942 - _globals['_TIMEZONE']._serialized_end=4970 - _globals['_JSONDECODE']._serialized_start=4972 - _globals['_JSONDECODE']._serialized_end=5030 - _globals['_STRPTIME']._serialized_start=5032 - _globals['_STRPTIME']._serialized_end=5111 - _globals['_TOLOWER']._serialized_start=5113 - _globals['_TOLOWER']._serialized_end=5122 - _globals['_TOUPPER']._serialized_start=5124 - _globals['_TOUPPER']._serialized_end=5133 - _globals['_STARTSWITH']._serialized_start=5135 - _globals['_STARTSWITH']._serialized_end=5191 - _globals['_ENDSWITH']._serialized_start=5193 - _globals['_ENDSWITH']._serialized_end=5247 - _globals['_CONCAT']._serialized_start=5249 - _globals['_CONCAT']._serialized_end=5303 - _globals['_STRINGFN']._serialized_start=5305 - _globals['_STRINGFN']._serialized_end=5409 - _globals['_DATETIMEFN']._serialized_start=5411 - _globals['_DATETIMEFN']._serialized_end=5521 - _globals['_DATETIMEOP']._serialized_start=5524 - _globals['_DATETIMEOP']._serialized_end=5758 - _globals['_SINCE']._serialized_start=5760 - _globals['_SINCE']._serialized_end=5862 - _globals['_SINCEEPOCH']._serialized_start=5864 - _globals['_SINCEEPOCH']._serialized_end=5925 - _globals['_STRFTIME']._serialized_start=5927 - _globals['_STRFTIME']._serialized_end=6006 - _globals['_PART']._serialized_start=6008 - _globals['_PART']._serialized_end=6116 - _globals['_SPLIT']._serialized_start=6118 - _globals['_SPLIT']._serialized_end=6138 - _globals['_JSONEXTRACT']._serialized_start=6140 - _globals['_JSONEXTRACT']._serialized_end=6167 - _globals['_TOINT']._serialized_start=6169 - _globals['_TOINT']._serialized_end=6176 + _globals['_MATHOP']._serialized_end=3642 + _globals['_ROUND']._serialized_start=3644 + _globals['_ROUND']._serialized_end=3670 + _globals['_ABS']._serialized_start=3672 + _globals['_ABS']._serialized_end=3677 + _globals['_CEIL']._serialized_start=3679 + _globals['_CEIL']._serialized_end=3685 + _globals['_FLOOR']._serialized_start=3687 + _globals['_FLOOR']._serialized_end=3694 + _globals['_TOSTRING']._serialized_start=3696 + _globals['_TOSTRING']._serialized_end=3706 + _globals['_MATHFN']._serialized_start=3708 + _globals['_MATHFN']._serialized_end=3809 + _globals['_STRUCTOP']._serialized_start=3811 + _globals['_STRUCTOP']._serialized_end=3849 + _globals['_STRUCTFN']._serialized_start=3851 + _globals['_STRUCTFN']._serialized_end=3955 + _globals['_DICTGET']._serialized_start=3957 + _globals['_DICTGET']._serialized_end=4066 + _globals['_DICTOP']._serialized_start=4069 + _globals['_DICTOP']._serialized_end=4237 + _globals['_DICTFN']._serialized_start=4239 + _globals['_DICTFN']._serialized_end=4337 + _globals['_STRINGOP']._serialized_start=4340 + _globals['_STRINGOP']._serialized_end=5008 + _globals['_TIMEZONE']._serialized_start=5010 + _globals['_TIMEZONE']._serialized_end=5038 + _globals['_JSONDECODE']._serialized_start=5040 + _globals['_JSONDECODE']._serialized_end=5098 + _globals['_STRPTIME']._serialized_start=5100 + _globals['_STRPTIME']._serialized_end=5179 + _globals['_TOLOWER']._serialized_start=5181 + _globals['_TOLOWER']._serialized_end=5190 + _globals['_TOUPPER']._serialized_start=5192 + _globals['_TOUPPER']._serialized_end=5201 + _globals['_STARTSWITH']._serialized_start=5203 + _globals['_STARTSWITH']._serialized_end=5259 + _globals['_ENDSWITH']._serialized_start=5261 + _globals['_ENDSWITH']._serialized_end=5315 + _globals['_CONCAT']._serialized_start=5317 + _globals['_CONCAT']._serialized_end=5371 + _globals['_STRINGFN']._serialized_start=5373 + _globals['_STRINGFN']._serialized_end=5477 + _globals['_DATETIMEFN']._serialized_start=5479 + _globals['_DATETIMEFN']._serialized_end=5589 + _globals['_DATETIMEOP']._serialized_start=5592 + _globals['_DATETIMEOP']._serialized_end=5826 + _globals['_SINCE']._serialized_start=5828 + _globals['_SINCE']._serialized_end=5930 + _globals['_SINCEEPOCH']._serialized_start=5932 + _globals['_SINCEEPOCH']._serialized_end=5993 + _globals['_STRFTIME']._serialized_start=5995 + _globals['_STRFTIME']._serialized_end=6074 + _globals['_PART']._serialized_start=6076 + _globals['_PART']._serialized_end=6184 + _globals['_SPLIT']._serialized_start=6186 + _globals['_SPLIT']._serialized_end=6206 + _globals['_JSONEXTRACT']._serialized_start=6208 + _globals['_JSONEXTRACT']._serialized_end=6235 + _globals['_TOINT']._serialized_start=6237 + _globals['_TOINT']._serialized_end=6244 # @@protoc_insertion_point(module_scope) diff --git a/fennel/gen/expression_pb2.pyi b/fennel/gen/expression_pb2.pyi index e5b03387e..e00682622 100644 --- a/fennel/gen/expression_pb2.pyi +++ b/fennel/gen/expression_pb2.pyi @@ -726,6 +726,7 @@ class MathOp(google.protobuf.message.Message): ABS_FIELD_NUMBER: builtins.int CEIL_FIELD_NUMBER: builtins.int FLOOR_FIELD_NUMBER: builtins.int + TO_STRING_FIELD_NUMBER: builtins.int @property def round(self) -> global___Round: ... @property @@ -734,6 +735,8 @@ class MathOp(google.protobuf.message.Message): def ceil(self) -> global___Ceil: ... @property def floor(self) -> global___Floor: ... + @property + def to_string(self) -> global___ToString: ... def __init__( self, *, @@ -741,10 +744,11 @@ class MathOp(google.protobuf.message.Message): abs: global___Abs | None = ..., ceil: global___Ceil | None = ..., floor: global___Floor | None = ..., + to_string: global___ToString | 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: ... + 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", "to_string", b"to_string"]) -> 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", "to_string", b"to_string"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["fn_type", b"fn_type"]) -> typing_extensions.Literal["round", "abs", "ceil", "floor", "to_string"] | None: ... global___MathOp = MathOp @@ -793,6 +797,16 @@ class Floor(google.protobuf.message.Message): global___Floor = Floor +@typing_extensions.final +class ToString(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___ToString = ToString + @typing_extensions.final class MathFn(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor diff --git a/poetry.lock b/poetry.lock index dd5c21008..ed5356788 100644 --- a/poetry.lock +++ b/poetry.lock @@ -779,48 +779,48 @@ devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benc [[package]] name = "fennel-data-lib" -version = "0.1.23" +version = "0.1.24" description = "" optional = false python-versions = ">=3.8" files = [ - {file = "fennel_data_lib-0.1.23-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:6e3415c1e9565169062a83f4af3dafa16f9b0d08e9d6a7f46f9bb3023ec3c853"}, - {file = "fennel_data_lib-0.1.23-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2afd70464a54a0d9e74e961e2b475d20cc0b19139035b773a4de6a62f62dd079"}, - {file = "fennel_data_lib-0.1.23-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2ca09807cc03c761cc488cd015a2944f8091ef22817ff6866568ff309c216ce5"}, - {file = "fennel_data_lib-0.1.23-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a14e2e99bd8e1af6d3e252ed2d746c3d99c8ce8d380b5cad9ca99107feba905"}, - {file = "fennel_data_lib-0.1.23-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4a6965115e0fe04dfd75a97d8e6a97936c8f9d91389ef8b7f52996af3a0cd87d"}, - {file = "fennel_data_lib-0.1.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b70561b8490ef597b6ad8fd808bad1ad9900a32abc9aaee2f9a714bea660daa"}, - {file = "fennel_data_lib-0.1.23-cp310-cp310-manylinux_2_34_x86_64.whl", hash = "sha256:af50b8cb922105f10d6f2aecc80de4b22b054288c64a840a27f30dd08a2afb50"}, - {file = "fennel_data_lib-0.1.23-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d5adf377531a7659780895d4bda9a2e2fa01343de3a46f8f10beea726f1cb02e"}, - {file = "fennel_data_lib-0.1.23-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7f7f211068b3daf406283c20151666635e05aad62c77abd4bbfb077ce24f740e"}, - {file = "fennel_data_lib-0.1.23-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:2f1fd0eaecc05944776733512865fda4f6684effefd1b9d753d97f9d7009e54c"}, - {file = "fennel_data_lib-0.1.23-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca31548d17d0b4fe06734f569d428cb2f1359874a19d93eea186c99440291f80"}, - {file = "fennel_data_lib-0.1.23-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:326f27c746065188290665fa73f977643be8c8a523046117cd4e944f2b270cd8"}, - {file = "fennel_data_lib-0.1.23-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:df4233ee7b48fe2105a2f18b5b89f841267f0949e3f52a3b5bb79a08176dec54"}, - {file = "fennel_data_lib-0.1.23-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:20737c4dabff614e2e0beff7028d4aa4b236dec8184ca4bda54bc9c6d2205740"}, - {file = "fennel_data_lib-0.1.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f23cec10fc3a556c94beb9eb8dcb4854e69d6175abbdeaac28af5cd7a12c0a3"}, - {file = "fennel_data_lib-0.1.23-cp311-cp311-manylinux_2_34_x86_64.whl", hash = "sha256:b9a8a994ebcea9eaa4f91b3ad9a229cbcec4944a68bfed6eee2fdd567c966b6e"}, - {file = "fennel_data_lib-0.1.23-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:622f704a76370e4c94ae91063c997dc76f6fcf962e59b2fc163e53aec539bfc9"}, - {file = "fennel_data_lib-0.1.23-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:548b6f670a08a51cabca33e191d06b902d650833b249c945de70981ace00fb58"}, - {file = "fennel_data_lib-0.1.23-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:08c2a7aaf7ae35b383bb93ca190e71bb2f94d02bb12ea846680126be5b4e9ec4"}, - {file = "fennel_data_lib-0.1.23-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afd2a704cac259393b44deb3d44a861efd377717c880d031a679ce3b4a8d17d7"}, - {file = "fennel_data_lib-0.1.23-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:117c55ba156942ad99be7334ca4fb479cadaa8df658e5aee49051b0cfa45f41f"}, - {file = "fennel_data_lib-0.1.23-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c64f17b499088c0ddfeb2d1c3cf690736932dcc9e8e33a45e87e2b932acc43b0"}, - {file = "fennel_data_lib-0.1.23-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eecfc2e368dfb01266d888d61e545a35a7b076c540d6f1828db1ee2a31a69820"}, - {file = "fennel_data_lib-0.1.23-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37c67650df5afb4f903a814c47df3d75bc1f70bc5cec84ff03ac6038bddc7b37"}, - {file = "fennel_data_lib-0.1.23-cp312-cp312-manylinux_2_34_x86_64.whl", hash = "sha256:39024f848a07859916893173a6ee0dfdab4349729972da494d555437a6db1490"}, - {file = "fennel_data_lib-0.1.23-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2f1801c08d1e3d53c6182fb700a984a89d79599697fb6cd6b2aed15c28b5a548"}, - {file = "fennel_data_lib-0.1.23-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0521b9afae47ac650eb00ff6b6d225f42f2ff7caccd5abf51147693d1137bb82"}, - {file = "fennel_data_lib-0.1.23-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:be4600163b8352610b163684b062cafbd3fc93be65a31c821ab704002b724cd4"}, - {file = "fennel_data_lib-0.1.23-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9a22a564e016b2cabcee0d264f638454b1d32dec42cd78fb42d4281a83089b83"}, - {file = "fennel_data_lib-0.1.23-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5d9cc06ebd7aad916031712d7cc3c7c366d142bc6706c75205ea54b9e748351d"}, - {file = "fennel_data_lib-0.1.23-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36d896fd8d552146241c86615bb5c67742f61a539a783f8d69e9818cd630bf31"}, - {file = "fennel_data_lib-0.1.23-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d80748c0a3047b1ff9b091fe65c1d6730d1fb4cbf729eda01f6117e9dad0deaf"}, - {file = "fennel_data_lib-0.1.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac3fb58ef41b5bf1283c34965d48cdb0308083990ca961446dc828d690272bee"}, - {file = "fennel_data_lib-0.1.23-cp39-cp39-manylinux_2_34_x86_64.whl", hash = "sha256:c50de126261886bb857f73405415ed55c9a62cc4bd53e5328c93cad98d7927cf"}, - {file = "fennel_data_lib-0.1.23-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2c200ad6ba679229e073c41ad712fc4244e8a2e9f802b0a2d5ea32868559aafe"}, - {file = "fennel_data_lib-0.1.23-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:414a799d9e169edca4a636029ef54b35e1328c1859961e599f3d362ddb5bfbf3"}, - {file = "fennel_data_lib-0.1.23.tar.gz", hash = "sha256:81736ee3054ddacea7723927463ad23697bccecf825670c4d203fa2aa7640c7a"}, + {file = "fennel_data_lib-0.1.24-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:810537b17cc9cf253c984d48d95b22438c4734b7a3035d2144f7b024f4521b58"}, + {file = "fennel_data_lib-0.1.24-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3e1814938da9f6f82b9bce04bd95b3ba4b8f49ec4097054d46609e58c57b390"}, + {file = "fennel_data_lib-0.1.24-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dc9fbd4a6fdb71980569a82439ae7e0072981ca7454be5f5ef0834acd4cc8420"}, + {file = "fennel_data_lib-0.1.24-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ab45451797311a94d2dbeff21cd7ad10bc925087f192c0e4a6a13aa96354e377"}, + {file = "fennel_data_lib-0.1.24-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80258a4b0189d0bdf4a271b15a4358dc031b76593732d4b4d2df6dfd72428d06"}, + {file = "fennel_data_lib-0.1.24-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a6810b1a1ba217a9a1b284122fff47ef21764e20de41e1d8e0fb8174e227a86"}, + {file = "fennel_data_lib-0.1.24-cp310-cp310-manylinux_2_34_x86_64.whl", hash = "sha256:bdfb2a863b84b9238abdf5ae469bf1bbd87b5d6e3bea8defe24c83a13a7daf68"}, + {file = "fennel_data_lib-0.1.24-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d5d4c36eef520af2309ef07b328b6c72bf40bea6d481ce7a6bbb5d68edaef30b"}, + {file = "fennel_data_lib-0.1.24-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b8497f904144d86a62b3cb65f2e74799ca529ff25d30914490d71d8fa46abb46"}, + {file = "fennel_data_lib-0.1.24-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:54b0dda37d9e70c0de1f09cca3fd864ac622da35beef91bae81f7b8eaf1d3fa5"}, + {file = "fennel_data_lib-0.1.24-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ce9e776991550b911954209d021efb36444f7c81344c0ccc8b2303d2db115ed"}, + {file = "fennel_data_lib-0.1.24-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:139f213cc2b4c655860d9367f3ff00ac941cd16865dbb4e274d0b165b6809155"}, + {file = "fennel_data_lib-0.1.24-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a8573aa1e6604281cd86c26274973c93c2a559e6b67215328c55081411decd2"}, + {file = "fennel_data_lib-0.1.24-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f966cfa25e8a1430390b593c0cebcf38f64d4f88ca856fd680837564cf33b963"}, + {file = "fennel_data_lib-0.1.24-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d8e10fbe416723e120078d1c42ecf9f415cb0adfecbc5c1679f3f7db2b833fc"}, + {file = "fennel_data_lib-0.1.24-cp311-cp311-manylinux_2_34_x86_64.whl", hash = "sha256:c54a8841ce202a2f9c1d823a1988a654e31bf1ee8ec994d9120a15e05be8aac6"}, + {file = "fennel_data_lib-0.1.24-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47cac3a552969d36f69544c87e16727af868024acee895934da0d5250a4008fc"}, + {file = "fennel_data_lib-0.1.24-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:850e1a9e16f0a769610289a3f16020be81429b1d6a9e34062e800aace5a88122"}, + {file = "fennel_data_lib-0.1.24-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:47b19869c1338f51fd4cd749ced952cda3b6596c5777eb66eaff5a068fd82acd"}, + {file = "fennel_data_lib-0.1.24-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:077df1687e89caec85ce1f395cb786e48a9edc601fd24bf4c12ccab3485087a8"}, + {file = "fennel_data_lib-0.1.24-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0374562846d4e90f7844c8a28ed2f986594a92dfe9cfb6d8298656ef94dc76e2"}, + {file = "fennel_data_lib-0.1.24-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db9a6f14ff4a934c9834ba3d3e8c1aa999c16ca11acbd9cbc1a42932c25075c6"}, + {file = "fennel_data_lib-0.1.24-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:be9d674efb45d6b8d94f7b7452135622048a67df5265d95dab35979476d3ca49"}, + {file = "fennel_data_lib-0.1.24-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1393db53e323097ce7d4f044de64cac94fba44b457131815a15a992d195127cc"}, + {file = "fennel_data_lib-0.1.24-cp312-cp312-manylinux_2_34_x86_64.whl", hash = "sha256:c9a3715913b42a1b4130b44d45e292630907cb4564acfc09a3dc8453bce45431"}, + {file = "fennel_data_lib-0.1.24-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4b993af888b29e074cddbac59f8a207a26c2acaabd5fc9ee16c68abf95879c81"}, + {file = "fennel_data_lib-0.1.24-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad5bec6bf17e0465cc3e0507700ec03869d848ab237d06175c0462aacdb74085"}, + {file = "fennel_data_lib-0.1.24-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:3a927a88262ee0c93909969851a9c958ecea8e0d2757cdfe73276b5f90652c3a"}, + {file = "fennel_data_lib-0.1.24-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3dcd9a6bae8984714b87926c90552505f4442c70175734595c1c3582384194d"}, + {file = "fennel_data_lib-0.1.24-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ad468415a888b5695cf186655819de2973c1744d0839f24a389e192d3c525f5a"}, + {file = "fennel_data_lib-0.1.24-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:54a597752ee872dd4c1523511d8933d4880a7eab9528c1c2b896059c6aa6bf3e"}, + {file = "fennel_data_lib-0.1.24-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1ec997610b43af6eb570c9e8f13c5a1de45f7454dca26f6a9ce80a88a3728d6b"}, + {file = "fennel_data_lib-0.1.24-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0cebdc9e295b2382e32b413129d2480da22f72b98c6253619e4a21c4173fa7f1"}, + {file = "fennel_data_lib-0.1.24-cp39-cp39-manylinux_2_34_x86_64.whl", hash = "sha256:498c3bbef1ec8f7e760ab1ba20074f256c2b37f90f2faa5e6360b30112535255"}, + {file = "fennel_data_lib-0.1.24-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f66a6c2d7f20d4ba4d47c13adcbeefe8897ad6579b0d1817c4928e2e57627531"}, + {file = "fennel_data_lib-0.1.24-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2a5ca35ca16994ede332419331fc524704432afc1c5ef66afd84fa2c57da6bb3"}, + {file = "fennel_data_lib-0.1.24.tar.gz", hash = "sha256:0fe65710e04be1399c106ff593eaa9f4b57f5f511579ff82fec97b320d85f4d1"}, ] [[package]] @@ -3771,4 +3771,4 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "fff37b1920b894614cfe70d9ceee94efe130b8b5d4df200bd56522e5353fae3c" +content-hash = "8b8f85fde3aaeb25f9dc5cda7264e90e32645fd7221f770bb90a9c8e1bbb6768" diff --git a/pyproject.toml b/pyproject.toml index a09073a98..0e5e8a31b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "fennel-ai" -version = "1.5.55" +version = "1.5.56" description = "The modern realtime feature engineering platform" authors = ["Fennel AI "] packages = [{ include = "fennel" }] @@ -20,7 +20,7 @@ pytest = "7.1.3" pytest-rerunfailures = "^13.0" sortedcontainers = "^2.4.0" typing-extensions = "^4.12.0" -fennel-data-lib = "0.1.23" +fennel-data-lib = "0.1.24" pyarrow = "^14.0.2" [tool.poetry.dev-dependencies]