Skip to content

Support reduced dependency graph size for datafusion-cli #23412

Description

@pepijnve

Is your feature request related to a problem or challenge?

The datafusion-cli crate currently pulls in S3, GCS and generic HTTP support unconditionally. This functionality pulls in a number of other crates whose transitive closure of dependencies is quite large. When tracking dependency vulnerabilities for all of these, this can lead to quite a lot of false positives when the cloud functionality is not actually used. Additionally, this increases binary size with effectively dead code.

Describe the solution you'd like

Add features (enabled by default for backward compatibility) that can be used to omit the cloud functionality and associated dependencies.

Describe alternatives you've considered

  • Build your own CLI from scratch to have precise control over dependencies.
  • Modularise the CLI into smaller library parts to make building your own easier.

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Fields

    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions