Skip to content

edr fails to start without PyYAML, which it imports but doesn't declare #2398

Open

Description

@dobsontom

Describe the bug
edr fails on startup when PyYAML isn't installed. elementary/clients/dbt/command_line_dbt_runner.py imports yaml, but elementary-data doesn't declare PyYAML. It used to come in with dbt-core, so it went missing once 0.26.1 made dbt-core optional (#2354). dbt v2 doesn't bring it either, since dbt and dbt-oss 2.0.8 depend only on mashumaro[msgpack].

  File ".../site-packages/elementary/clients/dbt/command_line_dbt_runner.py", line 7, in <module>
    import yaml
ModuleNotFoundError: No module named 'yaml'

To Reproduce

  1. Install elementary-data 0.26.1 and dbt 2.0.6 in an environment with nothing else that needs PyYAML
  2. Run edr --help

Expected behavior
edr starts, with PyYAML installed as one of its dependencies.

Environment (please complete the following information):

  • Elementary CLI (edr) version: 0.26.1, and master declares the same dependencies
  • Elementary dbt package version: 0.26.1
  • dbt version you're using: 2.0.6
  • Data warehouse: Snowflake
  • Infrastructure details: Python 3.14, installed with uv

Additional context
We've pinned PyYAML in our own project until this is fixed.

Would you be willing to contribute a fix for this issue?
Yes, #2397.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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