Language Server Protocol implementation for Hydra YAML configuration files
Project description
🐉 hydra-yaml-lsp
hydra-yaml-lsp is a Language Server Protocol implementation for Hydra YAML configuration files, providing rich language features like code completion, syntax validation, and semantic highlighting to enhance the development experience with Hydra configuration files.
✨ Features
- 💡 Intelligent code completion for Hydra special keys (
_target_,_args_, etc.) - 🔍 Path completion for Python import paths in
_target_values - 🛠️ Argument completion for callable targets
- 🎨 Semantic token highlighting for special keys, target values, and interpolations
- ⚠️ YAML syntax validation and diagnostics
- 🔄 Support for Hydra interpolations (
${...}syntax) - 🔌 Easy integration with editor extensions (primary integration with VS Code)
📦 Installation
# Install with pip
pip install hydra-yaml-lsp
# For development setup
git clone https://github.com/your-repo/python-hydra-yaml.git
cd python-hydra-yaml/hydra-yaml-lsp
make venv # Sets up virtual environment with all dependencies
🧰 Requirements
- Python 3.12+
📝 Usage
Standalone Server
python -m hydra_yaml_lsp
Using with VS Code Extension
The primary use case is through the VS Code extension:
- Install the
python-hydra-yamlextension in VS Code - Configure the extension to point to your Hydra configuration directory
- Open any YAML file in that directory to activate the language features
🔧 Development
# Clone and setup development environment
git clone https://github.com/your-repo/python-hydra-yaml.git
cd python-hydra-yaml/hydra-yaml-lsp
# Install dependencies and set up virtual environment
make venv
# Run all tests
make test
# Run type checking
make type
# Run all checks (tests and type checking)
make run
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hydra_yaml_lsp-0.1.1.tar.gz.
File metadata
- Download URL: hydra_yaml_lsp-0.1.1.tar.gz
- Upload date:
- Size: 46.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7fe35893b1753e798eff1d46463a0dce14301ec41be87f328f48e37f63d3540d
|
|
| MD5 |
5a59c67e4a3671e96cad92559f3704ce
|
|
| BLAKE2b-256 |
66d8b012a6d2827f677e71cfd27a74f89d66d11c4b7ed7a9becc80c8573efa7c
|
Provenance
The following attestation bundles were made for hydra_yaml_lsp-0.1.1.tar.gz:
Publisher:
publish-to-pypi.yml on Geson-anko/python-hydra-yaml
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hydra_yaml_lsp-0.1.1.tar.gz -
Subject digest:
7fe35893b1753e798eff1d46463a0dce14301ec41be87f328f48e37f63d3540d - Sigstore transparency entry: 208858251
- Sigstore integration time:
-
Permalink:
Geson-anko/python-hydra-yaml@576aa689f0abeb9deef2d7eadcf2be1a9307f6ef -
Branch / Tag:
refs/tags/server-0.1.1 - Owner: https://github.com/Geson-anko
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@576aa689f0abeb9deef2d7eadcf2be1a9307f6ef -
Trigger Event:
push
-
Statement type:
File details
Details for the file hydra_yaml_lsp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: hydra_yaml_lsp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 31.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74e221b79a4ada8819f30ca7ffb3ec2a8f65d930443f634b5bfcfb3743dcb261
|
|
| MD5 |
f42e81e92d9bd667731ab2847a1cf2e3
|
|
| BLAKE2b-256 |
ba511e23ba33b8d562221ff8b87ffab3dd4fb590c583db247326bd7e80a70deb
|
Provenance
The following attestation bundles were made for hydra_yaml_lsp-0.1.1-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on Geson-anko/python-hydra-yaml
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hydra_yaml_lsp-0.1.1-py3-none-any.whl -
Subject digest:
74e221b79a4ada8819f30ca7ffb3ec2a8f65d930443f634b5bfcfb3743dcb261 - Sigstore transparency entry: 208858252
- Sigstore integration time:
-
Permalink:
Geson-anko/python-hydra-yaml@576aa689f0abeb9deef2d7eadcf2be1a9307f6ef -
Branch / Tag:
refs/tags/server-0.1.1 - Owner: https://github.com/Geson-anko
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@576aa689f0abeb9deef2d7eadcf2be1a9307f6ef -
Trigger Event:
push
-
Statement type: