chalkpy 2.93.5__py3-none-any.whl → 2.93.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. chalk/_gen/chalk/arrow/v1/arrow_pb2.py +7 -5
  2. chalk/_gen/chalk/arrow/v1/arrow_pb2.pyi +6 -0
  3. chalk/_gen/chalk/common/v1/offline_query_pb2.py +17 -15
  4. chalk/_gen/chalk/common/v1/offline_query_pb2.pyi +25 -0
  5. chalk/_gen/chalk/common/v1/script_task_pb2.py +3 -3
  6. chalk/_gen/chalk/common/v1/script_task_pb2.pyi +2 -0
  7. chalk/_gen/chalk/dataframe/__init__.py +0 -0
  8. chalk/_gen/chalk/dataframe/v1/__init__.py +0 -0
  9. chalk/_gen/chalk/dataframe/v1/dataframe_pb2.py +48 -0
  10. chalk/_gen/chalk/dataframe/v1/dataframe_pb2.pyi +119 -0
  11. chalk/_gen/chalk/dataframe/v1/dataframe_pb2_grpc.py +4 -0
  12. chalk/_gen/chalk/dataframe/v1/dataframe_pb2_grpc.pyi +4 -0
  13. chalk/_gen/chalk/graph/v1/graph_pb2.py +150 -149
  14. chalk/_gen/chalk/graph/v1/graph_pb2.pyi +5 -0
  15. chalk/_gen/chalk/kubernetes/v1/horizontalpodautoscaler_pb2.py +79 -0
  16. chalk/_gen/chalk/kubernetes/v1/horizontalpodautoscaler_pb2.pyi +377 -0
  17. chalk/_gen/chalk/kubernetes/v1/horizontalpodautoscaler_pb2_grpc.py +4 -0
  18. chalk/_gen/chalk/kubernetes/v1/horizontalpodautoscaler_pb2_grpc.pyi +4 -0
  19. chalk/_gen/chalk/kubernetes/v1/scaledobject_pb2.py +43 -7
  20. chalk/_gen/chalk/kubernetes/v1/scaledobject_pb2.pyi +252 -2
  21. chalk/_gen/chalk/server/v1/benchmark_pb2.py +45 -0
  22. chalk/_gen/chalk/server/v1/benchmark_pb2.pyi +74 -0
  23. chalk/_gen/chalk/server/v1/benchmark_pb2_grpc.py +78 -0
  24. chalk/_gen/chalk/server/v1/benchmark_pb2_grpc.pyi +36 -0
  25. chalk/_gen/chalk/server/v1/builder_pb2.py +218 -210
  26. chalk/_gen/chalk/server/v1/builder_pb2.pyi +59 -1
  27. chalk/_gen/chalk/server/v1/dataplaneworkflows_pb2.py +70 -0
  28. chalk/_gen/chalk/server/v1/dataplaneworkflows_pb2.pyi +219 -0
  29. chalk/_gen/chalk/server/v1/dataplaneworkflows_pb2_grpc.py +170 -0
  30. chalk/_gen/chalk/server/v1/dataplaneworkflows_pb2_grpc.pyi +62 -0
  31. chalk/_gen/chalk/server/v1/files_pb2.py +65 -0
  32. chalk/_gen/chalk/server/v1/files_pb2.pyi +167 -0
  33. chalk/_gen/chalk/server/v1/files_pb2_grpc.py +4 -0
  34. chalk/_gen/chalk/server/v1/files_pb2_grpc.pyi +4 -0
  35. chalk/_gen/chalk/server/v1/kube_pb2.py +29 -19
  36. chalk/_gen/chalk/server/v1/kube_pb2.pyi +28 -0
  37. chalk/_gen/chalk/server/v1/kube_pb2_grpc.py +45 -0
  38. chalk/_gen/chalk/server/v1/kube_pb2_grpc.pyi +12 -0
  39. chalk/_gen/chalk/server/v1/queries_pb2.py +66 -66
  40. chalk/_gen/chalk/server/v1/queries_pb2.pyi +20 -0
  41. chalk/_gen/chalk/server/v1/sql_interface_pb2.py +75 -0
  42. chalk/_gen/chalk/server/v1/sql_interface_pb2.pyi +142 -0
  43. chalk/_gen/chalk/server/v1/sql_interface_pb2_grpc.py +349 -0
  44. chalk/_gen/chalk/server/v1/sql_interface_pb2_grpc.pyi +114 -0
  45. chalk/_gen/chalk/server/v1/trace_pb2.py +44 -40
  46. chalk/_gen/chalk/server/v1/trace_pb2.pyi +12 -0
  47. chalk/_gen/chalk/streaming/v1/debug_service_pb2.py +62 -0
  48. chalk/_gen/chalk/streaming/v1/debug_service_pb2.pyi +75 -0
  49. chalk/_gen/chalk/streaming/v1/debug_service_pb2_grpc.py +221 -0
  50. chalk/_gen/chalk/streaming/v1/debug_service_pb2_grpc.pyi +88 -0
  51. chalk/_gen/chalk/streaming/v1/simple_streaming_service_pb2.py +8 -8
  52. chalk/_gen/chalk/streaming/v1/simple_streaming_service_pb2.pyi +4 -1
  53. chalk/_version.py +1 -1
  54. chalk/df/LazyFramePlaceholder.py +1129 -0
  55. chalk/features/_encoding/converter.py +23 -0
  56. chalk/features/resolver.py +9 -2
  57. chalk/operators/_utils.py +10 -3
  58. chalk/parsed/to_proto.py +7 -1
  59. {chalkpy-2.93.5.dist-info → chalkpy-2.93.7.dist-info}/METADATA +1 -1
  60. {chalkpy-2.93.5.dist-info → chalkpy-2.93.7.dist-info}/RECORD +63 -32
  61. {chalkpy-2.93.5.dist-info → chalkpy-2.93.7.dist-info}/WHEEL +0 -0
  62. {chalkpy-2.93.5.dist-info → chalkpy-2.93.7.dist-info}/entry_points.txt +0 -0
  63. {chalkpy-2.93.5.dist-info → chalkpy-2.93.7.dist-info}/top_level.txt +0 -0
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
14
14
 
15
15
 
16
16
  DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
17
- b'\n\x1a\x63halk/arrow/v1/arrow.proto\x12\x0e\x63halk.arrow.v1"\xb8\x01\n\x06Schema\x12/\n\x07\x63olumns\x18\x01 \x03(\x0b\x32\x15.chalk.arrow.v1.FieldR\x07\x63olumns\x12@\n\x08metadata\x18\x02 \x03(\x0b\x32$.chalk.arrow.v1.Schema.MetadataEntryR\x08metadata\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01"\xa2\x02\n\x05\x46ield\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x38\n\narrow_type\x18\x02 \x01(\x0b\x32\x19.chalk.arrow.v1.ArrowTypeR\tarrowType\x12\x1a\n\x08nullable\x18\x03 \x01(\x08R\x08nullable\x12\x31\n\x08\x63hildren\x18\x04 \x03(\x0b\x32\x15.chalk.arrow.v1.FieldR\x08\x63hildren\x12?\n\x08metadata\x18\x05 \x03(\x0b\x32#.chalk.arrow.v1.Field.MetadataEntryR\x08metadata\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01")\n\x0f\x46ixedSizeBinary\x12\x16\n\x06length\x18\x01 \x01(\x05R\x06length"^\n\tTimestamp\x12\x35\n\ttime_unit\x18\x01 \x01(\x0e\x32\x18.chalk.arrow.v1.TimeUnitR\x08timeUnit\x12\x1a\n\x08timezone\x18\x02 \x01(\tR\x08timezone"=\n\x07\x44\x65\x63imal\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x12\x14\n\x05scale\x18\x02 \x01(\x05R\x05scale"<\n\x04List\x12\x34\n\nfield_type\x18\x01 \x01(\x0b\x32\x15.chalk.arrow.v1.FieldR\tfieldType"b\n\rFixedSizeList\x12\x34\n\nfield_type\x18\x01 \x01(\x0b\x32\x15.chalk.arrow.v1.FieldR\tfieldType\x12\x1b\n\tlist_size\x18\x02 \x01(\x05R\x08listSize"G\n\x06Struct\x12=\n\x0fsub_field_types\x18\x01 \x03(\x0b\x32\x15.chalk.arrow.v1.FieldR\rsubFieldTypes"\x90\x01\n\x03Map\x12\x32\n\tkey_field\x18\x01 \x01(\x0b\x32\x15.chalk.arrow.v1.FieldR\x08keyField\x12\x34\n\nitem_field\x18\x02 \x01(\x0b\x32\x15.chalk.arrow.v1.FieldR\titemField\x12\x1f\n\x0bkeys_sorted\x18\x03 \x01(\x08R\nkeysSorted"`\n\x0fScalarListValue\x12\x1d\n\narrow_data\x18\x01 \x01(\x0cR\tarrowData\x12.\n\x06schema\x18\x02 \x01(\x0b\x32\x16.chalk.arrow.v1.SchemaR\x06schema"\x8a\x01\n\x11ScalarTime32Value\x12\x30\n\x13time32_second_value\x18\x01 \x01(\x05H\x00R\x11time32SecondValue\x12:\n\x18time32_millisecond_value\x18\x02 \x01(\x05H\x00R\x16time32MillisecondValueB\x07\n\x05value"\x92\x01\n\x11ScalarTime64Value\x12:\n\x18time64_microsecond_value\x18\x01 \x01(\x03H\x00R\x16time64MicrosecondValue\x12\x38\n\x17time64_nanosecond_value\x18\x02 \x01(\x03H\x00R\x15time64NanosecondValueB\x07\n\x05value"\x8f\x02\n\x14ScalarTimestampValue\x12\x36\n\x16time_microsecond_value\x18\x01 \x01(\x03H\x00R\x14timeMicrosecondValue\x12\x34\n\x15time_nanosecond_value\x18\x02 \x01(\x03H\x00R\x13timeNanosecondValue\x12,\n\x11time_second_value\x18\x03 \x01(\x03H\x00R\x0ftimeSecondValue\x12\x36\n\x16time_millisecond_value\x18\x04 \x01(\x03H\x00R\x14timeMillisecondValue\x12\x1a\n\x08timezone\x18\x05 \x01(\tR\x08timezoneB\x07\n\x05value"|\n\x0bStructValue\x12>\n\x0c\x66ield_values\x18\x02 \x03(\x0b\x32\x1b.chalk.arrow.v1.ScalarValueR\x0b\x66ieldValues\x12-\n\x06\x66ields\x18\x03 \x03(\x0b\x32\x15.chalk.arrow.v1.FieldR\x06\x66ields"G\n\x15ScalarFixedSizeBinary\x12\x16\n\x06values\x18\x01 \x01(\x0cR\x06values\x12\x16\n\x06length\x18\x02 \x01(\x05R\x06length"X\n\x0c\x44\x65\x63imalValue\x12\x14\n\x05value\x18\x01 \x01(\x0cR\x05value\x12\x1c\n\tprecision\x18\x02 \x01(\x05R\tprecision\x12\x14\n\x05scale\x18\x03 \x01(\x05R\x05scale"]\n\tExtension\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12<\n\x0cstorage_type\x18\x02 \x01(\x0b\x32\x19.chalk.arrow.v1.ArrowTypeR\x0bstorageType"\x94\x01\n\x0e\x45xtensionValue\x12@\n\x0e\x65xtension_type\x18\x01 \x01(\x0b\x32\x19.chalk.arrow.v1.ExtensionR\rextensionType\x12@\n\rstorage_value\x18\x02 \x01(\x0b\x32\x1b.chalk.arrow.v1.ScalarValueR\x0cstorageValue"\xef\x0e\n\x0bScalarValue\x12:\n\nnull_value\x18\x01 \x01(\x0b\x32\x19.chalk.arrow.v1.ArrowTypeH\x00R\tnullValue\x12\x1f\n\nbool_value\x18\x02 \x01(\x08H\x00R\tboolValue\x12%\n\rfloat64_value\x18\x03 \x01(\x01H\x00R\x0c\x66loat64Value\x12!\n\x0bint64_value\x18\x04 \x01(\x03H\x00R\nint64Value\x12*\n\x10large_utf8_value\x18\x05 \x01(\tH\x00R\x0elargeUtf8Value\x12O\n\x0ftimestamp_value\x18\x06 \x01(\x0b\x32$.chalk.arrow.v1.ScalarTimestampValueH\x00R\x0etimestampValue\x12$\n\rdate_64_value\x18\x07 \x01(\x03H\x00R\x0b\x64\x61te64Value\x12@\n\x0cstruct_value\x18\x08 \x01(\x0b\x32\x1b.chalk.arrow.v1.StructValueH\x00R\x0bstructValue\x12K\n\x10large_list_value\x18\t \x01(\x0b\x32\x1f.chalk.arrow.v1.ScalarListValueH\x00R\x0elargeListValue\x12\x46\n\x0ctime64_value\x18\n \x01(\x0b\x32!.chalk.arrow.v1.ScalarTime64ValueH\x00R\x0btime64Value\x12\x34\n\x15\x64uration_second_value\x18\x10 \x01(\x03H\x00R\x13\x64urationSecondValue\x12>\n\x1a\x64uration_millisecond_value\x18\x11 \x01(\x03H\x00R\x18\x64urationMillisecondValue\x12>\n\x1a\x64uration_microsecond_value\x18\x12 \x01(\x03H\x00R\x18\x64urationMicrosecondValue\x12<\n\x19\x64uration_nanosecond_value\x18\x13 \x01(\x03H\x00R\x17\x64urationNanosecondValue\x12\x1f\n\nutf8_value\x18\x14 \x01(\tH\x00R\tutf8Value\x12\x1f\n\nint8_value\x18\x15 \x01(\x05H\x00R\tint8Value\x12!\n\x0bint16_value\x18\x16 \x01(\x05H\x00R\nint16Value\x12!\n\x0bint32_value\x18\x17 \x01(\x05H\x00R\nint32Value\x12!\n\x0buint8_value\x18\x18 \x01(\rH\x00R\nuint8Value\x12#\n\x0cuint16_value\x18\x19 \x01(\rH\x00R\x0buint16Value\x12#\n\x0cuint32_value\x18\x1a \x01(\rH\x00R\x0buint32Value\x12#\n\x0cuint64_value\x18\x1b \x01(\x04H\x00R\x0buint64Value\x12%\n\rfloat16_value\x18\x1c \x01(\x02H\x00R\x0c\x66loat16Value\x12%\n\rfloat32_value\x18\x1d \x01(\x02H\x00R\x0c\x66loat32Value\x12$\n\rdate_32_value\x18\x1e \x01(\x05H\x00R\x0b\x64\x61te32Value\x12\x46\n\x0ctime32_value\x18\x1f \x01(\x0b\x32!.chalk.arrow.v1.ScalarTime32ValueH\x00R\x0btime32Value\x12@\n\nlist_value\x18 \x01(\x0b\x32\x1f.chalk.arrow.v1.ScalarListValueH\x00R\tlistValue\x12T\n\x15\x66ixed_size_list_value\x18! \x01(\x0b\x32\x1f.chalk.arrow.v1.ScalarListValueH\x00R\x12\x66ixedSizeListValue\x12>\n\tmap_value\x18" \x01(\x0b\x32\x1f.chalk.arrow.v1.ScalarListValueH\x00R\x08mapValue\x12#\n\x0c\x62inary_value\x18# \x01(\x0cH\x00R\x0b\x62inaryValue\x12.\n\x12large_binary_value\x18$ \x01(\x0cH\x00R\x10largeBinaryValue\x12^\n\x17\x66ixed_size_binary_value\x18% \x01(\x0b\x32%.chalk.arrow.v1.ScalarFixedSizeBinaryH\x00R\x14\x66ixedSizeBinaryValue\x12I\n\x10\x64\x65\x63imal128_value\x18& \x01(\x0b\x32\x1c.chalk.arrow.v1.DecimalValueH\x00R\x0f\x64\x65\x63imal128Value\x12I\n\x10\x64\x65\x63imal256_value\x18\' \x01(\x0b\x32\x1c.chalk.arrow.v1.DecimalValueH\x00R\x0f\x64\x65\x63imal256Value\x12I\n\x0f\x65xtension_value\x18( \x01(\x0b\x32\x1e.chalk.arrow.v1.ExtensionValueH\x00R\x0e\x65xtensionValueB\x07\n\x05value"\x89\x0e\n\tArrowType\x12\x32\n\x04none\x18\x01 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x04none\x12\x32\n\x04\x62ool\x18\x02 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x04\x62ool\x12\x38\n\x07\x66loat64\x18\x03 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x07\x66loat64\x12\x34\n\x05int64\x18\x04 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x05int64\x12=\n\nlarge_utf8\x18\x05 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\tlargeUtf8\x12\x39\n\ttimestamp\x18\x06 \x01(\x0b\x32\x19.chalk.arrow.v1.TimestampH\x00R\ttimestamp\x12\x36\n\x06\x64\x61te64\x18\x07 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x06\x64\x61te64\x12\x30\n\x06struct\x18\x08 \x01(\x0b\x32\x16.chalk.arrow.v1.StructH\x00R\x06struct\x12\x35\n\nlarge_list\x18\t \x01(\x0b\x32\x14.chalk.arrow.v1.ListH\x00R\tlargeList\x12\x32\n\x06time64\x18\n \x01(\x0e\x32\x18.chalk.arrow.v1.TimeUnitH\x00R\x06time64\x12\x36\n\x08\x64uration\x18\x10 \x01(\x0e\x32\x18.chalk.arrow.v1.TimeUnitH\x00R\x08\x64uration\x12\x32\n\x04utf8\x18\x11 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x04utf8\x12\x32\n\x04int8\x18\x12 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x04int8\x12\x34\n\x05int16\x18\x13 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x05int16\x12\x34\n\x05int32\x18\x14 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x05int32\x12\x34\n\x05uint8\x18\x15 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x05uint8\x12\x36\n\x06uint16\x18\x16 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x06uint16\x12\x36\n\x06uint32\x18\x17 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x06uint32\x12\x36\n\x06uint64\x18\x18 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x06uint64\x12\x38\n\x07\x66loat16\x18\x19 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x07\x66loat16\x12\x38\n\x07\x66loat32\x18\x1a \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x07\x66loat32\x12\x36\n\x06\x64\x61te32\x18\x1b \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x06\x64\x61te32\x12\x32\n\x06time32\x18\x1c \x01(\x0e\x32\x18.chalk.arrow.v1.TimeUnitH\x00R\x06time32\x12*\n\x04list\x18\x1d \x01(\x0b\x32\x14.chalk.arrow.v1.ListH\x00R\x04list\x12G\n\x0f\x66ixed_size_list\x18\x1e \x01(\x0b\x32\x1d.chalk.arrow.v1.FixedSizeListH\x00R\rfixedSizeList\x12\x36\n\x06\x62inary\x18\x1f \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x06\x62inary\x12\x41\n\x0clarge_binary\x18 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x0blargeBinary\x12,\n\x11\x66ixed_size_binary\x18! \x01(\x05H\x00R\x0f\x66ixedSizeBinary\x12:\n\x0b\x64\x65\x63imal_128\x18" \x01(\x0b\x32\x17.chalk.arrow.v1.DecimalH\x00R\ndecimal128\x12:\n\x0b\x64\x65\x63imal_256\x18# \x01(\x0b\x32\x17.chalk.arrow.v1.DecimalH\x00R\ndecimal256\x12\'\n\x03map\x18$ \x01(\x0b\x32\x13.chalk.arrow.v1.MapH\x00R\x03map\x12\x39\n\textension\x18% \x01(\x0b\x32\x19.chalk.arrow.v1.ExtensionH\x00R\textensionB\x11\n\x0f\x61rrow_type_enum"\x0e\n\x0c\x45mptyMessage*\x8b\x01\n\x08TimeUnit\x12\x19\n\x15TIME_UNIT_UNSPECIFIED\x10\x00\x12\x14\n\x10TIME_UNIT_SECOND\x10\x01\x12\x19\n\x15TIME_UNIT_MILLISECOND\x10\x02\x12\x19\n\x15TIME_UNIT_MICROSECOND\x10\x03\x12\x18\n\x14TIME_UNIT_NANOSECOND\x10\x04*\x9a\x01\n\x12\x46\x65\x61therCompression\x12#\n\x1f\x46\x45\x41THER_COMPRESSION_UNSPECIFIED\x10\x00\x12$\n FEATHER_COMPRESSION_UNCOMPRESSED\x10\x01\x12\x1b\n\x17\x46\x45\x41THER_COMPRESSION_LZ4\x10\x02\x12\x1c\n\x18\x46\x45\x41THER_COMPRESSION_ZSTD\x10\x03\x42z\n\x12\x63om.chalk.arrow.v1B\nArrowProtoP\x01\xa2\x02\x03\x43\x41X\xaa\x02\x0e\x43halk.Arrow.V1\xca\x02\x0e\x43halk\\Arrow\\V1\xe2\x02\x1a\x43halk\\Arrow\\V1\\GPBMetadata\xea\x02\x10\x43halk::Arrow::V1b\x06proto3'
17
+ b'\n\x1a\x63halk/arrow/v1/arrow.proto\x12\x0e\x63halk.arrow.v1"\xb8\x01\n\x06Schema\x12/\n\x07\x63olumns\x18\x01 \x03(\x0b\x32\x15.chalk.arrow.v1.FieldR\x07\x63olumns\x12@\n\x08metadata\x18\x02 \x03(\x0b\x32$.chalk.arrow.v1.Schema.MetadataEntryR\x08metadata\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01"\xa2\x02\n\x05\x46ield\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x38\n\narrow_type\x18\x02 \x01(\x0b\x32\x19.chalk.arrow.v1.ArrowTypeR\tarrowType\x12\x1a\n\x08nullable\x18\x03 \x01(\x08R\x08nullable\x12\x31\n\x08\x63hildren\x18\x04 \x03(\x0b\x32\x15.chalk.arrow.v1.FieldR\x08\x63hildren\x12?\n\x08metadata\x18\x05 \x03(\x0b\x32#.chalk.arrow.v1.Field.MetadataEntryR\x08metadata\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01")\n\x0f\x46ixedSizeBinary\x12\x16\n\x06length\x18\x01 \x01(\x05R\x06length"^\n\tTimestamp\x12\x35\n\ttime_unit\x18\x01 \x01(\x0e\x32\x18.chalk.arrow.v1.TimeUnitR\x08timeUnit\x12\x1a\n\x08timezone\x18\x02 \x01(\tR\x08timezone"=\n\x07\x44\x65\x63imal\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x12\x14\n\x05scale\x18\x02 \x01(\x05R\x05scale"<\n\x04List\x12\x34\n\nfield_type\x18\x01 \x01(\x0b\x32\x15.chalk.arrow.v1.FieldR\tfieldType"b\n\rFixedSizeList\x12\x34\n\nfield_type\x18\x01 \x01(\x0b\x32\x15.chalk.arrow.v1.FieldR\tfieldType\x12\x1b\n\tlist_size\x18\x02 \x01(\x05R\x08listSize"G\n\x06Struct\x12=\n\x0fsub_field_types\x18\x01 \x03(\x0b\x32\x15.chalk.arrow.v1.FieldR\rsubFieldTypes"\x90\x01\n\x03Map\x12\x32\n\tkey_field\x18\x01 \x01(\x0b\x32\x15.chalk.arrow.v1.FieldR\x08keyField\x12\x34\n\nitem_field\x18\x02 \x01(\x0b\x32\x15.chalk.arrow.v1.FieldR\titemField\x12\x1f\n\x0bkeys_sorted\x18\x03 \x01(\x08R\nkeysSorted"`\n\x0fScalarListValue\x12\x1d\n\narrow_data\x18\x01 \x01(\x0cR\tarrowData\x12.\n\x06schema\x18\x02 \x01(\x0b\x32\x16.chalk.arrow.v1.SchemaR\x06schema"\x8a\x01\n\x11ScalarTime32Value\x12\x30\n\x13time32_second_value\x18\x01 \x01(\x05H\x00R\x11time32SecondValue\x12:\n\x18time32_millisecond_value\x18\x02 \x01(\x05H\x00R\x16time32MillisecondValueB\x07\n\x05value"\x92\x01\n\x11ScalarTime64Value\x12:\n\x18time64_microsecond_value\x18\x01 \x01(\x03H\x00R\x16time64MicrosecondValue\x12\x38\n\x17time64_nanosecond_value\x18\x02 \x01(\x03H\x00R\x15time64NanosecondValueB\x07\n\x05value"\x8f\x02\n\x14ScalarTimestampValue\x12\x36\n\x16time_microsecond_value\x18\x01 \x01(\x03H\x00R\x14timeMicrosecondValue\x12\x34\n\x15time_nanosecond_value\x18\x02 \x01(\x03H\x00R\x13timeNanosecondValue\x12,\n\x11time_second_value\x18\x03 \x01(\x03H\x00R\x0ftimeSecondValue\x12\x36\n\x16time_millisecond_value\x18\x04 \x01(\x03H\x00R\x14timeMillisecondValue\x12\x1a\n\x08timezone\x18\x05 \x01(\tR\x08timezoneB\x07\n\x05value"|\n\x0bStructValue\x12>\n\x0c\x66ield_values\x18\x02 \x03(\x0b\x32\x1b.chalk.arrow.v1.ScalarValueR\x0b\x66ieldValues\x12-\n\x06\x66ields\x18\x03 \x03(\x0b\x32\x15.chalk.arrow.v1.FieldR\x06\x66ields"G\n\x15ScalarFixedSizeBinary\x12\x16\n\x06values\x18\x01 \x01(\x0cR\x06values\x12\x16\n\x06length\x18\x02 \x01(\x05R\x06length"X\n\x0c\x44\x65\x63imalValue\x12\x14\n\x05value\x18\x01 \x01(\x0cR\x05value\x12\x1c\n\tprecision\x18\x02 \x01(\x05R\tprecision\x12\x14\n\x05scale\x18\x03 \x01(\x05R\x05scale"]\n\tExtension\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12<\n\x0cstorage_type\x18\x02 \x01(\x0b\x32\x19.chalk.arrow.v1.ArrowTypeR\x0bstorageType"\x94\x01\n\x0e\x45xtensionValue\x12@\n\x0e\x65xtension_type\x18\x01 \x01(\x0b\x32\x19.chalk.arrow.v1.ExtensionR\rextensionType\x12@\n\rstorage_value\x18\x02 \x01(\x0b\x32\x1b.chalk.arrow.v1.ScalarValueR\x0cstorageValue"\xef\x0e\n\x0bScalarValue\x12:\n\nnull_value\x18\x01 \x01(\x0b\x32\x19.chalk.arrow.v1.ArrowTypeH\x00R\tnullValue\x12\x1f\n\nbool_value\x18\x02 \x01(\x08H\x00R\tboolValue\x12%\n\rfloat64_value\x18\x03 \x01(\x01H\x00R\x0c\x66loat64Value\x12!\n\x0bint64_value\x18\x04 \x01(\x03H\x00R\nint64Value\x12*\n\x10large_utf8_value\x18\x05 \x01(\tH\x00R\x0elargeUtf8Value\x12O\n\x0ftimestamp_value\x18\x06 \x01(\x0b\x32$.chalk.arrow.v1.ScalarTimestampValueH\x00R\x0etimestampValue\x12$\n\rdate_64_value\x18\x07 \x01(\x03H\x00R\x0b\x64\x61te64Value\x12@\n\x0cstruct_value\x18\x08 \x01(\x0b\x32\x1b.chalk.arrow.v1.StructValueH\x00R\x0bstructValue\x12K\n\x10large_list_value\x18\t \x01(\x0b\x32\x1f.chalk.arrow.v1.ScalarListValueH\x00R\x0elargeListValue\x12\x46\n\x0ctime64_value\x18\n \x01(\x0b\x32!.chalk.arrow.v1.ScalarTime64ValueH\x00R\x0btime64Value\x12\x34\n\x15\x64uration_second_value\x18\x10 \x01(\x03H\x00R\x13\x64urationSecondValue\x12>\n\x1a\x64uration_millisecond_value\x18\x11 \x01(\x03H\x00R\x18\x64urationMillisecondValue\x12>\n\x1a\x64uration_microsecond_value\x18\x12 \x01(\x03H\x00R\x18\x64urationMicrosecondValue\x12<\n\x19\x64uration_nanosecond_value\x18\x13 \x01(\x03H\x00R\x17\x64urationNanosecondValue\x12\x1f\n\nutf8_value\x18\x14 \x01(\tH\x00R\tutf8Value\x12\x1f\n\nint8_value\x18\x15 \x01(\x05H\x00R\tint8Value\x12!\n\x0bint16_value\x18\x16 \x01(\x05H\x00R\nint16Value\x12!\n\x0bint32_value\x18\x17 \x01(\x05H\x00R\nint32Value\x12!\n\x0buint8_value\x18\x18 \x01(\rH\x00R\nuint8Value\x12#\n\x0cuint16_value\x18\x19 \x01(\rH\x00R\x0buint16Value\x12#\n\x0cuint32_value\x18\x1a \x01(\rH\x00R\x0buint32Value\x12#\n\x0cuint64_value\x18\x1b \x01(\x04H\x00R\x0buint64Value\x12%\n\rfloat16_value\x18\x1c \x01(\x02H\x00R\x0c\x66loat16Value\x12%\n\rfloat32_value\x18\x1d \x01(\x02H\x00R\x0c\x66loat32Value\x12$\n\rdate_32_value\x18\x1e \x01(\x05H\x00R\x0b\x64\x61te32Value\x12\x46\n\x0ctime32_value\x18\x1f \x01(\x0b\x32!.chalk.arrow.v1.ScalarTime32ValueH\x00R\x0btime32Value\x12@\n\nlist_value\x18 \x01(\x0b\x32\x1f.chalk.arrow.v1.ScalarListValueH\x00R\tlistValue\x12T\n\x15\x66ixed_size_list_value\x18! \x01(\x0b\x32\x1f.chalk.arrow.v1.ScalarListValueH\x00R\x12\x66ixedSizeListValue\x12>\n\tmap_value\x18" \x01(\x0b\x32\x1f.chalk.arrow.v1.ScalarListValueH\x00R\x08mapValue\x12#\n\x0c\x62inary_value\x18# \x01(\x0cH\x00R\x0b\x62inaryValue\x12.\n\x12large_binary_value\x18$ \x01(\x0cH\x00R\x10largeBinaryValue\x12^\n\x17\x66ixed_size_binary_value\x18% \x01(\x0b\x32%.chalk.arrow.v1.ScalarFixedSizeBinaryH\x00R\x14\x66ixedSizeBinaryValue\x12I\n\x10\x64\x65\x63imal128_value\x18& \x01(\x0b\x32\x1c.chalk.arrow.v1.DecimalValueH\x00R\x0f\x64\x65\x63imal128Value\x12I\n\x10\x64\x65\x63imal256_value\x18\' \x01(\x0b\x32\x1c.chalk.arrow.v1.DecimalValueH\x00R\x0f\x64\x65\x63imal256Value\x12I\n\x0f\x65xtension_value\x18( \x01(\x0b\x32\x1e.chalk.arrow.v1.ExtensionValueH\x00R\x0e\x65xtensionValueB\x07\n\x05value"\x89\x0e\n\tArrowType\x12\x32\n\x04none\x18\x01 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x04none\x12\x32\n\x04\x62ool\x18\x02 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x04\x62ool\x12\x38\n\x07\x66loat64\x18\x03 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x07\x66loat64\x12\x34\n\x05int64\x18\x04 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x05int64\x12=\n\nlarge_utf8\x18\x05 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\tlargeUtf8\x12\x39\n\ttimestamp\x18\x06 \x01(\x0b\x32\x19.chalk.arrow.v1.TimestampH\x00R\ttimestamp\x12\x36\n\x06\x64\x61te64\x18\x07 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x06\x64\x61te64\x12\x30\n\x06struct\x18\x08 \x01(\x0b\x32\x16.chalk.arrow.v1.StructH\x00R\x06struct\x12\x35\n\nlarge_list\x18\t \x01(\x0b\x32\x14.chalk.arrow.v1.ListH\x00R\tlargeList\x12\x32\n\x06time64\x18\n \x01(\x0e\x32\x18.chalk.arrow.v1.TimeUnitH\x00R\x06time64\x12\x36\n\x08\x64uration\x18\x10 \x01(\x0e\x32\x18.chalk.arrow.v1.TimeUnitH\x00R\x08\x64uration\x12\x32\n\x04utf8\x18\x11 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x04utf8\x12\x32\n\x04int8\x18\x12 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x04int8\x12\x34\n\x05int16\x18\x13 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x05int16\x12\x34\n\x05int32\x18\x14 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x05int32\x12\x34\n\x05uint8\x18\x15 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x05uint8\x12\x36\n\x06uint16\x18\x16 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x06uint16\x12\x36\n\x06uint32\x18\x17 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x06uint32\x12\x36\n\x06uint64\x18\x18 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x06uint64\x12\x38\n\x07\x66loat16\x18\x19 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x07\x66loat16\x12\x38\n\x07\x66loat32\x18\x1a \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x07\x66loat32\x12\x36\n\x06\x64\x61te32\x18\x1b \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x06\x64\x61te32\x12\x32\n\x06time32\x18\x1c \x01(\x0e\x32\x18.chalk.arrow.v1.TimeUnitH\x00R\x06time32\x12*\n\x04list\x18\x1d \x01(\x0b\x32\x14.chalk.arrow.v1.ListH\x00R\x04list\x12G\n\x0f\x66ixed_size_list\x18\x1e \x01(\x0b\x32\x1d.chalk.arrow.v1.FixedSizeListH\x00R\rfixedSizeList\x12\x36\n\x06\x62inary\x18\x1f \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x06\x62inary\x12\x41\n\x0clarge_binary\x18 \x01(\x0b\x32\x1c.chalk.arrow.v1.EmptyMessageH\x00R\x0blargeBinary\x12,\n\x11\x66ixed_size_binary\x18! \x01(\x05H\x00R\x0f\x66ixedSizeBinary\x12:\n\x0b\x64\x65\x63imal_128\x18" \x01(\x0b\x32\x17.chalk.arrow.v1.DecimalH\x00R\ndecimal128\x12:\n\x0b\x64\x65\x63imal_256\x18# \x01(\x0b\x32\x17.chalk.arrow.v1.DecimalH\x00R\ndecimal256\x12\'\n\x03map\x18$ \x01(\x0b\x32\x13.chalk.arrow.v1.MapH\x00R\x03map\x12\x39\n\textension\x18% \x01(\x0b\x32\x19.chalk.arrow.v1.ExtensionH\x00R\textensionB\x11\n\x0f\x61rrow_type_enum"\x0e\n\x0c\x45mptyMessage"G\n\x11TableParquetBytes\x12\x32\n\x15\x65ncoded_parquet_bytes\x18\x01 \x01(\x0cR\x13\x65ncodedParquetBytes*\x8b\x01\n\x08TimeUnit\x12\x19\n\x15TIME_UNIT_UNSPECIFIED\x10\x00\x12\x14\n\x10TIME_UNIT_SECOND\x10\x01\x12\x19\n\x15TIME_UNIT_MILLISECOND\x10\x02\x12\x19\n\x15TIME_UNIT_MICROSECOND\x10\x03\x12\x18\n\x14TIME_UNIT_NANOSECOND\x10\x04*\x9a\x01\n\x12\x46\x65\x61therCompression\x12#\n\x1f\x46\x45\x41THER_COMPRESSION_UNSPECIFIED\x10\x00\x12$\n FEATHER_COMPRESSION_UNCOMPRESSED\x10\x01\x12\x1b\n\x17\x46\x45\x41THER_COMPRESSION_LZ4\x10\x02\x12\x1c\n\x18\x46\x45\x41THER_COMPRESSION_ZSTD\x10\x03\x42z\n\x12\x63om.chalk.arrow.v1B\nArrowProtoP\x01\xa2\x02\x03\x43\x41X\xaa\x02\x0e\x43halk.Arrow.V1\xca\x02\x0e\x43halk\\Arrow\\V1\xe2\x02\x1a\x43halk\\Arrow\\V1\\GPBMetadata\xea\x02\x10\x43halk::Arrow::V1b\x06proto3'
18
18
  )
19
19
 
20
20
  _globals = globals()
@@ -29,10 +29,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
29
29
  _globals["_SCHEMA_METADATAENTRY"]._serialized_options = b"8\001"
30
30
  _globals["_FIELD_METADATAENTRY"]._options = None
31
31
  _globals["_FIELD_METADATAENTRY"]._serialized_options = b"8\001"
32
- _globals["_TIMEUNIT"]._serialized_start = 6034
33
- _globals["_TIMEUNIT"]._serialized_end = 6173
34
- _globals["_FEATHERCOMPRESSION"]._serialized_start = 6176
35
- _globals["_FEATHERCOMPRESSION"]._serialized_end = 6330
32
+ _globals["_TIMEUNIT"]._serialized_start = 6107
33
+ _globals["_TIMEUNIT"]._serialized_end = 6246
34
+ _globals["_FEATHERCOMPRESSION"]._serialized_start = 6249
35
+ _globals["_FEATHERCOMPRESSION"]._serialized_end = 6403
36
36
  _globals["_SCHEMA"]._serialized_start = 47
37
37
  _globals["_SCHEMA"]._serialized_end = 231
38
38
  _globals["_SCHEMA_METADATAENTRY"]._serialized_start = 172
@@ -79,4 +79,6 @@ if _descriptor._USE_C_DESCRIPTORS == False:
79
79
  _globals["_ARROWTYPE"]._serialized_end = 6015
80
80
  _globals["_EMPTYMESSAGE"]._serialized_start = 6017
81
81
  _globals["_EMPTYMESSAGE"]._serialized_end = 6031
82
+ _globals["_TABLEPARQUETBYTES"]._serialized_start = 6033
83
+ _globals["_TABLEPARQUETBYTES"]._serialized_end = 6104
82
84
  # @@protoc_insertion_point(module_scope)
@@ -541,3 +541,9 @@ class ArrowType(_message.Message):
541
541
  class EmptyMessage(_message.Message):
542
542
  __slots__ = ()
543
543
  def __init__(self) -> None: ...
544
+
545
+ class TableParquetBytes(_message.Message):
546
+ __slots__ = ("encoded_parquet_bytes",)
547
+ ENCODED_PARQUET_BYTES_FIELD_NUMBER: _ClassVar[int]
548
+ encoded_parquet_bytes: bytes
549
+ def __init__(self, encoded_parquet_bytes: _Optional[bytes] = ...) -> None: ...
@@ -21,7 +21,7 @@ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
21
21
 
22
22
 
23
23
  DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
24
- b'\n#chalk/common/v1/offline_query.proto\x12\x0f\x63halk.common.v1\x1a!chalk/common/v1/chalk_error.proto\x1a"chalk/common/v1/online_query.proto\x1a$chalk/expression/v1/expression.proto\x1a\x1a\x63halk/graph/v1/graph.proto\x1a\x1cgoogle/protobuf/struct.proto"\xdc\x01\n\x1dOfflineQueryRecomputeFeatures\x12 \n\x0b\x61ll_or_none\x18\x01 \x01(\x08H\x00R\tallOrNone\x12_\n\x0c\x66\x65\x61ture_list\x18\x02 \x01(\x0b\x32:.chalk.common.v1.OfflineQueryRecomputeFeatures.FeatureListH\x00R\x0b\x66\x65\x61tureList\x1a\x30\n\x0b\x46\x65\x61tureList\x12!\n\x0c\x66\x65\x61ture_list\x18\x01 \x03(\tR\x0b\x66\x65\x61tureListB\x06\n\x04impl"\x80\x01\n\x13OfflineQueryExplain\x12\x18\n\x06truthy\x18\x01 \x01(\x08H\x00R\x06truthy\x12?\n\x04only\x18\x02 \x01(\x0b\x32).chalk.common.v1.OfflineQueryExplain.OnlyH\x00R\x04only\x1a\x06\n\x04OnlyB\x06\n\x04impl"a\n\x11OfflineQueryInput\x12\x18\n\x07\x63olumns\x18\x01 \x03(\tR\x07\x63olumns\x12\x32\n\x06values\x18\x02 \x03(\x0b\x32\x1a.google.protobuf.ListValueR\x06values"V\n\x18OfflineQueryInputSharded\x12:\n\x06inputs\x18\x01 \x03(\x0b\x32".chalk.common.v1.OfflineQueryInputR\x06inputs"_\n%OfflineQueryShardedParquetUploadInput\x12\x1c\n\tfilenames\x18\x01 \x03(\tR\tfilenames\x12\x18\n\x07version\x18\x02 \x01(\x05R\x07version"\xba\x03\n\x12OfflineQueryInputs\x12\'\n\x0e\x66\x65\x61ther_inputs\x18\x01 \x01(\x0cH\x00R\rfeatherInputs\x12K\n\tno_inputs\x18\x02 \x01(\x0b\x32,.chalk.common.v1.OfflineQueryInputs.NoInputsH\x00R\x08noInputs\x12I\n\rsingle_inputs\x18\x03 \x01(\x0b\x32".chalk.common.v1.OfflineQueryInputH\x00R\x0csingleInputs\x12R\n\x0esharded_inputs\x18\x04 \x01(\x0b\x32).chalk.common.v1.OfflineQueryInputShardedH\x00R\rshardedInputs\x12{\n\x1dsharded_parquet_upload_inputs\x18\x05 \x01(\x0b\x32\x36.chalk.common.v1.OfflineQueryShardedParquetUploadInputH\x00R\x1ashardedParquetUploadInputs\x1a\n\n\x08NoInputsB\x06\n\x04impl"\x96\x11\n\x13OfflineQueryRequest\x12;\n\x06inputs\x18\x01 \x01(\x0b\x32#.chalk.common.v1.OfflineQueryInputsR\x06inputs\x12\x18\n\x07outputs\x18\x02 \x03(\tR\x07outputs\x12)\n\x10required_outputs\x18\x03 \x03(\tR\x0frequiredOutputs\x12-\n\x12\x64\x65stination_format\x18\x04 \x01(\tR\x11\x64\x65stinationFormat\x12\x1b\n\x06\x62ranch\x18\x05 \x01(\tH\x00R\x06\x62ranch\x88\x01\x01\x12&\n\x0c\x64\x61taset_name\x18\x06 \x01(\tH\x01R\x0b\x64\x61tasetName\x88\x01\x01\x12]\n\x12recompute_features\x18\x07 \x01(\x0b\x32..chalk.common.v1.OfflineQueryRecomputeFeaturesR\x11recomputeFeatures\x12*\n\x11store_plan_stages\x18\x08 \x01(\x08R\x0fstorePlanStages\x12>\n\x07\x66ilters\x18\x0b \x03(\x0b\x32$.chalk.expression.v1.LogicalExprNodeR\x07\x66ilters\x12+\n\x0fspine_sql_query\x18\x0c \x01(\tH\x02R\rspineSqlQuery\x88\x01\x01\x12$\n\x0bmax_samples\x18\x65 \x01(\x05H\x03R\nmaxSamples\x88\x01\x01\x12\x30\n\x12max_cache_age_secs\x18\x66 \x01(\x05H\x04R\x0fmaxCacheAgeSecs\x88\x01\x01\x12\x42\n\x07\x65xplain\x18g \x01(\x0b\x32$.chalk.common.v1.OfflineQueryExplainB\x02\x18\x01R\x07\x65xplain\x12;\n\x08\x65xplain2\x18j \x01(\x0b\x32\x1f.chalk.common.v1.ExplainOptionsR\x08\x65xplain2\x12\x12\n\x04tags\x18h \x03(\tR\x04tags\x12*\n\x0e\x63orrelation_id\x18i \x01(\tH\x05R\rcorrelationId\x88\x01\x01\x12\x34\n\x16required_resolver_tags\x18k \x03(\tR\x14requiredResolverTags\x12;\n\x17observed_at_lower_bound\x18\xc9\x01 \x01(\tH\x06R\x14observedAtLowerBound\x88\x01\x01\x12;\n\x17observed_at_upper_bound\x18\xca\x01 \x01(\tH\x07R\x14observedAtUpperBound\x88\x01\x01\x12\x62\n\x0fplanner_options\x18\xcb\x01 \x03(\x0b\x32\x38.chalk.common.v1.OfflineQueryRequest.PlannerOptionsEntryR\x0eplannerOptions\x12\\\n\renv_overrides\x18\xd5\x01 \x03(\x0b\x32\x36.chalk.common.v1.OfflineQueryRequest.EnvOverridesEntryR\x0c\x65nvOverrides\x12\'\n\x0cstore_online\x18\xcc\x01 \x01(\x08H\x08R\x0bstoreOnline\x88\x01\x01\x12)\n\rstore_offline\x18\xcd\x01 \x01(\x08H\tR\x0cstoreOffline\x88\x01\x01\x12:\n\x16use_multiple_computers\x18\xce\x01 \x01(\x08H\nR\x14useMultipleComputers\x88\x01\x01\x12#\n\nnum_shards\x18\xcf\x01 \x01(\x05H\x0bR\tnumShards\x88\x01\x01\x12%\n\x0bnum_workers\x18\xd0\x01 \x01(\x05H\x0cR\nnumWorkers\x88\x01\x01\x12\\\n\rquery_context\x18\xd1\x01 \x03(\x0b\x32\x36.chalk.common.v1.OfflineQueryRequest.QueryContextEntryR\x0cqueryContext\x12G\n\roverlay_graph\x18\xd2\x01 \x01(\x0b\x32\x1c.chalk.graph.v1.OverlayGraphH\rR\x0coverlayGraph\x88\x01\x01\x12#\n\nquery_name\x18\xd3\x01 \x01(\tH\x0eR\tqueryName\x88\x01\x01\x12\x32\n\x12query_name_version\x18\xd4\x01 \x01(\tH\x0fR\x10queryNameVersion\x88\x01\x01\x1aY\n\x13PlannerOptionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.ValueR\x05value:\x02\x38\x01\x1a?\n\x11\x45nvOverridesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1aW\n\x11QueryContextEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.ValueR\x05value:\x02\x38\x01\x42\t\n\x07_branchB\x0f\n\r_dataset_nameB\x12\n\x10_spine_sql_queryB\x0e\n\x0c_max_samplesB\x15\n\x13_max_cache_age_secsB\x11\n\x0f_correlation_idB\x1a\n\x18_observed_at_lower_boundB\x1a\n\x18_observed_at_upper_boundB\x0f\n\r_store_onlineB\x10\n\x0e_store_offlineB\x19\n\x17_use_multiple_computersB\r\n\x0b_num_shardsB\x0e\n\x0c_num_workersB\x10\n\x0e_overlay_graphB\r\n\x0b_query_nameB\x15\n\x13_query_name_version"\xce\x01\n\x12\x43olumnMetadataList\x12N\n\x08metadata\x18\x01 \x03(\x0b\x32\x32.chalk.common.v1.ColumnMetadataList.ColumnMetadataR\x08metadata\x1ah\n\x0e\x43olumnMetadata\x12\x1f\n\x0b\x66\x65\x61ture_fqn\x18\x01 \x01(\tR\nfeatureFqn\x12\x1f\n\x0b\x63olumn_name\x18\x02 \x01(\tR\ncolumnName\x12\x14\n\x05\x64type\x18\x03 \x01(\tR\x05\x64type"\xf0\x01\n\x1aGetOfflineQueryJobResponse\x12\x1f\n\x0bis_finished\x18\x01 \x01(\x08R\nisFinished\x12\x18\n\x07version\x18\x02 \x01(\x05R\x07version\x12\x12\n\x04urls\x18\x03 \x03(\tR\x04urls\x12\x33\n\x06\x65rrors\x18\x04 \x03(\x0b\x32\x1b.chalk.common.v1.ChalkErrorR\x06\x65rrors\x12\x42\n\x07\x63olumns\x18\x05 \x01(\x0b\x32#.chalk.common.v1.ColumnMetadataListH\x00R\x07\x63olumns\x88\x01\x01\x42\n\n\x08_columnsB\x86\x01\n\x13\x63om.chalk.common.v1B\x11OfflineQueryProtoP\x01\xa2\x02\x03\x43\x43X\xaa\x02\x0f\x43halk.Common.V1\xca\x02\x0f\x43halk\\Common\\V1\xe2\x02\x1b\x43halk\\Common\\V1\\GPBMetadata\xea\x02\x11\x43halk::Common::V1b\x06proto3'
24
+ b'\n#chalk/common/v1/offline_query.proto\x12\x0f\x63halk.common.v1\x1a!chalk/common/v1/chalk_error.proto\x1a"chalk/common/v1/online_query.proto\x1a$chalk/expression/v1/expression.proto\x1a\x1a\x63halk/graph/v1/graph.proto\x1a\x1cgoogle/protobuf/struct.proto"\xdc\x01\n\x1dOfflineQueryRecomputeFeatures\x12 \n\x0b\x61ll_or_none\x18\x01 \x01(\x08H\x00R\tallOrNone\x12_\n\x0c\x66\x65\x61ture_list\x18\x02 \x01(\x0b\x32:.chalk.common.v1.OfflineQueryRecomputeFeatures.FeatureListH\x00R\x0b\x66\x65\x61tureList\x1a\x30\n\x0b\x46\x65\x61tureList\x12!\n\x0c\x66\x65\x61ture_list\x18\x01 \x03(\tR\x0b\x66\x65\x61tureListB\x06\n\x04impl"\x80\x01\n\x13OfflineQueryExplain\x12\x18\n\x06truthy\x18\x01 \x01(\x08H\x00R\x06truthy\x12?\n\x04only\x18\x02 \x01(\x0b\x32).chalk.common.v1.OfflineQueryExplain.OnlyH\x00R\x04only\x1a\x06\n\x04OnlyB\x06\n\x04impl"a\n\x11OfflineQueryInput\x12\x18\n\x07\x63olumns\x18\x01 \x03(\tR\x07\x63olumns\x12\x32\n\x06values\x18\x02 \x03(\x0b\x32\x1a.google.protobuf.ListValueR\x06values"V\n\x18OfflineQueryInputSharded\x12:\n\x06inputs\x18\x01 \x03(\x0b\x32".chalk.common.v1.OfflineQueryInputR\x06inputs"_\n%OfflineQueryShardedParquetUploadInput\x12\x1c\n\tfilenames\x18\x01 \x03(\tR\tfilenames\x12\x18\n\x07version\x18\x02 \x01(\x05R\x07version"\xba\x03\n\x12OfflineQueryInputs\x12\'\n\x0e\x66\x65\x61ther_inputs\x18\x01 \x01(\x0cH\x00R\rfeatherInputs\x12K\n\tno_inputs\x18\x02 \x01(\x0b\x32,.chalk.common.v1.OfflineQueryInputs.NoInputsH\x00R\x08noInputs\x12I\n\rsingle_inputs\x18\x03 \x01(\x0b\x32".chalk.common.v1.OfflineQueryInputH\x00R\x0csingleInputs\x12R\n\x0esharded_inputs\x18\x04 \x01(\x0b\x32).chalk.common.v1.OfflineQueryInputShardedH\x00R\rshardedInputs\x12{\n\x1dsharded_parquet_upload_inputs\x18\x05 \x01(\x0b\x32\x36.chalk.common.v1.OfflineQueryShardedParquetUploadInputH\x00R\x1ashardedParquetUploadInputs\x1a\n\n\x08NoInputsB\x06\n\x04impl"\xb3\x02\n\x10ResourceRequests\x12\x15\n\x03\x63pu\x18\x01 \x01(\tH\x00R\x03\x63pu\x88\x01\x01\x12\x1b\n\x06memory\x18\x02 \x01(\tH\x01R\x06memory\x88\x01\x01\x12\x37\n\x15\x65phemeral_volume_size\x18\x03 \x01(\tH\x02R\x13\x65phemeralVolumeSize\x88\x01\x01\x12\x30\n\x11\x65phemeral_storage\x18\x04 \x01(\tH\x03R\x10\x65phemeralStorage\x88\x01\x01\x12*\n\x0eresource_group\x18\x05 \x01(\tH\x04R\rresourceGroup\x88\x01\x01\x42\x06\n\x04_cpuB\t\n\x07_memoryB\x18\n\x16_ephemeral_volume_sizeB\x14\n\x12_ephemeral_storageB\x11\n\x0f_resource_group"\xeb\x11\n\x13OfflineQueryRequest\x12;\n\x06inputs\x18\x01 \x01(\x0b\x32#.chalk.common.v1.OfflineQueryInputsR\x06inputs\x12\x18\n\x07outputs\x18\x02 \x03(\tR\x07outputs\x12)\n\x10required_outputs\x18\x03 \x03(\tR\x0frequiredOutputs\x12-\n\x12\x64\x65stination_format\x18\x04 \x01(\tR\x11\x64\x65stinationFormat\x12\x1b\n\x06\x62ranch\x18\x05 \x01(\tH\x00R\x06\x62ranch\x88\x01\x01\x12&\n\x0c\x64\x61taset_name\x18\x06 \x01(\tH\x01R\x0b\x64\x61tasetName\x88\x01\x01\x12]\n\x12recompute_features\x18\x07 \x01(\x0b\x32..chalk.common.v1.OfflineQueryRecomputeFeaturesR\x11recomputeFeatures\x12*\n\x11store_plan_stages\x18\x08 \x01(\x08R\x0fstorePlanStages\x12>\n\x07\x66ilters\x18\x0b \x03(\x0b\x32$.chalk.expression.v1.LogicalExprNodeR\x07\x66ilters\x12+\n\x0fspine_sql_query\x18\x0c \x01(\tH\x02R\rspineSqlQuery\x88\x01\x01\x12$\n\x0bmax_samples\x18\x65 \x01(\x05H\x03R\nmaxSamples\x88\x01\x01\x12\x30\n\x12max_cache_age_secs\x18\x66 \x01(\x05H\x04R\x0fmaxCacheAgeSecs\x88\x01\x01\x12\x42\n\x07\x65xplain\x18g \x01(\x0b\x32$.chalk.common.v1.OfflineQueryExplainB\x02\x18\x01R\x07\x65xplain\x12;\n\x08\x65xplain2\x18j \x01(\x0b\x32\x1f.chalk.common.v1.ExplainOptionsR\x08\x65xplain2\x12\x12\n\x04tags\x18h \x03(\tR\x04tags\x12*\n\x0e\x63orrelation_id\x18i \x01(\tH\x05R\rcorrelationId\x88\x01\x01\x12\x34\n\x16required_resolver_tags\x18k \x03(\tR\x14requiredResolverTags\x12;\n\x17observed_at_lower_bound\x18\xc9\x01 \x01(\tH\x06R\x14observedAtLowerBound\x88\x01\x01\x12;\n\x17observed_at_upper_bound\x18\xca\x01 \x01(\tH\x07R\x14observedAtUpperBound\x88\x01\x01\x12\x62\n\x0fplanner_options\x18\xcb\x01 \x03(\x0b\x32\x38.chalk.common.v1.OfflineQueryRequest.PlannerOptionsEntryR\x0eplannerOptions\x12\\\n\renv_overrides\x18\xd5\x01 \x03(\x0b\x32\x36.chalk.common.v1.OfflineQueryRequest.EnvOverridesEntryR\x0c\x65nvOverrides\x12\'\n\x0cstore_online\x18\xcc\x01 \x01(\x08H\x08R\x0bstoreOnline\x88\x01\x01\x12)\n\rstore_offline\x18\xcd\x01 \x01(\x08H\tR\x0cstoreOffline\x88\x01\x01\x12:\n\x16use_multiple_computers\x18\xce\x01 \x01(\x08H\nR\x14useMultipleComputers\x88\x01\x01\x12#\n\nnum_shards\x18\xcf\x01 \x01(\x05H\x0bR\tnumShards\x88\x01\x01\x12%\n\x0bnum_workers\x18\xd0\x01 \x01(\x05H\x0cR\nnumWorkers\x88\x01\x01\x12\\\n\rquery_context\x18\xd1\x01 \x03(\x0b\x32\x36.chalk.common.v1.OfflineQueryRequest.QueryContextEntryR\x0cqueryContext\x12G\n\roverlay_graph\x18\xd2\x01 \x01(\x0b\x32\x1c.chalk.graph.v1.OverlayGraphH\rR\x0coverlayGraph\x88\x01\x01\x12#\n\nquery_name\x18\xd3\x01 \x01(\tH\x0eR\tqueryName\x88\x01\x01\x12\x32\n\x12query_name_version\x18\xd4\x01 \x01(\tH\x0fR\x10queryNameVersion\x88\x01\x01\x12\x45\n\tresources\x18\xd6\x01 \x01(\x0b\x32!.chalk.common.v1.ResourceRequestsH\x10R\tresources\x88\x01\x01\x1aY\n\x13PlannerOptionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.ValueR\x05value:\x02\x38\x01\x1a?\n\x11\x45nvOverridesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1aW\n\x11QueryContextEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.ValueR\x05value:\x02\x38\x01\x42\t\n\x07_branchB\x0f\n\r_dataset_nameB\x12\n\x10_spine_sql_queryB\x0e\n\x0c_max_samplesB\x15\n\x13_max_cache_age_secsB\x11\n\x0f_correlation_idB\x1a\n\x18_observed_at_lower_boundB\x1a\n\x18_observed_at_upper_boundB\x0f\n\r_store_onlineB\x10\n\x0e_store_offlineB\x19\n\x17_use_multiple_computersB\r\n\x0b_num_shardsB\x0e\n\x0c_num_workersB\x10\n\x0e_overlay_graphB\r\n\x0b_query_nameB\x15\n\x13_query_name_versionB\x0c\n\n_resources"\xce\x01\n\x12\x43olumnMetadataList\x12N\n\x08metadata\x18\x01 \x03(\x0b\x32\x32.chalk.common.v1.ColumnMetadataList.ColumnMetadataR\x08metadata\x1ah\n\x0e\x43olumnMetadata\x12\x1f\n\x0b\x66\x65\x61ture_fqn\x18\x01 \x01(\tR\nfeatureFqn\x12\x1f\n\x0b\x63olumn_name\x18\x02 \x01(\tR\ncolumnName\x12\x14\n\x05\x64type\x18\x03 \x01(\tR\x05\x64type"\xf0\x01\n\x1aGetOfflineQueryJobResponse\x12\x1f\n\x0bis_finished\x18\x01 \x01(\x08R\nisFinished\x12\x18\n\x07version\x18\x02 \x01(\x05R\x07version\x12\x12\n\x04urls\x18\x03 \x03(\tR\x04urls\x12\x33\n\x06\x65rrors\x18\x04 \x03(\x0b\x32\x1b.chalk.common.v1.ChalkErrorR\x06\x65rrors\x12\x42\n\x07\x63olumns\x18\x05 \x01(\x0b\x32#.chalk.common.v1.ColumnMetadataListH\x00R\x07\x63olumns\x88\x01\x01\x42\n\n\x08_columnsB\x86\x01\n\x13\x63om.chalk.common.v1B\x11OfflineQueryProtoP\x01\xa2\x02\x03\x43\x43X\xaa\x02\x0f\x43halk.Common.V1\xca\x02\x0f\x43halk\\Common\\V1\xe2\x02\x1b\x43halk\\Common\\V1\\GPBMetadata\xea\x02\x11\x43halk::Common::V1b\x06proto3'
25
25
  )
26
26
 
27
27
  _globals = globals()
@@ -58,18 +58,20 @@ if _descriptor._USE_C_DESCRIPTORS == False:
58
58
  _globals["_OFFLINEQUERYINPUTS"]._serialized_end = 1304
59
59
  _globals["_OFFLINEQUERYINPUTS_NOINPUTS"]._serialized_start = 1286
60
60
  _globals["_OFFLINEQUERYINPUTS_NOINPUTS"]._serialized_end = 1296
61
- _globals["_OFFLINEQUERYREQUEST"]._serialized_start = 1307
62
- _globals["_OFFLINEQUERYREQUEST"]._serialized_end = 3505
63
- _globals["_OFFLINEQUERYREQUEST_PLANNEROPTIONSENTRY"]._serialized_start = 2951
64
- _globals["_OFFLINEQUERYREQUEST_PLANNEROPTIONSENTRY"]._serialized_end = 3040
65
- _globals["_OFFLINEQUERYREQUEST_ENVOVERRIDESENTRY"]._serialized_start = 3042
66
- _globals["_OFFLINEQUERYREQUEST_ENVOVERRIDESENTRY"]._serialized_end = 3105
67
- _globals["_OFFLINEQUERYREQUEST_QUERYCONTEXTENTRY"]._serialized_start = 3107
68
- _globals["_OFFLINEQUERYREQUEST_QUERYCONTEXTENTRY"]._serialized_end = 3194
69
- _globals["_COLUMNMETADATALIST"]._serialized_start = 3508
70
- _globals["_COLUMNMETADATALIST"]._serialized_end = 3714
71
- _globals["_COLUMNMETADATALIST_COLUMNMETADATA"]._serialized_start = 3610
72
- _globals["_COLUMNMETADATALIST_COLUMNMETADATA"]._serialized_end = 3714
73
- _globals["_GETOFFLINEQUERYJOBRESPONSE"]._serialized_start = 3717
74
- _globals["_GETOFFLINEQUERYJOBRESPONSE"]._serialized_end = 3957
61
+ _globals["_RESOURCEREQUESTS"]._serialized_start = 1307
62
+ _globals["_RESOURCEREQUESTS"]._serialized_end = 1614
63
+ _globals["_OFFLINEQUERYREQUEST"]._serialized_start = 1617
64
+ _globals["_OFFLINEQUERYREQUEST"]._serialized_end = 3900
65
+ _globals["_OFFLINEQUERYREQUEST_PLANNEROPTIONSENTRY"]._serialized_start = 3332
66
+ _globals["_OFFLINEQUERYREQUEST_PLANNEROPTIONSENTRY"]._serialized_end = 3421
67
+ _globals["_OFFLINEQUERYREQUEST_ENVOVERRIDESENTRY"]._serialized_start = 3423
68
+ _globals["_OFFLINEQUERYREQUEST_ENVOVERRIDESENTRY"]._serialized_end = 3486
69
+ _globals["_OFFLINEQUERYREQUEST_QUERYCONTEXTENTRY"]._serialized_start = 3488
70
+ _globals["_OFFLINEQUERYREQUEST_QUERYCONTEXTENTRY"]._serialized_end = 3575
71
+ _globals["_COLUMNMETADATALIST"]._serialized_start = 3903
72
+ _globals["_COLUMNMETADATALIST"]._serialized_end = 4109
73
+ _globals["_COLUMNMETADATALIST_COLUMNMETADATA"]._serialized_start = 4005
74
+ _globals["_COLUMNMETADATALIST_COLUMNMETADATA"]._serialized_end = 4109
75
+ _globals["_GETOFFLINEQUERYJOBRESPONSE"]._serialized_start = 4112
76
+ _globals["_GETOFFLINEQUERYJOBRESPONSE"]._serialized_end = 4352
75
77
  # @@protoc_insertion_point(module_scope)
@@ -99,6 +99,27 @@ class OfflineQueryInputs(_message.Message):
99
99
  sharded_parquet_upload_inputs: _Optional[_Union[OfflineQueryShardedParquetUploadInput, _Mapping]] = ...,
100
100
  ) -> None: ...
101
101
 
102
+ class ResourceRequests(_message.Message):
103
+ __slots__ = ("cpu", "memory", "ephemeral_volume_size", "ephemeral_storage", "resource_group")
104
+ CPU_FIELD_NUMBER: _ClassVar[int]
105
+ MEMORY_FIELD_NUMBER: _ClassVar[int]
106
+ EPHEMERAL_VOLUME_SIZE_FIELD_NUMBER: _ClassVar[int]
107
+ EPHEMERAL_STORAGE_FIELD_NUMBER: _ClassVar[int]
108
+ RESOURCE_GROUP_FIELD_NUMBER: _ClassVar[int]
109
+ cpu: str
110
+ memory: str
111
+ ephemeral_volume_size: str
112
+ ephemeral_storage: str
113
+ resource_group: str
114
+ def __init__(
115
+ self,
116
+ cpu: _Optional[str] = ...,
117
+ memory: _Optional[str] = ...,
118
+ ephemeral_volume_size: _Optional[str] = ...,
119
+ ephemeral_storage: _Optional[str] = ...,
120
+ resource_group: _Optional[str] = ...,
121
+ ) -> None: ...
122
+
102
123
  class OfflineQueryRequest(_message.Message):
103
124
  __slots__ = (
104
125
  "inputs",
@@ -131,6 +152,7 @@ class OfflineQueryRequest(_message.Message):
131
152
  "overlay_graph",
132
153
  "query_name",
133
154
  "query_name_version",
155
+ "resources",
134
156
  )
135
157
  class PlannerOptionsEntry(_message.Message):
136
158
  __slots__ = ("key", "value")
@@ -190,6 +212,7 @@ class OfflineQueryRequest(_message.Message):
190
212
  OVERLAY_GRAPH_FIELD_NUMBER: _ClassVar[int]
191
213
  QUERY_NAME_FIELD_NUMBER: _ClassVar[int]
192
214
  QUERY_NAME_VERSION_FIELD_NUMBER: _ClassVar[int]
215
+ RESOURCES_FIELD_NUMBER: _ClassVar[int]
193
216
  inputs: OfflineQueryInputs
194
217
  outputs: _containers.RepeatedScalarFieldContainer[str]
195
218
  required_outputs: _containers.RepeatedScalarFieldContainer[str]
@@ -220,6 +243,7 @@ class OfflineQueryRequest(_message.Message):
220
243
  overlay_graph: _graph_pb2.OverlayGraph
221
244
  query_name: str
222
245
  query_name_version: str
246
+ resources: ResourceRequests
223
247
  def __init__(
224
248
  self,
225
249
  inputs: _Optional[_Union[OfflineQueryInputs, _Mapping]] = ...,
@@ -252,6 +276,7 @@ class OfflineQueryRequest(_message.Message):
252
276
  overlay_graph: _Optional[_Union[_graph_pb2.OverlayGraph, _Mapping]] = ...,
253
277
  query_name: _Optional[str] = ...,
254
278
  query_name_version: _Optional[str] = ...,
279
+ resources: _Optional[_Union[ResourceRequests, _Mapping]] = ...,
255
280
  ) -> None: ...
256
281
 
257
282
  class ColumnMetadataList(_message.Message):
@@ -17,7 +17,7 @@ from chalk._gen.chalk.common.v1 import resources_pb2 as chalk_dot_common_dot_v1_
17
17
 
18
18
 
19
19
  DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
20
- b'\n!chalk/common/v1/script_task.proto\x12\x0f\x63halk.common.v1\x1a\x1f\x63halk/common/v1/resources.proto":\n\x0fTrainingRunArgs\x12\'\n\x0f\x65xperiment_name\x18\x01 \x01(\tR\x0e\x65xperimentName"\x96\x07\n\x11ScriptTaskRequest\x12\x36\n\x17\x66unction_reference_type\x18\x01 \x01(\tR\x15\x66unctionReferenceType\x12-\n\x12\x66unction_reference\x18\x02 \x01(\tR\x11\x66unctionReference\x12*\n\x0e\x61rguments_json\x18\x0b \x01(\tH\x01R\rargumentsJson\x88\x01\x01\x12\x33\n\x04kind\x18\x0c \x01(\x0e\x32\x1f.chalk.common.v1.ScriptTaskKindR\x04kind\x12"\n\nsource_key\x18\x03 \x01(\tH\x02R\tsourceKey\x88\x01\x01\x12\x1b\n\x06\x62ranch\x18\x04 \x01(\tH\x03R\x06\x62ranch\x88\x01\x01\x12*\n\x0eresource_group\x18\x05 \x01(\tH\x04R\rresourceGroup\x88\x01\x01\x12W\n\x11resource_requests\x18\x06 \x01(\x0b\x32%.chalk.common.v1.ResourceRequirementsH\x05R\x10resourceRequests\x88\x01\x01\x12Y\n\renv_overrides\x18\x07 \x03(\x0b\x32\x34.chalk.common.v1.ScriptTaskRequest.EnvOverridesEntryR\x0c\x65nvOverrides\x12)\n\x10\x65nable_profiling\x18\x08 \x01(\x08R\x0f\x65nableProfiling\x12$\n\x0bmax_retries\x18\t \x01(\x05H\x06R\nmaxRetries\x88\x01\x01\x12\x34\n\x13\x63ompletion_deadline\x18\n \x01(\tH\x07R\x12\x63ompletionDeadline\x88\x01\x01\x12\x45\n\x0ctraining_run\x18\r \x01(\x0b\x32 .chalk.common.v1.TrainingRunArgsH\x00R\x0btrainingRun\x1a?\n\x11\x45nvOverridesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x0b\n\tkind_argsB\x11\n\x0f_arguments_jsonB\r\n\x0b_source_keyB\t\n\x07_branchB\x11\n\x0f_resource_groupB\x14\n\x12_resource_requestsB\x0e\n\x0c_max_retriesB\x16\n\x14_completion_deadline"\xe8\x01\n\x10ScriptTaskFilter\x12=\n\x08statuses\x18\x01 \x03(\x0e\x32!.chalk.common.v1.ScriptTaskStatusR\x08statuses\x12\x35\n\x05kinds\x18\x02 \x03(\x0e\x32\x1f.chalk.common.v1.ScriptTaskKindR\x05kinds\x12\x1c\n\x07task_id\x18\x03 \x01(\tH\x00R\x06taskId\x88\x01\x01\x12$\n\x0b\x62ranch_name\x18\x04 \x01(\tH\x01R\nbranchName\x88\x01\x01\x42\n\n\x08_task_idB\x0e\n\x0c_branch_name*\xd7\x01\n\x10ScriptTaskStatus\x12"\n\x1eSCRIPT_TASK_STATUS_UNSPECIFIED\x10\x00\x12\x1d\n\x19SCRIPT_TASK_STATUS_QUEUED\x10\x01\x12\x1e\n\x1aSCRIPT_TASK_STATUS_WORKING\x10\x02\x12 \n\x1cSCRIPT_TASK_STATUS_COMPLETED\x10\x03\x12\x1d\n\x19SCRIPT_TASK_STATUS_FAILED\x10\x04\x12\x1f\n\x1bSCRIPT_TASK_STATUS_CANCELED\x10\x05*y\n\x0eScriptTaskKind\x12 \n\x1cSCRIPT_TASK_KIND_UNSPECIFIED\x10\x00\x12"\n\x1eSCRIPT_TASK_KIND_PYTHON_SCRIPT\x10\x01\x12!\n\x1dSCRIPT_TASK_KIND_TRAINING_RUN\x10\x02\x42\x84\x01\n\x13\x63om.chalk.common.v1B\x0fScriptTaskProtoP\x01\xa2\x02\x03\x43\x43X\xaa\x02\x0f\x43halk.Common.V1\xca\x02\x0f\x43halk\\Common\\V1\xe2\x02\x1b\x43halk\\Common\\V1\\GPBMetadata\xea\x02\x11\x43halk::Common::V1b\x06proto3'
20
+ b'\n!chalk/common/v1/script_task.proto\x12\x0f\x63halk.common.v1\x1a\x1f\x63halk/common/v1/resources.proto":\n\x0fTrainingRunArgs\x12\'\n\x0f\x65xperiment_name\x18\x01 \x01(\tR\x0e\x65xperimentName"\x96\x07\n\x11ScriptTaskRequest\x12\x36\n\x17\x66unction_reference_type\x18\x01 \x01(\tR\x15\x66unctionReferenceType\x12-\n\x12\x66unction_reference\x18\x02 \x01(\tR\x11\x66unctionReference\x12*\n\x0e\x61rguments_json\x18\x0b \x01(\tH\x01R\rargumentsJson\x88\x01\x01\x12\x33\n\x04kind\x18\x0c \x01(\x0e\x32\x1f.chalk.common.v1.ScriptTaskKindR\x04kind\x12"\n\nsource_key\x18\x03 \x01(\tH\x02R\tsourceKey\x88\x01\x01\x12\x1b\n\x06\x62ranch\x18\x04 \x01(\tH\x03R\x06\x62ranch\x88\x01\x01\x12*\n\x0eresource_group\x18\x05 \x01(\tH\x04R\rresourceGroup\x88\x01\x01\x12W\n\x11resource_requests\x18\x06 \x01(\x0b\x32%.chalk.common.v1.ResourceRequirementsH\x05R\x10resourceRequests\x88\x01\x01\x12Y\n\renv_overrides\x18\x07 \x03(\x0b\x32\x34.chalk.common.v1.ScriptTaskRequest.EnvOverridesEntryR\x0c\x65nvOverrides\x12)\n\x10\x65nable_profiling\x18\x08 \x01(\x08R\x0f\x65nableProfiling\x12$\n\x0bmax_retries\x18\t \x01(\x05H\x06R\nmaxRetries\x88\x01\x01\x12\x34\n\x13\x63ompletion_deadline\x18\n \x01(\tH\x07R\x12\x63ompletionDeadline\x88\x01\x01\x12\x45\n\x0ctraining_run\x18\r \x01(\x0b\x32 .chalk.common.v1.TrainingRunArgsH\x00R\x0btrainingRun\x1a?\n\x11\x45nvOverridesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x0b\n\tkind_argsB\x11\n\x0f_arguments_jsonB\r\n\x0b_source_keyB\t\n\x07_branchB\x11\n\x0f_resource_groupB\x14\n\x12_resource_requestsB\x0e\n\x0c_max_retriesB\x16\n\x14_completion_deadline"\xe8\x01\n\x10ScriptTaskFilter\x12=\n\x08statuses\x18\x01 \x03(\x0e\x32!.chalk.common.v1.ScriptTaskStatusR\x08statuses\x12\x35\n\x05kinds\x18\x02 \x03(\x0e\x32\x1f.chalk.common.v1.ScriptTaskKindR\x05kinds\x12\x1c\n\x07task_id\x18\x03 \x01(\tH\x00R\x06taskId\x88\x01\x01\x12$\n\x0b\x62ranch_name\x18\x04 \x01(\tH\x01R\nbranchName\x88\x01\x01\x42\n\n\x08_task_idB\x0e\n\x0c_branch_name*\xd7\x01\n\x10ScriptTaskStatus\x12"\n\x1eSCRIPT_TASK_STATUS_UNSPECIFIED\x10\x00\x12\x1d\n\x19SCRIPT_TASK_STATUS_QUEUED\x10\x01\x12\x1e\n\x1aSCRIPT_TASK_STATUS_WORKING\x10\x02\x12 \n\x1cSCRIPT_TASK_STATUS_COMPLETED\x10\x03\x12\x1d\n\x19SCRIPT_TASK_STATUS_FAILED\x10\x04\x12\x1f\n\x1bSCRIPT_TASK_STATUS_CANCELED\x10\x05*\x98\x01\n\x0eScriptTaskKind\x12 \n\x1cSCRIPT_TASK_KIND_UNSPECIFIED\x10\x00\x12"\n\x1eSCRIPT_TASK_KIND_PYTHON_SCRIPT\x10\x01\x12!\n\x1dSCRIPT_TASK_KIND_TRAINING_RUN\x10\x02\x12\x1d\n\x19SCRIPT_TASK_KIND_METAPLAN\x10\x03\x42\x84\x01\n\x13\x63om.chalk.common.v1B\x0fScriptTaskProtoP\x01\xa2\x02\x03\x43\x43X\xaa\x02\x0f\x43halk.Common.V1\xca\x02\x0f\x43halk\\Common\\V1\xe2\x02\x1b\x43halk\\Common\\V1\\GPBMetadata\xea\x02\x11\x43halk::Common::V1b\x06proto3'
21
21
  )
22
22
 
23
23
  _globals = globals()
@@ -32,8 +32,8 @@ if _descriptor._USE_C_DESCRIPTORS == False:
32
32
  _globals["_SCRIPTTASKREQUEST_ENVOVERRIDESENTRY"]._serialized_options = b"8\001"
33
33
  _globals["_SCRIPTTASKSTATUS"]._serialized_start = 1304
34
34
  _globals["_SCRIPTTASKSTATUS"]._serialized_end = 1519
35
- _globals["_SCRIPTTASKKIND"]._serialized_start = 1521
36
- _globals["_SCRIPTTASKKIND"]._serialized_end = 1642
35
+ _globals["_SCRIPTTASKKIND"]._serialized_start = 1522
36
+ _globals["_SCRIPTTASKKIND"]._serialized_end = 1674
37
37
  _globals["_TRAININGRUNARGS"]._serialized_start = 87
38
38
  _globals["_TRAININGRUNARGS"]._serialized_end = 145
39
39
  _globals["_SCRIPTTASKREQUEST"]._serialized_start = 148
@@ -27,6 +27,7 @@ class ScriptTaskKind(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
27
27
  SCRIPT_TASK_KIND_UNSPECIFIED: _ClassVar[ScriptTaskKind]
28
28
  SCRIPT_TASK_KIND_PYTHON_SCRIPT: _ClassVar[ScriptTaskKind]
29
29
  SCRIPT_TASK_KIND_TRAINING_RUN: _ClassVar[ScriptTaskKind]
30
+ SCRIPT_TASK_KIND_METAPLAN: _ClassVar[ScriptTaskKind]
30
31
 
31
32
  SCRIPT_TASK_STATUS_UNSPECIFIED: ScriptTaskStatus
32
33
  SCRIPT_TASK_STATUS_QUEUED: ScriptTaskStatus
@@ -37,6 +38,7 @@ SCRIPT_TASK_STATUS_CANCELED: ScriptTaskStatus
37
38
  SCRIPT_TASK_KIND_UNSPECIFIED: ScriptTaskKind
38
39
  SCRIPT_TASK_KIND_PYTHON_SCRIPT: ScriptTaskKind
39
40
  SCRIPT_TASK_KIND_TRAINING_RUN: ScriptTaskKind
41
+ SCRIPT_TASK_KIND_METAPLAN: ScriptTaskKind
40
42
 
41
43
  class TrainingRunArgs(_message.Message):
42
44
  __slots__ = ("experiment_name",)
File without changes
File without changes
@@ -0,0 +1,48 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: chalk/dataframe/v1/dataframe.proto
4
+ # Protobuf Python Version: 4.25.3
5
+ """Generated protocol buffer code."""
6
+
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import symbol_database as _symbol_database
10
+ from google.protobuf.internal import builder as _builder
11
+ # @@protoc_insertion_point(imports)
12
+
13
+ _sym_db = _symbol_database.Default()
14
+
15
+
16
+ from chalk._gen.chalk.arrow.v1 import arrow_pb2 as chalk_dot_arrow_dot_v1_dot_arrow__pb2
17
+ from chalk._gen.chalk.expression.v1 import expression_pb2 as chalk_dot_expression_dot_v1_dot_expression__pb2
18
+
19
+
20
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
21
+ b'\n"chalk/dataframe/v1/dataframe.proto\x12\x12\x63halk.dataframe.v1\x1a\x1a\x63halk/arrow/v1/arrow.proto\x1a$chalk/expression/v1/expression.proto"\xe7\x04\n\x10\x44\x61taFrameOperand\x12#\n\x0cvalue_string\x18\x01 \x01(\tH\x00R\x0bvalueString\x12\x1d\n\tvalue_int\x18\x02 \x01(\x03H\x00R\x08valueInt\x12\x1f\n\nvalue_bool\x18\x03 \x01(\x08H\x00R\tvalueBool\x12;\n\nvalue_none\x18\x04 \x01(\x0b\x32\x1a.chalk.dataframe.v1.PyNoneH\x00R\tvalueNone\x12;\n\nvalue_list\x18\x05 \x01(\x0b\x32\x1a.chalk.dataframe.v1.PyListH\x00R\tvalueList\x12;\n\nvalue_dict\x18\x06 \x01(\x0b\x32\x1a.chalk.dataframe.v1.PyDictH\x00R\tvalueDict\x12X\n\x15value_dataframe_index\x18\x07 \x01(\x0b\x32".chalk.dataframe.v1.DataFrameIndexH\x00R\x13valueDataframeIndex\x12;\n\x0c\x61rrow_schema\x18\x08 \x01(\x0b\x32\x16.chalk.arrow.v1.SchemaH\x00R\x0b\x61rrowSchema\x12\x44\n\x0b\x61rrow_table\x18\t \x01(\x0b\x32!.chalk.arrow.v1.TableParquetBytesH\x00R\narrowTable\x12O\n\x0funderscore_expr\x18\n \x01(\x0b\x32$.chalk.expression.v1.LogicalExprNodeH\x00R\x0eunderscoreExprB\t\n\x07operand">\n\x0e\x44\x61taFrameIndex\x12,\n\x12\x64\x61taframe_op_index\x18\x01 \x01(\x05R\x10\x64\x61taframeOpIndex"\x08\n\x06PyNone"M\n\x06PyList\x12\x43\n\nlist_items\x18\x01 \x03(\x0b\x32$.chalk.dataframe.v1.DataFrameOperandR\tlistItems"\x97\x01\n\x0bPyDictEntry\x12\x41\n\tentry_key\x18\x01 \x01(\x0b\x32$.chalk.dataframe.v1.DataFrameOperandR\x08\x65ntryKey\x12\x45\n\x0b\x65ntry_value\x18\x02 \x01(\x0b\x32$.chalk.dataframe.v1.DataFrameOperandR\nentryValue"L\n\x06PyDict\x12\x42\n\x0c\x64ict_entries\x18\x01 \x03(\x0b\x32\x1f.chalk.dataframe.v1.PyDictEntryR\x0b\x64ictEntries"\xfc\x01\n\x14\x44\x61taFrameConstructor\x12J\n\x0cself_operand\x18\x01 \x01(\x0b\x32".chalk.dataframe.v1.DataFrameIndexH\x00R\x0bselfOperand\x88\x01\x01\x12#\n\rfunction_name\x18\x02 \x01(\tR\x0c\x66unctionName\x12.\n\x04\x61rgs\x18\x03 \x01(\x0b\x32\x1a.chalk.dataframe.v1.PyListR\x04\x61rgs\x12\x32\n\x06kwargs\x18\x04 \x01(\x0b\x32\x1a.chalk.dataframe.v1.PyDictR\x06kwargsB\x0f\n\r_self_operand"]\n\rDataFramePlan\x12L\n\x0c\x63onstructors\x18\x01 \x03(\x0b\x32(.chalk.dataframe.v1.DataFrameConstructorR\x0c\x63onstructorsB\x92\x01\n\x16\x63om.chalk.dataframe.v1B\x0e\x44\x61taframeProtoP\x01\xa2\x02\x03\x43\x44X\xaa\x02\x12\x43halk.Dataframe.V1\xca\x02\x12\x43halk\\Dataframe\\V1\xe2\x02\x1e\x43halk\\Dataframe\\V1\\GPBMetadata\xea\x02\x14\x43halk::Dataframe::V1b\x06proto3'
22
+ )
23
+
24
+ _globals = globals()
25
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
26
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "chalk.dataframe.v1.dataframe_pb2", _globals)
27
+ if _descriptor._USE_C_DESCRIPTORS == False:
28
+ _globals["DESCRIPTOR"]._options = None
29
+ _globals[
30
+ "DESCRIPTOR"
31
+ ]._serialized_options = b"\n\026com.chalk.dataframe.v1B\016DataframeProtoP\001\242\002\003CDX\252\002\022Chalk.Dataframe.V1\312\002\022Chalk\\Dataframe\\V1\342\002\036Chalk\\Dataframe\\V1\\GPBMetadata\352\002\024Chalk::Dataframe::V1"
32
+ _globals["_DATAFRAMEOPERAND"]._serialized_start = 125
33
+ _globals["_DATAFRAMEOPERAND"]._serialized_end = 740
34
+ _globals["_DATAFRAMEINDEX"]._serialized_start = 742
35
+ _globals["_DATAFRAMEINDEX"]._serialized_end = 804
36
+ _globals["_PYNONE"]._serialized_start = 806
37
+ _globals["_PYNONE"]._serialized_end = 814
38
+ _globals["_PYLIST"]._serialized_start = 816
39
+ _globals["_PYLIST"]._serialized_end = 893
40
+ _globals["_PYDICTENTRY"]._serialized_start = 896
41
+ _globals["_PYDICTENTRY"]._serialized_end = 1047
42
+ _globals["_PYDICT"]._serialized_start = 1049
43
+ _globals["_PYDICT"]._serialized_end = 1125
44
+ _globals["_DATAFRAMECONSTRUCTOR"]._serialized_start = 1128
45
+ _globals["_DATAFRAMECONSTRUCTOR"]._serialized_end = 1380
46
+ _globals["_DATAFRAMEPLAN"]._serialized_start = 1382
47
+ _globals["_DATAFRAMEPLAN"]._serialized_end = 1475
48
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,119 @@
1
+ from chalk._gen.chalk.arrow.v1 import arrow_pb2 as _arrow_pb2
2
+ from chalk._gen.chalk.expression.v1 import expression_pb2 as _expression_pb2
3
+ from google.protobuf.internal import containers as _containers
4
+ from google.protobuf import descriptor as _descriptor
5
+ from google.protobuf import message as _message
6
+ from typing import (
7
+ ClassVar as _ClassVar,
8
+ Iterable as _Iterable,
9
+ Mapping as _Mapping,
10
+ Optional as _Optional,
11
+ Union as _Union,
12
+ )
13
+
14
+ DESCRIPTOR: _descriptor.FileDescriptor
15
+
16
+ class DataFrameOperand(_message.Message):
17
+ __slots__ = (
18
+ "value_string",
19
+ "value_int",
20
+ "value_bool",
21
+ "value_none",
22
+ "value_list",
23
+ "value_dict",
24
+ "value_dataframe_index",
25
+ "arrow_schema",
26
+ "arrow_table",
27
+ "underscore_expr",
28
+ )
29
+ VALUE_STRING_FIELD_NUMBER: _ClassVar[int]
30
+ VALUE_INT_FIELD_NUMBER: _ClassVar[int]
31
+ VALUE_BOOL_FIELD_NUMBER: _ClassVar[int]
32
+ VALUE_NONE_FIELD_NUMBER: _ClassVar[int]
33
+ VALUE_LIST_FIELD_NUMBER: _ClassVar[int]
34
+ VALUE_DICT_FIELD_NUMBER: _ClassVar[int]
35
+ VALUE_DATAFRAME_INDEX_FIELD_NUMBER: _ClassVar[int]
36
+ ARROW_SCHEMA_FIELD_NUMBER: _ClassVar[int]
37
+ ARROW_TABLE_FIELD_NUMBER: _ClassVar[int]
38
+ UNDERSCORE_EXPR_FIELD_NUMBER: _ClassVar[int]
39
+ value_string: str
40
+ value_int: int
41
+ value_bool: bool
42
+ value_none: PyNone
43
+ value_list: PyList
44
+ value_dict: PyDict
45
+ value_dataframe_index: DataFrameIndex
46
+ arrow_schema: _arrow_pb2.Schema
47
+ arrow_table: _arrow_pb2.TableParquetBytes
48
+ underscore_expr: _expression_pb2.LogicalExprNode
49
+ def __init__(
50
+ self,
51
+ value_string: _Optional[str] = ...,
52
+ value_int: _Optional[int] = ...,
53
+ value_bool: bool = ...,
54
+ value_none: _Optional[_Union[PyNone, _Mapping]] = ...,
55
+ value_list: _Optional[_Union[PyList, _Mapping]] = ...,
56
+ value_dict: _Optional[_Union[PyDict, _Mapping]] = ...,
57
+ value_dataframe_index: _Optional[_Union[DataFrameIndex, _Mapping]] = ...,
58
+ arrow_schema: _Optional[_Union[_arrow_pb2.Schema, _Mapping]] = ...,
59
+ arrow_table: _Optional[_Union[_arrow_pb2.TableParquetBytes, _Mapping]] = ...,
60
+ underscore_expr: _Optional[_Union[_expression_pb2.LogicalExprNode, _Mapping]] = ...,
61
+ ) -> None: ...
62
+
63
+ class DataFrameIndex(_message.Message):
64
+ __slots__ = ("dataframe_op_index",)
65
+ DATAFRAME_OP_INDEX_FIELD_NUMBER: _ClassVar[int]
66
+ dataframe_op_index: int
67
+ def __init__(self, dataframe_op_index: _Optional[int] = ...) -> None: ...
68
+
69
+ class PyNone(_message.Message):
70
+ __slots__ = ()
71
+ def __init__(self) -> None: ...
72
+
73
+ class PyList(_message.Message):
74
+ __slots__ = ("list_items",)
75
+ LIST_ITEMS_FIELD_NUMBER: _ClassVar[int]
76
+ list_items: _containers.RepeatedCompositeFieldContainer[DataFrameOperand]
77
+ def __init__(self, list_items: _Optional[_Iterable[_Union[DataFrameOperand, _Mapping]]] = ...) -> None: ...
78
+
79
+ class PyDictEntry(_message.Message):
80
+ __slots__ = ("entry_key", "entry_value")
81
+ ENTRY_KEY_FIELD_NUMBER: _ClassVar[int]
82
+ ENTRY_VALUE_FIELD_NUMBER: _ClassVar[int]
83
+ entry_key: DataFrameOperand
84
+ entry_value: DataFrameOperand
85
+ def __init__(
86
+ self,
87
+ entry_key: _Optional[_Union[DataFrameOperand, _Mapping]] = ...,
88
+ entry_value: _Optional[_Union[DataFrameOperand, _Mapping]] = ...,
89
+ ) -> None: ...
90
+
91
+ class PyDict(_message.Message):
92
+ __slots__ = ("dict_entries",)
93
+ DICT_ENTRIES_FIELD_NUMBER: _ClassVar[int]
94
+ dict_entries: _containers.RepeatedCompositeFieldContainer[PyDictEntry]
95
+ def __init__(self, dict_entries: _Optional[_Iterable[_Union[PyDictEntry, _Mapping]]] = ...) -> None: ...
96
+
97
+ class DataFrameConstructor(_message.Message):
98
+ __slots__ = ("self_operand", "function_name", "args", "kwargs")
99
+ SELF_OPERAND_FIELD_NUMBER: _ClassVar[int]
100
+ FUNCTION_NAME_FIELD_NUMBER: _ClassVar[int]
101
+ ARGS_FIELD_NUMBER: _ClassVar[int]
102
+ KWARGS_FIELD_NUMBER: _ClassVar[int]
103
+ self_operand: DataFrameIndex
104
+ function_name: str
105
+ args: PyList
106
+ kwargs: PyDict
107
+ def __init__(
108
+ self,
109
+ self_operand: _Optional[_Union[DataFrameIndex, _Mapping]] = ...,
110
+ function_name: _Optional[str] = ...,
111
+ args: _Optional[_Union[PyList, _Mapping]] = ...,
112
+ kwargs: _Optional[_Union[PyDict, _Mapping]] = ...,
113
+ ) -> None: ...
114
+
115
+ class DataFramePlan(_message.Message):
116
+ __slots__ = ("constructors",)
117
+ CONSTRUCTORS_FIELD_NUMBER: _ClassVar[int]
118
+ constructors: _containers.RepeatedCompositeFieldContainer[DataFrameConstructor]
119
+ def __init__(self, constructors: _Optional[_Iterable[_Union[DataFrameConstructor, _Mapping]]] = ...) -> None: ...
@@ -0,0 +1,4 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+
4
+ import grpc
@@ -0,0 +1,4 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """