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.