binoy_shah
09/08/2022, 5:49 PMpyproject.toml file
[tool.poetry.dependencies]
python = ">=3.9,<3.10"
[tool.poetry.group.base.dependencies]
dagster = "^1.0.7"
meltano = "<=2.5.0"
(venv) ➜ python-buildsystem-poetry poetry add dbt-core -G base
Using version ^1.2.1 for dbt-core
Updating dependencies
Resolving dependencies... (0.9s)
Because no versions of hologram match >0.0.14,<0.0.15
and hologram (0.0.14) depends on jsonschema (>=3.0,<3.2), hologram (>=0.0.14,<0.0.15) requires jsonschema (>=3.0,<3.2).
And because hologram (0.0.15) depends on jsonschema (>=3.0,<4.0), hologram (>=0.0.14,<=0.0.15) requires jsonschema (>=3.0,<4.0).
Because no versions of dbt-core match >1.2.1,<2.0.0
and dbt-core (1.2.1) depends on hologram (>=0.0.14,<=0.0.15), dbt-core (>=1.2.1,<2.0.0) requires hologram (>=0.0.14,<=0.0.15).
Thus, dbt-core (>=1.2.1,<2.0.0) requires jsonschema (>=3.0,<4.0).
And because meltano (2.5.0) depends on jsonschema (>=4.9,<5.0)
and no versions of meltano match >2.5.0,<3.0.0, dbt-core (>=1.2.1,<2.0.0) is incompatible with meltano (>=2.5.0,<3.0.0).
So, because acadia depends on both meltano (^2.5.0) and dbt-core (^1.2.1), version solving failed.
Is it possible to use dbt-core and meltano together at all ?
Has anybody made it work ? I understand recommendation of pipx but I need to use the meltano as package instead of CLIWill Da Silva (Arch)
09/08/2022, 5:57 PMI need to use the meltano as package instead of CLIMind explaining why? The Python library interface is mostly internal-only - breaking changes to the core code does not result in major semantic version increments.
binoy_shah
09/08/2022, 6:02 PMbinoy_shah
09/08/2022, 6:04 PMaaronsteers
09/08/2022, 6:30 PMmeltano schedule list --format=json.aaronsteers
09/08/2022, 6:32 PMaaronsteers
09/08/2022, 6:34 PMaaronsteers
09/08/2022, 6:35 PMbinoy_shah
09/08/2022, 6:42 PMdevelopment) version is using Meltano libraries underneath, with future of possibly switching to cli. So is it final that Meltano will always be CLI first ?
I see your EDK proposals too @aaronsteers is that something that can become a limited programmatic access into Meltano ?aaronsteers
09/08/2022, 6:51 PMSo is it final that Meltano will always be CLI first ?Not forever. But for the immediate future, the CLI interface is still our focus. We don't prohibit developers from consuming Meltano as a library but we admittedly have not tuned it for that usage: 1. We don't have a distinction as of yet between public + stable python modules and endpoints, versus internal ones. 2. We sometimes have CLI libraries doing "more than they should". (This is mostly in legacy code but there are a few places where this is known to be true.) 3. We don't have a separate "pure" module that is exclusive of things like
Click (CLI) and Gunicorn (web UI). That can mean unnecessary conflicts and install footprint versus what we'd ideally have in a proper Python-based interface.
We have an issue on this, but it is not actively being prioritized: Publish Meltano core as an importable Python library · Issue #2414 · meltano/meltano (github.com).binoy_shah
09/08/2022, 6:55 PMaaronsteers
09/08/2022, 7:00 PMaaronsteers
09/08/2022, 7:01 PMThe primary interface intois on the command line. It is designed to be invoked with commands, arguments, and flags. Starting in v1, this interface is contracted, with backwards compatibility guaranteed.dbt-core
It is possible to import and invoke dbt as a Python module. This API is still not contracted or documented, and it is liable to change in future versions ofwithout warning. Please use caution when upgrading across versions of dbt if you choose to run dbt in this manner!dbt-core
We aim to contract and document an increasing number of Python interfaces within.dbt-core
jules_huisman
09/08/2022, 8:09 PMbinoy_shah
09/08/2022, 10:03 PM2.1.0 anything above that failed.
your implementation of extract_load utilizes Job from meltano which has parameter job_name only available in later versions,
So does your version of dagster_dbt not use anything from dbt-core ?