data-designer-engine 0.4.0rc2__py3-none-any.whl → 0.5.0rc1__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.
- data_designer/engine/analysis/column_profilers/base.py +1 -2
- data_designer/engine/analysis/dataset_profiler.py +1 -2
- data_designer/engine/column_generators/generators/base.py +1 -6
- data_designer/engine/column_generators/generators/custom.py +195 -0
- data_designer/engine/column_generators/generators/llm_completion.py +34 -4
- data_designer/engine/column_generators/registry.py +3 -0
- data_designer/engine/column_generators/utils/errors.py +3 -0
- data_designer/engine/column_generators/utils/prompt_renderer.py +1 -1
- data_designer/engine/dataset_builders/column_wise_builder.py +47 -10
- data_designer/engine/dataset_builders/multi_column_configs.py +2 -2
- data_designer/engine/dataset_builders/utils/progress_tracker.py +122 -0
- data_designer/engine/mcp/__init__.py +30 -0
- data_designer/engine/mcp/errors.py +22 -0
- data_designer/engine/mcp/facade.py +485 -0
- data_designer/engine/mcp/factory.py +46 -0
- data_designer/engine/mcp/io.py +487 -0
- data_designer/engine/mcp/registry.py +203 -0
- data_designer/engine/model_provider.py +68 -0
- data_designer/engine/models/facade.py +92 -30
- data_designer/engine/models/factory.py +18 -1
- data_designer/engine/models/utils.py +111 -21
- data_designer/engine/resources/resource_provider.py +72 -3
- data_designer/engine/testing/fixtures.py +233 -0
- data_designer/engine/testing/stubs.py +1 -2
- {data_designer_engine-0.4.0rc2.dist-info → data_designer_engine-0.5.0rc1.dist-info}/METADATA +3 -2
- {data_designer_engine-0.4.0rc2.dist-info → data_designer_engine-0.5.0rc1.dist-info}/RECORD +27 -19
- data_designer/engine/_version.py +0 -34
- {data_designer_engine-0.4.0rc2.dist-info → data_designer_engine-0.5.0rc1.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
"""Pytest fixtures for engine testing.
|
|
5
|
+
|
|
6
|
+
Located in src/ so it can be packaged and shared across subpackages via pytest_plugins.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from __future__ import annotations
|
|
10
|
+
|
|
11
|
+
from typing import Any
|
|
12
|
+
from unittest.mock import MagicMock
|
|
13
|
+
|
|
14
|
+
import pytest
|
|
15
|
+
|
|
16
|
+
from data_designer.config.mcp import LocalStdioMCPProvider, MCPProvider, ToolConfig
|
|
17
|
+
from data_designer.engine.mcp.facade import MCPFacade
|
|
18
|
+
from data_designer.engine.model_provider import MCPProviderRegistry
|
|
19
|
+
from data_designer.engine.secret_resolver import SecretResolver
|
|
20
|
+
from data_designer.engine.testing.stubs import StubHuggingFaceSeedReader
|
|
21
|
+
|
|
22
|
+
# =============================================================================
|
|
23
|
+
# Fake LLM response classes (used by completion response fixtures)
|
|
24
|
+
# =============================================================================
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class _FakeMessage:
|
|
28
|
+
"""Fake message class for mocking LLM completion responses."""
|
|
29
|
+
|
|
30
|
+
def __init__(
|
|
31
|
+
self,
|
|
32
|
+
content: str | None,
|
|
33
|
+
tool_calls: list[dict] | None = None,
|
|
34
|
+
reasoning_content: str | None = None,
|
|
35
|
+
) -> None:
|
|
36
|
+
self.content = content
|
|
37
|
+
self.tool_calls = tool_calls
|
|
38
|
+
self.reasoning_content = reasoning_content
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class _FakeChoice:
|
|
42
|
+
"""Fake choice class for mocking LLM completion responses."""
|
|
43
|
+
|
|
44
|
+
def __init__(self, message: _FakeMessage) -> None:
|
|
45
|
+
self.message = message
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class _FakeResponse:
|
|
49
|
+
"""Fake response class for mocking LLM completion responses."""
|
|
50
|
+
|
|
51
|
+
def __init__(self, message: _FakeMessage) -> None:
|
|
52
|
+
self.choices = [_FakeChoice(message)]
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
# =============================================================================
|
|
56
|
+
# Seed reader fixtures
|
|
57
|
+
# =============================================================================
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
@pytest.fixture
|
|
61
|
+
def stub_seed_reader() -> StubHuggingFaceSeedReader:
|
|
62
|
+
"""Stub seed reader for testing seed dataset functionality."""
|
|
63
|
+
return StubHuggingFaceSeedReader()
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
# =============================================================================
|
|
67
|
+
# MCP Provider fixtures
|
|
68
|
+
# =============================================================================
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
@pytest.fixture
|
|
72
|
+
def stub_mcp_provider_registry() -> MCPProviderRegistry:
|
|
73
|
+
"""Create a stub MCP provider registry with test providers."""
|
|
74
|
+
return MCPProviderRegistry(
|
|
75
|
+
providers=[
|
|
76
|
+
LocalStdioMCPProvider(name="tools", command="python"),
|
|
77
|
+
LocalStdioMCPProvider(name="secondary", command="python"),
|
|
78
|
+
]
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
@pytest.fixture
|
|
83
|
+
def stub_mcp_provider_registry_single() -> MCPProviderRegistry:
|
|
84
|
+
"""Create a stub MCP provider registry with a single provider."""
|
|
85
|
+
return MCPProviderRegistry(providers=[LocalStdioMCPProvider(name="tools", command="python")])
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
@pytest.fixture
|
|
89
|
+
def stub_secret_resolver() -> MagicMock:
|
|
90
|
+
"""Create a stub secret resolver for testing."""
|
|
91
|
+
resolver = MagicMock(spec=SecretResolver)
|
|
92
|
+
resolver.resolve.side_effect = lambda x: x # Return the input as-is
|
|
93
|
+
return resolver
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
@pytest.fixture
|
|
97
|
+
def stub_stdio_provider() -> LocalStdioMCPProvider:
|
|
98
|
+
"""Create a stub stdio MCP provider for testing."""
|
|
99
|
+
return LocalStdioMCPProvider(
|
|
100
|
+
name="test-stdio",
|
|
101
|
+
command="python",
|
|
102
|
+
args=["-m", "test_server"],
|
|
103
|
+
env={"TEST_VAR": "value"},
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
@pytest.fixture
|
|
108
|
+
def stub_sse_provider() -> MCPProvider:
|
|
109
|
+
"""Create a stub SSE MCP provider for testing."""
|
|
110
|
+
return MCPProvider(
|
|
111
|
+
name="test-sse",
|
|
112
|
+
endpoint="http://localhost:8080/sse",
|
|
113
|
+
api_key="test-key",
|
|
114
|
+
)
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
# =============================================================================
|
|
118
|
+
# Tool config fixtures
|
|
119
|
+
# =============================================================================
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
@pytest.fixture
|
|
123
|
+
def stub_tool_config() -> ToolConfig:
|
|
124
|
+
"""Create a basic tool configuration for testing."""
|
|
125
|
+
return ToolConfig(
|
|
126
|
+
tool_alias="test-tools",
|
|
127
|
+
providers=["tools"],
|
|
128
|
+
max_tool_call_turns=3,
|
|
129
|
+
timeout_sec=30.0,
|
|
130
|
+
)
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
@pytest.fixture
|
|
134
|
+
def stub_tool_config_with_allow_list() -> ToolConfig:
|
|
135
|
+
"""Create a tool configuration with an allow list."""
|
|
136
|
+
return ToolConfig(
|
|
137
|
+
tool_alias="test-tools",
|
|
138
|
+
providers=["tools"],
|
|
139
|
+
allow_tools=["lookup", "search"],
|
|
140
|
+
max_tool_call_turns=3,
|
|
141
|
+
)
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
# =============================================================================
|
|
145
|
+
# Facade fixtures
|
|
146
|
+
# =============================================================================
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
@pytest.fixture
|
|
150
|
+
def stub_mcp_facade(
|
|
151
|
+
stub_tool_config: ToolConfig, stub_secret_resolver: MagicMock, stub_mcp_provider_registry: MCPProviderRegistry
|
|
152
|
+
) -> MCPFacade:
|
|
153
|
+
"""Create a stub MCPFacade for testing."""
|
|
154
|
+
return MCPFacade(
|
|
155
|
+
tool_config=stub_tool_config,
|
|
156
|
+
secret_resolver=stub_secret_resolver,
|
|
157
|
+
mcp_provider_registry=stub_mcp_provider_registry,
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
@pytest.fixture
|
|
162
|
+
def stub_mcp_facade_factory() -> Any:
|
|
163
|
+
"""Create a stub MCP facade factory for testing."""
|
|
164
|
+
|
|
165
|
+
def factory(
|
|
166
|
+
tool_config: ToolConfig, secret_resolver: SecretResolver, provider_registry: MCPProviderRegistry
|
|
167
|
+
) -> MCPFacade:
|
|
168
|
+
return MCPFacade(
|
|
169
|
+
tool_config=tool_config, secret_resolver=secret_resolver, mcp_provider_registry=provider_registry
|
|
170
|
+
)
|
|
171
|
+
|
|
172
|
+
return factory
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
# =============================================================================
|
|
176
|
+
# Completion response fixtures
|
|
177
|
+
# =============================================================================
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
@pytest.fixture
|
|
181
|
+
def mock_completion_response_no_tools() -> _FakeResponse:
|
|
182
|
+
"""Mock LLM response with no tool calls."""
|
|
183
|
+
return _FakeResponse(_FakeMessage(content="Hello, I can help with that."))
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
@pytest.fixture
|
|
187
|
+
def mock_completion_response_single_tool() -> _FakeResponse:
|
|
188
|
+
"""Mock LLM response with single tool call."""
|
|
189
|
+
tool_call = {
|
|
190
|
+
"id": "call-1",
|
|
191
|
+
"type": "function",
|
|
192
|
+
"function": {"name": "lookup", "arguments": '{"query": "test"}'},
|
|
193
|
+
}
|
|
194
|
+
return _FakeResponse(_FakeMessage(content="Let me look that up.", tool_calls=[tool_call]))
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
@pytest.fixture
|
|
198
|
+
def mock_completion_response_parallel_tools() -> _FakeResponse:
|
|
199
|
+
"""Mock LLM response with multiple parallel tool calls."""
|
|
200
|
+
tool_calls = [
|
|
201
|
+
{"id": "call-1", "type": "function", "function": {"name": "lookup", "arguments": '{"query": "first"}'}},
|
|
202
|
+
{"id": "call-2", "type": "function", "function": {"name": "search", "arguments": '{"term": "second"}'}},
|
|
203
|
+
{"id": "call-3", "type": "function", "function": {"name": "fetch", "arguments": '{"url": "example.com"}'}},
|
|
204
|
+
]
|
|
205
|
+
return _FakeResponse(_FakeMessage(content="Executing multiple tools.", tool_calls=tool_calls))
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
@pytest.fixture
|
|
209
|
+
def mock_completion_response_with_reasoning() -> _FakeResponse:
|
|
210
|
+
"""Mock LLM response with reasoning_content."""
|
|
211
|
+
return _FakeResponse(
|
|
212
|
+
_FakeMessage(
|
|
213
|
+
content=" Final answer with extra spaces. ",
|
|
214
|
+
reasoning_content=" Thinking about the problem... ",
|
|
215
|
+
)
|
|
216
|
+
)
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
@pytest.fixture
|
|
220
|
+
def mock_completion_response_tool_with_reasoning() -> _FakeResponse:
|
|
221
|
+
"""Mock LLM response with tool calls and reasoning_content."""
|
|
222
|
+
tool_call = {
|
|
223
|
+
"id": "call-1",
|
|
224
|
+
"type": "function",
|
|
225
|
+
"function": {"name": "lookup", "arguments": '{"query": "test"}'},
|
|
226
|
+
}
|
|
227
|
+
return _FakeResponse(
|
|
228
|
+
_FakeMessage(
|
|
229
|
+
content=" Looking it up... ",
|
|
230
|
+
tool_calls=[tool_call],
|
|
231
|
+
reasoning_content=" I should use the lookup tool. ",
|
|
232
|
+
)
|
|
233
|
+
)
|
|
@@ -5,8 +5,7 @@ from __future__ import annotations
|
|
|
5
5
|
|
|
6
6
|
from typing import Literal
|
|
7
7
|
|
|
8
|
-
from data_designer.config.base import ConfigBase
|
|
9
|
-
from data_designer.config.column_configs import SingleColumnConfig
|
|
8
|
+
from data_designer.config.base import ConfigBase, SingleColumnConfig
|
|
10
9
|
from data_designer.engine.column_generators.generators.base import ColumnGeneratorCellByCell
|
|
11
10
|
from data_designer.engine.resources.seed_reader import SeedReader
|
|
12
11
|
from data_designer.plugins.plugin import Plugin, PluginType
|
{data_designer_engine-0.4.0rc2.dist-info → data_designer_engine-0.5.0rc1.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: data-designer-engine
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.0rc1
|
|
4
4
|
Summary: Generation engine for DataDesigner synthetic data generation
|
|
5
5
|
License-Expression: Apache-2.0
|
|
6
6
|
Classifier: Development Status :: 4 - Beta
|
|
@@ -14,7 +14,7 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
14
14
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
15
15
|
Requires-Python: >=3.10
|
|
16
16
|
Requires-Dist: anyascii<1,>=0.3.3
|
|
17
|
-
Requires-Dist: data-designer-config
|
|
17
|
+
Requires-Dist: data-designer-config==0.5.0rc1
|
|
18
18
|
Requires-Dist: duckdb<2,>=1.1.3
|
|
19
19
|
Requires-Dist: faker<21,>=20.1.0
|
|
20
20
|
Requires-Dist: httpx-retries<1,>=0.4.2
|
|
@@ -26,6 +26,7 @@ Requires-Dist: jsonschema<5,>=4.0.0
|
|
|
26
26
|
Requires-Dist: litellm<1.80.12,>=1.73.6
|
|
27
27
|
Requires-Dist: lxml<7,>=6.0.2
|
|
28
28
|
Requires-Dist: marko<3,>=2.1.2
|
|
29
|
+
Requires-Dist: mcp<2,>=1.26.0
|
|
29
30
|
Requires-Dist: networkx<4,>=3.0
|
|
30
31
|
Requires-Dist: ruff<1,>=0.14.10
|
|
31
32
|
Requires-Dist: scipy<2,>=1.11.0
|
|
@@ -1,52 +1,59 @@
|
|
|
1
1
|
data_designer/engine/__init__.py,sha256=ObZ6NUPeEvvpGTJ5WIGKUyIrIjaI747OM6ErweRtHxQ,137
|
|
2
|
-
data_designer/engine/_version.py,sha256=FvItxCBzPigrdVpFPfL1gQeV1-km5r7nCNGUzrYebTU,714
|
|
3
2
|
data_designer/engine/compiler.py,sha256=4QAeCJjINtH0afSXygdhiKMyq2KIfaDthK3ApZLgrQ0,4152
|
|
4
3
|
data_designer/engine/configurable_task.py,sha256=6R4FPXPzIeK0lqNVSEXzRDtK14B3dFz38lplr-nkvRE,2539
|
|
5
4
|
data_designer/engine/errors.py,sha256=YXI7ny83BQ16sOK43CpTm384hJTKuZkPTEAjlHlDIfA,1303
|
|
6
|
-
data_designer/engine/model_provider.py,sha256=
|
|
5
|
+
data_designer/engine/model_provider.py,sha256=CkXUKeBTijJgq9yGp5M1sebJEJWLDBlJdA3le3M6j50,5005
|
|
7
6
|
data_designer/engine/secret_resolver.py,sha256=srIAnwbTfsDfgzhWojGTR1u8Vx6SY4vSp0_hJU0_i9A,2468
|
|
8
7
|
data_designer/engine/validation.py,sha256=q9wZqCcRAFoW8p1BtkblFQ3CWgeBHT5JTKVCoYlqZeA,14544
|
|
9
8
|
data_designer/engine/analysis/column_statistics.py,sha256=UW14ooahDgeEdkurgj2d0L6DIX4qce1faWSss_2IR6M,5843
|
|
10
|
-
data_designer/engine/analysis/dataset_profiler.py,sha256=
|
|
9
|
+
data_designer/engine/analysis/dataset_profiler.py,sha256=ajlQEyhuLETvy8Hxaly1G3n-3X-ilMi9wok4X5goEjg,7276
|
|
11
10
|
data_designer/engine/analysis/errors.py,sha256=QRmvkNjcMpQ5QDlM7YOSbR2key4d6dsiknk994Ewvv4,296
|
|
12
|
-
data_designer/engine/analysis/column_profilers/base.py,sha256=
|
|
11
|
+
data_designer/engine/analysis/column_profilers/base.py,sha256=cjk5mvg3S02p-ovBR6AkWhMHonXujWc6ipNdHrODujs,1664
|
|
13
12
|
data_designer/engine/analysis/column_profilers/judge_score_profiler.py,sha256=nSkdb7OumaOWFRq64Abiii43G9MgF3OeOvOH9XpdqFg,6572
|
|
14
13
|
data_designer/engine/analysis/column_profilers/registry.py,sha256=yFEE3gwNUzPI8WMGKfNcObtJSs1b3a87GKrL_ksIqBs,923
|
|
15
14
|
data_designer/engine/analysis/utils/column_statistics_calculations.py,sha256=ry0QxRqLFRn7N4OAn6z7TqSAPEGwxiiUEUtsG_bI-98,8958
|
|
16
15
|
data_designer/engine/analysis/utils/judge_score_processing.py,sha256=QkFMHp0WFhxW3YwwmAnKoEFTULSCxnJ2DSkq8v9kiaE,4884
|
|
17
16
|
data_designer/engine/column_generators/__init__.py,sha256=ObZ6NUPeEvvpGTJ5WIGKUyIrIjaI747OM6ErweRtHxQ,137
|
|
18
|
-
data_designer/engine/column_generators/registry.py,sha256=
|
|
17
|
+
data_designer/engine/column_generators/registry.py,sha256=U8y09tQF54z-CFc-cOdr0s9QxDz1lPkLpfwP7b1SQEI,3312
|
|
19
18
|
data_designer/engine/column_generators/generators/__init__.py,sha256=ObZ6NUPeEvvpGTJ5WIGKUyIrIjaI747OM6ErweRtHxQ,137
|
|
20
|
-
data_designer/engine/column_generators/generators/base.py,sha256=
|
|
19
|
+
data_designer/engine/column_generators/generators/base.py,sha256=s7yTTX6C_tHkghwGa8u3nY9WWF7TakNTZILeeQEwxnw,4149
|
|
20
|
+
data_designer/engine/column_generators/generators/custom.py,sha256=qzrUwR0tZvAvCMgJ26kfZly8UiBK-GSqJv9lryzbaNk,9237
|
|
21
21
|
data_designer/engine/column_generators/generators/embedding.py,sha256=uB0jgHlCgctgIUf9ZfMqG1YThbJ0g-GCX3VdNbdDSko,1407
|
|
22
22
|
data_designer/engine/column_generators/generators/expression.py,sha256=BiQcfVTinvQl3OI9nkdhB9B7FGBueWiHJwxTA8uNVuY,2330
|
|
23
|
-
data_designer/engine/column_generators/generators/llm_completion.py,sha256=
|
|
23
|
+
data_designer/engine/column_generators/generators/llm_completion.py,sha256=uIUdhfNil8vxoBSPDhJuvmVMMqrR3zCpTPGL-BXUyW0,6115
|
|
24
24
|
data_designer/engine/column_generators/generators/samplers.py,sha256=gNzURmu9K8Zb5MHamKvZPIxmWlFgl2W4FIVgaFcy4f0,3371
|
|
25
25
|
data_designer/engine/column_generators/generators/seed_dataset.py,sha256=CoQPbz4Ww7pBLaGw8-CYqIk1sjfkBaoRMKZQexdfgKY,6824
|
|
26
26
|
data_designer/engine/column_generators/generators/validation.py,sha256=YfYbk-8_ZUye0No6_Q7hIqpZv_tunnEZ6HkLSMFXlDE,6659
|
|
27
|
-
data_designer/engine/column_generators/utils/errors.py,sha256=
|
|
27
|
+
data_designer/engine/column_generators/utils/errors.py,sha256=UGKQFqxF8vCUfUa2VectgmLRrIMUTdRRLWlevDyuj0Q,466
|
|
28
28
|
data_designer/engine/column_generators/utils/generator_classification.py,sha256=XBA_vagEXKBQK54OHANKeHw6Mm2B4RuAmXu0QrRdEEo,1958
|
|
29
29
|
data_designer/engine/column_generators/utils/judge_score_factory.py,sha256=gESiqMrQzbbcFpZas0sAAAkrH2DL0Z4Nq5ywBO-pQ6k,2141
|
|
30
|
-
data_designer/engine/column_generators/utils/prompt_renderer.py,sha256=
|
|
30
|
+
data_designer/engine/column_generators/utils/prompt_renderer.py,sha256=lvatLy5UqMmBEZbkJeSdqYR2d7QkHxlNfgbApjr88Dk,4809
|
|
31
31
|
data_designer/engine/dataset_builders/artifact_storage.py,sha256=CKpTBtJTde7OQvsFZQa1v1autVz5yUxlBHkIKeATFnE,10999
|
|
32
|
-
data_designer/engine/dataset_builders/column_wise_builder.py,sha256=
|
|
32
|
+
data_designer/engine/dataset_builders/column_wise_builder.py,sha256=6pQTZ8yKuf0U65dVxla6Zj22FD0KY04RanUlI6pNs20,17431
|
|
33
33
|
data_designer/engine/dataset_builders/errors.py,sha256=gLXtPcGSMBG10PzQ85dOXskdA0mKbBQrHa_VtP9sbVY,400
|
|
34
|
-
data_designer/engine/dataset_builders/multi_column_configs.py,sha256=
|
|
34
|
+
data_designer/engine/dataset_builders/multi_column_configs.py,sha256=a5YaZn-epCk5_sEzp7UuqL3MtN0nGQVQmujqbiY6FSY,1660
|
|
35
35
|
data_designer/engine/dataset_builders/utils/__init__.py,sha256=ObZ6NUPeEvvpGTJ5WIGKUyIrIjaI747OM6ErweRtHxQ,137
|
|
36
36
|
data_designer/engine/dataset_builders/utils/concurrency.py,sha256=Lga_xd8i3ZAPqJlKCB4GHG7uxWxws1m-UGAz9UeqU_8,8283
|
|
37
37
|
data_designer/engine/dataset_builders/utils/config_compiler.py,sha256=NGI6U0vgG88d5YKj7oW_SIJ4-_fhA6VFhPbjqGRHea4,2441
|
|
38
38
|
data_designer/engine/dataset_builders/utils/dag.py,sha256=RIEI75OtiphkuDl1vfI_MQC1xMiiIg29s-0C_fNZkWQ,2613
|
|
39
39
|
data_designer/engine/dataset_builders/utils/dataset_batch_manager.py,sha256=IfWd_HcfEzIPhgFp2dJaxNIKRlrPsHqYATFXauvCfaw,8133
|
|
40
40
|
data_designer/engine/dataset_builders/utils/errors.py,sha256=G1MIkQDXguSqHK1EP-60FkG_bys7bJ1UgJnSvcNgtt8,411
|
|
41
|
+
data_designer/engine/dataset_builders/utils/progress_tracker.py,sha256=3zSljzDHwhqgP9IqPUR3XbwC231JvLNWslpmhqKIbUg,4255
|
|
42
|
+
data_designer/engine/mcp/__init__.py,sha256=nqUgeDqem73zQYxzdP3zrVGBbNuV8JjY3qzVvbun5JY,853
|
|
43
|
+
data_designer/engine/mcp/errors.py,sha256=V-9tCCWkP_mwXSjfoMZLpoaIuZAa_WSrfOvvd6Pa7jc,542
|
|
44
|
+
data_designer/engine/mcp/facade.py,sha256=kUh8u1vGwkuF-c8swT_-h8KXVmOBjc5lMu0L2dwXiYw,20744
|
|
45
|
+
data_designer/engine/mcp/factory.py,sha256=hA6l10vl6w6C-ZfotbOWYyAsMS7r2VvK1rTtHvpbutY,1714
|
|
46
|
+
data_designer/engine/mcp/io.py,sha256=Mm6etyjwsRkpemDi91kyf2ccz5AWNdrd1ASAStm3Rbw,19232
|
|
47
|
+
data_designer/engine/mcp/registry.py,sha256=ZQuKiufPQBySvRcoiH-0LsiEs_W05P4zf4byVOIGrBc,7807
|
|
41
48
|
data_designer/engine/models/__init__.py,sha256=ObZ6NUPeEvvpGTJ5WIGKUyIrIjaI747OM6ErweRtHxQ,137
|
|
42
49
|
data_designer/engine/models/errors.py,sha256=k9oZnmk8DRD8U2SVKJJRLwrcdsCcVoJiOb_Q7ZyEdvg,12271
|
|
43
|
-
data_designer/engine/models/facade.py,sha256=
|
|
44
|
-
data_designer/engine/models/factory.py,sha256=
|
|
50
|
+
data_designer/engine/models/facade.py,sha256=slTZvCDD3Av5-OwYA7EdTorKxQnO682ubII0IpgyqFo,15341
|
|
51
|
+
data_designer/engine/models/factory.py,sha256=LEYP2omzAv0taZ9o4BzEbCXvGMA0DCiupcREX6wmk_8,2243
|
|
45
52
|
data_designer/engine/models/litellm_overrides.py,sha256=e9IZCFQ6BhNWlOTncm8ErL8w4rtE1_4USh2mtUYxCZI,6207
|
|
46
53
|
data_designer/engine/models/registry.py,sha256=Bid7Mv_ebzbTrlfzN-1wbcFxp_qQwilL0h2iwN5UPJ0,7099
|
|
47
54
|
data_designer/engine/models/telemetry.py,sha256=_VZR6Iatr6-5Hypw3bes5Jr4y7Y3VagxFEVAv36eHcE,12733
|
|
48
55
|
data_designer/engine/models/usage.py,sha256=A0LV9Ycuj_7snOsaqnirs4mlkAjozv2mzj2om2FpDoU,2410
|
|
49
|
-
data_designer/engine/models/utils.py,sha256=
|
|
56
|
+
data_designer/engine/models/utils.py,sha256=FVQ0AAVj8Qt9DjzqGJEjCTLWQg3l5H_JbiJXj0g3iV0,4627
|
|
50
57
|
data_designer/engine/models/parsers/__init__.py,sha256=ObZ6NUPeEvvpGTJ5WIGKUyIrIjaI747OM6ErweRtHxQ,137
|
|
51
58
|
data_designer/engine/models/parsers/errors.py,sha256=ODcZ4TOsmZyH4-MoNkKXhjiMm_4gLWPsz90qKtNF9_Q,1053
|
|
52
59
|
data_designer/engine/models/parsers/parser.py,sha256=XkdDt2WEnolvsv2bArq4hhujfJ3kLmG6G2jkRXMYA8c,9489
|
|
@@ -76,7 +83,7 @@ data_designer/engine/registry/errors.py,sha256=k1EaV7egNQwNmRsI8EfymTfeNprcDutPf
|
|
|
76
83
|
data_designer/engine/resources/managed_dataset_generator.py,sha256=2wGc-tH5usXAPXgDkXzslLsCkAsAQgYa3uIYJC5_Oa0,1495
|
|
77
84
|
data_designer/engine/resources/managed_dataset_repository.py,sha256=lx8NTtAPxheZdqkgilYSmqZv4Nd_CeHXXUaXHzGLLVk,7684
|
|
78
85
|
data_designer/engine/resources/managed_storage.py,sha256=8tLJjKGvDbuHnsESL2VZVu9vfEH3--OLZaiZe-LZo_8,2120
|
|
79
|
-
data_designer/engine/resources/resource_provider.py,sha256
|
|
86
|
+
data_designer/engine/resources/resource_provider.py,sha256=-SxgMx7a0bwnNJg3EUWQpesJ6tmzALkRkSXiKtyXTWc,5732
|
|
80
87
|
data_designer/engine/resources/seed_reader.py,sha256=GQiOqf9t-yRag2g5Io3-kQPhpyKJbXgHn2YTUoAgftI,5717
|
|
81
88
|
data_designer/engine/sampling_gen/column.py,sha256=0aQzeJtcM0DNEaarG1ybXV4LLJH0iiOaXvi46Ay4qOE,3987
|
|
82
89
|
data_designer/engine/sampling_gen/constraints.py,sha256=AvFoyZ1QU--R9kGyIaPHClm3mG_ZoPuOE3IQQqYUPqw,3157
|
|
@@ -100,7 +107,8 @@ data_designer/engine/sampling_gen/entities/person.py,sha256=9S-xAj6_8ZaFX4G_I7CM
|
|
|
100
107
|
data_designer/engine/sampling_gen/entities/phone_number.py,sha256=dGY5LRwCz19RBH0mJDTpnBb0a98piDSNgkQRemgwqV0,4818
|
|
101
108
|
data_designer/engine/sampling_gen/entities/assets/zip_area_code_map.parquet,sha256=L6G4laXExB7uRCWHlF4XGDk0yMh41jbDnp9LIy7jNHM,576064
|
|
102
109
|
data_designer/engine/testing/__init__.py,sha256=ICYoOcewhvzZmuaF4A8fn-LDaaOBGhBQf-RQ9QyNdhs,396
|
|
103
|
-
data_designer/engine/testing/
|
|
110
|
+
data_designer/engine/testing/fixtures.py,sha256=8SD3sZV_Kl3gN7VvQgdd-VXj3d1UvIMEFYqrmmkexV4,7574
|
|
111
|
+
data_designer/engine/testing/stubs.py,sha256=qDyHNAGQj0KUfxfFJzShs5_7tkFKI9VzvEfWAttmZlE,3870
|
|
104
112
|
data_designer/engine/testing/utils.py,sha256=a9LEgK827cnIzHEkgXOdgywrKDLBE36cyttrpG1ctT4,973
|
|
105
113
|
data_designer/engine/validators/__init__.py,sha256=uT0CTJF9Ce97zoAdMSWvfYn7mO5ja0lIgyPRKJLcsOU,693
|
|
106
114
|
data_designer/engine/validators/base.py,sha256=XfDDMMP0PusoKAjM9rXdIYkyWlLiQPAJChMgtkcdspw,1005
|
|
@@ -108,6 +116,6 @@ data_designer/engine/validators/local_callable.py,sha256=JaL-yOXrTFpubiO2QlSt4Qb
|
|
|
108
116
|
data_designer/engine/validators/python.py,sha256=omXjwMaomQYiyq4g6XqKt2wexVuI_rWue9Dk-CYc-do,8039
|
|
109
117
|
data_designer/engine/validators/remote.py,sha256=rythhIrH2GvqncMQeF3FiJa9Om0KZWeK3cWjW-ZubaM,3077
|
|
110
118
|
data_designer/engine/validators/sql.py,sha256=AMaEdA-gj9j0zwVp809x3ycKltd51wVEhI8mMYGyxd4,2408
|
|
111
|
-
data_designer_engine-0.
|
|
112
|
-
data_designer_engine-0.
|
|
113
|
-
data_designer_engine-0.
|
|
119
|
+
data_designer_engine-0.5.0rc1.dist-info/METADATA,sha256=6hK0RVqcTc01Q8xJ8X_j4PGuFJt0lH6OovrfdMExqVI,1916
|
|
120
|
+
data_designer_engine-0.5.0rc1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
121
|
+
data_designer_engine-0.5.0rc1.dist-info/RECORD,,
|
data_designer/engine/_version.py
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# file generated by setuptools-scm
|
|
2
|
-
# don't change, don't track in version control
|
|
3
|
-
|
|
4
|
-
__all__ = [
|
|
5
|
-
"__version__",
|
|
6
|
-
"__version_tuple__",
|
|
7
|
-
"version",
|
|
8
|
-
"version_tuple",
|
|
9
|
-
"__commit_id__",
|
|
10
|
-
"commit_id",
|
|
11
|
-
]
|
|
12
|
-
|
|
13
|
-
TYPE_CHECKING = False
|
|
14
|
-
if TYPE_CHECKING:
|
|
15
|
-
from typing import Tuple
|
|
16
|
-
from typing import Union
|
|
17
|
-
|
|
18
|
-
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
19
|
-
COMMIT_ID = Union[str, None]
|
|
20
|
-
else:
|
|
21
|
-
VERSION_TUPLE = object
|
|
22
|
-
COMMIT_ID = object
|
|
23
|
-
|
|
24
|
-
version: str
|
|
25
|
-
__version__: str
|
|
26
|
-
__version_tuple__: VERSION_TUPLE
|
|
27
|
-
version_tuple: VERSION_TUPLE
|
|
28
|
-
commit_id: COMMIT_ID
|
|
29
|
-
__commit_id__: COMMIT_ID
|
|
30
|
-
|
|
31
|
-
__version__ = version = '0.4.0rc2'
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 4, 0, 'rc2')
|
|
33
|
-
|
|
34
|
-
__commit_id__ = commit_id = None
|
|
File without changes
|