collate-dbt-artifacts-parser 0.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.
Files changed (67) hide show
  1. collate_dbt_artifacts_parser/__init__.py +21 -0
  2. collate_dbt_artifacts_parser/parser.py +390 -0
  3. collate_dbt_artifacts_parser/parsers/__init__.py +16 -0
  4. collate_dbt_artifacts_parser/parsers/base.py +26 -0
  5. collate_dbt_artifacts_parser/parsers/catalog/__init__.py +16 -0
  6. collate_dbt_artifacts_parser/parsers/catalog/catalog_cloud.py +85 -0
  7. collate_dbt_artifacts_parser/parsers/catalog/catalog_v1.py +85 -0
  8. collate_dbt_artifacts_parser/parsers/manifest/__init__.py +16 -0
  9. collate_dbt_artifacts_parser/parsers/manifest/manifest_cloud.py +4172 -0
  10. collate_dbt_artifacts_parser/parsers/manifest/manifest_v1.py +1548 -0
  11. collate_dbt_artifacts_parser/parsers/manifest/manifest_v10.py +1667 -0
  12. collate_dbt_artifacts_parser/parsers/manifest/manifest_v11.py +1449 -0
  13. collate_dbt_artifacts_parser/parsers/manifest/manifest_v12.py +4182 -0
  14. collate_dbt_artifacts_parser/parsers/manifest/manifest_v2.py +1553 -0
  15. collate_dbt_artifacts_parser/parsers/manifest/manifest_v3.py +1565 -0
  16. collate_dbt_artifacts_parser/parsers/manifest/manifest_v4.py +1748 -0
  17. collate_dbt_artifacts_parser/parsers/manifest/manifest_v5.py +1763 -0
  18. collate_dbt_artifacts_parser/parsers/manifest/manifest_v6.py +1799 -0
  19. collate_dbt_artifacts_parser/parsers/manifest/manifest_v7.py +1917 -0
  20. collate_dbt_artifacts_parser/parsers/manifest/manifest_v8.py +1258 -0
  21. collate_dbt_artifacts_parser/parsers/manifest/manifest_v9.py +1431 -0
  22. collate_dbt_artifacts_parser/parsers/run_results/__init__.py +16 -0
  23. collate_dbt_artifacts_parser/parsers/run_results/run_results_cloud.py +90 -0
  24. collate_dbt_artifacts_parser/parsers/run_results/run_results_v1.py +75 -0
  25. collate_dbt_artifacts_parser/parsers/run_results/run_results_v2.py +76 -0
  26. collate_dbt_artifacts_parser/parsers/run_results/run_results_v3.py +147 -0
  27. collate_dbt_artifacts_parser/parsers/run_results/run_results_v4.py +147 -0
  28. collate_dbt_artifacts_parser/parsers/run_results/run_results_v5.py +79 -0
  29. collate_dbt_artifacts_parser/parsers/run_results/run_results_v6.py +89 -0
  30. collate_dbt_artifacts_parser/parsers/sources/__init__.py +16 -0
  31. collate_dbt_artifacts_parser/parsers/sources/sources_cloud.py +107 -0
  32. collate_dbt_artifacts_parser/parsers/sources/sources_v1.py +88 -0
  33. collate_dbt_artifacts_parser/parsers/sources/sources_v2.py +100 -0
  34. collate_dbt_artifacts_parser/parsers/sources/sources_v3.py +107 -0
  35. collate_dbt_artifacts_parser/parsers/utils.py +67 -0
  36. collate_dbt_artifacts_parser/parsers/version_map.py +124 -0
  37. collate_dbt_artifacts_parser/resources/catalog/catalog_cloud.json +425 -0
  38. collate_dbt_artifacts_parser/resources/catalog/catalog_v1.json +425 -0
  39. collate_dbt_artifacts_parser/resources/manifest/manifest_cloud.json +22719 -0
  40. collate_dbt_artifacts_parser/resources/manifest/manifest_v1.json +5074 -0
  41. collate_dbt_artifacts_parser/resources/manifest/manifest_v10.json +5638 -0
  42. collate_dbt_artifacts_parser/resources/manifest/manifest_v11.json +6256 -0
  43. collate_dbt_artifacts_parser/resources/manifest/manifest_v12.json +22727 -0
  44. collate_dbt_artifacts_parser/resources/manifest/manifest_v2.json +5128 -0
  45. collate_dbt_artifacts_parser/resources/manifest/manifest_v3.json +5225 -0
  46. collate_dbt_artifacts_parser/resources/manifest/manifest_v4.json +5939 -0
  47. collate_dbt_artifacts_parser/resources/manifest/manifest_v5.json +5984 -0
  48. collate_dbt_artifacts_parser/resources/manifest/manifest_v6.json +6209 -0
  49. collate_dbt_artifacts_parser/resources/manifest/manifest_v7.json +6575 -0
  50. collate_dbt_artifacts_parser/resources/manifest/manifest_v8.json +4434 -0
  51. collate_dbt_artifacts_parser/resources/manifest/manifest_v9.json +4965 -0
  52. collate_dbt_artifacts_parser/resources/run-results/run-results_cloud.json +265 -0
  53. collate_dbt_artifacts_parser/resources/run-results/run-results_v1.json +183 -0
  54. collate_dbt_artifacts_parser/resources/run-results/run-results_v2.json +190 -0
  55. collate_dbt_artifacts_parser/resources/run-results/run-results_v3.json +381 -0
  56. collate_dbt_artifacts_parser/resources/run-results/run-results_v4.json +400 -0
  57. collate_dbt_artifacts_parser/resources/run-results/run-results_v5.json +229 -0
  58. collate_dbt_artifacts_parser/resources/run-results/run-results_v6.json +264 -0
  59. collate_dbt_artifacts_parser/resources/sources/sources_cloud.json +280 -0
  60. collate_dbt_artifacts_parser/resources/sources/sources_v1.json +212 -0
  61. collate_dbt_artifacts_parser/resources/sources/sources_v2.json +261 -0
  62. collate_dbt_artifacts_parser/resources/sources/sources_v3.json +280 -0
  63. collate_dbt_artifacts_parser/utils.py +27 -0
  64. collate_dbt_artifacts_parser-0.1.dist-info/METADATA +531 -0
  65. collate_dbt_artifacts_parser-0.1.dist-info/RECORD +67 -0
  66. collate_dbt_artifacts_parser-0.1.dist-info/WHEEL +4 -0
  67. collate_dbt_artifacts_parser-0.1.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,1565 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: manifest_v3.json
3
+
4
+ from __future__ import annotations
5
+
6
+ from datetime import datetime
7
+ from enum import Enum
8
+ from typing import Any, Dict, List, Optional, Union
9
+
10
+ from pydantic import ConfigDict, Field, constr
11
+
12
+ from collate_dbt_artifacts_parser.parsers.base import BaseParserModel
13
+
14
+
15
+ class ManifestMetadata(BaseParserModel):
16
+ model_config = ConfigDict(
17
+ extra="forbid",
18
+ )
19
+ dbt_schema_version: Optional[str] = (
20
+ "https://schemas.getdbt.com/dbt/manifest/v3.json"
21
+ )
22
+ dbt_version: Optional[str] = "0.21.0rc1"
23
+ generated_at: Optional[datetime] = "2021-09-24T13:29:14.317700Z"
24
+ invocation_id: Optional[str] = None
25
+ env: Optional[Dict[str, str]] = {}
26
+ project_id: Optional[str] = Field(
27
+ None, description="A unique identifier for the project"
28
+ )
29
+ user_id: Optional[
30
+ constr(pattern=r"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}")
31
+ ] = Field(None, description="A unique identifier for the user")
32
+ send_anonymous_usage_stats: Optional[bool] = Field(
33
+ None, description="Whether dbt is configured to send anonymous usage statistics"
34
+ )
35
+ adapter_type: Optional[str] = Field(
36
+ None, description="The type name of the adapter"
37
+ )
38
+
39
+
40
+ class ResourceType(Enum):
41
+ analysis = "analysis"
42
+
43
+
44
+ class FileHash(BaseParserModel):
45
+ model_config = ConfigDict(
46
+ extra="forbid",
47
+ )
48
+ name: str
49
+ checksum: str
50
+
51
+
52
+ class Hook(BaseParserModel):
53
+ model_config = ConfigDict(
54
+ extra="forbid",
55
+ )
56
+ sql: str
57
+ transaction: Optional[bool] = True
58
+ index: Optional[int] = None
59
+
60
+
61
+ class DependsOn(BaseParserModel):
62
+ model_config = ConfigDict(
63
+ extra="forbid",
64
+ )
65
+ macros: Optional[List[str]] = []
66
+ nodes: Optional[List[str]] = []
67
+
68
+
69
+ class ColumnInfo(BaseParserModel):
70
+ model_config = ConfigDict(
71
+ extra="allow",
72
+ )
73
+ name: str
74
+ description: Optional[str] = ""
75
+ meta: Optional[Dict[str, Any]] = {}
76
+ data_type: Optional[str] = None
77
+ quote: Optional[bool] = None
78
+ tags: Optional[List[str]] = []
79
+
80
+
81
+ class Docs(BaseParserModel):
82
+ model_config = ConfigDict(
83
+ extra="forbid",
84
+ )
85
+ show: Optional[bool] = True
86
+
87
+
88
+ class InjectedCTE(BaseParserModel):
89
+ model_config = ConfigDict(
90
+ extra="forbid",
91
+ )
92
+ id: str
93
+ sql: str
94
+
95
+
96
+ class ResourceType1(Enum):
97
+ test = "test"
98
+
99
+
100
+ class TestConfig(BaseParserModel):
101
+ model_config = ConfigDict(
102
+ extra="allow",
103
+ )
104
+ enabled: Optional[bool] = True
105
+ alias: Optional[str] = None
106
+ schema_: Optional[str] = Field("dbt_test__audit", alias="schema")
107
+ database: Optional[str] = None
108
+ tags: Optional[Union[List[str], str]] = []
109
+ meta: Optional[Dict[str, Any]] = {}
110
+ materialized: Optional[str] = "test"
111
+ severity: Optional[constr(pattern=r"^([Ww][Aa][Rr][Nn]|[Ee][Rr][Rr][Oo][Rr])$")] = (
112
+ "ERROR"
113
+ )
114
+ store_failures: Optional[bool] = None
115
+ where: Optional[str] = None
116
+ limit: Optional[int] = None
117
+ fail_calc: Optional[str] = "count(*)"
118
+ warn_if: Optional[str] = "!= 0"
119
+ error_if: Optional[str] = "!= 0"
120
+
121
+
122
+ class ResourceType2(Enum):
123
+ model = "model"
124
+
125
+
126
+ class ResourceType3(Enum):
127
+ operation = "operation"
128
+
129
+
130
+ class ResourceType4(Enum):
131
+ rpc = "rpc"
132
+
133
+
134
+ class ResourceType5(Enum):
135
+ test = "test"
136
+
137
+
138
+ class TestMetadata(BaseParserModel):
139
+ model_config = ConfigDict(
140
+ extra="forbid",
141
+ )
142
+ name: str
143
+ kwargs: Optional[Dict[str, Any]] = {}
144
+ namespace: Optional[str] = None
145
+
146
+
147
+ class ResourceType6(Enum):
148
+ seed = "seed"
149
+
150
+
151
+ class SeedConfig(BaseParserModel):
152
+ model_config = ConfigDict(
153
+ extra="allow",
154
+ )
155
+ enabled: Optional[bool] = True
156
+ alias: Optional[str] = None
157
+ schema_: Optional[str] = Field(None, alias="schema")
158
+ database: Optional[str] = None
159
+ tags: Optional[Union[List[str], str]] = []
160
+ meta: Optional[Dict[str, Any]] = {}
161
+ materialized: Optional[str] = "seed"
162
+ persist_docs: Optional[Dict[str, Any]] = {}
163
+ post_hook: Optional[List[Hook]] = Field([], alias="post-hook")
164
+ pre_hook: Optional[List[Hook]] = Field([], alias="pre-hook")
165
+ quoting: Optional[Dict[str, Any]] = {}
166
+ column_types: Optional[Dict[str, Any]] = {}
167
+ full_refresh: Optional[bool] = None
168
+ on_schema_change: Optional[str] = "ignore"
169
+ quote_columns: Optional[bool] = None
170
+
171
+
172
+ class ResourceType7(Enum):
173
+ snapshot = "snapshot"
174
+
175
+
176
+ class ResourceType8(Enum):
177
+ analysis = "analysis"
178
+
179
+
180
+ class ResourceType9(Enum):
181
+ test = "test"
182
+
183
+
184
+ class ParsedDataTestNode(BaseParserModel):
185
+ model_config = ConfigDict(
186
+ extra="forbid",
187
+ )
188
+ raw_sql: str
189
+ database: Optional[str] = None
190
+ schema_: str = Field(..., alias="schema")
191
+ fqn: List[str]
192
+ unique_id: str
193
+ package_name: str
194
+ root_path: str
195
+ path: str
196
+ original_file_path: str
197
+ name: str
198
+ resource_type: ResourceType9
199
+ alias: str
200
+ checksum: FileHash
201
+ config: Optional[TestConfig] = Field(
202
+ default_factory=lambda: TestConfig.model_validate(
203
+ {
204
+ "enabled": True,
205
+ "alias": None,
206
+ "schema": "dbt_test__audit",
207
+ "database": None,
208
+ "tags": [],
209
+ "meta": {},
210
+ "materialized": "test",
211
+ "severity": "ERROR",
212
+ "store_failures": None,
213
+ "where": None,
214
+ "limit": None,
215
+ "fail_calc": "count(*)",
216
+ "warn_if": "!= 0",
217
+ "error_if": "!= 0",
218
+ }
219
+ )
220
+ )
221
+ tags: Optional[List[str]] = []
222
+ refs: Optional[List[List[str]]] = []
223
+ sources: Optional[List[List]] = []
224
+ depends_on: Optional[DependsOn] = Field(
225
+ default_factory=lambda: DependsOn.model_validate({"macros": [], "nodes": []})
226
+ )
227
+ description: Optional[str] = ""
228
+ columns: Optional[Dict[str, ColumnInfo]] = {}
229
+ meta: Optional[Dict[str, Any]] = {}
230
+ docs: Optional[Docs] = Field(
231
+ default_factory=lambda: Docs.model_validate({"show": True})
232
+ )
233
+ patch_path: Optional[str] = None
234
+ compiled_path: Optional[str] = None
235
+ build_path: Optional[str] = None
236
+ deferred: Optional[bool] = False
237
+ unrendered_config: Optional[Dict[str, Any]] = {}
238
+ created_at: Optional[int] = 1632490154
239
+ config_call_dict: Optional[Dict[str, Any]] = {}
240
+
241
+
242
+ class ResourceType10(Enum):
243
+ operation = "operation"
244
+
245
+
246
+ class ResourceType11(Enum):
247
+ model = "model"
248
+
249
+
250
+ class ResourceType12(Enum):
251
+ rpc = "rpc"
252
+
253
+
254
+ class ResourceType13(Enum):
255
+ test = "test"
256
+
257
+
258
+ class ParsedSchemaTestNode(BaseParserModel):
259
+ model_config = ConfigDict(
260
+ extra="forbid",
261
+ )
262
+ raw_sql: str
263
+ test_metadata: TestMetadata
264
+ database: Optional[str] = None
265
+ schema_: str = Field(..., alias="schema")
266
+ fqn: List[str]
267
+ unique_id: str
268
+ package_name: str
269
+ root_path: str
270
+ path: str
271
+ original_file_path: str
272
+ name: str
273
+ resource_type: ResourceType13
274
+ alias: str
275
+ checksum: FileHash
276
+ config: Optional[TestConfig] = Field(
277
+ default_factory=lambda: TestConfig.model_validate(
278
+ {
279
+ "enabled": True,
280
+ "alias": None,
281
+ "schema": "dbt_test__audit",
282
+ "database": None,
283
+ "tags": [],
284
+ "meta": {},
285
+ "materialized": "test",
286
+ "severity": "ERROR",
287
+ "store_failures": None,
288
+ "where": None,
289
+ "limit": None,
290
+ "fail_calc": "count(*)",
291
+ "warn_if": "!= 0",
292
+ "error_if": "!= 0",
293
+ }
294
+ )
295
+ )
296
+ tags: Optional[List[str]] = []
297
+ refs: Optional[List[List[str]]] = []
298
+ sources: Optional[List[List]] = []
299
+ depends_on: Optional[DependsOn] = Field(
300
+ default_factory=lambda: DependsOn.model_validate({"macros": [], "nodes": []})
301
+ )
302
+ description: Optional[str] = ""
303
+ columns: Optional[Dict[str, ColumnInfo]] = {}
304
+ meta: Optional[Dict[str, Any]] = {}
305
+ docs: Optional[Docs] = Field(
306
+ default_factory=lambda: Docs.model_validate({"show": True})
307
+ )
308
+ patch_path: Optional[str] = None
309
+ compiled_path: Optional[str] = None
310
+ build_path: Optional[str] = None
311
+ deferred: Optional[bool] = False
312
+ unrendered_config: Optional[Dict[str, Any]] = {}
313
+ created_at: Optional[int] = 1632490154
314
+ config_call_dict: Optional[Dict[str, Any]] = {}
315
+ column_name: Optional[str] = None
316
+
317
+
318
+ class ResourceType14(Enum):
319
+ seed = "seed"
320
+
321
+
322
+ class ParsedSeedNode(BaseParserModel):
323
+ model_config = ConfigDict(
324
+ extra="forbid",
325
+ )
326
+ raw_sql: str
327
+ database: Optional[str] = None
328
+ schema_: str = Field(..., alias="schema")
329
+ fqn: List[str]
330
+ unique_id: str
331
+ package_name: str
332
+ root_path: str
333
+ path: str
334
+ original_file_path: str
335
+ name: str
336
+ resource_type: ResourceType14
337
+ alias: str
338
+ checksum: FileHash
339
+ config: Optional[SeedConfig] = Field(
340
+ default_factory=lambda: SeedConfig.model_validate(
341
+ {
342
+ "enabled": True,
343
+ "alias": None,
344
+ "schema": None,
345
+ "database": None,
346
+ "tags": [],
347
+ "meta": {},
348
+ "materialized": "seed",
349
+ "persist_docs": {},
350
+ "quoting": {},
351
+ "column_types": {},
352
+ "full_refresh": None,
353
+ "on_schema_change": "ignore",
354
+ "quote_columns": None,
355
+ "post-hook": [],
356
+ "pre-hook": [],
357
+ }
358
+ )
359
+ )
360
+ tags: Optional[List[str]] = []
361
+ refs: Optional[List[List[str]]] = []
362
+ sources: Optional[List[List]] = []
363
+ depends_on: Optional[DependsOn] = Field(
364
+ default_factory=lambda: DependsOn.model_validate({"macros": [], "nodes": []})
365
+ )
366
+ description: Optional[str] = ""
367
+ columns: Optional[Dict[str, ColumnInfo]] = {}
368
+ meta: Optional[Dict[str, Any]] = {}
369
+ docs: Optional[Docs] = Field(
370
+ default_factory=lambda: Docs.model_validate({"show": True})
371
+ )
372
+ patch_path: Optional[str] = None
373
+ compiled_path: Optional[str] = None
374
+ build_path: Optional[str] = None
375
+ deferred: Optional[bool] = False
376
+ unrendered_config: Optional[Dict[str, Any]] = {}
377
+ created_at: Optional[int] = 1632490154
378
+ config_call_dict: Optional[Dict[str, Any]] = {}
379
+
380
+
381
+ class ResourceType15(Enum):
382
+ snapshot = "snapshot"
383
+
384
+
385
+ class SnapshotConfig(BaseParserModel):
386
+ model_config = ConfigDict(
387
+ extra="allow",
388
+ )
389
+ enabled: Optional[bool] = True
390
+ alias: Optional[str] = None
391
+ schema_: Optional[str] = Field(None, alias="schema")
392
+ database: Optional[str] = None
393
+ tags: Optional[Union[List[str], str]] = []
394
+ meta: Optional[Dict[str, Any]] = {}
395
+ materialized: Optional[str] = "snapshot"
396
+ persist_docs: Optional[Dict[str, Any]] = {}
397
+ post_hook: Optional[List[Hook]] = Field([], alias="post-hook")
398
+ pre_hook: Optional[List[Hook]] = Field([], alias="pre-hook")
399
+ quoting: Optional[Dict[str, Any]] = {}
400
+ column_types: Optional[Dict[str, Any]] = {}
401
+ full_refresh: Optional[bool] = None
402
+ on_schema_change: Optional[str] = "ignore"
403
+ strategy: Optional[str] = None
404
+ unique_key: Optional[str] = None
405
+ target_schema: Optional[str] = None
406
+ target_database: Optional[str] = None
407
+ updated_at: Optional[str] = None
408
+ check_cols: Optional[Union[str, List[str]]] = None
409
+
410
+
411
+ class ResourceType16(Enum):
412
+ source = "source"
413
+
414
+
415
+ class Quoting(BaseParserModel):
416
+ model_config = ConfigDict(
417
+ extra="forbid",
418
+ )
419
+ database: Optional[bool] = None
420
+ schema_: Optional[bool] = Field(None, alias="schema")
421
+ identifier: Optional[bool] = None
422
+ column: Optional[bool] = None
423
+
424
+
425
+ class FreshnessMetadata(BaseParserModel):
426
+ model_config = ConfigDict(
427
+ extra="forbid",
428
+ )
429
+ dbt_schema_version: Optional[str] = "https://schemas.getdbt.com/dbt/sources/v2.json"
430
+ dbt_version: Optional[str] = "0.21.0rc1"
431
+ generated_at: Optional[datetime] = "2021-09-24T13:29:14.312598Z"
432
+ invocation_id: Optional[str] = None
433
+ env: Optional[Dict[str, str]] = {}
434
+
435
+
436
+ class Status(Enum):
437
+ runtime_error = "runtime error"
438
+
439
+
440
+ class SourceFreshnessRuntimeError(BaseParserModel):
441
+ model_config = ConfigDict(
442
+ extra="forbid",
443
+ )
444
+ unique_id: str
445
+ error: Optional[Union[str, int]] = None
446
+ status: Status
447
+
448
+
449
+ class Status1(Enum):
450
+ pass_ = "pass"
451
+ warn = "warn"
452
+ error = "error"
453
+ runtime_error = "runtime error"
454
+
455
+
456
+ class Period(Enum):
457
+ minute = "minute"
458
+ hour = "hour"
459
+ day = "day"
460
+
461
+
462
+ class Time(BaseParserModel):
463
+ model_config = ConfigDict(
464
+ extra="forbid",
465
+ )
466
+ count: int
467
+ period: Period
468
+
469
+
470
+ class TimingInfo(BaseParserModel):
471
+ model_config = ConfigDict(
472
+ extra="forbid",
473
+ )
474
+ name: str
475
+ started_at: Optional[datetime] = None
476
+ completed_at: Optional[datetime] = None
477
+
478
+
479
+ class ExternalPartition(BaseParserModel):
480
+ model_config = ConfigDict(
481
+ extra="allow",
482
+ )
483
+ name: Optional[str] = ""
484
+ description: Optional[str] = ""
485
+ data_type: Optional[str] = ""
486
+ meta: Optional[Dict[str, Any]] = {}
487
+
488
+
489
+ class SourceConfig(BaseParserModel):
490
+ model_config = ConfigDict(
491
+ extra="allow",
492
+ )
493
+ enabled: Optional[bool] = True
494
+
495
+
496
+ class ResourceType17(Enum):
497
+ macro = "macro"
498
+
499
+
500
+ class MacroDependsOn(BaseParserModel):
501
+ model_config = ConfigDict(
502
+ extra="forbid",
503
+ )
504
+ macros: Optional[List[str]] = []
505
+
506
+
507
+ class MacroArgument(BaseParserModel):
508
+ model_config = ConfigDict(
509
+ extra="forbid",
510
+ )
511
+ name: str
512
+ type: Optional[str] = None
513
+ description: Optional[str] = ""
514
+
515
+
516
+ class ParsedDocumentation(BaseParserModel):
517
+ model_config = ConfigDict(
518
+ extra="forbid",
519
+ )
520
+ unique_id: str
521
+ package_name: str
522
+ root_path: str
523
+ path: str
524
+ original_file_path: str
525
+ name: str
526
+ block_contents: str
527
+
528
+
529
+ class Type(Enum):
530
+ dashboard = "dashboard"
531
+ notebook = "notebook"
532
+ analysis = "analysis"
533
+ ml = "ml"
534
+ application = "application"
535
+
536
+
537
+ class ResourceType18(Enum):
538
+ model = "model"
539
+ analysis = "analysis"
540
+ test = "test"
541
+ snapshot = "snapshot"
542
+ operation = "operation"
543
+ seed = "seed"
544
+ rpc = "rpc"
545
+ docs = "docs"
546
+ source = "source"
547
+ macro = "macro"
548
+ exposure = "exposure"
549
+
550
+
551
+ class Maturity(Enum):
552
+ low = "low"
553
+ medium = "medium"
554
+ high = "high"
555
+
556
+
557
+ class ExposureOwner(BaseParserModel):
558
+ model_config = ConfigDict(
559
+ extra="forbid",
560
+ )
561
+ email: str
562
+ name: Optional[str] = None
563
+
564
+
565
+ class NodeConfig(BaseParserModel):
566
+ model_config = ConfigDict(
567
+ extra="allow",
568
+ )
569
+ enabled: Optional[bool] = True
570
+ alias: Optional[str] = None
571
+ schema_: Optional[str] = Field(None, alias="schema")
572
+ database: Optional[str] = None
573
+ tags: Optional[Union[List[str], str]] = []
574
+ meta: Optional[Dict[str, Any]] = {}
575
+ materialized: Optional[str] = "view"
576
+ persist_docs: Optional[Dict[str, Any]] = {}
577
+ post_hook: Optional[List[Hook]] = Field([], alias="post-hook")
578
+ pre_hook: Optional[List[Hook]] = Field([], alias="pre-hook")
579
+ quoting: Optional[Dict[str, Any]] = {}
580
+ column_types: Optional[Dict[str, Any]] = {}
581
+ full_refresh: Optional[bool] = None
582
+ on_schema_change: Optional[str] = "ignore"
583
+
584
+
585
+ class CompiledDataTestNode(BaseParserModel):
586
+ model_config = ConfigDict(
587
+ extra="forbid",
588
+ )
589
+ raw_sql: str
590
+ compiled: bool
591
+ database: Optional[str] = None
592
+ schema_: str = Field(..., alias="schema")
593
+ fqn: List[str]
594
+ unique_id: str
595
+ package_name: str
596
+ root_path: str
597
+ path: str
598
+ original_file_path: str
599
+ name: str
600
+ resource_type: ResourceType1
601
+ alias: str
602
+ checksum: FileHash
603
+ config: Optional[TestConfig] = Field(
604
+ default_factory=lambda: TestConfig.model_validate(
605
+ {
606
+ "enabled": True,
607
+ "alias": None,
608
+ "schema": "dbt_test__audit",
609
+ "database": None,
610
+ "tags": [],
611
+ "meta": {},
612
+ "materialized": "test",
613
+ "severity": "ERROR",
614
+ "store_failures": None,
615
+ "where": None,
616
+ "limit": None,
617
+ "fail_calc": "count(*)",
618
+ "warn_if": "!= 0",
619
+ "error_if": "!= 0",
620
+ }
621
+ )
622
+ )
623
+ tags: Optional[List[str]] = []
624
+ refs: Optional[List[List[str]]] = []
625
+ sources: Optional[List[List]] = []
626
+ depends_on: Optional[DependsOn] = Field(
627
+ default_factory=lambda: DependsOn.model_validate({"macros": [], "nodes": []})
628
+ )
629
+ description: Optional[str] = ""
630
+ columns: Optional[Dict[str, ColumnInfo]] = {}
631
+ meta: Optional[Dict[str, Any]] = {}
632
+ docs: Optional[Docs] = Field(
633
+ default_factory=lambda: Docs.model_validate({"show": True})
634
+ )
635
+ patch_path: Optional[str] = None
636
+ compiled_path: Optional[str] = None
637
+ build_path: Optional[str] = None
638
+ deferred: Optional[bool] = False
639
+ unrendered_config: Optional[Dict[str, Any]] = {}
640
+ created_at: Optional[int] = 1632490154
641
+ config_call_dict: Optional[Dict[str, Any]] = {}
642
+ compiled_sql: Optional[str] = None
643
+ extra_ctes_injected: Optional[bool] = False
644
+ extra_ctes: Optional[List[InjectedCTE]] = []
645
+ relation_name: Optional[str] = None
646
+
647
+
648
+ class CompiledModelNode(BaseParserModel):
649
+ model_config = ConfigDict(
650
+ extra="forbid",
651
+ )
652
+ raw_sql: str
653
+ compiled: bool
654
+ database: Optional[str] = None
655
+ schema_: str = Field(..., alias="schema")
656
+ fqn: List[str]
657
+ unique_id: str
658
+ package_name: str
659
+ root_path: str
660
+ path: str
661
+ original_file_path: str
662
+ name: str
663
+ resource_type: ResourceType2
664
+ alias: str
665
+ checksum: FileHash
666
+ config: Optional[NodeConfig] = Field(
667
+ default_factory=lambda: NodeConfig.model_validate(
668
+ {
669
+ "enabled": True,
670
+ "alias": None,
671
+ "schema": None,
672
+ "database": None,
673
+ "tags": [],
674
+ "meta": {},
675
+ "materialized": "view",
676
+ "persist_docs": {},
677
+ "quoting": {},
678
+ "column_types": {},
679
+ "full_refresh": None,
680
+ "on_schema_change": "ignore",
681
+ "post-hook": [],
682
+ "pre-hook": [],
683
+ }
684
+ )
685
+ )
686
+ tags: Optional[List[str]] = []
687
+ refs: Optional[List[List[str]]] = []
688
+ sources: Optional[List[List]] = []
689
+ depends_on: Optional[DependsOn] = Field(
690
+ default_factory=lambda: DependsOn.model_validate({"macros": [], "nodes": []})
691
+ )
692
+ description: Optional[str] = ""
693
+ columns: Optional[Dict[str, ColumnInfo]] = {}
694
+ meta: Optional[Dict[str, Any]] = {}
695
+ docs: Optional[Docs] = Field(
696
+ default_factory=lambda: Docs.model_validate({"show": True})
697
+ )
698
+ patch_path: Optional[str] = None
699
+ compiled_path: Optional[str] = None
700
+ build_path: Optional[str] = None
701
+ deferred: Optional[bool] = False
702
+ unrendered_config: Optional[Dict[str, Any]] = {}
703
+ created_at: Optional[int] = 1632490154
704
+ config_call_dict: Optional[Dict[str, Any]] = {}
705
+ compiled_sql: Optional[str] = None
706
+ extra_ctes_injected: Optional[bool] = False
707
+ extra_ctes: Optional[List[InjectedCTE]] = []
708
+ relation_name: Optional[str] = None
709
+
710
+
711
+ class CompiledHookNode(BaseParserModel):
712
+ model_config = ConfigDict(
713
+ extra="forbid",
714
+ )
715
+ raw_sql: str
716
+ compiled: bool
717
+ database: Optional[str] = None
718
+ schema_: str = Field(..., alias="schema")
719
+ fqn: List[str]
720
+ unique_id: str
721
+ package_name: str
722
+ root_path: str
723
+ path: str
724
+ original_file_path: str
725
+ name: str
726
+ resource_type: ResourceType3
727
+ alias: str
728
+ checksum: FileHash
729
+ config: Optional[NodeConfig] = Field(
730
+ default_factory=lambda: NodeConfig.model_validate(
731
+ {
732
+ "enabled": True,
733
+ "alias": None,
734
+ "schema": None,
735
+ "database": None,
736
+ "tags": [],
737
+ "meta": {},
738
+ "materialized": "view",
739
+ "persist_docs": {},
740
+ "quoting": {},
741
+ "column_types": {},
742
+ "full_refresh": None,
743
+ "on_schema_change": "ignore",
744
+ "post-hook": [],
745
+ "pre-hook": [],
746
+ }
747
+ )
748
+ )
749
+ tags: Optional[List[str]] = []
750
+ refs: Optional[List[List[str]]] = []
751
+ sources: Optional[List[List]] = []
752
+ depends_on: Optional[DependsOn] = Field(
753
+ default_factory=lambda: DependsOn.model_validate({"macros": [], "nodes": []})
754
+ )
755
+ description: Optional[str] = ""
756
+ columns: Optional[Dict[str, ColumnInfo]] = {}
757
+ meta: Optional[Dict[str, Any]] = {}
758
+ docs: Optional[Docs] = Field(
759
+ default_factory=lambda: Docs.model_validate({"show": True})
760
+ )
761
+ patch_path: Optional[str] = None
762
+ compiled_path: Optional[str] = None
763
+ build_path: Optional[str] = None
764
+ deferred: Optional[bool] = False
765
+ unrendered_config: Optional[Dict[str, Any]] = {}
766
+ created_at: Optional[int] = 1632490154
767
+ config_call_dict: Optional[Dict[str, Any]] = {}
768
+ compiled_sql: Optional[str] = None
769
+ extra_ctes_injected: Optional[bool] = False
770
+ extra_ctes: Optional[List[InjectedCTE]] = []
771
+ relation_name: Optional[str] = None
772
+ index: Optional[int] = None
773
+
774
+
775
+ class CompiledRPCNode(BaseParserModel):
776
+ model_config = ConfigDict(
777
+ extra="forbid",
778
+ )
779
+ raw_sql: str
780
+ compiled: bool
781
+ database: Optional[str] = None
782
+ schema_: str = Field(..., alias="schema")
783
+ fqn: List[str]
784
+ unique_id: str
785
+ package_name: str
786
+ root_path: str
787
+ path: str
788
+ original_file_path: str
789
+ name: str
790
+ resource_type: ResourceType4
791
+ alias: str
792
+ checksum: FileHash
793
+ config: Optional[NodeConfig] = Field(
794
+ default_factory=lambda: NodeConfig.model_validate(
795
+ {
796
+ "enabled": True,
797
+ "alias": None,
798
+ "schema": None,
799
+ "database": None,
800
+ "tags": [],
801
+ "meta": {},
802
+ "materialized": "view",
803
+ "persist_docs": {},
804
+ "quoting": {},
805
+ "column_types": {},
806
+ "full_refresh": None,
807
+ "on_schema_change": "ignore",
808
+ "post-hook": [],
809
+ "pre-hook": [],
810
+ }
811
+ )
812
+ )
813
+ tags: Optional[List[str]] = []
814
+ refs: Optional[List[List[str]]] = []
815
+ sources: Optional[List[List]] = []
816
+ depends_on: Optional[DependsOn] = Field(
817
+ default_factory=lambda: DependsOn.model_validate({"macros": [], "nodes": []})
818
+ )
819
+ description: Optional[str] = ""
820
+ columns: Optional[Dict[str, ColumnInfo]] = {}
821
+ meta: Optional[Dict[str, Any]] = {}
822
+ docs: Optional[Docs] = Field(
823
+ default_factory=lambda: Docs.model_validate({"show": True})
824
+ )
825
+ patch_path: Optional[str] = None
826
+ compiled_path: Optional[str] = None
827
+ build_path: Optional[str] = None
828
+ deferred: Optional[bool] = False
829
+ unrendered_config: Optional[Dict[str, Any]] = {}
830
+ created_at: Optional[int] = 1632490154
831
+ config_call_dict: Optional[Dict[str, Any]] = {}
832
+ compiled_sql: Optional[str] = None
833
+ extra_ctes_injected: Optional[bool] = False
834
+ extra_ctes: Optional[List[InjectedCTE]] = []
835
+ relation_name: Optional[str] = None
836
+
837
+
838
+ class CompiledSchemaTestNode(BaseParserModel):
839
+ model_config = ConfigDict(
840
+ extra="forbid",
841
+ )
842
+ raw_sql: str
843
+ test_metadata: TestMetadata
844
+ compiled: bool
845
+ database: Optional[str] = None
846
+ schema_: str = Field(..., alias="schema")
847
+ fqn: List[str]
848
+ unique_id: str
849
+ package_name: str
850
+ root_path: str
851
+ path: str
852
+ original_file_path: str
853
+ name: str
854
+ resource_type: ResourceType5
855
+ alias: str
856
+ checksum: FileHash
857
+ config: Optional[TestConfig] = Field(
858
+ default_factory=lambda: TestConfig.model_validate(
859
+ {
860
+ "enabled": True,
861
+ "alias": None,
862
+ "schema": "dbt_test__audit",
863
+ "database": None,
864
+ "tags": [],
865
+ "meta": {},
866
+ "materialized": "test",
867
+ "severity": "ERROR",
868
+ "store_failures": None,
869
+ "where": None,
870
+ "limit": None,
871
+ "fail_calc": "count(*)",
872
+ "warn_if": "!= 0",
873
+ "error_if": "!= 0",
874
+ }
875
+ )
876
+ )
877
+ tags: Optional[List[str]] = []
878
+ refs: Optional[List[List[str]]] = []
879
+ sources: Optional[List[List]] = []
880
+ depends_on: Optional[DependsOn] = Field(
881
+ default_factory=lambda: DependsOn.model_validate({"macros": [], "nodes": []})
882
+ )
883
+ description: Optional[str] = ""
884
+ columns: Optional[Dict[str, ColumnInfo]] = {}
885
+ meta: Optional[Dict[str, Any]] = {}
886
+ docs: Optional[Docs] = Field(
887
+ default_factory=lambda: Docs.model_validate({"show": True})
888
+ )
889
+ patch_path: Optional[str] = None
890
+ compiled_path: Optional[str] = None
891
+ build_path: Optional[str] = None
892
+ deferred: Optional[bool] = False
893
+ unrendered_config: Optional[Dict[str, Any]] = {}
894
+ created_at: Optional[int] = 1632490154
895
+ config_call_dict: Optional[Dict[str, Any]] = {}
896
+ compiled_sql: Optional[str] = None
897
+ extra_ctes_injected: Optional[bool] = False
898
+ extra_ctes: Optional[List[InjectedCTE]] = []
899
+ relation_name: Optional[str] = None
900
+ column_name: Optional[str] = None
901
+
902
+
903
+ class CompiledSeedNode(BaseParserModel):
904
+ model_config = ConfigDict(
905
+ extra="forbid",
906
+ )
907
+ raw_sql: str
908
+ compiled: bool
909
+ database: Optional[str] = None
910
+ schema_: str = Field(..., alias="schema")
911
+ fqn: List[str]
912
+ unique_id: str
913
+ package_name: str
914
+ root_path: str
915
+ path: str
916
+ original_file_path: str
917
+ name: str
918
+ resource_type: ResourceType6
919
+ alias: str
920
+ checksum: FileHash
921
+ config: Optional[SeedConfig] = Field(
922
+ default_factory=lambda: SeedConfig.model_validate(
923
+ {
924
+ "enabled": True,
925
+ "alias": None,
926
+ "schema": None,
927
+ "database": None,
928
+ "tags": [],
929
+ "meta": {},
930
+ "materialized": "seed",
931
+ "persist_docs": {},
932
+ "quoting": {},
933
+ "column_types": {},
934
+ "full_refresh": None,
935
+ "on_schema_change": "ignore",
936
+ "quote_columns": None,
937
+ "post-hook": [],
938
+ "pre-hook": [],
939
+ }
940
+ )
941
+ )
942
+ tags: Optional[List[str]] = []
943
+ refs: Optional[List[List[str]]] = []
944
+ sources: Optional[List[List]] = []
945
+ depends_on: Optional[DependsOn] = Field(
946
+ default_factory=lambda: DependsOn.model_validate({"macros": [], "nodes": []})
947
+ )
948
+ description: Optional[str] = ""
949
+ columns: Optional[Dict[str, ColumnInfo]] = {}
950
+ meta: Optional[Dict[str, Any]] = {}
951
+ docs: Optional[Docs] = Field(
952
+ default_factory=lambda: Docs.model_validate({"show": True})
953
+ )
954
+ patch_path: Optional[str] = None
955
+ compiled_path: Optional[str] = None
956
+ build_path: Optional[str] = None
957
+ deferred: Optional[bool] = False
958
+ unrendered_config: Optional[Dict[str, Any]] = {}
959
+ created_at: Optional[int] = 1632490154
960
+ config_call_dict: Optional[Dict[str, Any]] = {}
961
+ compiled_sql: Optional[str] = None
962
+ extra_ctes_injected: Optional[bool] = False
963
+ extra_ctes: Optional[List[InjectedCTE]] = []
964
+ relation_name: Optional[str] = None
965
+
966
+
967
+ class CompiledSnapshotNode(BaseParserModel):
968
+ model_config = ConfigDict(
969
+ extra="forbid",
970
+ )
971
+ raw_sql: str
972
+ compiled: bool
973
+ database: Optional[str] = None
974
+ schema_: str = Field(..., alias="schema")
975
+ fqn: List[str]
976
+ unique_id: str
977
+ package_name: str
978
+ root_path: str
979
+ path: str
980
+ original_file_path: str
981
+ name: str
982
+ resource_type: ResourceType7
983
+ alias: str
984
+ checksum: FileHash
985
+ config: Optional[NodeConfig] = Field(
986
+ default_factory=lambda: NodeConfig.model_validate(
987
+ {
988
+ "enabled": True,
989
+ "alias": None,
990
+ "schema": None,
991
+ "database": None,
992
+ "tags": [],
993
+ "meta": {},
994
+ "materialized": "view",
995
+ "persist_docs": {},
996
+ "quoting": {},
997
+ "column_types": {},
998
+ "full_refresh": None,
999
+ "on_schema_change": "ignore",
1000
+ "post-hook": [],
1001
+ "pre-hook": [],
1002
+ }
1003
+ )
1004
+ )
1005
+ tags: Optional[List[str]] = []
1006
+ refs: Optional[List[List[str]]] = []
1007
+ sources: Optional[List[List]] = []
1008
+ depends_on: Optional[DependsOn] = Field(
1009
+ default_factory=lambda: DependsOn.model_validate({"macros": [], "nodes": []})
1010
+ )
1011
+ description: Optional[str] = ""
1012
+ columns: Optional[Dict[str, ColumnInfo]] = {}
1013
+ meta: Optional[Dict[str, Any]] = {}
1014
+ docs: Optional[Docs] = Field(
1015
+ default_factory=lambda: Docs.model_validate({"show": True})
1016
+ )
1017
+ patch_path: Optional[str] = None
1018
+ compiled_path: Optional[str] = None
1019
+ build_path: Optional[str] = None
1020
+ deferred: Optional[bool] = False
1021
+ unrendered_config: Optional[Dict[str, Any]] = {}
1022
+ created_at: Optional[int] = 1632490154
1023
+ config_call_dict: Optional[Dict[str, Any]] = {}
1024
+ compiled_sql: Optional[str] = None
1025
+ extra_ctes_injected: Optional[bool] = False
1026
+ extra_ctes: Optional[List[InjectedCTE]] = []
1027
+ relation_name: Optional[str] = None
1028
+
1029
+
1030
+ class ParsedAnalysisNode(BaseParserModel):
1031
+ model_config = ConfigDict(
1032
+ extra="forbid",
1033
+ )
1034
+ raw_sql: str
1035
+ database: Optional[str] = None
1036
+ schema_: str = Field(..., alias="schema")
1037
+ fqn: List[str]
1038
+ unique_id: str
1039
+ package_name: str
1040
+ root_path: str
1041
+ path: str
1042
+ original_file_path: str
1043
+ name: str
1044
+ resource_type: ResourceType8
1045
+ alias: str
1046
+ checksum: FileHash
1047
+ config: Optional[NodeConfig] = Field(
1048
+ default_factory=lambda: NodeConfig.model_validate(
1049
+ {
1050
+ "enabled": True,
1051
+ "alias": None,
1052
+ "schema": None,
1053
+ "database": None,
1054
+ "tags": [],
1055
+ "meta": {},
1056
+ "materialized": "view",
1057
+ "persist_docs": {},
1058
+ "quoting": {},
1059
+ "column_types": {},
1060
+ "full_refresh": None,
1061
+ "on_schema_change": "ignore",
1062
+ "post-hook": [],
1063
+ "pre-hook": [],
1064
+ }
1065
+ )
1066
+ )
1067
+ tags: Optional[List[str]] = []
1068
+ refs: Optional[List[List[str]]] = []
1069
+ sources: Optional[List[List]] = []
1070
+ depends_on: Optional[DependsOn] = Field(
1071
+ default_factory=lambda: DependsOn.model_validate({"macros": [], "nodes": []})
1072
+ )
1073
+ description: Optional[str] = ""
1074
+ columns: Optional[Dict[str, ColumnInfo]] = {}
1075
+ meta: Optional[Dict[str, Any]] = {}
1076
+ docs: Optional[Docs] = Field(
1077
+ default_factory=lambda: Docs.model_validate({"show": True})
1078
+ )
1079
+ patch_path: Optional[str] = None
1080
+ compiled_path: Optional[str] = None
1081
+ build_path: Optional[str] = None
1082
+ deferred: Optional[bool] = False
1083
+ unrendered_config: Optional[Dict[str, Any]] = {}
1084
+ created_at: Optional[int] = 1632490154
1085
+ config_call_dict: Optional[Dict[str, Any]] = {}
1086
+
1087
+
1088
+ class ParsedHookNode(BaseParserModel):
1089
+ model_config = ConfigDict(
1090
+ extra="forbid",
1091
+ )
1092
+ raw_sql: str
1093
+ database: Optional[str] = None
1094
+ schema_: str = Field(..., alias="schema")
1095
+ fqn: List[str]
1096
+ unique_id: str
1097
+ package_name: str
1098
+ root_path: str
1099
+ path: str
1100
+ original_file_path: str
1101
+ name: str
1102
+ resource_type: ResourceType10
1103
+ alias: str
1104
+ checksum: FileHash
1105
+ config: Optional[NodeConfig] = Field(
1106
+ default_factory=lambda: NodeConfig.model_validate(
1107
+ {
1108
+ "enabled": True,
1109
+ "alias": None,
1110
+ "schema": None,
1111
+ "database": None,
1112
+ "tags": [],
1113
+ "meta": {},
1114
+ "materialized": "view",
1115
+ "persist_docs": {},
1116
+ "quoting": {},
1117
+ "column_types": {},
1118
+ "full_refresh": None,
1119
+ "on_schema_change": "ignore",
1120
+ "post-hook": [],
1121
+ "pre-hook": [],
1122
+ }
1123
+ )
1124
+ )
1125
+ tags: Optional[List[str]] = []
1126
+ refs: Optional[List[List[str]]] = []
1127
+ sources: Optional[List[List]] = []
1128
+ depends_on: Optional[DependsOn] = Field(
1129
+ default_factory=lambda: DependsOn.model_validate({"macros": [], "nodes": []})
1130
+ )
1131
+ description: Optional[str] = ""
1132
+ columns: Optional[Dict[str, ColumnInfo]] = {}
1133
+ meta: Optional[Dict[str, Any]] = {}
1134
+ docs: Optional[Docs] = Field(
1135
+ default_factory=lambda: Docs.model_validate({"show": True})
1136
+ )
1137
+ patch_path: Optional[str] = None
1138
+ compiled_path: Optional[str] = None
1139
+ build_path: Optional[str] = None
1140
+ deferred: Optional[bool] = False
1141
+ unrendered_config: Optional[Dict[str, Any]] = {}
1142
+ created_at: Optional[int] = 1632490154
1143
+ config_call_dict: Optional[Dict[str, Any]] = {}
1144
+ index: Optional[int] = None
1145
+
1146
+
1147
+ class ParsedModelNode(BaseParserModel):
1148
+ model_config = ConfigDict(
1149
+ extra="forbid",
1150
+ )
1151
+ raw_sql: str
1152
+ database: Optional[str] = None
1153
+ schema_: str = Field(..., alias="schema")
1154
+ fqn: List[str]
1155
+ unique_id: str
1156
+ package_name: str
1157
+ root_path: str
1158
+ path: str
1159
+ original_file_path: str
1160
+ name: str
1161
+ resource_type: ResourceType11
1162
+ alias: str
1163
+ checksum: FileHash
1164
+ config: Optional[NodeConfig] = Field(
1165
+ default_factory=lambda: NodeConfig.model_validate(
1166
+ {
1167
+ "enabled": True,
1168
+ "alias": None,
1169
+ "schema": None,
1170
+ "database": None,
1171
+ "tags": [],
1172
+ "meta": {},
1173
+ "materialized": "view",
1174
+ "persist_docs": {},
1175
+ "quoting": {},
1176
+ "column_types": {},
1177
+ "full_refresh": None,
1178
+ "on_schema_change": "ignore",
1179
+ "post-hook": [],
1180
+ "pre-hook": [],
1181
+ }
1182
+ )
1183
+ )
1184
+ tags: Optional[List[str]] = []
1185
+ refs: Optional[List[List[str]]] = []
1186
+ sources: Optional[List[List]] = []
1187
+ depends_on: Optional[DependsOn] = Field(
1188
+ default_factory=lambda: DependsOn.model_validate({"macros": [], "nodes": []})
1189
+ )
1190
+ description: Optional[str] = ""
1191
+ columns: Optional[Dict[str, ColumnInfo]] = {}
1192
+ meta: Optional[Dict[str, Any]] = {}
1193
+ docs: Optional[Docs] = Field(
1194
+ default_factory=lambda: Docs.model_validate({"show": True})
1195
+ )
1196
+ patch_path: Optional[str] = None
1197
+ compiled_path: Optional[str] = None
1198
+ build_path: Optional[str] = None
1199
+ deferred: Optional[bool] = False
1200
+ unrendered_config: Optional[Dict[str, Any]] = {}
1201
+ created_at: Optional[int] = 1632490154
1202
+ config_call_dict: Optional[Dict[str, Any]] = {}
1203
+
1204
+
1205
+ class ParsedRPCNode(BaseParserModel):
1206
+ model_config = ConfigDict(
1207
+ extra="forbid",
1208
+ )
1209
+ raw_sql: str
1210
+ database: Optional[str] = None
1211
+ schema_: str = Field(..., alias="schema")
1212
+ fqn: List[str]
1213
+ unique_id: str
1214
+ package_name: str
1215
+ root_path: str
1216
+ path: str
1217
+ original_file_path: str
1218
+ name: str
1219
+ resource_type: ResourceType12
1220
+ alias: str
1221
+ checksum: FileHash
1222
+ config: Optional[NodeConfig] = Field(
1223
+ default_factory=lambda: NodeConfig.model_validate(
1224
+ {
1225
+ "enabled": True,
1226
+ "alias": None,
1227
+ "schema": None,
1228
+ "database": None,
1229
+ "tags": [],
1230
+ "meta": {},
1231
+ "materialized": "view",
1232
+ "persist_docs": {},
1233
+ "quoting": {},
1234
+ "column_types": {},
1235
+ "full_refresh": None,
1236
+ "on_schema_change": "ignore",
1237
+ "post-hook": [],
1238
+ "pre-hook": [],
1239
+ }
1240
+ )
1241
+ )
1242
+ tags: Optional[List[str]] = []
1243
+ refs: Optional[List[List[str]]] = []
1244
+ sources: Optional[List[List]] = []
1245
+ depends_on: Optional[DependsOn] = Field(
1246
+ default_factory=lambda: DependsOn.model_validate({"macros": [], "nodes": []})
1247
+ )
1248
+ description: Optional[str] = ""
1249
+ columns: Optional[Dict[str, ColumnInfo]] = {}
1250
+ meta: Optional[Dict[str, Any]] = {}
1251
+ docs: Optional[Docs] = Field(
1252
+ default_factory=lambda: Docs.model_validate({"show": True})
1253
+ )
1254
+ patch_path: Optional[str] = None
1255
+ compiled_path: Optional[str] = None
1256
+ build_path: Optional[str] = None
1257
+ deferred: Optional[bool] = False
1258
+ unrendered_config: Optional[Dict[str, Any]] = {}
1259
+ created_at: Optional[int] = 1632490154
1260
+ config_call_dict: Optional[Dict[str, Any]] = {}
1261
+
1262
+
1263
+ class ParsedSnapshotNode(BaseParserModel):
1264
+ model_config = ConfigDict(
1265
+ extra="forbid",
1266
+ )
1267
+ raw_sql: str
1268
+ database: Optional[str] = None
1269
+ schema_: str = Field(..., alias="schema")
1270
+ fqn: List[str]
1271
+ unique_id: str
1272
+ package_name: str
1273
+ root_path: str
1274
+ path: str
1275
+ original_file_path: str
1276
+ name: str
1277
+ resource_type: ResourceType15
1278
+ alias: str
1279
+ checksum: FileHash
1280
+ config: SnapshotConfig
1281
+ tags: Optional[List[str]] = []
1282
+ refs: Optional[List[List[str]]] = []
1283
+ sources: Optional[List[List]] = []
1284
+ depends_on: Optional[DependsOn] = Field(
1285
+ default_factory=lambda: DependsOn.model_validate({"macros": [], "nodes": []})
1286
+ )
1287
+ description: Optional[str] = ""
1288
+ columns: Optional[Dict[str, ColumnInfo]] = {}
1289
+ meta: Optional[Dict[str, Any]] = {}
1290
+ docs: Optional[Docs] = Field(
1291
+ default_factory=lambda: Docs.model_validate({"show": True})
1292
+ )
1293
+ patch_path: Optional[str] = None
1294
+ compiled_path: Optional[str] = None
1295
+ build_path: Optional[str] = None
1296
+ deferred: Optional[bool] = False
1297
+ unrendered_config: Optional[Dict[str, Any]] = {}
1298
+ created_at: Optional[int] = 1632490154
1299
+ config_call_dict: Optional[Dict[str, Any]] = {}
1300
+
1301
+
1302
+ class FreshnessThreshold(BaseParserModel):
1303
+ model_config = ConfigDict(
1304
+ extra="forbid",
1305
+ )
1306
+ warn_after: Optional[Time] = None
1307
+ error_after: Optional[Time] = None
1308
+ filter: Optional[str] = None
1309
+
1310
+
1311
+ class SourceFreshnessOutput(BaseParserModel):
1312
+ model_config = ConfigDict(
1313
+ extra="forbid",
1314
+ )
1315
+ unique_id: str
1316
+ max_loaded_at: datetime
1317
+ snapshotted_at: datetime
1318
+ max_loaded_at_time_ago_in_s: float
1319
+ status: Status1
1320
+ criteria: FreshnessThreshold
1321
+ adapter_response: Dict[str, Any]
1322
+ timing: List[TimingInfo]
1323
+ thread_id: str
1324
+ execution_time: float
1325
+
1326
+
1327
+ class ExternalTable(BaseParserModel):
1328
+ model_config = ConfigDict(
1329
+ extra="allow",
1330
+ )
1331
+ location: Optional[str] = None
1332
+ file_format: Optional[str] = None
1333
+ row_format: Optional[str] = None
1334
+ tbl_properties: Optional[str] = None
1335
+ partitions: Optional[List[ExternalPartition]] = None
1336
+
1337
+
1338
+ class ParsedMacro(BaseParserModel):
1339
+ model_config = ConfigDict(
1340
+ extra="forbid",
1341
+ )
1342
+ unique_id: str
1343
+ package_name: str
1344
+ root_path: str
1345
+ path: str
1346
+ original_file_path: str
1347
+ name: str
1348
+ macro_sql: str
1349
+ resource_type: ResourceType17
1350
+ tags: Optional[List[str]] = []
1351
+ depends_on: Optional[MacroDependsOn] = Field(
1352
+ default_factory=lambda: MacroDependsOn.model_validate({"macros": []})
1353
+ )
1354
+ description: Optional[str] = ""
1355
+ meta: Optional[Dict[str, Any]] = {}
1356
+ docs: Optional[Docs] = Field(
1357
+ default_factory=lambda: Docs.model_validate({"show": True})
1358
+ )
1359
+ patch_path: Optional[str] = None
1360
+ arguments: Optional[List[MacroArgument]] = []
1361
+ created_at: Optional[int] = 1632490154
1362
+
1363
+
1364
+ class ParsedExposure(BaseParserModel):
1365
+ model_config = ConfigDict(
1366
+ extra="forbid",
1367
+ )
1368
+ fqn: List[str]
1369
+ unique_id: str
1370
+ package_name: str
1371
+ root_path: str
1372
+ path: str
1373
+ original_file_path: str
1374
+ name: str
1375
+ type: Type
1376
+ owner: ExposureOwner
1377
+ resource_type: Optional[ResourceType18] = "exposure"
1378
+ description: Optional[str] = ""
1379
+ maturity: Optional[Maturity] = None
1380
+ meta: Optional[Dict[str, Any]] = {}
1381
+ tags: Optional[List[str]] = []
1382
+ url: Optional[str] = None
1383
+ depends_on: Optional[DependsOn] = Field(
1384
+ default_factory=lambda: DependsOn.model_validate({"macros": [], "nodes": []})
1385
+ )
1386
+ refs: Optional[List[List[str]]] = []
1387
+ sources: Optional[List[List[str]]] = []
1388
+ created_at: Optional[int] = 1632490154
1389
+
1390
+
1391
+ class CompiledAnalysisNode(BaseParserModel):
1392
+ model_config = ConfigDict(
1393
+ extra="forbid",
1394
+ )
1395
+ raw_sql: str
1396
+ compiled: bool
1397
+ database: Optional[str] = None
1398
+ schema_: str = Field(..., alias="schema")
1399
+ fqn: List[str]
1400
+ unique_id: str
1401
+ package_name: str
1402
+ root_path: str
1403
+ path: str
1404
+ original_file_path: str
1405
+ name: str
1406
+ resource_type: ResourceType
1407
+ alias: str
1408
+ checksum: FileHash
1409
+ config: Optional[NodeConfig] = Field(
1410
+ default_factory=lambda: NodeConfig.model_validate(
1411
+ {
1412
+ "enabled": True,
1413
+ "alias": None,
1414
+ "schema": None,
1415
+ "database": None,
1416
+ "tags": [],
1417
+ "meta": {},
1418
+ "materialized": "view",
1419
+ "persist_docs": {},
1420
+ "quoting": {},
1421
+ "column_types": {},
1422
+ "full_refresh": None,
1423
+ "on_schema_change": "ignore",
1424
+ "post-hook": [],
1425
+ "pre-hook": [],
1426
+ }
1427
+ )
1428
+ )
1429
+ tags: Optional[List[str]] = []
1430
+ refs: Optional[List[List[str]]] = []
1431
+ sources: Optional[List[List]] = []
1432
+ depends_on: Optional[DependsOn] = Field(
1433
+ default_factory=lambda: DependsOn.model_validate({"macros": [], "nodes": []})
1434
+ )
1435
+ description: Optional[str] = ""
1436
+ columns: Optional[Dict[str, ColumnInfo]] = {}
1437
+ meta: Optional[Dict[str, Any]] = {}
1438
+ docs: Optional[Docs] = Field(
1439
+ default_factory=lambda: Docs.model_validate({"show": True})
1440
+ )
1441
+ patch_path: Optional[str] = None
1442
+ compiled_path: Optional[str] = None
1443
+ build_path: Optional[str] = None
1444
+ deferred: Optional[bool] = False
1445
+ unrendered_config: Optional[Dict[str, Any]] = {}
1446
+ created_at: Optional[int] = 1632490154
1447
+ config_call_dict: Optional[Dict[str, Any]] = {}
1448
+ compiled_sql: Optional[str] = None
1449
+ extra_ctes_injected: Optional[bool] = False
1450
+ extra_ctes: Optional[List[InjectedCTE]] = []
1451
+ relation_name: Optional[str] = None
1452
+
1453
+
1454
+ class ParsedSourceDefinition(BaseParserModel):
1455
+ model_config = ConfigDict(
1456
+ extra="forbid",
1457
+ )
1458
+ fqn: List[str]
1459
+ database: Optional[str] = None
1460
+ schema_: str = Field(..., alias="schema")
1461
+ unique_id: str
1462
+ package_name: str
1463
+ root_path: str
1464
+ path: str
1465
+ original_file_path: str
1466
+ name: str
1467
+ source_name: str
1468
+ source_description: str
1469
+ loader: str
1470
+ identifier: str
1471
+ resource_type: ResourceType16
1472
+ quoting: Optional[Quoting] = Field(
1473
+ default_factory=lambda: Quoting.model_validate(
1474
+ {"database": None, "schema": None, "identifier": None, "column": None}
1475
+ )
1476
+ )
1477
+ loaded_at_field: Optional[str] = None
1478
+ freshness: Optional[FreshnessThreshold] = None
1479
+ external: Optional[ExternalTable] = None
1480
+ description: Optional[str] = ""
1481
+ columns: Optional[Dict[str, ColumnInfo]] = {}
1482
+ meta: Optional[Dict[str, Any]] = {}
1483
+ source_meta: Optional[Dict[str, Any]] = {}
1484
+ tags: Optional[List[str]] = []
1485
+ config: Optional[SourceConfig] = Field(
1486
+ default_factory=lambda: SourceConfig.model_validate({"enabled": True})
1487
+ )
1488
+ patch_path: Optional[str] = None
1489
+ unrendered_config: Optional[Dict[str, Any]] = {}
1490
+ relation_name: Optional[str] = None
1491
+ created_at: Optional[int] = 1632490154
1492
+
1493
+
1494
+ class ManifestV3(BaseParserModel):
1495
+ model_config = ConfigDict(
1496
+ extra="forbid",
1497
+ )
1498
+ metadata: ManifestMetadata = Field(..., description="Metadata about the manifest")
1499
+ nodes: Dict[
1500
+ str,
1501
+ Union[
1502
+ CompiledAnalysisNode,
1503
+ CompiledDataTestNode,
1504
+ CompiledModelNode,
1505
+ CompiledHookNode,
1506
+ CompiledRPCNode,
1507
+ CompiledSchemaTestNode,
1508
+ CompiledSeedNode,
1509
+ CompiledSnapshotNode,
1510
+ ParsedAnalysisNode,
1511
+ ParsedDataTestNode,
1512
+ ParsedHookNode,
1513
+ ParsedModelNode,
1514
+ ParsedRPCNode,
1515
+ ParsedSchemaTestNode,
1516
+ ParsedSeedNode,
1517
+ ParsedSnapshotNode,
1518
+ ],
1519
+ ] = Field(
1520
+ ..., description="The nodes defined in the dbt project and its dependencies"
1521
+ )
1522
+ sources: Dict[str, ParsedSourceDefinition] = Field(
1523
+ ..., description="The sources defined in the dbt project and its dependencies"
1524
+ )
1525
+ macros: Dict[str, ParsedMacro] = Field(
1526
+ ..., description="The macros defined in the dbt project and its dependencies"
1527
+ )
1528
+ docs: Dict[str, ParsedDocumentation] = Field(
1529
+ ..., description="The docs defined in the dbt project and its dependencies"
1530
+ )
1531
+ exposures: Dict[str, ParsedExposure] = Field(
1532
+ ..., description="The exposures defined in the dbt project and its dependencies"
1533
+ )
1534
+ selectors: Dict[str, Any] = Field(
1535
+ ..., description="The selectors defined in selectors.yml"
1536
+ )
1537
+ disabled: Optional[
1538
+ List[
1539
+ Union[
1540
+ CompiledAnalysisNode,
1541
+ CompiledDataTestNode,
1542
+ CompiledModelNode,
1543
+ CompiledHookNode,
1544
+ CompiledRPCNode,
1545
+ CompiledSchemaTestNode,
1546
+ CompiledSeedNode,
1547
+ CompiledSnapshotNode,
1548
+ ParsedAnalysisNode,
1549
+ ParsedDataTestNode,
1550
+ ParsedHookNode,
1551
+ ParsedModelNode,
1552
+ ParsedRPCNode,
1553
+ ParsedSchemaTestNode,
1554
+ ParsedSeedNode,
1555
+ ParsedSnapshotNode,
1556
+ ParsedSourceDefinition,
1557
+ ]
1558
+ ]
1559
+ ] = Field(None, description="A list of the disabled nodes in the target")
1560
+ parent_map: Optional[Dict[str, List[str]]] = Field(
1561
+ None, description="A mapping from\xa0child nodes to their dependencies"
1562
+ )
1563
+ child_map: Optional[Dict[str, List[str]]] = Field(
1564
+ None, description="A mapping from parent nodes to their dependents"
1565
+ )