param

Declares typed, validated parameters with reactive dependencies for Python classes.

34|14|Updated Jul 4, 2025
One-click install
npx skills add https://github.com/MarcSkovMadsen/holoviz-mcp --skill param
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: param
Source: https://github.com/MarcSkovMadsen/holoviz-mcp/tree/main/skills/param
Command: npx skills add https://github.com/MarcSkovMadsen/holoviz-mcp --skill param

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Param provides a concise way to declare typed, validated attributes on Python classes, reducing boilerplate, runtime errors, and wiring of validation logic when building configurable components.

Core Features & Use Cases

  • Declarative parameter definitions with type annotations and constraints for robust data models.
  • Reactive dependencies between parameters via @param.depends, enabling automatic updates and computed values.
  • Support for dynamic defaults, serialization, and cross-field validation to simplify production-grade configurations.
  • Production-ready patterns for configuration objects, tests, and reusable components.

Quick Start

Define a Param-based class with typed attributes and a simple dependency to observe reactive updates.

Frequently Asked Questions about param

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I reduce boilerplate when creating Python classes with typed and validated parameters?

Reactive dependencies in Python parameters enable automatic updates and computed values via the @param.depends decorator. This mechanism tracks parameter changes, triggering computed values and cross-field validation automatically in production code.

What is the best way to implement configuration objects with cross-field validation in Python?

The best way to implement configuration objects with cross-field validation is using declarative typed parameters. This method supports dynamic defaults, serialization, and bounds constraints to simplify production-grade configurations without manual validation logic.

How do I serialize parameter values for reusable Python components with state?

You serialize parameter values for reusable Python components by defining declarative typed attributes on classes. This built-in serialization captures the state of validated parameters, allowing configurations and components to be saved and restored reliably.

Does declarative parameter typing work for building reactive dependencies between Python class attributes?

Yes, declarative parameter typing supports reactive dependencies between Python class attributes. By using the @param.depends decorator, parameter changes automatically trigger updates and recompute dependent values for stateful components.

When should I not use declarative typed parameters for Python data models?

You should not use declarative typed parameters when your Python data models require no validation, reactive dependencies, or serialization. For simple scripts lacking configurable state or cross-field constraints, standard class attributes are sufficient.