chalkpy 2.92.5__py3-none-any.whl → 2.92.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.
- chalk/_gen/chalk/server/v1/integrations_pb2.py +11 -9
- chalk/_gen/chalk/server/v1/integrations_pb2.pyi +32 -2
- chalk/_gen/chalk/server/v1/scheduler_pb2.py +12 -12
- chalk/_gen/chalk/server/v1/scheduler_pb2.pyi +11 -1
- chalk/_version.py +1 -1
- chalk/client/client.py +47 -0
- chalk/client/client_grpc.py +72 -0
- chalk/client/client_impl.py +64 -0
- chalk/features/_class_property.py +7 -0
- chalk/features/_embedding/embedding.py +1 -0
- chalk/features/feature_wrapper.py +42 -3
- chalk/features/resolver.py +12 -22
- chalk/sql/_internal/sql_file_resolver.py +31 -3
- {chalkpy-2.92.5.dist-info → chalkpy-2.92.7.dist-info}/METADATA +1 -1
- {chalkpy-2.92.5.dist-info → chalkpy-2.92.7.dist-info}/RECORD +18 -18
- {chalkpy-2.92.5.dist-info → chalkpy-2.92.7.dist-info}/WHEEL +0 -0
- {chalkpy-2.92.5.dist-info → chalkpy-2.92.7.dist-info}/entry_points.txt +0 -0
- {chalkpy-2.92.5.dist-info → chalkpy-2.92.7.dist-info}/top_level.txt +0 -0
|
@@ -20,7 +20,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
|
|
23
|
-
b'\n"chalk/server/v1/integrations.proto\x12\x0f\x63halk.server.v1\x1a\x19\x63halk/auth/v1/audit.proto\x1a\x1f\x63halk/auth/v1/permissions.proto\x1a)chalk/server/v1/environment_secrets.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\x92\x02\n\x0bIntegration\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12\x34\n\x04kind\x18\x03 \x01(\x0e\x32 .chalk.server.v1.IntegrationKindR\x04kind\x12%\n\x0e\x65nvironment_id\x18\x04 \x01(\tR\renvironmentId\x12\x39\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAtB\x07\n\x05_name"\x94\x01\n\x16IntegrationWithSecrets\x12>\n\x0bintegration\x18\x01 \x01(\x0b\x32\x1c.chalk.server.v1.IntegrationR\x0bintegration\x12:\n\x07secrets\x18\x02 \x03(\x0b\x32 .chalk.server.v1.SecretWithValueR\x07secrets"\x19\n\x17ListIntegrationsRequest"\\\n\x18ListIntegrationsResponse\x12@\n\x0cintegrations\x18\x01 \x03(\x0b\x32\x1c.chalk.server.v1.IntegrationR\x0cintegrations"=\n!ListIntegrationsAndSecretsRequest\x12\x18\n\x07\x64\x65\x63rypt\x18\x01 \x01(\x08R\x07\x64\x65\x63rypt"\xba\x01\n"ListIntegrationsAndSecretsResponse\x12K\n\x0cintegrations\x18\x01 \x03(\x0b\x32\'.chalk.server.v1.IntegrationWithSecretsR\x0cintegrations\x12G\n\x0e\x63ustom_secrets\x18\x02 \x03(\x0b\x32 .chalk.server.v1.SecretWithValueR\rcustomSecrets"d\n\x1aGetIntegrationValueRequest\x12%\n\x0eintegration_id\x18\x01 \x01(\tR\rintegrationId\x12\x1f\n\x0bsecret_name\x18\x02 \x01(\tR\nsecretName"r\n\x1bGetIntegrationValueResponse\x12\x43\n\x0bsecretvalue\x18\x01 \x01(\x0b\x32\x1c.chalk.server.v1.SecretValueH\x00R\x0bsecretvalue\x88\x01\x01\x42\x0e\n\x0c_secretvalue">\n\x15GetIntegrationRequest\x12%\n\x0eintegration_id\x18\x01 \x01(\tR\rintegrationId"\x9d\x01\n\x16GetIntegrationResponse\x12\x66\n\x18integration_with_secrets\x18\x01 \x01(\x0b\x32\'.chalk.server.v1.IntegrationWithSecretsH\x00R\x16integrationWithSecrets\x88\x01\x01\x42\x1b\n\x19_integration_with_secrets"\xbe\x02\n\x18InsertIntegrationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12K\n\x10integration_kind\x18\x02 \x01(\x0e\x32 .chalk.server.v1.IntegrationKindR\x0fintegrationKind\x12x\n\x15\x65nvironment_variables\x18\x03 \x03(\x0b\x32\x43.chalk.server.v1.InsertIntegrationRequest.EnvironmentVariablesEntryR\x14\x65nvironmentVariables\x1aG\n\x19\x45nvironmentVariablesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01"[\n\x19InsertIntegrationResponse\x12>\n\x0bintegration\x18\x01 \x01(\x0b\x32\x1c.chalk.server.v1.IntegrationR\x0bintegration"\x98\x02\n\x18UpdateIntegrationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12%\n\x0eintegration_id\x18\x02 \x01(\tR\rintegrationId\x12x\n\x15\x65nvironment_variables\x18\x03 \x03(\x0b\x32\x43.chalk.server.v1.UpdateIntegrationRequest.EnvironmentVariablesEntryR\x14\x65nvironmentVariables\x1aG\n\x19\x45nvironmentVariablesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01"[\n\x19UpdateIntegrationResponse\x12>\n\x0bintegration\x18\x01 \x01(\x0b\x32\x1c.chalk.server.v1.IntegrationR\x0bintegration"*\n\x18\x44\x65leteIntegrationRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x1b\n\x19\x44\x65leteIntegrationResponse"\
|
|
23
|
+
b'\n"chalk/server/v1/integrations.proto\x12\x0f\x63halk.server.v1\x1a\x19\x63halk/auth/v1/audit.proto\x1a\x1f\x63halk/auth/v1/permissions.proto\x1a)chalk/server/v1/environment_secrets.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\x92\x02\n\x0bIntegration\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12\x34\n\x04kind\x18\x03 \x01(\x0e\x32 .chalk.server.v1.IntegrationKindR\x04kind\x12%\n\x0e\x65nvironment_id\x18\x04 \x01(\tR\renvironmentId\x12\x39\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAtB\x07\n\x05_name"\x94\x01\n\x16IntegrationWithSecrets\x12>\n\x0bintegration\x18\x01 \x01(\x0b\x32\x1c.chalk.server.v1.IntegrationR\x0bintegration\x12:\n\x07secrets\x18\x02 \x03(\x0b\x32 .chalk.server.v1.SecretWithValueR\x07secrets"\x19\n\x17ListIntegrationsRequest"\\\n\x18ListIntegrationsResponse\x12@\n\x0cintegrations\x18\x01 \x03(\x0b\x32\x1c.chalk.server.v1.IntegrationR\x0cintegrations"=\n!ListIntegrationsAndSecretsRequest\x12\x18\n\x07\x64\x65\x63rypt\x18\x01 \x01(\x08R\x07\x64\x65\x63rypt"\xba\x01\n"ListIntegrationsAndSecretsResponse\x12K\n\x0cintegrations\x18\x01 \x03(\x0b\x32\'.chalk.server.v1.IntegrationWithSecretsR\x0cintegrations\x12G\n\x0e\x63ustom_secrets\x18\x02 \x03(\x0b\x32 .chalk.server.v1.SecretWithValueR\rcustomSecrets"d\n\x1aGetIntegrationValueRequest\x12%\n\x0eintegration_id\x18\x01 \x01(\tR\rintegrationId\x12\x1f\n\x0bsecret_name\x18\x02 \x01(\tR\nsecretName"r\n\x1bGetIntegrationValueResponse\x12\x43\n\x0bsecretvalue\x18\x01 \x01(\x0b\x32\x1c.chalk.server.v1.SecretValueH\x00R\x0bsecretvalue\x88\x01\x01\x42\x0e\n\x0c_secretvalue">\n\x15GetIntegrationRequest\x12%\n\x0eintegration_id\x18\x01 \x01(\tR\rintegrationId"\x9d\x01\n\x16GetIntegrationResponse\x12\x66\n\x18integration_with_secrets\x18\x01 \x01(\x0b\x32\'.chalk.server.v1.IntegrationWithSecretsH\x00R\x16integrationWithSecrets\x88\x01\x01\x42\x1b\n\x19_integration_with_secrets"\xbe\x02\n\x18InsertIntegrationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12K\n\x10integration_kind\x18\x02 \x01(\x0e\x32 .chalk.server.v1.IntegrationKindR\x0fintegrationKind\x12x\n\x15\x65nvironment_variables\x18\x03 \x03(\x0b\x32\x43.chalk.server.v1.InsertIntegrationRequest.EnvironmentVariablesEntryR\x14\x65nvironmentVariables\x1aG\n\x19\x45nvironmentVariablesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01"[\n\x19InsertIntegrationResponse\x12>\n\x0bintegration\x18\x01 \x01(\x0b\x32\x1c.chalk.server.v1.IntegrationR\x0bintegration"\x98\x02\n\x18UpdateIntegrationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12%\n\x0eintegration_id\x18\x02 \x01(\tR\rintegrationId\x12x\n\x15\x65nvironment_variables\x18\x03 \x03(\x0b\x32\x43.chalk.server.v1.UpdateIntegrationRequest.EnvironmentVariablesEntryR\x14\x65nvironmentVariables\x1aG\n\x19\x45nvironmentVariablesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01"[\n\x19UpdateIntegrationResponse\x12>\n\x0bintegration\x18\x01 \x01(\x0b\x32\x1c.chalk.server.v1.IntegrationR\x0bintegration"*\n\x18\x44\x65leteIntegrationRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x1b\n\x19\x44\x65leteIntegrationResponse"\xd7\x01\n\x10PreviewedMessage\x12!\n\x0cvalue_base64\x18\x01 \x01(\tR\x0bvalueBase64\x12"\n\nkey_base64\x18\x02 \x01(\tH\x00R\tkeyBase64\x88\x01\x01\x12\x14\n\x05topic\x18\x03 \x01(\tR\x05topic\x12\x1c\n\tpartition\x18\x04 \x01(\tR\tpartition\x12\x16\n\x06offset\x18\x05 \x01(\tR\x06offset\x12!\n\x0ctimestamp_ms\x18\x06 \x01(\x03R\x0btimestampMsB\r\n\x0b_key_base64"\x90\x03\n\x16TestIntegrationRequest\x12\x34\n\x04kind\x18\x01 \x01(\x0e\x32 .chalk.server.v1.IntegrationKindR\x04kind\x12v\n\x15\x65nvironment_variables\x18\x02 \x03(\x0b\x32\x41.chalk.server.v1.TestIntegrationRequest.EnvironmentVariablesEntryR\x14\x65nvironmentVariables\x12*\n\x0eintegration_id\x18\x03 \x01(\tH\x00R\rintegrationId\x88\x01\x01\x12,\n\x0finclude_preview\x18\x04 \x01(\x08H\x01R\x0eincludePreview\x88\x01\x01\x1aG\n\x19\x45nvironmentVariablesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x11\n\x0f_integration_idB\x12\n\x10_include_preview"\xf1\x01\n\x17TestIntegrationResponse\x12\x12\n\x04kind\x18\x01 \x01(\tR\x04kind\x12\x18\n\x07success\x18\x02 \x01(\x08R\x07success\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\x12,\n\x0flatency_seconds\x18\x04 \x01(\x01H\x00R\x0elatencySeconds\x88\x01\x01\x12L\n\x10preview_messages\x18\x05 \x03(\x0b\x32!.chalk.server.v1.PreviewedMessageR\x0fpreviewMessagesB\x12\n\x10_latency_seconds*\xe7\x04\n\x0fIntegrationKind\x12 \n\x1cINTEGRATION_KIND_UNSPECIFIED\x10\x00\x12\x1b\n\x17INTEGRATION_KIND_ATHENA\x10\x01\x12\x18\n\x14INTEGRATION_KIND_AWS\x10\x02\x12\x1d\n\x19INTEGRATION_KIND_BIGQUERY\x10\x03\x12\x1f\n\x1bINTEGRATION_KIND_CLICKHOUSE\x10\x04\x12\x1b\n\x17INTEGRATION_KIND_COHERE\x10\x05\x12\x1f\n\x1bINTEGRATION_KIND_DATABRICKS\x10\x06\x12\x1d\n\x19INTEGRATION_KIND_DYNAMODB\x10\x07\x12\x18\n\x14INTEGRATION_KIND_GCP\x10\x08\x12\x1a\n\x16INTEGRATION_KIND_KAFKA\x10\t\x12\x1c\n\x18INTEGRATION_KIND_KINESIS\x10\n\x12\x1a\n\x16INTEGRATION_KIND_MYSQL\x10\x0b\x12\x1b\n\x17INTEGRATION_KIND_OPENAI\x10\x0c\x12\x1f\n\x1bINTEGRATION_KIND_POSTGRESQL\x10\r\x12\x1b\n\x17INTEGRATION_KIND_PUBSUB\x10\x0e\x12\x1d\n\x19INTEGRATION_KIND_REDSHIFT\x10\x0f\x12\x1e\n\x1aINTEGRATION_KIND_SNOWFLAKE\x10\x10\x12\x1c\n\x18INTEGRATION_KIND_SPANNER\x10\x11\x12\x1a\n\x16INTEGRATION_KIND_TRINO\x10\x12\x12\x1a\n\x16INTEGRATION_KIND_MSSQL\x10\x13\x32\xbf\x07\n\x13IntegrationsService\x12l\n\x10ListIntegrations\x12(.chalk.server.v1.ListIntegrationsRequest\x1a).chalk.server.v1.ListIntegrationsResponse"\x03\x80}\x14\x12\x8a\x01\n\x1aListIntegrationsAndSecrets\x12\x32.chalk.server.v1.ListIntegrationsAndSecretsRequest\x1a\x33.chalk.server.v1.ListIntegrationsAndSecretsResponse"\x03\x80}\x13\x12u\n\x13GetIntegrationValue\x12+.chalk.server.v1.GetIntegrationValueRequest\x1a,.chalk.server.v1.GetIntegrationValueResponse"\x03\x80}\x13\x12\x66\n\x0eGetIntegration\x12&.chalk.server.v1.GetIntegrationRequest\x1a\'.chalk.server.v1.GetIntegrationResponse"\x03\x80}\x13\x12u\n\x11InsertIntegration\x12).chalk.server.v1.InsertIntegrationRequest\x1a*.chalk.server.v1.InsertIntegrationResponse"\t\x80}\x12\x8a\xd3\x0e\x02\x08\x02\x12u\n\x11UpdateIntegration\x12).chalk.server.v1.UpdateIntegrationRequest\x1a*.chalk.server.v1.UpdateIntegrationResponse"\t\x80}\x12\x8a\xd3\x0e\x02\x08\x02\x12u\n\x11\x44\x65leteIntegration\x12).chalk.server.v1.DeleteIntegrationRequest\x1a*.chalk.server.v1.DeleteIntegrationResponse"\t\x80}\x12\x8a\xd3\x0e\x02\x08\x02\x12i\n\x0fTestIntegration\x12\'.chalk.server.v1.TestIntegrationRequest\x1a(.chalk.server.v1.TestIntegrationResponse"\x03\x80}\x14\x42\x9a\x01\n\x13\x63om.chalk.server.v1B\x11IntegrationsProtoP\x01Z\x12server/v1;serverv1\xa2\x02\x03\x43SX\xaa\x02\x0f\x43halk.Server.V1\xca\x02\x0f\x43halk\\Server\\V1\xe2\x02\x1b\x43halk\\Server\\V1\\GPBMetadata\xea\x02\x11\x43halk::Server::V1b\x06proto3'
|
|
24
24
|
)
|
|
25
25
|
|
|
26
26
|
_globals = globals()
|
|
@@ -59,8 +59,8 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
|
59
59
|
]._serialized_options = b"\200}\022\212\323\016\002\010\002"
|
|
60
60
|
_globals["_INTEGRATIONSSERVICE"].methods_by_name["TestIntegration"]._options = None
|
|
61
61
|
_globals["_INTEGRATIONSSERVICE"].methods_by_name["TestIntegration"]._serialized_options = b"\200}\024"
|
|
62
|
-
_globals["_INTEGRATIONKIND"]._serialized_start =
|
|
63
|
-
_globals["_INTEGRATIONKIND"]._serialized_end =
|
|
62
|
+
_globals["_INTEGRATIONKIND"]._serialized_start = 3163
|
|
63
|
+
_globals["_INTEGRATIONKIND"]._serialized_end = 3778
|
|
64
64
|
_globals["_INTEGRATION"]._serialized_start = 192
|
|
65
65
|
_globals["_INTEGRATION"]._serialized_end = 466
|
|
66
66
|
_globals["_INTEGRATIONWITHSECRETS"]._serialized_start = 469
|
|
@@ -97,12 +97,14 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
|
97
97
|
_globals["_DELETEINTEGRATIONREQUEST"]._serialized_end = 2266
|
|
98
98
|
_globals["_DELETEINTEGRATIONRESPONSE"]._serialized_start = 2268
|
|
99
99
|
_globals["_DELETEINTEGRATIONRESPONSE"]._serialized_end = 2295
|
|
100
|
-
_globals["
|
|
101
|
-
_globals["
|
|
100
|
+
_globals["_PREVIEWEDMESSAGE"]._serialized_start = 2298
|
|
101
|
+
_globals["_PREVIEWEDMESSAGE"]._serialized_end = 2513
|
|
102
|
+
_globals["_TESTINTEGRATIONREQUEST"]._serialized_start = 2516
|
|
103
|
+
_globals["_TESTINTEGRATIONREQUEST"]._serialized_end = 2916
|
|
102
104
|
_globals["_TESTINTEGRATIONREQUEST_ENVIRONMENTVARIABLESENTRY"]._serialized_start = 1682
|
|
103
105
|
_globals["_TESTINTEGRATIONREQUEST_ENVIRONMENTVARIABLESENTRY"]._serialized_end = 1753
|
|
104
|
-
_globals["_TESTINTEGRATIONRESPONSE"]._serialized_start =
|
|
105
|
-
_globals["_TESTINTEGRATIONRESPONSE"]._serialized_end =
|
|
106
|
-
_globals["_INTEGRATIONSSERVICE"]._serialized_start =
|
|
107
|
-
_globals["_INTEGRATIONSSERVICE"]._serialized_end =
|
|
106
|
+
_globals["_TESTINTEGRATIONRESPONSE"]._serialized_start = 2919
|
|
107
|
+
_globals["_TESTINTEGRATIONRESPONSE"]._serialized_end = 3160
|
|
108
|
+
_globals["_INTEGRATIONSSERVICE"]._serialized_start = 3781
|
|
109
|
+
_globals["_INTEGRATIONSSERVICE"]._serialized_end = 4740
|
|
108
110
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -220,8 +220,32 @@ class DeleteIntegrationResponse(_message.Message):
|
|
|
220
220
|
__slots__ = ()
|
|
221
221
|
def __init__(self) -> None: ...
|
|
222
222
|
|
|
223
|
+
class PreviewedMessage(_message.Message):
|
|
224
|
+
__slots__ = ("value_base64", "key_base64", "topic", "partition", "offset", "timestamp_ms")
|
|
225
|
+
VALUE_BASE64_FIELD_NUMBER: _ClassVar[int]
|
|
226
|
+
KEY_BASE64_FIELD_NUMBER: _ClassVar[int]
|
|
227
|
+
TOPIC_FIELD_NUMBER: _ClassVar[int]
|
|
228
|
+
PARTITION_FIELD_NUMBER: _ClassVar[int]
|
|
229
|
+
OFFSET_FIELD_NUMBER: _ClassVar[int]
|
|
230
|
+
TIMESTAMP_MS_FIELD_NUMBER: _ClassVar[int]
|
|
231
|
+
value_base64: str
|
|
232
|
+
key_base64: str
|
|
233
|
+
topic: str
|
|
234
|
+
partition: str
|
|
235
|
+
offset: str
|
|
236
|
+
timestamp_ms: int
|
|
237
|
+
def __init__(
|
|
238
|
+
self,
|
|
239
|
+
value_base64: _Optional[str] = ...,
|
|
240
|
+
key_base64: _Optional[str] = ...,
|
|
241
|
+
topic: _Optional[str] = ...,
|
|
242
|
+
partition: _Optional[str] = ...,
|
|
243
|
+
offset: _Optional[str] = ...,
|
|
244
|
+
timestamp_ms: _Optional[int] = ...,
|
|
245
|
+
) -> None: ...
|
|
246
|
+
|
|
223
247
|
class TestIntegrationRequest(_message.Message):
|
|
224
|
-
__slots__ = ("kind", "environment_variables", "integration_id")
|
|
248
|
+
__slots__ = ("kind", "environment_variables", "integration_id", "include_preview")
|
|
225
249
|
class EnvironmentVariablesEntry(_message.Message):
|
|
226
250
|
__slots__ = ("key", "value")
|
|
227
251
|
KEY_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -233,30 +257,36 @@ class TestIntegrationRequest(_message.Message):
|
|
|
233
257
|
KIND_FIELD_NUMBER: _ClassVar[int]
|
|
234
258
|
ENVIRONMENT_VARIABLES_FIELD_NUMBER: _ClassVar[int]
|
|
235
259
|
INTEGRATION_ID_FIELD_NUMBER: _ClassVar[int]
|
|
260
|
+
INCLUDE_PREVIEW_FIELD_NUMBER: _ClassVar[int]
|
|
236
261
|
kind: IntegrationKind
|
|
237
262
|
environment_variables: _containers.ScalarMap[str, str]
|
|
238
263
|
integration_id: str
|
|
264
|
+
include_preview: bool
|
|
239
265
|
def __init__(
|
|
240
266
|
self,
|
|
241
267
|
kind: _Optional[_Union[IntegrationKind, str]] = ...,
|
|
242
268
|
environment_variables: _Optional[_Mapping[str, str]] = ...,
|
|
243
269
|
integration_id: _Optional[str] = ...,
|
|
270
|
+
include_preview: bool = ...,
|
|
244
271
|
) -> None: ...
|
|
245
272
|
|
|
246
273
|
class TestIntegrationResponse(_message.Message):
|
|
247
|
-
__slots__ = ("kind", "success", "message", "latency_seconds")
|
|
274
|
+
__slots__ = ("kind", "success", "message", "latency_seconds", "preview_messages")
|
|
248
275
|
KIND_FIELD_NUMBER: _ClassVar[int]
|
|
249
276
|
SUCCESS_FIELD_NUMBER: _ClassVar[int]
|
|
250
277
|
MESSAGE_FIELD_NUMBER: _ClassVar[int]
|
|
251
278
|
LATENCY_SECONDS_FIELD_NUMBER: _ClassVar[int]
|
|
279
|
+
PREVIEW_MESSAGES_FIELD_NUMBER: _ClassVar[int]
|
|
252
280
|
kind: str
|
|
253
281
|
success: bool
|
|
254
282
|
message: str
|
|
255
283
|
latency_seconds: float
|
|
284
|
+
preview_messages: _containers.RepeatedCompositeFieldContainer[PreviewedMessage]
|
|
256
285
|
def __init__(
|
|
257
286
|
self,
|
|
258
287
|
kind: _Optional[str] = ...,
|
|
259
288
|
success: bool = ...,
|
|
260
289
|
message: _Optional[str] = ...,
|
|
261
290
|
latency_seconds: _Optional[float] = ...,
|
|
291
|
+
preview_messages: _Optional[_Iterable[_Union[PreviewedMessage, _Mapping]]] = ...,
|
|
262
292
|
) -> None: ...
|
|
@@ -21,7 +21,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
|
|
24
|
-
b'\n\x1f\x63halk/server/v1/scheduler.proto\x12\x0f\x63halk.server.v1\x1a\x1f\x63halk/auth/v1/permissions.proto\x1a\x1b\x63halk/server/v1/batch.proto\x1a)chalk/server/v1/scheduled_query_run.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xfe\x05\n\x0f\x43ronResolverRun\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12%\n\x0e\x65nvironment_id\x18\x02 \x01(\tR\renvironmentId\x12!\n\x0cresolver_fqn\x18\x03 \x01(\tR\x0bresolverFqn\x12\x12\n\x04kind\x18\x04 \x01(\tR\x04kind\x12+\n\x11schedule_readable\x18\x05 \x01(\tR\x10scheduleReadable\x12\x36\n\x17schedule_resolver_value\x18\x06 \x01(\tR\x15scheduleResolverValue\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12(\n\rdeployment_id\x18\x08 \x01(\tH\x00R\x0c\x64\x65ploymentId\x88\x01\x01\x12\x31\n\x03\x65nd\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01R\x03\x65nd\x88\x01\x01\x12:\n\x05\x62\x61tch\x18\n \x01(\x0b\x32\x1f.chalk.server.v1.BatchOperationH\x02R\x05\x62\x61tch\x88\x01\x01\x12\x46\n\x0ctrigger_kind\x18\x0b \x01(\x0e\x32#.chalk.server.v1.CronRunTriggerKindR\x0btriggerKind\x12@\n\x0blower_bound\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x03R\nlowerBound\x88\x01\x01\x12@\n\x0bupper_bound\x18\r \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x04R\nupperBound\x88\x01\x01\x12$\n\x0bmax_samples\x18\x0e \x01(\x03H\x05R\nmaxSamples\x88\x01\x01\x42\x10\n\x0e_deployment_idB\x06\n\x04_endB\x08\n\x06_batchB\x0e\n\x0c_lower_boundB\x0e\n\x0c_upper_boundB\x0e\n\x0c_max_samples"\x9d\x03\n ManualTriggerCronResolverRequest\x12!\n\x0cresolver_fqn\x18\x01 \x01(\tR\x0bresolverFqn\x12$\n\x0bmax_samples\x18\x02 \x01(\x03H\x00R\nmaxSamples\x88\x01\x01\x12@\n\x0blower_bound\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01R\nlowerBound\x88\x01\x01\x12@\n\x0bupper_bound\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02R\nupperBound\x88\x01\x01\x12\x30\n\x11timestamping_mode\x18\x06 \x01(\tH\x03R\x10timestampingMode\x88\x01\x01\x12$\n\x0bjob_options\x18\x07 \x01(\tH\x04R\njobOptions\x88\x01\x01\x42\x0e\n\x0c_max_samplesB\x0e\n\x0c_lower_boundB\x0e\n\x0c_upper_boundB\x14\n\x12_timestamping_modeB\x0e\n\x0c_job_options"q\n!ManualTriggerCronResolverResponse\x12L\n\x11\x63ron_resolver_run\x18\x01 \x01(\x0b\x32 .chalk.server.v1.CronResolverRunR\x0f\x63ronResolverRun"\
|
|
24
|
+
b'\n\x1f\x63halk/server/v1/scheduler.proto\x12\x0f\x63halk.server.v1\x1a\x1f\x63halk/auth/v1/permissions.proto\x1a\x1b\x63halk/server/v1/batch.proto\x1a)chalk/server/v1/scheduled_query_run.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xfe\x05\n\x0f\x43ronResolverRun\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12%\n\x0e\x65nvironment_id\x18\x02 \x01(\tR\renvironmentId\x12!\n\x0cresolver_fqn\x18\x03 \x01(\tR\x0bresolverFqn\x12\x12\n\x04kind\x18\x04 \x01(\tR\x04kind\x12+\n\x11schedule_readable\x18\x05 \x01(\tR\x10scheduleReadable\x12\x36\n\x17schedule_resolver_value\x18\x06 \x01(\tR\x15scheduleResolverValue\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12(\n\rdeployment_id\x18\x08 \x01(\tH\x00R\x0c\x64\x65ploymentId\x88\x01\x01\x12\x31\n\x03\x65nd\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01R\x03\x65nd\x88\x01\x01\x12:\n\x05\x62\x61tch\x18\n \x01(\x0b\x32\x1f.chalk.server.v1.BatchOperationH\x02R\x05\x62\x61tch\x88\x01\x01\x12\x46\n\x0ctrigger_kind\x18\x0b \x01(\x0e\x32#.chalk.server.v1.CronRunTriggerKindR\x0btriggerKind\x12@\n\x0blower_bound\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x03R\nlowerBound\x88\x01\x01\x12@\n\x0bupper_bound\x18\r \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x04R\nupperBound\x88\x01\x01\x12$\n\x0bmax_samples\x18\x0e \x01(\x03H\x05R\nmaxSamples\x88\x01\x01\x42\x10\n\x0e_deployment_idB\x06\n\x04_endB\x08\n\x06_batchB\x0e\n\x0c_lower_boundB\x0e\n\x0c_upper_boundB\x0e\n\x0c_max_samples"\x9d\x03\n ManualTriggerCronResolverRequest\x12!\n\x0cresolver_fqn\x18\x01 \x01(\tR\x0bresolverFqn\x12$\n\x0bmax_samples\x18\x02 \x01(\x03H\x00R\nmaxSamples\x88\x01\x01\x12@\n\x0blower_bound\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01R\nlowerBound\x88\x01\x01\x12@\n\x0bupper_bound\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02R\nupperBound\x88\x01\x01\x12\x30\n\x11timestamping_mode\x18\x06 \x01(\tH\x03R\x10timestampingMode\x88\x01\x01\x12$\n\x0bjob_options\x18\x07 \x01(\tH\x04R\njobOptions\x88\x01\x01\x42\x0e\n\x0c_max_samplesB\x0e\n\x0c_lower_boundB\x0e\n\x0c_upper_boundB\x14\n\x12_timestamping_modeB\x0e\n\x0c_job_options"q\n!ManualTriggerCronResolverResponse\x12L\n\x11\x63ron_resolver_run\x18\x01 \x01(\x0b\x32 .chalk.server.v1.CronResolverRunR\x0f\x63ronResolverRun"\xf0\x04\n"ManualTriggerScheduledQueryRequest\x12"\n\rcron_query_id\x18\x01 \x01(\x03R\x0b\x63ronQueryId\x12p\n\x0fplanner_options\x18\x02 \x03(\x0b\x32G.chalk.server.v1.ManualTriggerScheduledQueryRequest.PlannerOptionsEntryR\x0eplannerOptions\x12\x33\n\x15incremental_resolvers\x18\x03 \x03(\tR\x14incrementalResolvers\x12$\n\x0bmax_samples\x18\x04 \x01(\x03H\x01R\nmaxSamples\x88\x01\x01\x12j\n\renv_overrides\x18\x05 \x03(\x0b\x32\x45.chalk.server.v1.ManualTriggerScheduledQueryRequest.EnvOverridesEntryR\x0c\x65nvOverrides\x12(\n\x0f\x63ron_query_name\x18\x06 \x01(\tH\x00R\rcronQueryName\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\x42\x17\n\x15\x63ron_query_identifierB\x0e\n\x0c_max_samples"y\n#ManualTriggerScheduledQueryResponse\x12R\n\x13scheduled_query_run\x18\x01 \x01(\x0b\x32".chalk.server.v1.ScheduledQueryRunR\x11scheduledQueryRun*\x9c\x01\n\x12\x43ronRunTriggerKind\x12%\n!CRON_RUN_TRIGGER_KIND_UNSPECIFIED\x10\x00\x12 \n\x1c\x43RON_RUN_TRIGGER_KIND_MANUAL\x10\x01\x12\x1d\n\x19\x43RON_RUN_TRIGGER_KIND_API\x10\x02\x12\x1e\n\x1a\x43RON_RUN_TRIGGER_KIND_CRON\x10\x03\x32\xac\x02\n\x10SchedulerService\x12\x87\x01\n\x19ManualTriggerCronResolver\x12\x31.chalk.server.v1.ManualTriggerCronResolverRequest\x1a\x32.chalk.server.v1.ManualTriggerCronResolverResponse"\x03\x80}\x11\x12\x8d\x01\n\x1bManualTriggerScheduledQuery\x12\x33.chalk.server.v1.ManualTriggerScheduledQueryRequest\x1a\x34.chalk.server.v1.ManualTriggerScheduledQueryResponse"\x03\x80}\x11\x42\x97\x01\n\x13\x63om.chalk.server.v1B\x0eSchedulerProtoP\x01Z\x12server/v1;serverv1\xa2\x02\x03\x43SX\xaa\x02\x0f\x43halk.Server.V1\xca\x02\x0f\x43halk\\Server\\V1\xe2\x02\x1b\x43halk\\Server\\V1\\GPBMetadata\xea\x02\x11\x43halk::Server::V1b\x06proto3'
|
|
25
25
|
)
|
|
26
26
|
|
|
27
27
|
_globals = globals()
|
|
@@ -40,8 +40,8 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
|
40
40
|
_globals["_SCHEDULERSERVICE"].methods_by_name["ManualTriggerCronResolver"]._serialized_options = b"\200}\021"
|
|
41
41
|
_globals["_SCHEDULERSERVICE"].methods_by_name["ManualTriggerScheduledQuery"]._options = None
|
|
42
42
|
_globals["_SCHEDULERSERVICE"].methods_by_name["ManualTriggerScheduledQuery"]._serialized_options = b"\200}\021"
|
|
43
|
-
_globals["_CRONRUNTRIGGERKIND"]._serialized_start =
|
|
44
|
-
_globals["_CRONRUNTRIGGERKIND"]._serialized_end =
|
|
43
|
+
_globals["_CRONRUNTRIGGERKIND"]._serialized_start = 2271
|
|
44
|
+
_globals["_CRONRUNTRIGGERKIND"]._serialized_end = 2427
|
|
45
45
|
_globals["_CRONRESOLVERRUN"]._serialized_start = 221
|
|
46
46
|
_globals["_CRONRESOLVERRUN"]._serialized_end = 987
|
|
47
47
|
_globals["_MANUALTRIGGERCRONRESOLVERREQUEST"]._serialized_start = 990
|
|
@@ -49,13 +49,13 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
|
49
49
|
_globals["_MANUALTRIGGERCRONRESOLVERRESPONSE"]._serialized_start = 1405
|
|
50
50
|
_globals["_MANUALTRIGGERCRONRESOLVERRESPONSE"]._serialized_end = 1518
|
|
51
51
|
_globals["_MANUALTRIGGERSCHEDULEDQUERYREQUEST"]._serialized_start = 1521
|
|
52
|
-
_globals["_MANUALTRIGGERSCHEDULEDQUERYREQUEST"]._serialized_end =
|
|
53
|
-
_globals["_MANUALTRIGGERSCHEDULEDQUERYREQUEST_PLANNEROPTIONSENTRY"]._serialized_start =
|
|
54
|
-
_globals["_MANUALTRIGGERSCHEDULEDQUERYREQUEST_PLANNEROPTIONSENTRY"]._serialized_end =
|
|
55
|
-
_globals["_MANUALTRIGGERSCHEDULEDQUERYREQUEST_ENVOVERRIDESENTRY"]._serialized_start =
|
|
56
|
-
_globals["_MANUALTRIGGERSCHEDULEDQUERYREQUEST_ENVOVERRIDESENTRY"]._serialized_end =
|
|
57
|
-
_globals["_MANUALTRIGGERSCHEDULEDQUERYRESPONSE"]._serialized_start =
|
|
58
|
-
_globals["_MANUALTRIGGERSCHEDULEDQUERYRESPONSE"]._serialized_end =
|
|
59
|
-
_globals["_SCHEDULERSERVICE"]._serialized_start =
|
|
60
|
-
_globals["_SCHEDULERSERVICE"]._serialized_end =
|
|
52
|
+
_globals["_MANUALTRIGGERSCHEDULEDQUERYREQUEST"]._serialized_end = 2145
|
|
53
|
+
_globals["_MANUALTRIGGERSCHEDULEDQUERYREQUEST_PLANNEROPTIONSENTRY"]._serialized_start = 1950
|
|
54
|
+
_globals["_MANUALTRIGGERSCHEDULEDQUERYREQUEST_PLANNEROPTIONSENTRY"]._serialized_end = 2039
|
|
55
|
+
_globals["_MANUALTRIGGERSCHEDULEDQUERYREQUEST_ENVOVERRIDESENTRY"]._serialized_start = 2041
|
|
56
|
+
_globals["_MANUALTRIGGERSCHEDULEDQUERYREQUEST_ENVOVERRIDESENTRY"]._serialized_end = 2104
|
|
57
|
+
_globals["_MANUALTRIGGERSCHEDULEDQUERYRESPONSE"]._serialized_start = 2147
|
|
58
|
+
_globals["_MANUALTRIGGERSCHEDULEDQUERYRESPONSE"]._serialized_end = 2268
|
|
59
|
+
_globals["_SCHEDULERSERVICE"]._serialized_start = 2430
|
|
60
|
+
_globals["_SCHEDULERSERVICE"]._serialized_end = 2730
|
|
61
61
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -123,7 +123,14 @@ class ManualTriggerCronResolverResponse(_message.Message):
|
|
|
123
123
|
def __init__(self, cron_resolver_run: _Optional[_Union[CronResolverRun, _Mapping]] = ...) -> None: ...
|
|
124
124
|
|
|
125
125
|
class ManualTriggerScheduledQueryRequest(_message.Message):
|
|
126
|
-
__slots__ = (
|
|
126
|
+
__slots__ = (
|
|
127
|
+
"cron_query_id",
|
|
128
|
+
"planner_options",
|
|
129
|
+
"incremental_resolvers",
|
|
130
|
+
"max_samples",
|
|
131
|
+
"env_overrides",
|
|
132
|
+
"cron_query_name",
|
|
133
|
+
)
|
|
127
134
|
class PlannerOptionsEntry(_message.Message):
|
|
128
135
|
__slots__ = ("key", "value")
|
|
129
136
|
KEY_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -147,11 +154,13 @@ class ManualTriggerScheduledQueryRequest(_message.Message):
|
|
|
147
154
|
INCREMENTAL_RESOLVERS_FIELD_NUMBER: _ClassVar[int]
|
|
148
155
|
MAX_SAMPLES_FIELD_NUMBER: _ClassVar[int]
|
|
149
156
|
ENV_OVERRIDES_FIELD_NUMBER: _ClassVar[int]
|
|
157
|
+
CRON_QUERY_NAME_FIELD_NUMBER: _ClassVar[int]
|
|
150
158
|
cron_query_id: int
|
|
151
159
|
planner_options: _containers.MessageMap[str, _struct_pb2.Value]
|
|
152
160
|
incremental_resolvers: _containers.RepeatedScalarFieldContainer[str]
|
|
153
161
|
max_samples: int
|
|
154
162
|
env_overrides: _containers.ScalarMap[str, str]
|
|
163
|
+
cron_query_name: str
|
|
155
164
|
def __init__(
|
|
156
165
|
self,
|
|
157
166
|
cron_query_id: _Optional[int] = ...,
|
|
@@ -159,6 +168,7 @@ class ManualTriggerScheduledQueryRequest(_message.Message):
|
|
|
159
168
|
incremental_resolvers: _Optional[_Iterable[str]] = ...,
|
|
160
169
|
max_samples: _Optional[int] = ...,
|
|
161
170
|
env_overrides: _Optional[_Mapping[str, str]] = ...,
|
|
171
|
+
cron_query_name: _Optional[str] = ...,
|
|
162
172
|
) -> None: ...
|
|
163
173
|
|
|
164
174
|
class ManualTriggerScheduledQueryResponse(_message.Message):
|
chalk/_version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "2.92.
|
|
1
|
+
__version__ = "2.92.7"
|
chalk/client/client.py
CHANGED
|
@@ -19,6 +19,7 @@ from typing import (
|
|
|
19
19
|
|
|
20
20
|
import requests
|
|
21
21
|
|
|
22
|
+
from chalk._gen.chalk.server.v1.scheduler_pb2 import ManualTriggerScheduledQueryResponse
|
|
22
23
|
from chalk.client.models import (
|
|
23
24
|
BranchDeployResponse,
|
|
24
25
|
BranchIdParam,
|
|
@@ -1080,6 +1081,52 @@ class ChalkClient:
|
|
|
1080
1081
|
"""
|
|
1081
1082
|
...
|
|
1082
1083
|
|
|
1084
|
+
def run_scheduled_query(
|
|
1085
|
+
self,
|
|
1086
|
+
name: str,
|
|
1087
|
+
planner_options: Optional[Mapping[str, Any]],
|
|
1088
|
+
incremental_resolvers: Optional[Sequence[str]],
|
|
1089
|
+
max_samples: Optional[int],
|
|
1090
|
+
env_overrides: Optional[Mapping[str, str]],
|
|
1091
|
+
) -> ManualTriggerScheduledQueryResponse:
|
|
1092
|
+
"""
|
|
1093
|
+
Manually trigger a scheduled query request.
|
|
1094
|
+
|
|
1095
|
+
Parameters
|
|
1096
|
+
----------
|
|
1097
|
+
name
|
|
1098
|
+
The name of the scheduled query to be triggered.
|
|
1099
|
+
incremental_resolvers
|
|
1100
|
+
If set to None, Chalk will incrementalize resolvers in the query's root namespaces.
|
|
1101
|
+
If set to a list of resolvers, this set will be used for incrementalization.
|
|
1102
|
+
Incremental resolvers must return a feature time in its output, and must return a `DataFrame`.
|
|
1103
|
+
Most commonly, this will be the name of a SQL file resolver. Chalk will ingest all new data
|
|
1104
|
+
from these resolvers and propagate changes to values in the root namespace.
|
|
1105
|
+
max_samples
|
|
1106
|
+
The maximum number of samples to compute.
|
|
1107
|
+
env_overrides:
|
|
1108
|
+
A dictionary of environment values to override during this specific triggered query.
|
|
1109
|
+
|
|
1110
|
+
Other Parameters
|
|
1111
|
+
----------------
|
|
1112
|
+
planner_options
|
|
1113
|
+
A dictionary of options to pass to the planner.
|
|
1114
|
+
These are typically provided by Chalk Support for specific use cases.
|
|
1115
|
+
|
|
1116
|
+
Returns
|
|
1117
|
+
-------
|
|
1118
|
+
ManualTriggerScheduledQueryResponse
|
|
1119
|
+
A response message containing metadata around the triggered run.
|
|
1120
|
+
|
|
1121
|
+
Examples
|
|
1122
|
+
--------
|
|
1123
|
+
>>> from chalk.client.client_grpc import ChalkGRPCClient
|
|
1124
|
+
>>> ChalkGRPCClient().run_scheduled_query(
|
|
1125
|
+
... name="my_scheduled_query",
|
|
1126
|
+
... )
|
|
1127
|
+
"""
|
|
1128
|
+
...
|
|
1129
|
+
|
|
1083
1130
|
def prompt_evaluation(
|
|
1084
1131
|
self,
|
|
1085
1132
|
prompts: list[Prompt | str],
|
chalk/client/client_grpc.py
CHANGED
|
@@ -74,6 +74,11 @@ from chalk._gen.chalk.server.v1.model_registry_pb2 import (
|
|
|
74
74
|
)
|
|
75
75
|
from chalk._gen.chalk.server.v1.model_registry_pb2_grpc import ModelRegistryServiceStub
|
|
76
76
|
from chalk._gen.chalk.server.v1.offline_queries_pb2_grpc import OfflineQueryMetadataServiceStub
|
|
77
|
+
from chalk._gen.chalk.server.v1.scheduler_pb2 import (
|
|
78
|
+
ManualTriggerScheduledQueryRequest,
|
|
79
|
+
ManualTriggerScheduledQueryResponse,
|
|
80
|
+
)
|
|
81
|
+
from chalk._gen.chalk.server.v1.scheduler_pb2_grpc import SchedulerServiceStub
|
|
77
82
|
from chalk._gen.chalk.server.v1.script_tasks_pb2 import CreateScriptTaskRequest, CreateScriptTaskResponse
|
|
78
83
|
from chalk._gen.chalk.server.v1.script_tasks_pb2_grpc import ScriptTaskServiceStub
|
|
79
84
|
from chalk._gen.chalk.server.v1.team_pb2 import (
|
|
@@ -279,6 +284,14 @@ class StubProvider:
|
|
|
279
284
|
)
|
|
280
285
|
return OfflineQueryMetadataServiceStub(self._server_channel)
|
|
281
286
|
|
|
287
|
+
@cached_property
|
|
288
|
+
def scheduled_query_stub(self) -> SchedulerServiceStub:
|
|
289
|
+
if self._server_channel is None:
|
|
290
|
+
raise ValueError(
|
|
291
|
+
"The GRPC engine service is not available. If you would like to set up a GRPC service, please contact Chalk."
|
|
292
|
+
)
|
|
293
|
+
return SchedulerServiceStub(self._server_channel)
|
|
294
|
+
|
|
282
295
|
@cached_property
|
|
283
296
|
def sql_stub(self) -> SqlServiceStub:
|
|
284
297
|
if self._engine_channel is None:
|
|
@@ -523,6 +536,9 @@ class StubRefresher:
|
|
|
523
536
|
def call_offline_query_stub(self, fn: Callable[[OfflineQueryMetadataServiceStub], T]) -> T:
|
|
524
537
|
return self._retry_callable(fn, lambda: self._stub.offline_query_stub)
|
|
525
538
|
|
|
539
|
+
def call_scheduled_query_stub(self, fn: Callable[[SchedulerServiceStub], T]) -> T:
|
|
540
|
+
return self._retry_callable(fn, lambda: self._stub.scheduled_query_stub)
|
|
541
|
+
|
|
526
542
|
def call_sql_stub(self, fn: Callable[[SqlServiceStub], T]) -> T:
|
|
527
543
|
return self._retry_callable(fn, lambda: self._stub.sql_stub)
|
|
528
544
|
|
|
@@ -1229,6 +1245,62 @@ class ChalkGRPCClient:
|
|
|
1229
1245
|
body_type=online_query_pb2.FEATHER_BODY_TYPE_RECORD_BATCHES,
|
|
1230
1246
|
)
|
|
1231
1247
|
|
|
1248
|
+
def run_scheduled_query(
|
|
1249
|
+
self,
|
|
1250
|
+
name: str,
|
|
1251
|
+
planner_options: Optional[Mapping[str, Any]],
|
|
1252
|
+
incremental_resolvers: Optional[Sequence[str]],
|
|
1253
|
+
max_samples: Optional[int],
|
|
1254
|
+
env_overrides: Optional[Mapping[str, str]],
|
|
1255
|
+
) -> ManualTriggerScheduledQueryResponse:
|
|
1256
|
+
"""
|
|
1257
|
+
Manually trigger a scheduled query request.
|
|
1258
|
+
|
|
1259
|
+
Parameters
|
|
1260
|
+
----------
|
|
1261
|
+
name
|
|
1262
|
+
The name of the scheduled query to be triggered.
|
|
1263
|
+
incremental_resolvers
|
|
1264
|
+
If set to None, Chalk will incrementalize resolvers in the query's root namespaces.
|
|
1265
|
+
If set to a list of resolvers, this set will be used for incrementalization.
|
|
1266
|
+
Incremental resolvers must return a feature time in its output, and must return a `DataFrame`.
|
|
1267
|
+
Most commonly, this will be the name of a SQL file resolver. Chalk will ingest all new data
|
|
1268
|
+
from these resolvers and propagate changes to values in the root namespace.
|
|
1269
|
+
max_samples
|
|
1270
|
+
The maximum number of samples to compute.
|
|
1271
|
+
env_overrides:
|
|
1272
|
+
A dictionary of environment values to override during this specific triggered query.
|
|
1273
|
+
|
|
1274
|
+
Other Parameters
|
|
1275
|
+
----------------
|
|
1276
|
+
planner_options
|
|
1277
|
+
A dictionary of options to pass to the planner.
|
|
1278
|
+
These are typically provided by Chalk Support for specific use cases.
|
|
1279
|
+
|
|
1280
|
+
Returns
|
|
1281
|
+
-------
|
|
1282
|
+
ManualTriggerScheduledQueryResponse
|
|
1283
|
+
A response message containing metadata around the triggered run.
|
|
1284
|
+
|
|
1285
|
+
Examples
|
|
1286
|
+
--------
|
|
1287
|
+
>>> from chalk.client.client_grpc import ChalkGRPCClient
|
|
1288
|
+
>>> ChalkGRPCClient().run_scheduled_query(
|
|
1289
|
+
... name="my_scheduled_query",
|
|
1290
|
+
... )
|
|
1291
|
+
"""
|
|
1292
|
+
return self._stub_refresher.call_scheduled_query_stub(
|
|
1293
|
+
lambda x: x.ManualTriggerScheduledQuery(
|
|
1294
|
+
request=ManualTriggerScheduledQueryRequest(
|
|
1295
|
+
cron_query_name=name,
|
|
1296
|
+
planner_options=planner_options or {},
|
|
1297
|
+
incremental_resolvers=incremental_resolvers or (),
|
|
1298
|
+
max_samples=max_samples,
|
|
1299
|
+
env_overrides=env_overrides or {},
|
|
1300
|
+
),
|
|
1301
|
+
)
|
|
1302
|
+
)
|
|
1303
|
+
|
|
1232
1304
|
def get_graph(self, deployment: DeploymentId | None = None) -> Graph:
|
|
1233
1305
|
"""Get the graph for a given deployment.
|
|
1234
1306
|
|
chalk/client/client_impl.py
CHANGED
|
@@ -51,6 +51,7 @@ from typing_extensions import NoReturn, override
|
|
|
51
51
|
from urllib3 import Retry
|
|
52
52
|
|
|
53
53
|
import chalk._repr.utils as repr_utils
|
|
54
|
+
from chalk._gen.chalk.server.v1.scheduler_pb2 import ManualTriggerScheduledQueryResponse
|
|
54
55
|
from chalk._reporting.models import BatchReport, BatchReportResponse
|
|
55
56
|
from chalk._reporting.progress import ProgressService
|
|
56
57
|
from chalk._upload_features.utils import to_multi_upload_inputs
|
|
@@ -2389,6 +2390,69 @@ https://docs.chalk.ai/cli/apply
|
|
|
2389
2390
|
initialized_dataset.is_finished = True
|
|
2390
2391
|
return initialized_dataset
|
|
2391
2392
|
|
|
2393
|
+
def run_scheduled_query(
|
|
2394
|
+
self,
|
|
2395
|
+
name: str,
|
|
2396
|
+
planner_options: Optional[Mapping[str, Any]] = None,
|
|
2397
|
+
incremental_resolvers: Optional[Sequence[str]] = None,
|
|
2398
|
+
max_samples: Optional[int] = None,
|
|
2399
|
+
env_overrides: Optional[Mapping[str, str]] = None,
|
|
2400
|
+
) -> ManualTriggerScheduledQueryResponse:
|
|
2401
|
+
"""
|
|
2402
|
+
Manually trigger a scheduled query request.
|
|
2403
|
+
|
|
2404
|
+
Parameters
|
|
2405
|
+
----------
|
|
2406
|
+
name
|
|
2407
|
+
The name of the scheduled query to be triggered.
|
|
2408
|
+
incremental_resolvers
|
|
2409
|
+
If set to None, Chalk will incrementalize resolvers in the query's root namespaces.
|
|
2410
|
+
If set to a list of resolvers, this set will be used for incrementalization.
|
|
2411
|
+
Incremental resolvers must return a feature time in its output, and must return a `DataFrame`.
|
|
2412
|
+
Most commonly, this will be the name of a SQL file resolver. Chalk will ingest all new data
|
|
2413
|
+
from these resolvers and propagate changes to values in the root namespace.
|
|
2414
|
+
max_samples
|
|
2415
|
+
The maximum number of samples to compute.
|
|
2416
|
+
env_overrides:
|
|
2417
|
+
A dictionary of environment values to override during this specific triggered query.
|
|
2418
|
+
|
|
2419
|
+
Other Parameters
|
|
2420
|
+
----------------
|
|
2421
|
+
planner_options
|
|
2422
|
+
A dictionary of options to pass to the planner.
|
|
2423
|
+
These are typically provided by Chalk Support for specific use cases.
|
|
2424
|
+
|
|
2425
|
+
Returns
|
|
2426
|
+
-------
|
|
2427
|
+
ManualTriggerScheduledQueryResponse
|
|
2428
|
+
A response message containing metadata around the triggered run.
|
|
2429
|
+
|
|
2430
|
+
Examples
|
|
2431
|
+
--------
|
|
2432
|
+
>>> from chalk.client.client_grpc import ChalkGRPCClient
|
|
2433
|
+
>>> ChalkGRPCClient().run_scheduled_query(
|
|
2434
|
+
... name="my_scheduled_query",
|
|
2435
|
+
... )
|
|
2436
|
+
"""
|
|
2437
|
+
from chalk.client.client_grpc import ChalkGRPCClient
|
|
2438
|
+
|
|
2439
|
+
client_grpc = ChalkGRPCClient(
|
|
2440
|
+
client_id=self._client_id,
|
|
2441
|
+
client_secret=self._client_secret,
|
|
2442
|
+
environment=self._primary_environment,
|
|
2443
|
+
api_server=self._api_server,
|
|
2444
|
+
)
|
|
2445
|
+
|
|
2446
|
+
resp = client_grpc.run_scheduled_query(
|
|
2447
|
+
name=name,
|
|
2448
|
+
planner_options=planner_options,
|
|
2449
|
+
incremental_resolvers=incremental_resolvers,
|
|
2450
|
+
max_samples=max_samples,
|
|
2451
|
+
env_overrides=env_overrides,
|
|
2452
|
+
)
|
|
2453
|
+
|
|
2454
|
+
return resp
|
|
2455
|
+
|
|
2392
2456
|
def prompt_evaluation(
|
|
2393
2457
|
self,
|
|
2394
2458
|
prompts: list[Prompt | str],
|
|
@@ -5,6 +5,8 @@ import functools
|
|
|
5
5
|
from typing import Any, Callable, List, Type, TypeVar, cast
|
|
6
6
|
|
|
7
7
|
from chalk._lsp.error_builder import FeatureClassErrorBuilder
|
|
8
|
+
from chalk.features.feature_wrapper import UnresolvedFeature
|
|
9
|
+
from chalk.utils.notebook import is_notebook
|
|
8
10
|
|
|
9
11
|
T = TypeVar("T")
|
|
10
12
|
V = TypeVar("V")
|
|
@@ -54,6 +56,11 @@ def classproperty_support(cls: Type[T]) -> Type[T]:
|
|
|
54
56
|
if (res := self.__chalk_notebook_feature_expressions__.get(item)) is not None:
|
|
55
57
|
return res
|
|
56
58
|
|
|
59
|
+
# If in notebook, fallback to constructing FQN string instead of raising error
|
|
60
|
+
if is_notebook():
|
|
61
|
+
fqn = f"{self.namespace}.{item}"
|
|
62
|
+
return UnresolvedFeature(fqn)
|
|
63
|
+
|
|
57
64
|
builder: FeatureClassErrorBuilder = self.__chalk_error_builder__
|
|
58
65
|
builder.invalid_attribute(
|
|
59
66
|
root_feature_str=self.namespace,
|
|
@@ -25,6 +25,7 @@ from chalk.utils.collections import ensure_tuple
|
|
|
25
25
|
SUPPORTED_LOCAL_MODELS = {
|
|
26
26
|
"all-MiniLM-L6-v2", # https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2
|
|
27
27
|
"sample-bert", # For internal Chalk use
|
|
28
|
+
"sample-linear-nn", # For internal Chalk use
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
# This will eventually be included in SUPPORTED_LOCAL_MODELS
|
|
@@ -11,6 +11,7 @@ from chalk.features._chalkop import op, Aggregation
|
|
|
11
11
|
from chalk.features.filter import Filter
|
|
12
12
|
from chalk.serialization.parsed_annotation import ParsedAnnotation
|
|
13
13
|
from chalk.utils.collections import ensure_tuple
|
|
14
|
+
from chalk.utils.notebook import is_notebook
|
|
14
15
|
|
|
15
16
|
if TYPE_CHECKING:
|
|
16
17
|
from chalk.features.feature_field import Feature
|
|
@@ -22,16 +23,43 @@ class NearestNeighborException(ValueError):
|
|
|
22
23
|
...
|
|
23
24
|
|
|
24
25
|
|
|
26
|
+
class UnresolvedFeature:
|
|
27
|
+
"""Fallback for features that can't be resolved in notebook environments.
|
|
28
|
+
|
|
29
|
+
This allows notebooks to work even when the feature registry is stale or incomplete.
|
|
30
|
+
The server will validate the feature exists when the query is executed.
|
|
31
|
+
"""
|
|
32
|
+
__slots__ = ("fqn",)
|
|
33
|
+
|
|
34
|
+
def __init__(self, fqn: str):
|
|
35
|
+
self.fqn = fqn
|
|
36
|
+
super().__init__()
|
|
37
|
+
|
|
38
|
+
def __str__(self):
|
|
39
|
+
return self.fqn
|
|
40
|
+
|
|
41
|
+
def __repr__(self):
|
|
42
|
+
return f"UnresolvedFeature({self.fqn!r})"
|
|
43
|
+
|
|
44
|
+
def __hash__(self):
|
|
45
|
+
return hash(self.fqn)
|
|
46
|
+
|
|
47
|
+
def __eq__(self, other: object):
|
|
48
|
+
if isinstance(other, UnresolvedFeature):
|
|
49
|
+
return self.fqn == other.fqn
|
|
50
|
+
return False
|
|
51
|
+
|
|
52
|
+
|
|
25
53
|
class _MarkedUnderlyingFeature:
|
|
26
54
|
__slots__ = ("_fn", "_source", "_debug_info")
|
|
27
55
|
|
|
28
|
-
def __init__(self, fn: Callable[[], Feature | Filter | type[DataFrame] | FeatureWrapper | Aggregation],
|
|
56
|
+
def __init__(self, fn: Callable[[], Feature | Filter | type[DataFrame] | FeatureWrapper | Aggregation | UnresolvedFeature],
|
|
29
57
|
debug_info: Any = None) -> None:
|
|
30
58
|
super().__init__()
|
|
31
59
|
self._fn = fn
|
|
32
60
|
self._debug_info = debug_info
|
|
33
61
|
|
|
34
|
-
def __call__(self, *args: Any, **kwds: Any) -> Feature | Filter | type[DataFrame] | FeatureWrapper | Aggregation:
|
|
62
|
+
def __call__(self, *args: Any, **kwds: Any) -> Feature | Filter | type[DataFrame] | FeatureWrapper | Aggregation | UnresolvedFeature:
|
|
35
63
|
return self._fn()
|
|
36
64
|
|
|
37
65
|
|
|
@@ -51,7 +79,7 @@ class FeatureWrapper:
|
|
|
51
79
|
super().__init__()
|
|
52
80
|
self._chalk_underlying = underlying
|
|
53
81
|
|
|
54
|
-
def _chalk_get_underlying(self) -> Feature | Aggregation | Filter | type[DataFrame]:
|
|
82
|
+
def _chalk_get_underlying(self) -> Feature | Aggregation | Filter | type[DataFrame] | UnresolvedFeature:
|
|
55
83
|
if isinstance(self._chalk_underlying, _MarkedUnderlyingFeature):
|
|
56
84
|
self._chalk_underlying = self._chalk_underlying()
|
|
57
85
|
if isinstance(self._chalk_underlying, FeatureWrapper):
|
|
@@ -303,6 +331,12 @@ class FeatureWrapper:
|
|
|
303
331
|
if f.attribute_name == item:
|
|
304
332
|
return FeatureWrapper(underlying.copy_with_path(f))
|
|
305
333
|
|
|
334
|
+
if is_notebook():
|
|
335
|
+
# Construct FQN by preserving the path from the underlying feature
|
|
336
|
+
# If underlying has a path, we need to include it in the FQN
|
|
337
|
+
fqn = f"{underlying.root_fqn}.{item}"
|
|
338
|
+
return UnresolvedFeature(fqn)
|
|
339
|
+
|
|
306
340
|
assert underlying.features_cls is not None
|
|
307
341
|
underlying.features_cls.__chalk_error_builder__.invalid_attribute(
|
|
308
342
|
root_feature_str=joined_class.namespace,
|
|
@@ -314,6 +348,11 @@ class FeatureWrapper:
|
|
|
314
348
|
)
|
|
315
349
|
assert False, "unreachable"
|
|
316
350
|
|
|
351
|
+
# If in notebook, fallback to constructing FQN string instead of raising error
|
|
352
|
+
if is_notebook():
|
|
353
|
+
fqn = f"{underlying.fqn}.{item}"
|
|
354
|
+
return UnresolvedFeature(fqn)
|
|
355
|
+
|
|
317
356
|
assert underlying.features_cls is not None
|
|
318
357
|
underlying.features_cls.__chalk_error_builder__.invalid_attribute(
|
|
319
358
|
root_feature_str=underlying.fqn,
|
chalk/features/resolver.py
CHANGED
|
@@ -555,28 +555,18 @@ class ResolverRegistry:
|
|
|
555
555
|
short_name = resolver.name
|
|
556
556
|
if short_name in self._short_name_to_resolver:
|
|
557
557
|
if not override and not notebook.is_notebook():
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
message=(
|
|
571
|
-
f"Another resolver with the same function name '{resolver.name}' in module "
|
|
572
|
-
f"'{self._short_name_to_resolver[short_name].__module__}' exists. "
|
|
573
|
-
f"Resolver function names must be unique. Please rename this resolver in module '{resolver.__module__}'."
|
|
574
|
-
),
|
|
575
|
-
label="duplicate resolver shortname",
|
|
576
|
-
code="71",
|
|
577
|
-
range=resolver.lsp_builder.function_name(),
|
|
578
|
-
raise_error=None,
|
|
579
|
-
)
|
|
558
|
+
# Same short name was reused
|
|
559
|
+
resolver.lsp_builder.add_diagnostic(
|
|
560
|
+
message=(
|
|
561
|
+
f"Another resolver with the same function name '{resolver.name}' in module "
|
|
562
|
+
f"'{self._short_name_to_resolver[short_name].__module__}' exists. "
|
|
563
|
+
f"Resolver function names must be unique. Please rename this resolver in module '{resolver.__module__}'."
|
|
564
|
+
),
|
|
565
|
+
label="duplicate resolver shortname",
|
|
566
|
+
code="71",
|
|
567
|
+
range=resolver.lsp_builder.function_name(),
|
|
568
|
+
raise_error=None,
|
|
569
|
+
)
|
|
580
570
|
return
|
|
581
571
|
existing_resolver = self._short_name_to_resolver[short_name]
|
|
582
572
|
# Need to remove the resolver from the typed registry
|
|
@@ -321,7 +321,10 @@ def get_sql_file_resolvers(
|
|
|
321
321
|
continue
|
|
322
322
|
_filepath_to_sql_string[filepath] = sql_string_result.sql_string
|
|
323
323
|
yield get_sql_file_resolver(sources, sql_string_result, has_import_errors)
|
|
324
|
-
|
|
324
|
+
# Only yield generated resolvers whose filepath is under the directory being scanned
|
|
325
|
+
for sql_string_result in _GENERATED_SQL_FILE_RESOLVER_REGISTRY.get_generated_sql_file_resolvers(
|
|
326
|
+
filter_by_directory=sql_file_resolve_location
|
|
327
|
+
):
|
|
325
328
|
yield get_sql_file_resolver(sources, sql_string_result, has_import_errors)
|
|
326
329
|
|
|
327
330
|
|
|
@@ -344,8 +347,12 @@ def get_sql_file_resolvers_from_paths(
|
|
|
344
347
|
sql_string_result=sql_string_result,
|
|
345
348
|
has_import_errors=has_import_errors,
|
|
346
349
|
)
|
|
350
|
+
# Only yield generated resolvers whose filepath is in the paths list
|
|
351
|
+
# If paths is empty, yield all generated resolvers (no filtering)
|
|
347
352
|
for sql_string_result in _GENERATED_SQL_FILE_RESOLVER_REGISTRY.get_generated_sql_file_resolvers():
|
|
348
|
-
|
|
353
|
+
# Check if this generated resolver's filepath is in the provided paths
|
|
354
|
+
if not paths or sql_string_result.path in paths:
|
|
355
|
+
yield get_sql_file_resolver(sources, sql_string_result, has_import_errors)
|
|
349
356
|
|
|
350
357
|
|
|
351
358
|
def get_sql_file_resolver(
|
|
@@ -1601,8 +1608,29 @@ class GeneratedSQLFileResolverRegistry:
|
|
|
1601
1608
|
filepath=filepath, sql_string=sql_string, comment_dict=comment_dict, postprocessing_expr=postprocessing_expr
|
|
1602
1609
|
)
|
|
1603
1610
|
|
|
1604
|
-
def get_generated_sql_file_resolvers(self) -> Iterable[SQLStringResult]:
|
|
1611
|
+
def get_generated_sql_file_resolvers(self, filter_by_directory: Path | None = None) -> Iterable[SQLStringResult]:
|
|
1612
|
+
"""
|
|
1613
|
+
Yield generated SQL file resolvers, optionally filtered by directory.
|
|
1614
|
+
|
|
1615
|
+
Args:
|
|
1616
|
+
filter_by_directory: If provided, only yield resolvers whose filepath is under this directory.
|
|
1617
|
+
If None, yield all generated resolvers (legacy behavior).
|
|
1618
|
+
"""
|
|
1605
1619
|
for name, generated_info in self.resolver_name_to_generated_infos.items():
|
|
1620
|
+
# If filtering by directory is requested, check if the resolver's filepath is under that directory
|
|
1621
|
+
if filter_by_directory is not None:
|
|
1622
|
+
# Special case: notebook resolvers (filepath == "<notebook>") should never be auto-yielded
|
|
1623
|
+
# when scanning directories, only when explicitly requested
|
|
1624
|
+
if generated_info.filepath == "<notebook>":
|
|
1625
|
+
continue
|
|
1626
|
+
|
|
1627
|
+
# Convert to absolute paths for comparison and check if resolver path is under filter directory
|
|
1628
|
+
resolver_path = Path(generated_info.filepath).resolve()
|
|
1629
|
+
filter_path = Path(filter_by_directory).resolve()
|
|
1630
|
+
|
|
1631
|
+
if not resolver_path.is_relative_to(filter_path):
|
|
1632
|
+
continue
|
|
1633
|
+
|
|
1606
1634
|
yield SQLStringResult(
|
|
1607
1635
|
path=generated_info.filepath,
|
|
1608
1636
|
sql_string=generated_info.sql_string,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
chalk/__init__.py,sha256=9YxwkAt3Im0OCMfpmnIB_4PKjZfBCcRmwATLXdHNRm4,2609
|
|
2
|
-
chalk/_version.py,sha256=
|
|
2
|
+
chalk/_version.py,sha256=d-uxfuZ0qJiSgR0aSda64ngjHZ7BCg0xyFRxotBYSIM,23
|
|
3
3
|
chalk/cli.py,sha256=ckqqfOI-A2mT23-rnZzDMmblYj-2x1VBX8ebHlIEn9A,5873
|
|
4
4
|
chalk/importer.py,sha256=hCEo7eqSfXZWklkFB2geeipGhiD0qNjPBpQJvOBW6N0,63083
|
|
5
5
|
chalk/prompts.py,sha256=2H9UomLAamdfRTNUdKs9i3VTpiossuyRhntqsAXUhhg,16117
|
|
@@ -390,8 +390,8 @@ chalk/_gen/chalk/server/v1/incident_pb2.py,sha256=4-uejdKheTLIk90OqClCAxb6esH8hM
|
|
|
390
390
|
chalk/_gen/chalk/server/v1/incident_pb2.pyi,sha256=eP3FEl3eHkIRXfXLr_2cn-_GlHHirKQZv87DBg2jLaU,6861
|
|
391
391
|
chalk/_gen/chalk/server/v1/incident_pb2_grpc.py,sha256=VCyAf0skoHSgQPkD4n8rKQPYesinqHqN8TEwyu7XGUo,159
|
|
392
392
|
chalk/_gen/chalk/server/v1/incident_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
|
|
393
|
-
chalk/_gen/chalk/server/v1/integrations_pb2.py,sha256=
|
|
394
|
-
chalk/_gen/chalk/server/v1/integrations_pb2.pyi,sha256=
|
|
393
|
+
chalk/_gen/chalk/server/v1/integrations_pb2.py,sha256=BSgvuWniq6oyJhoBz1Ptcov3Q9G1u8NdpQp_ogRWbDE,14216
|
|
394
|
+
chalk/_gen/chalk/server/v1/integrations_pb2.pyi,sha256=_EJVXKyY75KI9xu32ZmHkew2APzNf8IWHrc2cAayfSM,11977
|
|
395
395
|
chalk/_gen/chalk/server/v1/integrations_pb2_grpc.py,sha256=bWarXrUn1O7t6RhGCCKo0X0IIXaA9SKln7AQDVEY8vM,16185
|
|
396
396
|
chalk/_gen/chalk/server/v1/integrations_pb2_grpc.pyi,sha256=uV38oDuzdnQObTbdFjrVSVH0C92FTB4Wx_Cd4v1-wr0,3478
|
|
397
397
|
chalk/_gen/chalk/server/v1/kube_pb2.py,sha256=5cV8jL3Nwal2FTX3-6dh0lrMxKduzjanC3hV8lLU-CI,6791
|
|
@@ -462,8 +462,8 @@ chalk/_gen/chalk/server/v1/scheduled_query_run_pb2.py,sha256=ykS7SrO0bu74O55qu6E
|
|
|
462
462
|
chalk/_gen/chalk/server/v1/scheduled_query_run_pb2.pyi,sha256=M9JNVrg74MI-ay5bOzJU-BdC8h-jUkrAmlssiCFTln4,6113
|
|
463
463
|
chalk/_gen/chalk/server/v1/scheduled_query_run_pb2_grpc.py,sha256=VCyAf0skoHSgQPkD4n8rKQPYesinqHqN8TEwyu7XGUo,159
|
|
464
464
|
chalk/_gen/chalk/server/v1/scheduled_query_run_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
|
|
465
|
-
chalk/_gen/chalk/server/v1/scheduler_pb2.py,sha256=
|
|
466
|
-
chalk/_gen/chalk/server/v1/scheduler_pb2.pyi,sha256=
|
|
465
|
+
chalk/_gen/chalk/server/v1/scheduler_pb2.py,sha256=51WGM0OLvEzZBvgy7gubBGkUH3NSDwEHRZ1P1enkz0c,8061
|
|
466
|
+
chalk/_gen/chalk/server/v1/scheduler_pb2.pyi,sha256=G--OoEXULE2nRhp2pQ9rXYRicqeY7J47FWDwBdNvSx0,7154
|
|
467
467
|
chalk/_gen/chalk/server/v1/scheduler_pb2_grpc.py,sha256=LEfa6Htuud5PHvl9_daN-Bs0KfBPkvrS9YHjM8EjY08,4969
|
|
468
468
|
chalk/_gen/chalk/server/v1/scheduler_pb2_grpc.pyi,sha256=tDMzDHvI-TNcmQzCmlKebNl8KECl7p41zgPmZOreC1o,1395
|
|
469
469
|
chalk/_gen/chalk/server/v1/script_tasks_pb2.py,sha256=MfrJdphkoDV-aNWYF10pG_cvPFlVO72-LK_RUmTQYX8,7534
|
|
@@ -550,11 +550,11 @@ chalk/_validation/validation.py,sha256=9cCMfZa9-1wxkXLme_ylmD5vIA1qExJD6aqbYvbmK
|
|
|
550
550
|
chalk/byte_transmit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
551
551
|
chalk/byte_transmit/model.py,sha256=LFX8pj9X_CWXeap7fDnMl9YmXsYTgq7jBAbEWkxoYoE,13048
|
|
552
552
|
chalk/client/__init__.py,sha256=wu3WQVzE5gRj6noQQDOdYJUgDaz_9QtbjXH4KuoIlXQ,1782
|
|
553
|
-
chalk/client/client.py,sha256=
|
|
553
|
+
chalk/client/client.py,sha256=Grw2wvvsXOTTIcVIan8eqWHEUi9RjX2iABivPW2xkfw,102767
|
|
554
554
|
chalk/client/client_async.py,sha256=Ujij2yo1CxbmfeP1yUnwP34NuOVDBS0FRhSOU5ZNaVw,50630
|
|
555
555
|
chalk/client/client_async_impl.py,sha256=ZphhgTB49JBWHCGXe-dI0wWWKc9zPcOczy02q_gFy50,6925
|
|
556
|
-
chalk/client/client_grpc.py,sha256=
|
|
557
|
-
chalk/client/client_impl.py,sha256=
|
|
556
|
+
chalk/client/client_grpc.py,sha256=86W32GXemHb0xt78sUKhgorY2Me3ud53YNzEr09NcDg,93683
|
|
557
|
+
chalk/client/client_impl.py,sha256=vM33_h-0jOVKBy7XGTVwtd4IPd-WbHyL2LRRYsRbgvs,209214
|
|
558
558
|
chalk/client/dataset.py,sha256=LneWwaAOHCjtj7gaJjsSeVNruj-QJ51hjRi62zrFNVE,77561
|
|
559
559
|
chalk/client/exc.py,sha256=kZJ80YbSeSRDmTLTh240j_eRdJFZBa7IaDsNSRoDroU,4145
|
|
560
560
|
chalk/client/models.py,sha256=D-qsD6-C3WlipAXmN0Eb5mQbtbVgN0xihj7g71AdR10,60634
|
|
@@ -578,7 +578,7 @@ chalk/df/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
578
578
|
chalk/df/ast_parser.py,sha256=t-DwUxd2hN8LECRSBx85DIv9FtILgMiHyGyCTINfgQw,11199
|
|
579
579
|
chalk/features/__init__.py,sha256=5doD7bFwRthzwdmizbRaPVHiCABiNpiOiAJVFlwqNnA,6943
|
|
580
580
|
chalk/features/_chalkop.py,sha256=N229Tsoc3fgAiyoH6ZtygrD6uCdkBk_JSOXQSpDd6QA,18383
|
|
581
|
-
chalk/features/_class_property.py,sha256=
|
|
581
|
+
chalk/features/_class_property.py,sha256=YR_GjTcdDKYEyQ4uyGLpt-CYvs4XuVnLEI1N2QEyTNA,3579
|
|
582
582
|
chalk/features/_document.py,sha256=ck3J958tNEIIKU4s_uoLObM-H2PG0Oqs4DtKtouGJVE,368
|
|
583
583
|
chalk/features/_geospatial.py,sha256=OF3lasbFstw5gj8vrAqkU8815bvZeHoFRppS9ZfB5rU,4382
|
|
584
584
|
chalk/features/_last.py,sha256=IyYe0PVAKBu8FRhCZiK6Dy5afKbwDHEUTES5qVXbaZU,1163
|
|
@@ -589,7 +589,7 @@ chalk/features/feature_field.py,sha256=tLP9iybcYa7eM2eJJ0iSRks-ptyabA0l_SAJ83t6n
|
|
|
589
589
|
chalk/features/feature_set.py,sha256=yNi0_J4CylAVkVp1Y67qV6i8vHMdE0p99DnyLPABPHI,12406
|
|
590
590
|
chalk/features/feature_set_decorator.py,sha256=HMGnQdXQevpsTCNGIG2njViHDnm1ltFoZDhABFkp3Dw,65059
|
|
591
591
|
chalk/features/feature_time.py,sha256=iUk8NDelig81jP7QT3tguyzx5eOZ-YC84OVgJRRKVwo,1639
|
|
592
|
-
chalk/features/feature_wrapper.py,sha256=
|
|
592
|
+
chalk/features/feature_wrapper.py,sha256=OolNWGGX67IAEMHCObFvOCpH5EmwjbMvMygRSBJJtu0,19259
|
|
593
593
|
chalk/features/filter.py,sha256=2ldMbqvXC-nJ0jc-OZ36qHtrej-Jkx4TNQ1W_NZodAs,11177
|
|
594
594
|
chalk/features/hooks.py,sha256=KPJnudnhosEH7UptQT8W8sumIYPcZVMVjaJJJhPsOyk,5489
|
|
595
595
|
chalk/features/inference.py,sha256=hQ6htPh6Q-XzfRjpEgMHKaCGwpKlnGG0wcxoGqwPQfo,4912
|
|
@@ -597,13 +597,13 @@ chalk/features/live_updates.py,sha256=8ZbiDjcLqfFruSL15_aycwzSqJ0TbKNhas06KfZLyL
|
|
|
597
597
|
chalk/features/namespace_context.py,sha256=fL-nPohqtNiyPDS1uQTAaHLns4aivuBL2Flf50DajU4,1813
|
|
598
598
|
chalk/features/primary.py,sha256=BZ8mrMmKfRNy_wnKGDJt2cdnejP_CZb6xBsD9Ljgajc,5209
|
|
599
599
|
chalk/features/pseudofeatures.py,sha256=50Pe_Xi8ttYWtgNNRpgkhBxP8xoCZCYwyLb0aWUQ-PI,2147
|
|
600
|
-
chalk/features/resolver.py,sha256=
|
|
600
|
+
chalk/features/resolver.py,sha256=uH9bpYB_a8ihARHaUTvGe6-S2qZmwnB-YczW99DtLLQ,181763
|
|
601
601
|
chalk/features/tag.py,sha256=LRmKRA8ANCOvmaIAk-L5j1QW2U0aah2SeASy8Uydkmk,2675
|
|
602
602
|
chalk/features/underscore.py,sha256=4xnfQV3bfvVn0PNEtkT4J-k7hW4ebtH9KBe4_BvGjY4,26763
|
|
603
603
|
chalk/features/underscore_features.py,sha256=PlVCoaDDffOgtiSMaxPSWCoj8IjscbkOzDLA471HsJ4,13005
|
|
604
604
|
chalk/features/_embedding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
605
605
|
chalk/features/_embedding/cohere.py,sha256=lOPUBgxgalKRC-2VsfvvIWiDkWULL0BZouSNmvDOyVA,3678
|
|
606
|
-
chalk/features/_embedding/embedding.py,sha256=
|
|
606
|
+
chalk/features/_embedding/embedding.py,sha256=sHZ48AaiNPPlSuFvmpZIE8PVPSKbthGFTqAC-3BBFdg,18334
|
|
607
607
|
chalk/features/_embedding/embedding_provider.py,sha256=4bpla6qs9AkDzVWX4u_VV3lg1b8m4d35VMztRaUcgLE,1855
|
|
608
608
|
chalk/features/_embedding/openai.py,sha256=9St_ks5oavMoKlaw-Q3Flvj32XAIApgScwX8aPiZP6E,6286
|
|
609
609
|
chalk/features/_embedding/sentence_transformer.py,sha256=hNYuT9D-16C49lkhIVK_KXZTYYD1mJsPs_mfBrMd3DA,4811
|
|
@@ -688,7 +688,7 @@ chalk/sql/_internal/chalk_query.py,sha256=O2Mv0JHWvSrP3iDfkooy22yoDuWAH57m1i8qcy
|
|
|
688
688
|
chalk/sql/_internal/incremental.py,sha256=xqnohrZIoqE3y92edUl_oEkHQoFZw9GN8GIOUynyyEI,2900
|
|
689
689
|
chalk/sql/_internal/query_execution_parameters.py,sha256=FT0GixOryGeKR1x7UrQNoGFtySd_8-B4Xrp38nFi0FU,3679
|
|
690
690
|
chalk/sql/_internal/query_registry.py,sha256=jOk2x9NvW2pZocI_iTvgd9DyOlr4-ajz8rTi0kkLSaI,3005
|
|
691
|
-
chalk/sql/_internal/sql_file_resolver.py,sha256=
|
|
691
|
+
chalk/sql/_internal/sql_file_resolver.py,sha256=BCGTpe3tVLQTWNSrfyUFsg8VfO-pupeN8yxGpiSmy5E,77817
|
|
692
692
|
chalk/sql/_internal/sql_settings.py,sha256=9lcpHNrmEhr1Zxl_Ct7U0p0AbLUvlpSayxHEPmyqu8E,543
|
|
693
693
|
chalk/sql/_internal/sql_source.py,sha256=D5GEYIBVyGpsb66qcXasJaldM6uhE4sZSaaTbYqd3Q4,42302
|
|
694
694
|
chalk/sql/_internal/sql_source_group.py,sha256=RIMEjEG3oSGwign37w9avpCRdVfVQepR8SPVv6JoOx0,5562
|
|
@@ -764,8 +764,8 @@ chalk/utils/tracing.py,sha256=Glx8YrtjWy0zE5YbpgfgcsLDshAKnnYm9poiWNeCxXs,11075
|
|
|
764
764
|
chalk/utils/weak_set_by_identity.py,sha256=VmikA_laYwFeOphCwXJIuyOIkrdlQe0bSzaXq7onoQw,953
|
|
765
765
|
chalk/utils/pydanticutil/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
766
766
|
chalk/utils/pydanticutil/pydantic_compat.py,sha256=O575lLYJ5GvZC4HMzR9yATxf9XwjC6NrDUXbNwZidlE,3031
|
|
767
|
-
chalkpy-2.92.
|
|
768
|
-
chalkpy-2.92.
|
|
769
|
-
chalkpy-2.92.
|
|
770
|
-
chalkpy-2.92.
|
|
771
|
-
chalkpy-2.92.
|
|
767
|
+
chalkpy-2.92.7.dist-info/METADATA,sha256=OelP4RHQ-T8d4M6F0PUS3jFjgCrmk1ljhuOAbPqbjM4,27494
|
|
768
|
+
chalkpy-2.92.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
769
|
+
chalkpy-2.92.7.dist-info/entry_points.txt,sha256=Vg23sd8icwq-morJrljVFr-kQnMbm95rZfZj5wsZGis,42
|
|
770
|
+
chalkpy-2.92.7.dist-info/top_level.txt,sha256=1Q6_19IGYfNxSw50W8tYKEJ2t5HKQ3W9Wiw4ia5yg2c,6
|
|
771
|
+
chalkpy-2.92.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|