chalkruntime 3.40.2__tar.gz → 3.40.4__tar.gz

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 (125) hide show
  1. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/PKG-INFO +1 -1
  2. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/protograph_deserializer.py +23 -8
  3. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime.egg-info/PKG-INFO +1 -1
  4. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/pyproject.toml +1 -1
  5. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/README.md +0 -0
  6. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/__init__.py +0 -0
  7. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/constants.py +0 -0
  8. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/dataframe/__init__.py +0 -0
  9. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/dataframe/dataframe.py +0 -0
  10. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/dataframe/lazyframe.py +0 -0
  11. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/exc/__init__.py +0 -0
  12. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/exc/failed_argument.py +0 -0
  13. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/exc/resolver_errors.py +0 -0
  14. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/exc/wrapped_resolver_exception.py +0 -0
  15. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/__init__.py +0 -0
  16. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/_sql_source_pickle_patch.py +0 -0
  17. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/chalk_overload.py +0 -0
  18. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/convert_chalkpy_underscore.py +0 -0
  19. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/dataframe_resolver_correlation.py +0 -0
  20. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/feature.py +0 -0
  21. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/filter_conversion.py +0 -0
  22. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/global_graph.py +0 -0
  23. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/graph.py +0 -0
  24. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/graph_impl.py +0 -0
  25. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/graph_proxy.py +0 -0
  26. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/graph_state.py +0 -0
  27. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/jinja_parser.py +0 -0
  28. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/mat_agg_filter_expression.py +0 -0
  29. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/materializations.py +0 -0
  30. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/materialized_feature_view.py +0 -0
  31. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/maybe_named_collection.py +0 -0
  32. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/named_query.py +0 -0
  33. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/nearest_neighbor.py +0 -0
  34. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/overlay_graph.py +0 -0
  35. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/prompt_service.py +0 -0
  36. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/protograph_serializer.py +0 -0
  37. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/resolver.py +0 -0
  38. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/singletons.py +0 -0
  39. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/sklearn_model_parser.py +0 -0
  40. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/stream_resolver.py +0 -0
  41. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/underscore.py +0 -0
  42. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/underscore_codec_info.py +0 -0
  43. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/underscore_operation_registry.py +0 -0
  44. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/graph/variables.py +0 -0
  45. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/heaptrack_launcher.py +0 -0
  46. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/incrementalization/__init__.py +0 -0
  47. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/incrementalization/group_incrementalizer.py +0 -0
  48. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/incrementalization/incrementalizer.py +0 -0
  49. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/invoker/__init__.py +0 -0
  50. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/invoker/batch_result_collector.py +0 -0
  51. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/invoker/bound_invoker.py +0 -0
  52. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/invoker/bound_invoker_cache.py +0 -0
  53. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/invoker/general_bound_invoker.py +0 -0
  54. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/invoker/no_arg_scalar_invoker.py +0 -0
  55. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/invoker/one_to_one_invoker.py +0 -0
  56. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/invoker/overlay_features.py +0 -0
  57. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/invoker/parse_external_resolver.py +0 -0
  58. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/invoker/partition_batch.py +0 -0
  59. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/invoker/query_execution_parameters.py +0 -0
  60. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/invoker/resolver_args_builder.py +0 -0
  61. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/invoker/resolver_input.py +0 -0
  62. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/invoker/resolver_input_upload.py +0 -0
  63. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/invoker/resolver_output_metadata.py +0 -0
  64. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/invoker/resolver_raw_output_parsing.py +0 -0
  65. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/invoker/resolver_result.py +0 -0
  66. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/invoker/resolver_runner.py +0 -0
  67. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/invoker/sample.py +0 -0
  68. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/invoker/validator.py +0 -0
  69. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/invoker/vectorized_hasmany_sampler.py +0 -0
  70. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/loader/__init__.py +0 -0
  71. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/loader/converter.py +0 -0
  72. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/loader/importer.py +0 -0
  73. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/memray_launcher.py +0 -0
  74. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/metadata.py +0 -0
  75. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/py.typed +0 -0
  76. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/server/__init__.py +0 -0
  77. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/server/branch_model_endpoint_config.py +0 -0
  78. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/server/config.py +0 -0
  79. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/server/entrypoint.py +0 -0
  80. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/server/env_helper.py +0 -0
  81. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/server/remote_python_function_registry_client.py +0 -0
  82. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/server/server_context_snapshot.py +0 -0
  83. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/server/service.py +0 -0
  84. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/sql_rewriter/__init__.py +0 -0
  85. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/sql_rewriter/composed_rewriter.py +0 -0
  86. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/sql_rewriter/contextual_query_rewriter.py +0 -0
  87. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/sql_rewriter/filter_injection_site.py +0 -0
  88. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/sql_rewriter/filter_query_rewriter.py +0 -0
  89. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/sql_rewriter/identity_rewriter.py +0 -0
  90. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/sql_rewriter/query_rewriter.py +0 -0
  91. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/sql_rewriter/query_rewriter_helper.py +0 -0
  92. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/streaming/__init__.py +0 -0
  93. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/streaming/converter_utils.py +0 -0
  94. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/streaming/exc.py +0 -0
  95. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/streaming/message_parsing.py +0 -0
  96. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/streaming/resolver_utils.py +0 -0
  97. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/streaming/streaming_invoker_kernel/__init__.py +0 -0
  98. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/streaming/streaming_invoker_kernel/local_streaming_invoker_kernel.py +0 -0
  99. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/streaming/types.py +0 -0
  100. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/streaming/window_keys.py +0 -0
  101. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/utils/__init__.py +0 -0
  102. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/utils/async_helpers.py +0 -0
  103. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/utils/contextvars.py +0 -0
  104. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/utils/datadog.py +0 -0
  105. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/utils/internal_pl_utils.py +0 -0
  106. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/utils/posix_file_lock.py +0 -0
  107. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/utils/proto_bytes_cache.py +0 -0
  108. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/utils/tracing.py +0 -0
  109. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/utils/viztracer_profiling.py +0 -0
  110. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime/valgrind_launcher.py +0 -0
  111. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime.egg-info/SOURCES.txt +0 -0
  112. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime.egg-info/dependency_links.txt +0 -0
  113. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime.egg-info/requires.txt +0 -0
  114. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/chalkruntime.egg-info/top_level.txt +0 -0
  115. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/setup.cfg +0 -0
  116. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/setup.py +0 -0
  117. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/tests/test_branch_model_endpoint_config.py +0 -0
  118. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/tests/test_captured_global_function_refs.py +0 -0
  119. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/tests/test_datadog.py +0 -0
  120. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/tests/test_graph_cache.py +0 -0
  121. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/tests/test_mat_agg_filter_expressions.py +0 -0
  122. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/tests/test_mat_agg_projection_expressions.py +0 -0
  123. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/tests/test_materialized_feature_view.py +0 -0
  124. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/tests/test_posix_file_lock.py +0 -0
  125. {chalkruntime-3.40.2 → chalkruntime-3.40.4}/tests/test_server_context_snapshot.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: chalkruntime
3
- Version: 3.40.2
3
+ Version: 3.40.4
4
4
  Summary: Runtime support library for Chalk AI
5
5
  Requires-Python: >=3.10
6
6
  Description-Content-Type: text/markdown
@@ -1880,7 +1880,7 @@ class FromProtoConverter:
1880
1880
  r: pb.StreamResolver,
1881
1881
  graph: ResolvedGraph,
1882
1882
  stream_sources: Dict[Tuple[str, str | None], StreamSource],
1883
- captured_global_values: Mapping[str, pb.FunctionReferenceCapturedGlobal] | None = None,
1883
+ captured_global_values: Mapping[str, pb.FunctionReferenceCapturedGlobal] | None,
1884
1884
  ) -> StreamResolverParsed:
1885
1885
  # Resolver outputs
1886
1886
  outputs: list[TResolverFeatureType] = []
@@ -1923,11 +1923,22 @@ class FromProtoConverter:
1923
1923
  window_index = i
1924
1924
  continue
1925
1925
 
1926
- source = stream_sources.get((r.source_v2.source_type, r.source_v2.name or None))
1927
- if source is None:
1928
- raise ValueError(
1929
- f"Stream resolver '{r.fqn}' refers to unknown streaming source with type '{r.source_v2.source_type}' and name '{r.source_v2.name}'"
1926
+ # Prefer the embedded full source. A (source_type, name) reference cannot uniquely identify a
1927
+ # source -- every source field is customer-overridable, so two sources sharing (type, name)
1928
+ # (e.g. one Kafka integration with many topics) are distinct. Fall back to the legacy reference
1929
+ # lookup (last-writer-wins, with a duplicate warning) only for graphs serialized before
1930
+ # source_full existed.
1931
+ if r.HasField("source_full"):
1932
+ source = cls.convert_stream_source(r.source_full)
1933
+ else:
1934
+ _logger.warning(
1935
+ f"Stream resolver '{r.fqn}' bound its source via the legacy (source_type, name) reference ('{r.source_v2.source_type}', '{r.source_v2.name}')."
1930
1936
  )
1937
+ source = stream_sources.get((r.source_v2.source_type, r.source_v2.name or None))
1938
+ if source is None:
1939
+ raise ValueError(
1940
+ f"Stream resolver '{r.fqn}' refers to unknown streaming source with type '{r.source_v2.source_type}' and name '{r.source_v2.name}'"
1941
+ )
1931
1942
 
1932
1943
  parse_info: ParseInfoParsed | None = None
1933
1944
  if r.HasField("parse_info"):
@@ -2022,9 +2033,12 @@ class FromProtoConverter:
2022
2033
  feature_expressions[feat_parsed] = underscore_parsed
2023
2034
  sink_config: StreamSinkConfigParsed | None = None
2024
2035
  if r.HasField("message_producer"):
2025
- # Parse send_to if present
2036
+ # Parse send_to if present. Prefer the embedded full destination source; fall back to the
2037
+ # (type, name) reference lookup for graphs from older clients (see source_full above).
2026
2038
  send_to: StreamSource | None = None
2027
- if r.message_producer.HasField("send_to"):
2039
+ if r.message_producer.HasField("send_to_full"):
2040
+ send_to = cls.convert_stream_source(r.message_producer.send_to_full)
2041
+ elif r.message_producer.HasField("send_to"):
2028
2042
  send_to_ref = r.message_producer.send_to
2029
2043
  send_to = stream_sources.get((send_to_ref.source_type, send_to_ref.name or None))
2030
2044
  if send_to is None:
@@ -2603,7 +2617,8 @@ class FromProtoConverter:
2603
2617
  )
2604
2618
 
2605
2619
  stream_sources: List[StreamSource] = [cls.convert_stream_source(ss) for ss in pb_graph.stream_sources_v2]
2606
- # (type x name) --> StreamSource
2620
+ # (type x name) --> StreamSource. Only consulted for graphs that predate source_full; resolvers
2621
+ # carrying source_full bind from it directly and never hit this map.
2607
2622
  stream_sources_dict: Dict[Tuple[str, str | None], StreamSource] = {}
2608
2623
  for ss in stream_sources:
2609
2624
  if (ss.streaming_type, ss.name) in stream_sources_dict:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: chalkruntime
3
- Version: 3.40.2
3
+ Version: 3.40.4
4
4
  Summary: Runtime support library for Chalk AI
5
5
  Requires-Python: >=3.10
6
6
  Description-Content-Type: text/markdown
@@ -42,7 +42,7 @@ name = "chalkruntime"
42
42
  description = "Runtime support library for Chalk AI"
43
43
  readme = "README.md"
44
44
  requires-python = ">=3.10"
45
- version = "3.40.2"
45
+ version = "3.40.4"
46
46
 
47
47
 
48
48
  [tool.deptry]
File without changes
File without changes
File without changes