Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CT-3550] Define Exposure contract in dbt/artifacts #9380

Closed
1 task done
Tracked by #9099
MichelleArk opened this issue Jan 16, 2024 · 0 comments · Fixed by #9494
Closed
1 task done
Tracked by #9099

[CT-3550] Define Exposure contract in dbt/artifacts #9380

MichelleArk opened this issue Jan 16, 2024 · 0 comments · Fixed by #9494
Assignees

Comments

@MichelleArk
Copy link
Contributor

MichelleArk commented Jan 16, 2024

Housekeeping

  • I am a maintainer of dbt-core

Short description

As part of an effort to move any ArtifactMixin subclasses into the top-level dbt/artifacts directory, we need to move the Exposure contract (just data types), which WritableManifest depends on.

Acceptance criteria

Exposure (and its necessary dependencies) are moved to a new dbt/artifacts directory. dbt/artifacts should have no additional dependencies on dbt.core except for from contracts.nodes which are actively being refactored:

  • GraphNode can also be split into data (in dbt/artifacts) and functional classes
  • ExposureConfig depends on common BaseConfig and just adds data fields so should be straightforward to move as well.

Exposure should be split into data & functional interfaces, defined in dbt/artifacts in dbt/core respectively. Additionally, any inheritance hierarchy between concrete node classes should be flattened as part of this spike.

Should follow initial pattern set in #9379

Impact to Other Teams

N/A - should be a refactor.

Will backports be required?

nope

Context

No response

@github-actions github-actions bot changed the title Define Exposure contract in dbt/artifacts [CT-3550] Define Exposure contract in dbt/artifacts Jan 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants