mirror of
https://github.com/dbt-labs/dbt-core
synced 2025-12-23 11:41:28 +00:00
Compare commits
4 Commits
enable-pos
...
v1.8.0rc2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8f506a1b3d | ||
|
|
40343274d9 | ||
|
|
062a7788bd | ||
|
|
cf600a62fd |
@@ -1,5 +1,5 @@
|
|||||||
[bumpversion]
|
[bumpversion]
|
||||||
current_version = 1.8.0b3
|
current_version = 1.8.0rc2
|
||||||
parse = (?P<major>[\d]+) # major version number
|
parse = (?P<major>[\d]+) # major version number
|
||||||
\.(?P<minor>[\d]+) # minor version number
|
\.(?P<minor>[\d]+) # minor version number
|
||||||
\.(?P<patch>[\d]+) # patch version number
|
\.(?P<patch>[\d]+) # patch version number
|
||||||
|
|||||||
43
.changes/1.8.0-rc1.md
Normal file
43
.changes/1.8.0-rc1.md
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
## dbt-core 1.8.0-rc1 - May 02, 2024
|
||||||
|
|
||||||
|
### Breaking Changes
|
||||||
|
|
||||||
|
- Update the default behaviour of require_explicit_package_overrides_for_builtin_materializations to True. ([#10062](https://github.com/dbt-labs/dbt-core/issues/10062))
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
- Package selector syntax for the current package ([#6891](https://github.com/dbt-labs/dbt-core/issues/6891))
|
||||||
|
- Add require_explicit_package_overrides_for_builtin_materializations to dbt_project.yml flags, which can be used to opt-out of overriding built-in materializations from packages ([#10007](https://github.com/dbt-labs/dbt-core/issues/10007))
|
||||||
|
- add --empty flag to dbt build command ([#10026](https://github.com/dbt-labs/dbt-core/issues/10026))
|
||||||
|
- Ability to `silence` warnings via `warn_error_options` ([#9644](https://github.com/dbt-labs/dbt-core/issues/9644))
|
||||||
|
- Allow aliases `error` for `include` and `warn` for `exclude` in `warn_error_options` ([#9644](https://github.com/dbt-labs/dbt-core/issues/9644))
|
||||||
|
|
||||||
|
### Fixes
|
||||||
|
|
||||||
|
- Add NodeRelation to SavedQuery Export ([#9534](https://github.com/dbt-labs/dbt-core/issues/9534))
|
||||||
|
- Use consistent secret scrubbing with the log function. ([#9987](https://github.com/dbt-labs/dbt-core/issues/9987))
|
||||||
|
- Validate against empty strings in package definitions ([#9985](https://github.com/dbt-labs/dbt-core/issues/9985))
|
||||||
|
- Fix default value for indirect selection in selector cannot overwritten by CLI flag and env var ([#9976](https://github.com/dbt-labs/dbt-core/issues/9976), [#7673](https://github.com/dbt-labs/dbt-core/issues/7673))
|
||||||
|
- Simplify error message if test severity isn't 'warn' or 'error' ([#9715](https://github.com/dbt-labs/dbt-core/issues/9715))
|
||||||
|
- Support overriding source level loaded_at_field with a null table level definition ([#9320](https://github.com/dbt-labs/dbt-core/issues/9320))
|
||||||
|
|
||||||
|
### Docs
|
||||||
|
|
||||||
|
- Enable display of unit tests ([dbt-docs/#501](https://github.com/dbt-labs/dbt-docs/issues/501))
|
||||||
|
- Unit tests not rendering ([dbt-docs/#506](https://github.com/dbt-labs/dbt-docs/issues/506))
|
||||||
|
|
||||||
|
### Under the Hood
|
||||||
|
|
||||||
|
- Split up deferral across parsing (adding 'defer_relation' from state manifest) and runtime ref resolution" ([#9199](https://github.com/dbt-labs/dbt-core/issues/9199))
|
||||||
|
- Raise deprecation warning if installed package overrides built-in materialization ([#9971](https://github.com/dbt-labs/dbt-core/issues/9971))
|
||||||
|
- Use the SECRET_ENV_PREFIX from dbt_common instead of duplicating it in dbt-core ([#10018](https://github.com/dbt-labs/dbt-core/issues/10018))
|
||||||
|
- Enable use of record mode via environment variable ([#10045](https://github.com/dbt-labs/dbt-core/issues/10045))
|
||||||
|
- Consistent naming + deprecation warnings for "legacy behavior" flags ([#10062](https://github.com/dbt-labs/dbt-core/issues/10062))
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Update the agate pin to "agate>=1.7.0,<1.10" ([#9934](https://github.com/dbt-labs/dbt-core/issues/9934))
|
||||||
|
|
||||||
|
### Contributors
|
||||||
|
- [@barton996](https://github.com/barton996) ([#6891](https://github.com/dbt-labs/dbt-core/issues/6891))
|
||||||
|
- [@mjkanji](https://github.com/mjkanji) ([#9934](https://github.com/dbt-labs/dbt-core/issues/9934))
|
||||||
5
.changes/1.8.0-rc2.md
Normal file
5
.changes/1.8.0-rc2.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
## dbt-core 1.8.0-rc2 - May 08, 2024
|
||||||
|
|
||||||
|
### Under the Hood
|
||||||
|
|
||||||
|
- Enable use of context in serialization ([#10093](https://github.com/dbt-labs/dbt-core/issues/10093))
|
||||||
6
.changes/1.8.0/Under the Hood-20240506-145511.yaml
Normal file
6
.changes/1.8.0/Under the Hood-20240506-145511.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
kind: Under the Hood
|
||||||
|
body: Enable use of context in serialization
|
||||||
|
time: 2024-05-06T14:55:11.1812-04:00
|
||||||
|
custom:
|
||||||
|
Author: gshank
|
||||||
|
Issue: "10093"
|
||||||
53
CHANGELOG.md
53
CHANGELOG.md
@@ -5,6 +5,58 @@
|
|||||||
- "Breaking changes" listed under a version may require action from end users or external maintainers when upgrading to that version.
|
- "Breaking changes" listed under a version may require action from end users or external maintainers when upgrading to that version.
|
||||||
- Do not edit this file directly. This file is auto-generated using [changie](https://github.com/miniscruff/changie). For details on how to document a change, see [the contributing guide](https://github.com/dbt-labs/dbt-core/blob/main/CONTRIBUTING.md#adding-changelog-entry)
|
- Do not edit this file directly. This file is auto-generated using [changie](https://github.com/miniscruff/changie). For details on how to document a change, see [the contributing guide](https://github.com/dbt-labs/dbt-core/blob/main/CONTRIBUTING.md#adding-changelog-entry)
|
||||||
|
|
||||||
|
## dbt-core 1.8.0-rc2 - May 08, 2024
|
||||||
|
|
||||||
|
### Under the Hood
|
||||||
|
|
||||||
|
- Enable use of context in serialization ([#10093](https://github.com/dbt-labs/dbt-core/issues/10093))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## dbt-core 1.8.0-rc1 - May 02, 2024
|
||||||
|
|
||||||
|
### Breaking Changes
|
||||||
|
|
||||||
|
- Update the default behaviour of require_explicit_package_overrides_for_builtin_materializations to True. ([#10062](https://github.com/dbt-labs/dbt-core/issues/10062))
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
- Package selector syntax for the current package ([#6891](https://github.com/dbt-labs/dbt-core/issues/6891))
|
||||||
|
- Add require_explicit_package_overrides_for_builtin_materializations to dbt_project.yml flags, which can be used to opt-out of overriding built-in materializations from packages ([#10007](https://github.com/dbt-labs/dbt-core/issues/10007))
|
||||||
|
- add --empty flag to dbt build command ([#10026](https://github.com/dbt-labs/dbt-core/issues/10026))
|
||||||
|
- Ability to `silence` warnings via `warn_error_options` ([#9644](https://github.com/dbt-labs/dbt-core/issues/9644))
|
||||||
|
- Allow aliases `error` for `include` and `warn` for `exclude` in `warn_error_options` ([#9644](https://github.com/dbt-labs/dbt-core/issues/9644))
|
||||||
|
|
||||||
|
### Fixes
|
||||||
|
|
||||||
|
- Add NodeRelation to SavedQuery Export ([#9534](https://github.com/dbt-labs/dbt-core/issues/9534))
|
||||||
|
- Use consistent secret scrubbing with the log function. ([#9987](https://github.com/dbt-labs/dbt-core/issues/9987))
|
||||||
|
- Validate against empty strings in package definitions ([#9985](https://github.com/dbt-labs/dbt-core/issues/9985))
|
||||||
|
- Fix default value for indirect selection in selector cannot overwritten by CLI flag and env var ([#9976](https://github.com/dbt-labs/dbt-core/issues/9976), [#7673](https://github.com/dbt-labs/dbt-core/issues/7673))
|
||||||
|
- Simplify error message if test severity isn't 'warn' or 'error' ([#9715](https://github.com/dbt-labs/dbt-core/issues/9715))
|
||||||
|
- Support overriding source level loaded_at_field with a null table level definition ([#9320](https://github.com/dbt-labs/dbt-core/issues/9320))
|
||||||
|
|
||||||
|
### Docs
|
||||||
|
|
||||||
|
- Enable display of unit tests ([dbt-docs/#501](https://github.com/dbt-labs/dbt-docs/issues/501))
|
||||||
|
- Unit tests not rendering ([dbt-docs/#506](https://github.com/dbt-labs/dbt-docs/issues/506))
|
||||||
|
|
||||||
|
### Under the Hood
|
||||||
|
|
||||||
|
- Split up deferral across parsing (adding 'defer_relation' from state manifest) and runtime ref resolution" ([#9199](https://github.com/dbt-labs/dbt-core/issues/9199))
|
||||||
|
- Raise deprecation warning if installed package overrides built-in materialization ([#9971](https://github.com/dbt-labs/dbt-core/issues/9971))
|
||||||
|
- Use the SECRET_ENV_PREFIX from dbt_common instead of duplicating it in dbt-core ([#10018](https://github.com/dbt-labs/dbt-core/issues/10018))
|
||||||
|
- Enable use of record mode via environment variable ([#10045](https://github.com/dbt-labs/dbt-core/issues/10045))
|
||||||
|
- Consistent naming + deprecation warnings for "legacy behavior" flags ([#10062](https://github.com/dbt-labs/dbt-core/issues/10062))
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Update the agate pin to "agate>=1.7.0,<1.10" ([#9934](https://github.com/dbt-labs/dbt-core/issues/9934))
|
||||||
|
|
||||||
|
### Contributors
|
||||||
|
- [@barton996](https://github.com/barton996) ([#6891](https://github.com/dbt-labs/dbt-core/issues/6891))
|
||||||
|
- [@mjkanji](https://github.com/mjkanji) ([#9934](https://github.com/dbt-labs/dbt-core/issues/9934))
|
||||||
|
|
||||||
## dbt-core 1.8.0-b3 - April 18, 2024
|
## dbt-core 1.8.0-b3 - April 18, 2024
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
@@ -54,7 +106,6 @@
|
|||||||
- [@niteshy](https://github.com/niteshy) ([#9830](https://github.com/dbt-labs/dbt-core/issues/9830))
|
- [@niteshy](https://github.com/niteshy) ([#9830](https://github.com/dbt-labs/dbt-core/issues/9830))
|
||||||
- [@rzjfr](https://github.com/rzjfr) ([#9373](https://github.com/dbt-labs/dbt-core/issues/9373))
|
- [@rzjfr](https://github.com/rzjfr) ([#9373](https://github.com/dbt-labs/dbt-core/issues/9373))
|
||||||
|
|
||||||
|
|
||||||
## dbt-core 1.8.0-b2 - April 03, 2024
|
## dbt-core 1.8.0-b2 - April 03, 2024
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|||||||
@@ -196,6 +196,12 @@ class ParsedResource(ParsedResourceMandatory):
|
|||||||
relation_name: Optional[str] = None
|
relation_name: Optional[str] = None
|
||||||
raw_code: str = ""
|
raw_code: str = ""
|
||||||
|
|
||||||
|
def __post_serialize__(self, dct: Dict, context: Optional[Dict] = None):
|
||||||
|
dct = super().__post_serialize__(dct, context)
|
||||||
|
if context and context.get("artifact") and "config_call_dict" in dct:
|
||||||
|
del dct["config_call_dict"]
|
||||||
|
return dct
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class CompiledResource(ParsedResource):
|
class CompiledResource(ParsedResource):
|
||||||
@@ -215,8 +221,8 @@ class CompiledResource(ParsedResource):
|
|||||||
_pre_injected_sql: Optional[str] = None
|
_pre_injected_sql: Optional[str] = None
|
||||||
contract: Contract = field(default_factory=Contract)
|
contract: Contract = field(default_factory=Contract)
|
||||||
|
|
||||||
def __post_serialize__(self, dct):
|
def __post_serialize__(self, dct: Dict, context: Optional[Dict] = None):
|
||||||
dct = super().__post_serialize__(dct)
|
dct = super().__post_serialize__(dct, context)
|
||||||
if "_pre_injected_sql" in dct:
|
if "_pre_injected_sql" in dct:
|
||||||
del dct["_pre_injected_sql"]
|
del dct["_pre_injected_sql"]
|
||||||
# Remove compiled attributes
|
# Remove compiled attributes
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
from dataclasses import dataclass, field
|
from dataclasses import dataclass, field
|
||||||
from typing import Literal, Optional, List
|
from typing import Dict, Literal, Optional, List
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from dbt_common.contracts.config.base import MergeBehavior
|
from dbt_common.contracts.config.base import MergeBehavior
|
||||||
from dbt_common.contracts.constraints import ModelLevelConstraint
|
from dbt_common.contracts.constraints import ModelLevelConstraint
|
||||||
@@ -26,3 +26,9 @@ class Model(CompiledResource):
|
|||||||
latest_version: Optional[NodeVersion] = None
|
latest_version: Optional[NodeVersion] = None
|
||||||
deprecation_date: Optional[datetime] = None
|
deprecation_date: Optional[datetime] = None
|
||||||
defer_relation: Optional[DeferRelation] = None
|
defer_relation: Optional[DeferRelation] = None
|
||||||
|
|
||||||
|
def __post_serialize__(self, dct: Dict, context: Optional[Dict] = None):
|
||||||
|
dct = super().__post_serialize__(dct, context)
|
||||||
|
if context and context.get("artifact") and "defer_relation" in dct:
|
||||||
|
del dct["defer_relation"]
|
||||||
|
return dct
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
from dataclasses import dataclass, field
|
from dataclasses import dataclass, field
|
||||||
from typing import Optional, Literal
|
from typing import Dict, Optional, Literal
|
||||||
from dbt_common.dataclass_schema import ValidationError
|
from dbt_common.dataclass_schema import ValidationError
|
||||||
from dbt.artifacts.resources.types import NodeType
|
from dbt.artifacts.resources.types import NodeType
|
||||||
from dbt.artifacts.resources.v1.components import MacroDependsOn, DeferRelation, ParsedResource
|
from dbt.artifacts.resources.v1.components import MacroDependsOn, DeferRelation, ParsedResource
|
||||||
@@ -28,3 +28,9 @@ class Seed(ParsedResource): # No SQLDefaults!
|
|||||||
root_path: Optional[str] = None
|
root_path: Optional[str] = None
|
||||||
depends_on: MacroDependsOn = field(default_factory=MacroDependsOn)
|
depends_on: MacroDependsOn = field(default_factory=MacroDependsOn)
|
||||||
defer_relation: Optional[DeferRelation] = None
|
defer_relation: Optional[DeferRelation] = None
|
||||||
|
|
||||||
|
def __post_serialize__(self, dct: Dict, context: Optional[Dict] = None):
|
||||||
|
dct = super().__post_serialize__(dct, context)
|
||||||
|
if context and context.get("artifact") and "defer_relation" in dct:
|
||||||
|
del dct["defer_relation"]
|
||||||
|
return dct
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from typing import Union, List, Optional, Literal
|
from typing import Dict, Union, List, Optional, Literal
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from dbt_common.dataclass_schema import ValidationError
|
from dbt_common.dataclass_schema import ValidationError
|
||||||
from dbt.artifacts.resources.types import NodeType
|
from dbt.artifacts.resources.types import NodeType
|
||||||
@@ -64,3 +64,9 @@ class Snapshot(CompiledResource):
|
|||||||
resource_type: Literal[NodeType.Snapshot]
|
resource_type: Literal[NodeType.Snapshot]
|
||||||
config: SnapshotConfig
|
config: SnapshotConfig
|
||||||
defer_relation: Optional[DeferRelation] = None
|
defer_relation: Optional[DeferRelation] = None
|
||||||
|
|
||||||
|
def __post_serialize__(self, dct, context: Optional[Dict] = None):
|
||||||
|
dct = super().__post_serialize__(dct, context)
|
||||||
|
if context and context.get("artifact") and "defer_relation" in dct:
|
||||||
|
del dct["defer_relation"]
|
||||||
|
return dct
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ class SchemaVersion:
|
|||||||
|
|
||||||
class Writable:
|
class Writable:
|
||||||
def write(self, path: str):
|
def write(self, path: str):
|
||||||
write_json(path, self.to_dict(omit_none=False)) # type: ignore
|
write_json(path, self.to_dict(omit_none=False, context={"artifact": True})) # type: ignore
|
||||||
|
|
||||||
|
|
||||||
class Readable:
|
class Readable:
|
||||||
@@ -60,8 +60,8 @@ class BaseArtifactMetadata(dbtClassMixin):
|
|||||||
invocation_id: Optional[str] = dataclasses.field(default_factory=get_invocation_id)
|
invocation_id: Optional[str] = dataclasses.field(default_factory=get_invocation_id)
|
||||||
env: Dict[str, str] = dataclasses.field(default_factory=get_metadata_vars)
|
env: Dict[str, str] = dataclasses.field(default_factory=get_metadata_vars)
|
||||||
|
|
||||||
def __post_serialize__(self, dct):
|
def __post_serialize__(self, dct: Dict, context: Optional[Dict] = None):
|
||||||
dct = super().__post_serialize__(dct)
|
dct = super().__post_serialize__(dct, context)
|
||||||
if dct["generated_at"] and dct["generated_at"].endswith("+00:00"):
|
if dct["generated_at"] and dct["generated_at"].endswith("+00:00"):
|
||||||
dct["generated_at"] = dct["generated_at"].replace("+00:00", "") + "Z"
|
dct["generated_at"] = dct["generated_at"].replace("+00:00", "") + "Z"
|
||||||
return dct
|
return dct
|
||||||
|
|||||||
@@ -77,8 +77,8 @@ class CatalogResults(dbtClassMixin):
|
|||||||
errors: Optional[List[str]] = None
|
errors: Optional[List[str]] = None
|
||||||
_compile_results: Optional[Any] = None
|
_compile_results: Optional[Any] = None
|
||||||
|
|
||||||
def __post_serialize__(self, dct):
|
def __post_serialize__(self, dct: Dict, context: Optional[Dict] = None):
|
||||||
dct = super().__post_serialize__(dct)
|
dct = super().__post_serialize__(dct, context)
|
||||||
if "_compile_results" in dct:
|
if "_compile_results" in dct:
|
||||||
del dct["_compile_results"]
|
del dct["_compile_results"]
|
||||||
return dct
|
return dct
|
||||||
|
|||||||
@@ -181,11 +181,3 @@ class WritableManifest(ArtifactMixin):
|
|||||||
if manifest_schema_version < cls.dbt_schema_version.version:
|
if manifest_schema_version < cls.dbt_schema_version.version:
|
||||||
data = upgrade_manifest_json(data, manifest_schema_version)
|
data = upgrade_manifest_json(data, manifest_schema_version)
|
||||||
return cls.from_dict(data)
|
return cls.from_dict(data)
|
||||||
|
|
||||||
def __post_serialize__(self, dct):
|
|
||||||
for unique_id, node in dct["nodes"].items():
|
|
||||||
if "config_call_dict" in node:
|
|
||||||
del node["config_call_dict"]
|
|
||||||
if "defer_relation" in node:
|
|
||||||
del node["defer_relation"]
|
|
||||||
return dct
|
|
||||||
|
|||||||
@@ -139,8 +139,8 @@ class BaseSourceFile(dbtClassMixin, SerializableType):
|
|||||||
sf = SourceFile.from_dict(dct)
|
sf = SourceFile.from_dict(dct)
|
||||||
return sf
|
return sf
|
||||||
|
|
||||||
def __post_serialize__(self, dct):
|
def __post_serialize__(self, dct: Dict, context: Optional[Dict] = None):
|
||||||
dct = super().__post_serialize__(dct)
|
dct = super().__post_serialize__(dct, context)
|
||||||
# remove empty lists to save space
|
# remove empty lists to save space
|
||||||
dct_keys = list(dct.keys())
|
dct_keys = list(dct.keys())
|
||||||
for key in dct_keys:
|
for key in dct_keys:
|
||||||
@@ -226,8 +226,8 @@ class SchemaSourceFile(BaseSourceFile):
|
|||||||
def source_patches(self):
|
def source_patches(self):
|
||||||
return self.sop
|
return self.sop
|
||||||
|
|
||||||
def __post_serialize__(self, dct):
|
def __post_serialize__(self, dct: Dict, context: Optional[Dict] = None):
|
||||||
dct = super().__post_serialize__(dct)
|
dct = super().__post_serialize__(dct, context)
|
||||||
# Remove partial parsing specific data
|
# Remove partial parsing specific data
|
||||||
for key in ("pp_test_index", "pp_dict"):
|
for key in ("pp_test_index", "pp_dict"):
|
||||||
if key in dct:
|
if key in dct:
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ import enum
|
|||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from dataclasses import dataclass, field, replace
|
from dataclasses import dataclass, field, replace
|
||||||
from itertools import chain
|
from itertools import chain
|
||||||
from mashumaro.mixins.msgpack import DataClassMessagePackMixin
|
|
||||||
from multiprocessing.synchronize import Lock
|
from multiprocessing.synchronize import Lock
|
||||||
from typing import (
|
from typing import (
|
||||||
DefaultDict,
|
DefaultDict,
|
||||||
@@ -803,7 +802,7 @@ ResourceClassT = TypeVar("ResourceClassT", bound="BaseResource")
|
|||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class Manifest(MacroMethods, DataClassMessagePackMixin, dbtClassMixin):
|
class Manifest(MacroMethods, dbtClassMixin):
|
||||||
"""The manifest for the full graph, after parsing and during compilation."""
|
"""The manifest for the full graph, after parsing and during compilation."""
|
||||||
|
|
||||||
# These attributes are both positional and by keyword. If an attribute
|
# These attributes are both positional and by keyword. If an attribute
|
||||||
@@ -870,7 +869,7 @@ class Manifest(MacroMethods, DataClassMessagePackMixin, dbtClassMixin):
|
|||||||
metadata={"serialize": lambda x: None, "deserialize": lambda x: None},
|
metadata={"serialize": lambda x: None, "deserialize": lambda x: None},
|
||||||
)
|
)
|
||||||
|
|
||||||
def __pre_serialize__(self):
|
def __pre_serialize__(self, context: Optional[Dict] = None):
|
||||||
# serialization won't work with anything except an empty source_patches because
|
# serialization won't work with anything except an empty source_patches because
|
||||||
# tuple keys are not supported, so ensure it's empty
|
# tuple keys are not supported, so ensure it's empty
|
||||||
self.source_patches = {}
|
self.source_patches = {}
|
||||||
|
|||||||
@@ -262,8 +262,8 @@ class ParsedNode(ParsedResource, NodeInfoMixin, ParsedNodeMandatory, Serializabl
|
|||||||
def _serialize(self):
|
def _serialize(self):
|
||||||
return self.to_dict()
|
return self.to_dict()
|
||||||
|
|
||||||
def __post_serialize__(self, dct):
|
def __post_serialize__(self, dct: Dict, context: Optional[Dict] = None):
|
||||||
dct = super().__post_serialize__(dct)
|
dct = super().__post_serialize__(dct, context)
|
||||||
if "_event_status" in dct:
|
if "_event_status" in dct:
|
||||||
del dct["_event_status"]
|
del dct["_event_status"]
|
||||||
return dct
|
return dct
|
||||||
|
|||||||
@@ -276,8 +276,8 @@ class UnparsedSourceTableDefinition(HasColumnTests, HasColumnAndTestProps):
|
|||||||
external: Optional[ExternalTable] = None
|
external: Optional[ExternalTable] = None
|
||||||
tags: List[str] = field(default_factory=list)
|
tags: List[str] = field(default_factory=list)
|
||||||
|
|
||||||
def __post_serialize__(self, dct):
|
def __post_serialize__(self, dct: Dict, context: Optional[Dict] = None):
|
||||||
dct = super().__post_serialize__(dct)
|
dct = super().__post_serialize__(dct, context)
|
||||||
if "freshness" not in dct and self.freshness is None:
|
if "freshness" not in dct and self.freshness is None:
|
||||||
dct["freshness"] = None
|
dct["freshness"] = None
|
||||||
return dct
|
return dct
|
||||||
@@ -314,8 +314,8 @@ class UnparsedSourceDefinition(dbtClassMixin):
|
|||||||
def yaml_key(self) -> "str":
|
def yaml_key(self) -> "str":
|
||||||
return "sources"
|
return "sources"
|
||||||
|
|
||||||
def __post_serialize__(self, dct):
|
def __post_serialize__(self, dct: Dict, context: Optional[Dict] = None):
|
||||||
dct = super().__post_serialize__(dct)
|
dct = super().__post_serialize__(dct, context)
|
||||||
if "freshness" not in dct and self.freshness is None:
|
if "freshness" not in dct and self.freshness is None:
|
||||||
dct["freshness"] = None
|
dct["freshness"] = None
|
||||||
return dct
|
return dct
|
||||||
|
|||||||
@@ -233,7 +233,7 @@ class ManifestLoaderInfo(dbtClassMixin, Writable):
|
|||||||
projects: List[ProjectLoaderInfo] = field(default_factory=list)
|
projects: List[ProjectLoaderInfo] = field(default_factory=list)
|
||||||
_project_index: Dict[str, ProjectLoaderInfo] = field(default_factory=dict)
|
_project_index: Dict[str, ProjectLoaderInfo] = field(default_factory=dict)
|
||||||
|
|
||||||
def __post_serialize__(self, dct):
|
def __post_serialize__(self, dct: Dict, context: Optional[Dict] = None):
|
||||||
del dct["_project_index"]
|
del dct["_project_index"]
|
||||||
return dct
|
return dct
|
||||||
|
|
||||||
|
|||||||
@@ -229,5 +229,5 @@ def _get_adapter_plugin_names() -> Iterator[str]:
|
|||||||
yield plugin_name
|
yield plugin_name
|
||||||
|
|
||||||
|
|
||||||
__version__ = "1.8.0b3"
|
__version__ = "1.8.0rc2"
|
||||||
installed = get_installed_version()
|
installed = get_installed_version()
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ with open(os.path.join(this_directory, "README.md")) as f:
|
|||||||
|
|
||||||
|
|
||||||
package_name = "dbt-core"
|
package_name = "dbt-core"
|
||||||
package_version = "1.8.0b3"
|
package_version = "1.8.0rc2"
|
||||||
description = """With dbt, data analysts and engineers can build analytics \
|
description = """With dbt, data analysts and engineers can build analytics \
|
||||||
the way engineers build applications."""
|
the way engineers build applications."""
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ def build_json_schema(
|
|||||||
|
|
||||||
class JSONSchemaDefinitions(DataClassJSONMixin):
|
class JSONSchemaDefinitions(DataClassJSONMixin):
|
||||||
definitions: Dict[str, JSONSchema]
|
definitions: Dict[str, JSONSchema]
|
||||||
def __post_serialize__(self, d: Dict[Any, Any]) -> List[Dict[str, Any]]: ... # type: ignore
|
def __post_serialize__(self, d: Dict[Any, Any], context: Optional[Dict]) -> List[Dict[str, Any]]: ... # type: ignore
|
||||||
def __init__(self, definitions) -> None: ...
|
def __init__(self, definitions) -> None: ...
|
||||||
|
|
||||||
class JSONSchemaBuilder:
|
class JSONSchemaBuilder:
|
||||||
|
|||||||
@@ -106,8 +106,8 @@ class JSONSchema(DataClassJSONMixin):
|
|||||||
serialize_by_alias: bool
|
serialize_by_alias: bool
|
||||||
aliases: Incomplete
|
aliases: Incomplete
|
||||||
serialization_strategy: Incomplete
|
serialization_strategy: Incomplete
|
||||||
def __pre_serialize__(self) -> JSONSchema: ...
|
def __pre_serialize__(self, context: Optional[Dict]) -> JSONSchema: ...
|
||||||
def __post_serialize__(self, d: Dict[Any, Any]) -> Dict[Any, Any]: ...
|
def __post_serialize__(self, d: Dict[Any, Any], context: Optional[Dict]) -> Dict[Any, Any]: ...
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
schema,
|
schema,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from typing import Any, Dict, Mapping, Type, TypeVar
|
from typing import Any, Dict, Mapping, Type, TypeVar, Optional
|
||||||
|
|
||||||
T = TypeVar("T", bound="DataClassDictMixin")
|
T = TypeVar("T", bound="DataClassDictMixin")
|
||||||
|
|
||||||
@@ -11,5 +11,5 @@ class DataClassDictMixin:
|
|||||||
def __pre_deserialize__(cls: Type[T], d: Dict[Any, Any]) -> Dict[Any, Any]: ...
|
def __pre_deserialize__(cls: Type[T], d: Dict[Any, Any]) -> Dict[Any, Any]: ...
|
||||||
@classmethod
|
@classmethod
|
||||||
def __post_deserialize__(cls: Type[T], obj: T) -> T: ...
|
def __post_deserialize__(cls: Type[T], obj: T) -> T: ...
|
||||||
def __pre_serialize__(self: T) -> T: ...
|
def __pre_serialize__(self: T, context: Optional[Dict]) -> T: ...
|
||||||
def __post_serialize__(self, d: Dict[Any, Any]) -> Dict[Any, Any]: ...
|
def __post_serialize__(self, d: Dict[Any, Any], context: Optional[Dict]) -> Dict[Any, Any]: ...
|
||||||
|
|||||||
Reference in New Issue
Block a user