-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Labels
Comments
ChenyuLInx
added
enhancement
New feature or request
triage
and removed
enhancement
New feature or request
triage
labels
Dec 1, 2022
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
added
python_api
Issues related to dbtRunner Python entry point
Team:Execution
labels
Dec 8, 2022
29 tasks
jtcohen6
changed the title
[CT-1581] [Feature] Core Integration with dbt-server [Epic]
[CT-1581] [Epic] dbt-core as a library
Jan 8, 2023
3 tasks
2 tasks
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
Closing in favor of #7162, which defines narrower scope of work to ship in v1.5 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 everythingdbt-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:
expected_duplicate_params
#7156Changes 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:
dbt parse
should return a manifest #6547dbt debug
for connection testing #7104Need to create implementation ticket
print
#6543To reprioritize later on
Spikes & investigations
--vars
, credentials: Support partial update(similar to partial parsing) of a state via API? dbt-server#128 (comment)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.print
#6543write_file
not to disk #6544MP_CONTEXT
somewhere else. #6647The text was updated successfully, but these errors were encountered: