Skip to content

PyPI release (0.8.2) is stale: pins pydantic v1 and crashes on Python 3.13/3.14, while main already works #145

Description

@ernestoongaro

Summary

pip install dbt-cloud-cli (0.8.2 from PyPI) crashes on import under Python 3.13/3.14. The PyPI 0.8.2 sdist/wheel pins pydantic==1.10.10, and pydantic v1 is incompatible with newer Pythons (lazy annotations, PEP 649/749).

The good news: main has already been migrated to pydantic v2 (install_requires=["... pydantic>=2.0 ..."]) and works on Python 3.14 — I verified by installing from a checkout of main into a 3.14 venv. But setup.py on main still says version="0.8.2", and the artifact on PyPI under that version is the old pydantic v1 build. So anyone installing from PyPI gets the broken package.

Repro

$ pipx install dbt-cloud-cli   # Python 3.14
$ dbt-cloud run get --run-id ...
...
  File ".../pydantic/fields.py", line 565, in _set_default_and_type
    raise errors_.ConfigError(
pydantic.errors.ConfigError: you need to set the type of field 'api_token' when using `default_factory`

Meanwhile:

$ python3.14 -m venv venv && venv/bin/pip install git+https://github.com/data-mie/dbt-cloud-cli
$ venv/bin/dbt-cloud --help   # works

Suggested fix

Bump the version in setup.py (e.g. 0.9.0, since the pydantic v2 migration changes the dependency floor) and publish a new release to PyPI. Optionally also raise python_requires if you want to drop pre-pydantic-v2 Pythons.

Happy to open a PR for the version bump if that helps.

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