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-1581] [Epic] dbt-core as a library: first steps #6356

Closed
18 of 23 tasks
ChenyuLInx opened this issue Dec 1, 2022 · 1 comment
Closed
18 of 23 tasks

[CT-1581] [Epic] dbt-core as a library: first steps #6356

ChenyuLInx opened this issue Dec 1, 2022 · 1 comment
Assignees
Labels
Epic python_api Issues related to dbtRunner Python entry point

Comments

@ChenyuLInx
Copy link
Contributor

ChenyuLInx commented Dec 1, 2022

The scope of this epic is adding new functionality to dbt-core, on top of the foundations being laid in #5527, that will enable its top-level commands to be invoked via Python—and to make that a delightful experience.

In addition, we'll be tracking lower-level changes that become relevant in the context of programmatic invocations, including (though not exclusively) integration with dbt-server + dbt Cloud.

This represents a first big step on a much longer journey, toward dbt-core as a mature & reliable software library. The initial set of functional APIs that we're aiming to include in v1.5 will be, by intention and necessity, a small subset of everything dbt-core is capable of doing today.

Ready To implement

New commands

These represent long-awaited functionality that we should expose as top-level commands, both in the CLI + API. They should be highly useful during programmatic invocations, and they provide parity with functionality that's been historically available in dbt-rpc.

Follow-up:

Changes to parsing

There is one fairly clear point of separation in dbt-core today: the end of parsing, and the beginning of execution. That remains an imperfect interface; this represents the work required to refactor & solidify it.

UX for programmatic invocations

We're talking about a totally new way to invoke dbt-core (at least as the official ones go). Let's make sure that we have the requisite constructs, entry points, syntactic sugar, and documentation to support intermediate/advanced community members who want to start using it.

This is an area where we're especially eager for feedback from the wider community!

Integration with dbt-server

Track ongoing dbt-server work items that are relevant to or enabled by changes in this epic.

Current in refinement:

Need to create implementation ticket

To reprioritize later on

Spikes & investigations

Lower-level changes

There are simplifying assumptions we can make about most dbt-core invocations: they have direct access to a terminal & file system, they're running one process at a time (zero concurrency), all steps take place in sequence, and it all happens in one OS/environment.

We don't anticipate these changes being relevant for most users who are interacting with dbt-core, whether via the CLI, or via scripting around its programmatic API. The current behavior will remain the sensible default. We still encourage any community members who are interested to weigh into any of these issues.

@ChenyuLInx ChenyuLInx added enhancement New feature or request triage and removed enhancement New feature or request triage labels Dec 1, 2022
@github-actions github-actions bot changed the title [Feature] Core Integration with dbt-server [Epic] [CT-1581] [Feature] Core Integration with dbt-server [Epic] Dec 1, 2022
@jtcohen6 jtcohen6 added python_api Issues related to dbtRunner Python entry point Team:Execution labels Dec 8, 2022
@jtcohen6 jtcohen6 added the Epic label Jan 3, 2023
@jtcohen6 jtcohen6 added this to the v1.5 milestone Jan 3, 2023
@jtcohen6 jtcohen6 changed the title [CT-1581] [Feature] Core Integration with dbt-server [Epic] [CT-1581] [Epic] dbt-core as a library Jan 8, 2023
@jtcohen6 jtcohen6 changed the title [CT-1581] [Epic] dbt-core as a library [CT-1581] [Epic] dbt-core as a library: first steps Feb 25, 2023
@jtcohen6
Copy link
Contributor

Closing in favor of #7162, which defines narrower scope of work to ship in v1.5

@jtcohen6 jtcohen6 removed this from the v1.5 milestone Mar 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Epic python_api Issues related to dbtRunner Python entry point
Projects
None yet
Development

No branches or pull requests

2 participants