chalkpy 2.96.0__py3-none-any.whl → 2.96.1__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/engine/v2/introspection_service_pb2.py +39 -0
- chalk/_gen/chalk/engine/v2/introspection_service_pb2.pyi +21 -0
- chalk/_gen/chalk/engine/v2/introspection_service_pb2_grpc.py +80 -0
- chalk/_gen/chalk/engine/v2/introspection_service_pb2_grpc.pyi +36 -0
- chalk/_version.py +1 -1
- chalk/sql/_internal/sql_file_resolver.py +92 -2
- {chalkpy-2.96.0.dist-info → chalkpy-2.96.1.dist-info}/METADATA +1 -1
- {chalkpy-2.96.0.dist-info → chalkpy-2.96.1.dist-info}/RECORD +11 -7
- {chalkpy-2.96.0.dist-info → chalkpy-2.96.1.dist-info}/WHEEL +0 -0
- {chalkpy-2.96.0.dist-info → chalkpy-2.96.1.dist-info}/entry_points.txt +0 -0
- {chalkpy-2.96.0.dist-info → chalkpy-2.96.1.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: chalk/engine/v2/introspection_service.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.auth.v1 import permissions_pb2 as chalk_dot_auth_dot_v1_dot_permissions__pb2
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
|
|
20
|
+
b'\n+chalk/engine/v2/introspection_service.proto\x12\x0f\x63halk.engine.v2\x1a\x1f\x63halk/auth/v1/permissions.proto"8\n\x17ParseSQLResolverRequest\x12\x1d\n\nsql_string\x18\x01 \x01(\tR\tsqlString"L\n\x18ParseSQLResolverResponse\x12\x16\n\x06inputs\x18\x01 \x03(\tR\x06inputs\x12\x18\n\x07outputs\x18\x02 \x03(\tR\x07outputs2\x87\x01\n\x14IntrospectionService\x12o\n\x10ParseSQLResolver\x12(.chalk.engine.v2.ParseSQLResolverRequest\x1a).chalk.engine.v2.ParseSQLResolverResponse"\x06\x90\x02\x01\x80}\x02\x42\x8e\x01\n\x13\x63om.chalk.engine.v2B\x19IntrospectionServiceProtoP\x01\xa2\x02\x03\x43\x45X\xaa\x02\x0f\x43halk.Engine.V2\xca\x02\x0f\x43halk\\Engine\\V2\xe2\x02\x1b\x43halk\\Engine\\V2\\GPBMetadata\xea\x02\x11\x43halk::Engine::V2b\x06proto3'
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
_globals = globals()
|
|
24
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
25
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "chalk.engine.v2.introspection_service_pb2", _globals)
|
|
26
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
27
|
+
_globals["DESCRIPTOR"]._options = None
|
|
28
|
+
_globals[
|
|
29
|
+
"DESCRIPTOR"
|
|
30
|
+
]._serialized_options = b"\n\023com.chalk.engine.v2B\031IntrospectionServiceProtoP\001\242\002\003CEX\252\002\017Chalk.Engine.V2\312\002\017Chalk\\Engine\\V2\342\002\033Chalk\\Engine\\V2\\GPBMetadata\352\002\021Chalk::Engine::V2"
|
|
31
|
+
_globals["_INTROSPECTIONSERVICE"].methods_by_name["ParseSQLResolver"]._options = None
|
|
32
|
+
_globals["_INTROSPECTIONSERVICE"].methods_by_name["ParseSQLResolver"]._serialized_options = b"\220\002\001\200}\002"
|
|
33
|
+
_globals["_PARSESQLRESOLVERREQUEST"]._serialized_start = 97
|
|
34
|
+
_globals["_PARSESQLRESOLVERREQUEST"]._serialized_end = 153
|
|
35
|
+
_globals["_PARSESQLRESOLVERRESPONSE"]._serialized_start = 155
|
|
36
|
+
_globals["_PARSESQLRESOLVERRESPONSE"]._serialized_end = 231
|
|
37
|
+
_globals["_INTROSPECTIONSERVICE"]._serialized_start = 234
|
|
38
|
+
_globals["_INTROSPECTIONSERVICE"]._serialized_end = 369
|
|
39
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from chalk._gen.chalk.auth.v1 import permissions_pb2 as _permissions_pb2
|
|
2
|
+
from google.protobuf.internal import containers as _containers
|
|
3
|
+
from google.protobuf import descriptor as _descriptor
|
|
4
|
+
from google.protobuf import message as _message
|
|
5
|
+
from typing import ClassVar as _ClassVar, Iterable as _Iterable, Optional as _Optional
|
|
6
|
+
|
|
7
|
+
DESCRIPTOR: _descriptor.FileDescriptor
|
|
8
|
+
|
|
9
|
+
class ParseSQLResolverRequest(_message.Message):
|
|
10
|
+
__slots__ = ("sql_string",)
|
|
11
|
+
SQL_STRING_FIELD_NUMBER: _ClassVar[int]
|
|
12
|
+
sql_string: str
|
|
13
|
+
def __init__(self, sql_string: _Optional[str] = ...) -> None: ...
|
|
14
|
+
|
|
15
|
+
class ParseSQLResolverResponse(_message.Message):
|
|
16
|
+
__slots__ = ("inputs", "outputs")
|
|
17
|
+
INPUTS_FIELD_NUMBER: _ClassVar[int]
|
|
18
|
+
OUTPUTS_FIELD_NUMBER: _ClassVar[int]
|
|
19
|
+
inputs: _containers.RepeatedScalarFieldContainer[str]
|
|
20
|
+
outputs: _containers.RepeatedScalarFieldContainer[str]
|
|
21
|
+
def __init__(self, inputs: _Optional[_Iterable[str]] = ..., outputs: _Optional[_Iterable[str]] = ...) -> None: ...
|
|
@@ -0,0 +1,80 @@
|
|
|
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
|
|
5
|
+
|
|
6
|
+
from chalk._gen.chalk.engine.v2 import (
|
|
7
|
+
introspection_service_pb2 as chalk_dot_engine_dot_v2_dot_introspection__service__pb2,
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class IntrospectionServiceStub(object):
|
|
12
|
+
"""Missing associated documentation comment in .proto file."""
|
|
13
|
+
|
|
14
|
+
def __init__(self, channel):
|
|
15
|
+
"""Constructor.
|
|
16
|
+
|
|
17
|
+
Args:
|
|
18
|
+
channel: A grpc.Channel.
|
|
19
|
+
"""
|
|
20
|
+
self.ParseSQLResolver = channel.unary_unary(
|
|
21
|
+
"/chalk.engine.v2.IntrospectionService/ParseSQLResolver",
|
|
22
|
+
request_serializer=chalk_dot_engine_dot_v2_dot_introspection__service__pb2.ParseSQLResolverRequest.SerializeToString,
|
|
23
|
+
response_deserializer=chalk_dot_engine_dot_v2_dot_introspection__service__pb2.ParseSQLResolverResponse.FromString,
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class IntrospectionServiceServicer(object):
|
|
28
|
+
"""Missing associated documentation comment in .proto file."""
|
|
29
|
+
|
|
30
|
+
def ParseSQLResolver(self, request, context):
|
|
31
|
+
"""Missing associated documentation comment in .proto file."""
|
|
32
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
33
|
+
context.set_details("Method not implemented!")
|
|
34
|
+
raise NotImplementedError("Method not implemented!")
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def add_IntrospectionServiceServicer_to_server(servicer, server):
|
|
38
|
+
rpc_method_handlers = {
|
|
39
|
+
"ParseSQLResolver": grpc.unary_unary_rpc_method_handler(
|
|
40
|
+
servicer.ParseSQLResolver,
|
|
41
|
+
request_deserializer=chalk_dot_engine_dot_v2_dot_introspection__service__pb2.ParseSQLResolverRequest.FromString,
|
|
42
|
+
response_serializer=chalk_dot_engine_dot_v2_dot_introspection__service__pb2.ParseSQLResolverResponse.SerializeToString,
|
|
43
|
+
),
|
|
44
|
+
}
|
|
45
|
+
generic_handler = grpc.method_handlers_generic_handler("chalk.engine.v2.IntrospectionService", rpc_method_handlers)
|
|
46
|
+
server.add_generic_rpc_handlers((generic_handler,))
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
# This class is part of an EXPERIMENTAL API.
|
|
50
|
+
class IntrospectionService(object):
|
|
51
|
+
"""Missing associated documentation comment in .proto file."""
|
|
52
|
+
|
|
53
|
+
@staticmethod
|
|
54
|
+
def ParseSQLResolver(
|
|
55
|
+
request,
|
|
56
|
+
target,
|
|
57
|
+
options=(),
|
|
58
|
+
channel_credentials=None,
|
|
59
|
+
call_credentials=None,
|
|
60
|
+
insecure=False,
|
|
61
|
+
compression=None,
|
|
62
|
+
wait_for_ready=None,
|
|
63
|
+
timeout=None,
|
|
64
|
+
metadata=None,
|
|
65
|
+
):
|
|
66
|
+
return grpc.experimental.unary_unary(
|
|
67
|
+
request,
|
|
68
|
+
target,
|
|
69
|
+
"/chalk.engine.v2.IntrospectionService/ParseSQLResolver",
|
|
70
|
+
chalk_dot_engine_dot_v2_dot_introspection__service__pb2.ParseSQLResolverRequest.SerializeToString,
|
|
71
|
+
chalk_dot_engine_dot_v2_dot_introspection__service__pb2.ParseSQLResolverResponse.FromString,
|
|
72
|
+
options,
|
|
73
|
+
channel_credentials,
|
|
74
|
+
insecure,
|
|
75
|
+
call_credentials,
|
|
76
|
+
compression,
|
|
77
|
+
wait_for_ready,
|
|
78
|
+
timeout,
|
|
79
|
+
metadata,
|
|
80
|
+
)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"""
|
|
2
|
+
@generated by mypy-protobuf. Do not edit manually!
|
|
3
|
+
isort:skip_file
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from abc import (
|
|
7
|
+
ABCMeta,
|
|
8
|
+
abstractmethod,
|
|
9
|
+
)
|
|
10
|
+
from chalk._gen.chalk.engine.v2.introspection_service_pb2 import (
|
|
11
|
+
ParseSQLResolverRequest,
|
|
12
|
+
ParseSQLResolverResponse,
|
|
13
|
+
)
|
|
14
|
+
from grpc import (
|
|
15
|
+
Channel,
|
|
16
|
+
Server,
|
|
17
|
+
ServicerContext,
|
|
18
|
+
UnaryUnaryMultiCallable,
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
class IntrospectionServiceStub:
|
|
22
|
+
def __init__(self, channel: Channel) -> None: ...
|
|
23
|
+
ParseSQLResolver: UnaryUnaryMultiCallable[
|
|
24
|
+
ParseSQLResolverRequest,
|
|
25
|
+
ParseSQLResolverResponse,
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
class IntrospectionServiceServicer(metaclass=ABCMeta):
|
|
29
|
+
@abstractmethod
|
|
30
|
+
def ParseSQLResolver(
|
|
31
|
+
self,
|
|
32
|
+
request: ParseSQLResolverRequest,
|
|
33
|
+
context: ServicerContext,
|
|
34
|
+
) -> ParseSQLResolverResponse: ...
|
|
35
|
+
|
|
36
|
+
def add_IntrospectionServiceServicer_to_server(servicer: IntrospectionServiceServicer, server: Server) -> None: ...
|
chalk/_version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "2.96.
|
|
1
|
+
__version__ = "2.96.1"
|
|
@@ -837,10 +837,98 @@ class EscapedSqlString:
|
|
|
837
837
|
errors: List[ResolverError]
|
|
838
838
|
|
|
839
839
|
|
|
840
|
+
@dataclasses.dataclass
|
|
841
|
+
class ParsedSqlResolver:
|
|
842
|
+
inputs: list[str]
|
|
843
|
+
outputs: list[str]
|
|
844
|
+
|
|
845
|
+
|
|
846
|
+
def parse_sql_resolver(sql_string: str) -> ParsedSqlResolver:
|
|
847
|
+
"""
|
|
848
|
+
Parse a SQL resolver string to extract input and output features.
|
|
849
|
+
|
|
850
|
+
Args:
|
|
851
|
+
sql_string: SQL string with ${feature.name} syntax for inputs and directive comments
|
|
852
|
+
|
|
853
|
+
Returns:
|
|
854
|
+
ParsedSqlResolver with inputs (feature names) and outputs (fully qualified column names)
|
|
855
|
+
"""
|
|
856
|
+
try:
|
|
857
|
+
import sqlglot
|
|
858
|
+
import sqlglot.expressions
|
|
859
|
+
except ImportError:
|
|
860
|
+
raise missing_dependency_exception("chalkpy[runtime]")
|
|
861
|
+
|
|
862
|
+
from chalk._lsp.error_builder import SQLFileResolverErrorBuilder
|
|
863
|
+
|
|
864
|
+
error_builder = SQLFileResolverErrorBuilder(
|
|
865
|
+
uri="<parse-request>",
|
|
866
|
+
sql_string=sql_string,
|
|
867
|
+
has_import_errors=False,
|
|
868
|
+
)
|
|
869
|
+
|
|
870
|
+
# Extract inputs
|
|
871
|
+
escaped = escape_sql_params(
|
|
872
|
+
sql_string=sql_string,
|
|
873
|
+
path="<parse-request>",
|
|
874
|
+
error_builder=error_builder,
|
|
875
|
+
parse_only=True,
|
|
876
|
+
)
|
|
877
|
+
inputs = list(escaped.args.values())
|
|
878
|
+
sql_string = escaped.escaped_sql_string
|
|
879
|
+
|
|
880
|
+
# Parse directive comments
|
|
881
|
+
comments = ""
|
|
882
|
+
docstring = ""
|
|
883
|
+
for comment in sql_string.splitlines():
|
|
884
|
+
if comment.strip().startswith("--"):
|
|
885
|
+
stripped_comment = comment.strip().replace("--", "")
|
|
886
|
+
if stripped_comment.strip().startswith("-"):
|
|
887
|
+
comments += f"{stripped_comment}\n"
|
|
888
|
+
else:
|
|
889
|
+
if count_colons(stripped_comment) != 1:
|
|
890
|
+
docstring += f"{stripped_comment.strip()}\n"
|
|
891
|
+
else:
|
|
892
|
+
comments += f"{stripped_comment}\n"
|
|
893
|
+
else:
|
|
894
|
+
break
|
|
895
|
+
|
|
896
|
+
# Extract resolves and namespace directives to build the output namespace
|
|
897
|
+
namespace_str = None
|
|
898
|
+
if len(comments) != 0:
|
|
899
|
+
try:
|
|
900
|
+
comment_dict: Dict[str, Any] = yaml.safe_load(comments)
|
|
901
|
+
except Exception:
|
|
902
|
+
comment_dict = {}
|
|
903
|
+
|
|
904
|
+
if comment_dict and "resolves" in comment_dict:
|
|
905
|
+
resolves = comment_dict["resolves"]
|
|
906
|
+
namespace_from_comment = comment_dict.get("namespace")
|
|
907
|
+
namespace_str = build_namespaced_name(namespace=namespace_from_comment, name=to_snake_case(resolves))
|
|
908
|
+
|
|
909
|
+
# Parse SELECT columns and qualify with namespace if available
|
|
910
|
+
outputs = []
|
|
911
|
+
try:
|
|
912
|
+
glots = sqlglot.parse(sql=sql_string)
|
|
913
|
+
if glots:
|
|
914
|
+
glot = glots[0]
|
|
915
|
+
if isinstance(glot, (sqlglot.expressions.Select, sqlglot.expressions.Union)):
|
|
916
|
+
raw_outputs = list(glot.named_selects)
|
|
917
|
+
if namespace_str:
|
|
918
|
+
outputs = [f"{namespace_str}.{col}" for col in raw_outputs]
|
|
919
|
+
else:
|
|
920
|
+
outputs = raw_outputs
|
|
921
|
+
except Exception:
|
|
922
|
+
pass
|
|
923
|
+
|
|
924
|
+
return ParsedSqlResolver(inputs=inputs, outputs=outputs)
|
|
925
|
+
|
|
926
|
+
|
|
840
927
|
def escape_sql_params(
|
|
841
928
|
sql_string: str,
|
|
842
929
|
path: str,
|
|
843
930
|
error_builder: SQLFileResolverErrorBuilder,
|
|
931
|
+
parse_only: bool = False,
|
|
844
932
|
) -> EscapedSqlString:
|
|
845
933
|
"""
|
|
846
934
|
Chalk allows people to write SQL resolvers that reference features using ${} syntax, such as:
|
|
@@ -853,6 +941,7 @@ def escape_sql_params(
|
|
|
853
941
|
:param sql_string: String of hte original SQL resolver
|
|
854
942
|
:param path: For error reporting, filepath of the SQL resolver
|
|
855
943
|
:param error_builder: For LSP errors
|
|
944
|
+
:param parse_only: If True, skip feature registry lookups for default values
|
|
856
945
|
"""
|
|
857
946
|
args = {} # sql string -> input feature string
|
|
858
947
|
|
|
@@ -891,8 +980,9 @@ def escape_sql_params(
|
|
|
891
980
|
variable = split[0].strip()
|
|
892
981
|
default_arg = split[1].strip()
|
|
893
982
|
default_arg = json.loads(default_arg)
|
|
894
|
-
|
|
895
|
-
|
|
983
|
+
if not parse_only:
|
|
984
|
+
f = Feature.from_root_fqn(variable)
|
|
985
|
+
default_arg = f.converter.from_json_to_rich(default_arg)
|
|
896
986
|
default_args.append(default_arg)
|
|
897
987
|
has_default_arg = True
|
|
898
988
|
if not has_default_arg:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
chalk/__init__.py,sha256=vKsx9-cl5kImlVWGHVRYO6bweBm79NAzGs3l36u71wM,2657
|
|
2
|
-
chalk/_version.py,sha256=
|
|
2
|
+
chalk/_version.py,sha256=53oisDKLL-9FrciuE997yxhzB_eVulphF1oc5zt1rD8,23
|
|
3
3
|
chalk/cli.py,sha256=ckqqfOI-A2mT23-rnZzDMmblYj-2x1VBX8ebHlIEn9A,5873
|
|
4
4
|
chalk/importer.py,sha256=m4lMn1lSYj_euDq8CS7LYTBnek9JOcjGJf9-82dJHbA,64441
|
|
5
5
|
chalk/prompts.py,sha256=2H9UomLAamdfRTNUdKs9i3VTpiossuyRhntqsAXUhhg,16117
|
|
@@ -193,6 +193,10 @@ chalk/_gen/chalk/engine/v2/feature_values_pb2.py,sha256=enBKvU-D_eVeY3at_g29_-tu
|
|
|
193
193
|
chalk/_gen/chalk/engine/v2/feature_values_pb2.pyi,sha256=pVmjsH9_KUKS7SCF7PVwO6d7R2aMPn28RTU262mmbL0,4781
|
|
194
194
|
chalk/_gen/chalk/engine/v2/feature_values_pb2_grpc.py,sha256=VCyAf0skoHSgQPkD4n8rKQPYesinqHqN8TEwyu7XGUo,159
|
|
195
195
|
chalk/_gen/chalk/engine/v2/feature_values_pb2_grpc.pyi,sha256=ff2TSiLVnG6IVQcTGzb2DIH3XRSoAvAo_RMcvbMFyc0,76
|
|
196
|
+
chalk/_gen/chalk/engine/v2/introspection_service_pb2.py,sha256=CO4-cB9glhblVhG8omar9ZYcPAIJQBAdOKTp9t2jD8s,2621
|
|
197
|
+
chalk/_gen/chalk/engine/v2/introspection_service_pb2.pyi,sha256=lGJA1i5WZs-Y9eCjiBKqyoc0Q0xf5dwMo79Axi-W9wM,987
|
|
198
|
+
chalk/_gen/chalk/engine/v2/introspection_service_pb2_grpc.py,sha256=_R0b7rari7VXNjKOwfYPfj4U9z80rAibkRH0VcyP1-s,3000
|
|
199
|
+
chalk/_gen/chalk/engine/v2/introspection_service_pb2_grpc.pyi,sha256=cuIlTQVMgH-Ve5dJGz6AsgO9bxfgJdnTXjigUuKFCLM,909
|
|
196
200
|
chalk/_gen/chalk/engine/v2/offline_store_service_pb2.py,sha256=ESIxkWWz3YDLVa8sBrCqzxzpRu80sF7iRtu1jwnY_Zg,3999
|
|
197
201
|
chalk/_gen/chalk/engine/v2/offline_store_service_pb2.pyi,sha256=hKEmA909OMJaS4CYHJShkuUUua05hHWp1R11IhK3-VQ,684
|
|
198
202
|
chalk/_gen/chalk/engine/v2/offline_store_service_pb2_grpc.py,sha256=hQBnBhagqeqVbg8uFDEVRDS5cTuH7BDkQN5TkdFSHKM,10022
|
|
@@ -743,7 +747,7 @@ chalk/sql/_internal/chalk_query.py,sha256=O2Mv0JHWvSrP3iDfkooy22yoDuWAH57m1i8qcy
|
|
|
743
747
|
chalk/sql/_internal/incremental.py,sha256=xqnohrZIoqE3y92edUl_oEkHQoFZw9GN8GIOUynyyEI,2900
|
|
744
748
|
chalk/sql/_internal/query_execution_parameters.py,sha256=FT0GixOryGeKR1x7UrQNoGFtySd_8-B4Xrp38nFi0FU,3679
|
|
745
749
|
chalk/sql/_internal/query_registry.py,sha256=jOk2x9NvW2pZocI_iTvgd9DyOlr4-ajz8rTi0kkLSaI,3005
|
|
746
|
-
chalk/sql/_internal/sql_file_resolver.py,sha256=
|
|
750
|
+
chalk/sql/_internal/sql_file_resolver.py,sha256=0Ui8wRmkyzIBa929qYXwEqjrZ72N_QpVeH8foIGtfJ0,80822
|
|
747
751
|
chalk/sql/_internal/sql_settings.py,sha256=9lcpHNrmEhr1Zxl_Ct7U0p0AbLUvlpSayxHEPmyqu8E,543
|
|
748
752
|
chalk/sql/_internal/sql_source.py,sha256=083tGM7YzSsL-AhwTAtCzvGSjKxGVH_R5pILEpe5g1c,43825
|
|
749
753
|
chalk/sql/_internal/sql_source_group.py,sha256=RIMEjEG3oSGwign37w9avpCRdVfVQepR8SPVv6JoOx0,5562
|
|
@@ -819,8 +823,8 @@ chalk/utils/tracing.py,sha256=NiiM-9dbuJhSCv6R1npR1uYNKWlkqTR6Ygm0Voi2NrY,13078
|
|
|
819
823
|
chalk/utils/weak_set_by_identity.py,sha256=VmikA_laYwFeOphCwXJIuyOIkrdlQe0bSzaXq7onoQw,953
|
|
820
824
|
chalk/utils/pydanticutil/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
821
825
|
chalk/utils/pydanticutil/pydantic_compat.py,sha256=O575lLYJ5GvZC4HMzR9yATxf9XwjC6NrDUXbNwZidlE,3031
|
|
822
|
-
chalkpy-2.96.
|
|
823
|
-
chalkpy-2.96.
|
|
824
|
-
chalkpy-2.96.
|
|
825
|
-
chalkpy-2.96.
|
|
826
|
-
chalkpy-2.96.
|
|
826
|
+
chalkpy-2.96.1.dist-info/METADATA,sha256=Yju64p2JSKrDw5doqpVwJk2-ePFHdTKDN6oKULBj3As,27754
|
|
827
|
+
chalkpy-2.96.1.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
|
|
828
|
+
chalkpy-2.96.1.dist-info/entry_points.txt,sha256=Vg23sd8icwq-morJrljVFr-kQnMbm95rZfZj5wsZGis,42
|
|
829
|
+
chalkpy-2.96.1.dist-info/top_level.txt,sha256=1Q6_19IGYfNxSw50W8tYKEJ2t5HKQ3W9Wiw4ia5yg2c,6
|
|
830
|
+
chalkpy-2.96.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|