Skip to main content

Language Server Protocol implementation for Hydra YAML configuration files

Project description

🐉 hydra-yaml-lsp

Python 3.12+ License: MIT Document Style

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:

  1. Install the python-hydra-yaml extension in VS Code
  2. Configure the extension to point to your Hydra configuration directory
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hydra_yaml_lsp-0.1.1.tar.gz (46.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hydra_yaml_lsp-0.1.1-py3-none-any.whl (31.5 kB view details)

Uploaded Python 3

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

Hashes for hydra_yaml_lsp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7fe35893b1753e798eff1d46463a0dce14301ec41be87f328f48e37f63d3540d
MD5 5a59c67e4a3671e96cad92559f3704ce
BLAKE2b-256 66d8b012a6d2827f677e71cfd27a74f89d66d11c4b7ed7a9becc80c8573efa7c

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for hydra_yaml_lsp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 74e221b79a4ada8819f30ca7ffb3ec2a8f65d930443f634b5bfcfb3743dcb261
MD5 f42e81e92d9bd667731ab2847a1cf2e3
BLAKE2b-256 ba511e23ba33b8d562221ff8b87ffab3dd4fb590c583db247326bd7e80a70deb

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page