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