Skip to content

[Feature Request] Allow for non-leading dashes in override keys #2363

@dberenbaum

Description

@dberenbaum

🚀 Feature Request

Allow for non-leading dashes to appear in override keys. For example:

$ python my_app.py +dashed-key=val
LexerNoViableAltException: +dashed-key=val
                                  ^
See https://hydra.cc/docs/next/advanced/override_grammar/basic for details

Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.

Motivation

See treeverse/dvc#8151. We rely on Hydra to enable our users to override parameters from the CLI (and it can enable other great features for our users, like complex configuration and parameter sweeps). However, we have had multiple users complain that converting our CLI overrides to Hydra has broken their use cases when they have dashes in the middle of their parameter keys.

Pitch

Describe the solution you'd like

From #514, it's clear that leading dashes (--learning-rate=0.1) are not a feature you want to support. I would like to see support for non-leading dashes so that overrides like learning-rate=0.1 work.

Describe alternatives you've considered

We may be able to find a workaround on our end, but this somewhat defeats the purpose of using Hydra for CLI overrides.

It also seems better to add in Hydra since it has general-purpose value.

Are you willing to open a pull request? (See CONTRIBUTING)

Someone on our team (cc @daavoo 😄) can contribute a PR if you are open to it.

Additional context

N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions