Skip to content

Update dependencies to make dlt-init-openapi compatible with dlt versions >= 0.5.1 (preferably >= 1.2.0) #127

Open
@jordan-bulka-sh

Description

@jordan-bulka-sh

When using poetry, I run into dependency conflicts if I want to use the more recent stable versions of dlt. I would like to use the filesystem and Snowflake destinations with dlt-init-openapi and the rest_api source. This is preventing my team from adopting dlt.

Steps to reproduce:

My pyproject.toml file initially looks like this:

[tool.poetry.dependencies]
python = ">=3.11,<3.13"

Running poetry add dlt; poetry add dlt-init-openapi; results in the following dependency conflict:

Because no versions of dlt match >0.4.12,<0.4.13a0 || >0.4.13a0,<0.5.0
 and dlt (0.4.13a0) depends on dlt (0.4.13a0), dlt (>0.4.12,<0.5.0) requires dlt (0.4.13a0).
And because dlt (0.4.12) depends on dlt (0.4.12), dlt (>=0.4.12,<0.5.0) requires dlt (0.4.12 || 0.4.13a0).
Because no versions of dlt-init-openapi match >0.1.0,<0.2.0
 and dlt-init-openapi (0.1.0) depends on dlt (>=0.4.12,<0.5.0), dlt-init-openapi (>=0.1.0,<0.2.0) requires dlt (>=0.4.12,<0.5.0).
Thus, dlt-init-openapi (>=0.1.0,<0.2.0) requires dlt (0.4.12 || 0.4.13a0).
So, because <repo-name> depends on both dlt (^1.2.0) and dlt-init-openapi (^0.1.0), version solving failed.

After pinning the dlt version to 0.4.12, I can successfully add dlt-init-openapi as a dependency. However, if I try to initialize a simple pipeline using dlt init chess snowflake, the console warns me about my dlt installation needing to be updated:

WARNING: This pipeline requires a newer version of dlt than your installed version (0.4.12). Pipeline requires 'dlt>=0.5.1'

I receive a similar warning if I change the destination to filesystem or the source to rest_api.

However, if I try to pin the dlt version to 0.5.1 with poetry add dlt==0.5.1, I again get a dependency conflict:

Because no versions of dlt match >0.4.12,<0.4.13a0 || >0.4.13a0,<0.5.0
 and dlt (0.4.13a0) depends on dlt (0.4.13a0), dlt (>0.4.12,<0.5.0) requires dlt (0.4.13a0).
And because dlt (0.4.12) depends on dlt (0.4.12), dlt (>=0.4.12,<0.5.0) requires dlt (0.4.12 || 0.4.13a0).
Because no versions of dlt-init-openapi match >0.1.0,<0.2.0
 and dlt-init-openapi (0.1.0) depends on dlt (>=0.4.12,<0.5.0), dlt-init-openapi (>=0.1.0,<0.2.0) requires dlt (>=0.4.12,<0.5.0).
Thus, dlt-init-openapi (>=0.1.0,<0.2.0) requires dlt (0.4.12 || 0.4.13a0).
So, because <repo-name> depends on both dlt-init-openapi (^0.1.0) and dlt (0.5.1), version solving failed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions