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-1586] [Feature] Refactor tasks to be initialized using Profile, Project, and Flags instead of RuntimeConfig #6360

Closed
3 tasks done
Tracked by #6706
ChenyuLInx opened this issue Dec 2, 2022 · 1 comment
Labels
enhancement New feature or request python_api Issues related to dbtRunner Python entry point Refinement Maintainer input needed tech_debt Behind-the-scenes changes, with little direct impact on end-user functionality

Comments

@ChenyuLInx
Copy link
Contributor

Is this your first time submitting a feature request?

  • I have read the expectations for open source contributors
  • I have searched the existing issues, and I could not find an existing issue for this feature
  • I am requesting a straightforward extension of existing dbt functionality, rather than a Big Idea better suited to a discussion

Describe the feature

Right now tasks are being initialized using an args object and a RuntimeConfig object that is the combination of Profile, Project, and Flags(example), We would want to refactor all tasks to be initialized via a method that's similar to what we did with Deps Task(link) where we initialize tasks.

This comes from #5538

Describe alternatives you've considered

No response

Who will this benefit?

No response

Are you interested in contributing this feature?

No response

Anything else?

No response

@ChenyuLInx ChenyuLInx added enhancement New feature or request triage labels Dec 2, 2022
@github-actions github-actions bot changed the title [Feature] Refactor tasks to be initialized using Profile, Project, and Flags instead of RuntimeConfig [CT-1586] [Feature] Refactor tasks to be initialized using Profile, Project, and Flags instead of RuntimeConfig Dec 2, 2022
@dbeatty10 dbeatty10 removed the triage label Dec 2, 2022
@jtcohen6 jtcohen6 added python_api Issues related to dbtRunner Python entry point Team:Execution labels Dec 2, 2022
@jtcohen6
Copy link
Contributor

jtcohen6 commented Dec 2, 2022

I'm all about it! Big idea here, instead of passing around One Big Class / demiurgic object as an argument innocently named config, we should treat these objects as separate components, and pass around just the ones (or slices of each) that are actually needed for each initialization step.

For instance, right now adapter initialization requires the full RuntimeConfig, but really it should just require:

  • credentials relevant for this target (today there's only one active target; in the future there will be multiple)
  • a subset of user-provided configuration, e.g. the quoting project config (docs)

@leahwicz leahwicz added the tech_debt Behind-the-scenes changes, with little direct impact on end-user functionality label Dec 8, 2022
@ChenyuLInx ChenyuLInx added the Refinement Maintainer input needed label Mar 11, 2023
@jtcohen6 jtcohen6 closed this as not planned Won't fix, can't repro, duplicate, stale Dec 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request python_api Issues related to dbtRunner Python entry point Refinement Maintainer input needed tech_debt Behind-the-scenes changes, with little direct impact on end-user functionality
Projects
None yet
Development

No branches or pull requests

4 participants