From f34fbef8490ba88181f0eb801f69fefa30eafc91 Mon Sep 17 00:00:00 2001 From: Marc Skov Madsen Date: Sat, 31 Jan 2026 19:08:23 +0000 Subject: [PATCH 1/2] add param skills --- .../examples/ml-experiment-tracker-claude.png | Bin 0 -> 65399 bytes .../images/examples/ml-experiment-tracker.png | Bin 0 -> 110500 bytes docs/examples/create-ml-experiment-tracker.md | 444 +++++++++++++++ docs/how-to/install-uv.md | 2 +- mkdocs.yml | 1 + .../config/resources/skills/panel.md | 3 +- .../config/resources/skills/param.md | 519 ++++++++++++++++++ 7 files changed, 966 insertions(+), 3 deletions(-) create mode 100644 docs/assets/images/examples/ml-experiment-tracker-claude.png create mode 100644 docs/assets/images/examples/ml-experiment-tracker.png create mode 100644 docs/examples/create-ml-experiment-tracker.md create mode 100644 src/holoviz_mcp/config/resources/skills/param.md diff --git a/docs/assets/images/examples/ml-experiment-tracker-claude.png b/docs/assets/images/examples/ml-experiment-tracker-claude.png new file mode 100644 index 0000000000000000000000000000000000000000..e5fa46fdf9a20999a7778a8fc22400c4de292958 GIT binary patch literal 65399 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

Gh;65+eE;AKK0VHfD+ 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%0D8>us0x?Eh^V|F_H68vt3{^>kU;nJ6_rKiMtj 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

Code + +```python +# pyright: reportAssignmentType=false +""" +ML Experiment Configuration with Parameter Tracking. + +A Param-based class for managing machine learning experiment configurations +with validation, history tracking, and a Panel UI for interactive editing. +""" + +from datetime import datetime +from typing import Any + +import panel as pn +import param + +pn.extension(throttled=True) + + +# Custom Parameter Types +class PowerOfTwoInteger(param.Integer): + """Integer parameter that must be a power of 2 (8, 16, 32, 64, etc.).""" + + def __init__(self, default: int = 32, **params): + super().__init__(default=default, **params) + + def _validate_value(self, val: int | None, allow_None: bool) -> None: + super()._validate_value(val, allow_None) + if val is not None and val > 0: + # Check if val is a power of 2: val & (val - 1) == 0 + if not (val & (val - 1) == 0): + raise ValueError(f"Parameter {self.name!r} must be a power of 2 (e.g., 8, 16, 32, 64), not {val!r}.") + + +class MLExperiment(param.Parameterized): + """ + Machine Learning Experiment Configuration. + + A parameterized class for managing ML experiment settings with automatic + validation, change tracking, and serialization support. + + Attributes + ---------- + model_name : str + Name of the model architecture (e.g., 'ResNet50', 'BERT'). + learning_rate : float + Learning rate for optimization, constrained to [0.0001, 1.0]. + batch_size : int + Training batch size, must be a power of 2 (8, 16, 32, 64, etc.). + epochs : int + Number of training epochs, must be positive. + early_stopping : bool + Whether to enable early stopping during training. + patience : int + Number of epochs to wait before early stopping (only validated when early_stopping=True). + history : list + List of parameter change records with timestamps. + + Examples + -------- + >>> exp = MLExperiment(model_name="ResNet50", learning_rate=0.001) + >>> exp.batch_size = 64 + >>> print(exp.get_config()) + {'model_name': 'ResNet50', 'learning_rate': 0.001, 'batch_size': 64, ...} + """ + + model_name: str = param.String( + default="ResNet50", + doc="Name of the model architecture (e.g., 'ResNet50', 'BERT').", + ) + + learning_rate: float = param.Number( + default=0.001, + bounds=(0.0001, 1.0), + step=0.0001, + doc="Learning rate for optimization, constrained to [0.0001, 1.0].", + ) + + batch_size: int = PowerOfTwoInteger( + default=32, + bounds=(1, 1024), + doc="Training batch size, must be a power of 2 (8, 16, 32, 64, etc.).", + ) + + epochs: int = param.Integer( + default=10, + bounds=(1, None), + doc="Number of training epochs, must be positive.", + ) + + early_stopping: bool = param.Boolean( + default=False, + doc="Whether to enable early stopping during training.", + ) + + patience: int = param.Integer( + default=5, + bounds=(1, None), + doc="Number of epochs to wait before early stopping (validated only when early_stopping=True).", + ) + + history: list = param.List( + default=[], + item_type=dict, + doc="List of parameter change records with timestamps.", + ) + + # Store default values for reset functionality + _defaults: dict = param.Dict(default={}, precedence=-1) + + def __init__(self, **params): + # Capture defaults before initialization + defaults = { + "model_name": params.get("model_name", "ResNet50"), + "learning_rate": params.get("learning_rate", 0.001), + "batch_size": params.get("batch_size", 32), + "epochs": params.get("epochs", 10), + "early_stopping": params.get("early_stopping", False), + "patience": params.get("patience", 5), + } + super().__init__(**params) + self._defaults = defaults + + @param.depends("early_stopping", "patience", watch=True, on_init=True) + def _validate_patience(self) -> None: + """Validate patience only when early_stopping is enabled.""" + if self.early_stopping and self.patience < 1: + raise ValueError(f"Parameter 'patience' must be at least 1 when early_stopping is enabled, not {self.patience!r}.") + + @param.depends( + "model_name", + "learning_rate", + "batch_size", + "epochs", + "early_stopping", + "patience", + watch=True, + ) + def _track_changes(self) -> None: + """Track all parameter changes with timestamps.""" + # Get current values + current_config = self.get_config() + + # Create history entry + entry = { + "timestamp": datetime.now().isoformat(), + "config": current_config.copy(), + } + + # Append to history (create new list to trigger reactivity) + self.history = self.history + [entry] + + def get_config(self) -> dict[str, Any]: + """ + Get the current experiment configuration as a dictionary. + + Returns + ------- + dict[str, Any] + Dictionary containing all experiment parameters. + + Examples + -------- + >>> exp = MLExperiment(model_name="BERT", epochs=20) + >>> config = exp.get_config() + >>> print(config['model_name']) + 'BERT' + """ + return { + "model_name": self.model_name, + "learning_rate": self.learning_rate, + "batch_size": self.batch_size, + "epochs": self.epochs, + "early_stopping": self.early_stopping, + "patience": self.patience, + } + + def reset(self) -> None: + """ + Reset all parameters to their default values. + + This resets the experiment configuration to the values it had + when the instance was created. History is preserved. + + Examples + -------- + >>> exp = MLExperiment(model_name="ResNet50") + >>> exp.learning_rate = 0.1 + >>> exp.reset() + >>> print(exp.learning_rate) + 0.001 + """ + self.param.update(**self._defaults) + + +class MLExperimentUI(pn.viewable.Viewer): + """ + Panel UI for editing ML Experiment parameters and viewing history. + + Provides an interactive interface for modifying experiment settings + and reviewing the change history. + + Parameters + ---------- + experiment : MLExperiment, optional + The experiment instance to edit. If not provided, creates a new one. + """ + + experiment: MLExperiment = param.ClassSelector( + class_=MLExperiment, + default=None, + doc="The MLExperiment instance to edit.", + ) + + def __init__(self, experiment: MLExperiment | None = None, **params): + if experiment is None: + experiment = MLExperiment() + super().__init__(experiment=experiment, **params) + + with pn.config.set(sizing_mode="stretch_width"): + # Create widgets from parameters + self._model_name_input = pn.widgets.TextInput.from_param( + self.experiment.param.model_name, + name="Model Name", + ) + + self._learning_rate_input = pn.widgets.FloatSlider.from_param( + self.experiment.param.learning_rate, + name="Learning Rate", + format="0.0000", + ) + + # Batch size as select for power of 2 values + self._batch_size_input = pn.widgets.Select.from_param( + self.experiment.param.batch_size, + name="Batch Size", + options=[8, 16, 32, 64, 128, 256, 512, 1024], + ) + + self._epochs_input = pn.widgets.IntSlider.from_param( + self.experiment.param.epochs, + name="Epochs", + start=1, + end=100, + ) + + self._early_stopping_input = pn.widgets.Checkbox.from_param( + self.experiment.param.early_stopping, + name="Early Stopping", + ) + + self._patience_input = pn.widgets.IntSlider.from_param( + self.experiment.param.patience, + name="Patience", + start=1, + end=50, + ) + + # Reset button + self._reset_button = pn.widgets.Button( + name="Reset to Defaults", + button_type="warning", + ) + self._reset_button.on_click(self._on_reset_click) + + # Collect inputs + self._inputs = pn.Column( + "## Configuration", + self._model_name_input, + self._learning_rate_input, + self._batch_size_input, + self._epochs_input, + self._early_stopping_input, + self._patience_input, + pn.layout.Divider(), + self._reset_button, + max_width=350, + ) + + # Output panes - created once with reactive content + self._config_pane = pn.pane.JSON( + self._current_config, + name="Current Config", + depth=2, + sizing_mode="stretch_width", + ) + + self._history_pane = pn.pane.Markdown( + self._history_display, + sizing_mode="stretch_width", + ) + + # Collect outputs + self._outputs = pn.Column( + "## Current Configuration", + self._config_pane, + pn.layout.Divider(), + "## Change History", + self._history_pane, + ) + + # Combined layout + self._panel = pn.Row( + self._inputs, + self._outputs, + sizing_mode="stretch_width", + ) + + def _on_reset_click(self, _event: Any) -> None: + """Handle reset button click.""" + self.experiment.reset() + + @param.depends( + "experiment.model_name", + "experiment.learning_rate", + "experiment.batch_size", + "experiment.epochs", + "experiment.early_stopping", + "experiment.patience", + ) + def _current_config(self) -> dict[str, Any]: + """Return current configuration for JSON pane.""" + return self.experiment.get_config() + + @param.depends("experiment.history") + def _history_display(self) -> str: + """Return formatted history for markdown pane.""" + if not self.experiment.history: + return "*No changes recorded yet.*" + + lines = [] + for i, entry in enumerate(reversed(self.experiment.history[-10:]), 1): + timestamp = entry["timestamp"] + config = entry["config"] + lines.append(f"### Change {len(self.experiment.history) - i + 1}") + lines.append(f"**Time:** {timestamp}") + lines.append(f"- Model: `{config['model_name']}`") + lines.append(f"- LR: `{config['learning_rate']}`") + lines.append(f"- Batch: `{config['batch_size']}`") + lines.append(f"- Epochs: `{config['epochs']}`") + lines.append(f"- Early Stop: `{config['early_stopping']}` (patience: `{config['patience']}`)") + lines.append("") + + if len(self.experiment.history) > 10: + lines.insert(0, f"*Showing last 10 of {len(self.experiment.history)} changes.*\n") + + return "\n".join(lines) + + def __panel__(self) -> pn.Row: + """Return the panel layout for notebook display.""" + return self._panel + + @classmethod + def create_app(cls, experiment: MLExperiment | None = None) -> pn.template.FastListTemplate: + """ + Create a servable Panel application. + + Parameters + ---------- + experiment : MLExperiment, optional + The experiment instance to edit. + + Returns + ------- + pn.template.FastListTemplate + A Panel template ready to be served. + """ + instance = cls(experiment=experiment) + template = pn.template.FastListTemplate( + title="ML Experiment Configuration", + sidebar=[ + pn.pane.Markdown( + "### ML Experiment Tracker\n\nConfigure your machine learning experiment parameters. All changes are automatically tracked with timestamps." + ), + instance._inputs, + ], + main=[instance._outputs], + main_layout=None, + ) + return template + + +# Serve the app +if pn.state.served: + MLExperimentUI.create_app().servable() +``` + + + +Key features demonstrated: + +- **Parameter Types**: Uses `param.String`, `param.Number`, `param.Integer`, `param.Selector`, and `param.Boolean` +- **Validation**: Learning rate bounded to 0.0001-1.0, batch size restricted to powers of 2 +- **Conditional Logic**: Patience parameter disabled when early_stopping is False +- **Change Tracking**: Automatic history with timestamps via param watchers +- **Panel Integration**: Direct widget binding with `from_param()` for reactive UI diff --git a/docs/how-to/install-uv.md b/docs/how-to/install-uv.md index 86d5888..b276fec 100644 --- a/docs/how-to/install-uv.md +++ b/docs/how-to/install-uv.md @@ -24,7 +24,7 @@ Install HoloViz MCP as a uv tool: # Basic installation uv tool install holoviz-mcp -# Or with PyData packages (recommended for data science) +# Or with PyData packages (assumed for our tutorials and how-to guides) uv tool install "holoviz-mcp[pydata]" # Or with specific extra packages diff --git a/mkdocs.yml b/mkdocs.yml index 04a069f..62356c2 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -108,6 +108,7 @@ nav: - examples/index.md - Plot from Picture: examples/generate-plot-from-picture.md - Dashboard from Picture: examples/generate-dashboard-from-picture.md + - Create ML Experiment Tracker: examples/create-ml-experiment-tracker.md - Convert Excel Sheet: examples/convert-excel-app.md - Convert Streamlit App: examples/convert-streamlit-app.md - How-To Guides: diff --git a/src/holoviz_mcp/config/resources/skills/panel.md b/src/holoviz_mcp/config/resources/skills/panel.md index 4191abe..7ac2795 100644 --- a/src/holoviz_mcp/config/resources/skills/panel.md +++ b/src/holoviz_mcp/config/resources/skills/panel.md @@ -220,12 +220,11 @@ DO fix any errors identified. ### Parameter-Driven Architecture - DO use `param.Parameterized` or `pn.viewable.Viewer` classes to organize and manage state -- DO create widgets with `.from_param()` method +- DO create widgets with `.from_param()` method. DON'T do this for panes, i.e. pn.pane.Str has no from_param method. - DO use `@param.depends()` for reactive methods - DO use `@param.depends(..., watch=True)` to update parameter/ state values and for side-effects like sending an email. - DO group related parameters in separate `Parameterized` or `Viewable` classes - ```python # ❌ AVOID: Updating panes and other components directly. This makes it hard to reason about application flow and state @param.depends('value', watch=True) diff --git a/src/holoviz_mcp/config/resources/skills/param.md b/src/holoviz_mcp/config/resources/skills/param.md new file mode 100644 index 0000000..ff3edbc --- /dev/null +++ b/src/holoviz_mcp/config/resources/skills/param.md @@ -0,0 +1,519 @@ +--- +name: param-development +description: Use when building Python classes with validated, typed parameters using the Param library. Triggers include creating configuration classes, building reusable components with state, implementing reactive dependencies between parameters, adding type-safe attributes with bounds/constraints, creating testable parameterized classes, or when users mention param.Parameterized, @param.depends, or param.watch. +--- + +# Param: Declarative Parameters + +Create typed, validated class attributes with reactive programming support. + +## Hello World Example + +```python +# DO always add this to ignore pyright Parameter type annotation warnings +# pyright: reportAssignmentType=false +import param + +class Greeter(param.Parameterized): + """A greeting generator with history tracking.""" + + # DON'T use 'name' as parameter - it's reserved in Param + # DO add type annotations, defaults, and doc strings + target: str = param.String(default="World", doc="Name to greet") + greeting: str = param.Selector(default="Hello", objects=["Hello", "Hi", "Hey"]) + count: int = param.Integer(default=1, bounds=(1, 10), doc="Repetitions") + history: list = param.List(default=[], doc="Greeting history") + + # DO use @param.depends (watch=False) for computed values with no side effects + @param.depends("target", "greeting", "count") + def message(self) -> str: + """Computed value - recalculates when dependencies change.""" + return " ".join([f"{self.greeting}, {self.target}!"] * self.count) + + # DO use @param.depends(watch=True) for side effects (state updates, I/O, etc.) + @param.depends("target", watch=True) + def _track_changes(self): + """Side effect - automatically runs when target changes.""" + self.history = self.history + [self.target] + + +# Usage +greeter = Greeter(target="Alice") +print(greeter.message()) # "Hello, Alice!" + +greeter.target = "Bob" +print(greeter.history) # ["Bob"] - tracked the change + +greeter.greeting = "Hi" +greeter.count = 2 +print(greeter.message()) # "Hi, Bob! Hi, Bob!" +``` + +## param.Parameterized (Production) vs param.rx/bind (Exploration) + +Use `param.Parameterized` for production code. Use `param.rx`/`param.bind` only for notebook exploration: + +## Core Parameter Types + +```python +import datetime +import param +import numpy as np +import pandas as pd + +class AllParameterTypes(param.Parameterized): + # Strings + name: str = param.String(default="unnamed", doc="Item name") + color: str = param.Color(default="#FF5733", doc="Hex color or named color") + + # Numbers + count: int = param.Integer(default=10, bounds=(0, 1000)) + rate: float = param.Number(default=0.5, bounds=(0.0, 1.0), step=0.1) + magnitude: float = param.Magnitude(default=0.5) # Always 0.0-1.0 + + # Boolean + enabled: bool = param.Boolean(default=True) + + # Selectors + mode: str = param.Selector(default="auto", objects=["auto", "manual", "hybrid"]) + tags: list = param.ListSelector(default=["a"], objects=["a", "b", "c"]) + + # Collections + items: list = param.List(default=[], item_type=str) + config: dict = param.Dict(default={}) + data: np.ndarray = param.Array(default=np.array([])) + df: pd.DataFrame = param.DataFrame(default=pd.DataFrame()) + + # Dates + date: datetime.date = param.CalendarDate(default=datetime.date.today()) + date_range: tuple = param.CalendarDateRange(default=None, doc="Optional date range") + value_range: tuple = param.Range(default=(0, 10), bounds=(0, 100)) + + # Files + input_file: str = param.Filename(default=None, doc="Input file path") + output_dir: str = param.Foldername(default=None, doc="Output directory") + + # Actions and Events + submit: bool = param.Event(doc="Trigger processing") + callback: callable = param.Callable(default=None, doc="Processing function") + + # Class instances + nested: param.Parameterized = param.ClassSelector(class_=param.Parameterized, default=None) +``` + +## Parameter Metadata + +```python +import param + +class DocumentedModel(param.Parameterized): + threshold = param.Number( + default=0.5, + bounds=(0, 1), # Hard limits - enforced + softbounds=(0.2, 0.8), # Suggested range for UIs + step=0.05, # Increment hint for UIs + doc="Classification threshold", + label="Threshold (%)", # Display name + precedence=1, # Order in UIs (lower = first) + constant=False, # If True, immutable after init + readonly=False, # If True, never settable by user + allow_None=False, # If True, None is valid + instantiate=False, # If True, deep copy default per instance + per_instance=True, # If True, separate Parameter object per instance + ) +``` + +### Dynamic Defaults with default_factory + +```python +import uuid +import datetime +import param + +class TrackedItem(param.Parameterized): + id: str = param.String(default_factory=lambda: str(uuid.uuid4())) + created_at: datetime.datetime = param.Date(default_factory=datetime.datetime.now) +``` + +## Dependencies with @param.depends + +### watch=False: Declare Dependencies for External Frameworks + +```python +import param + +class DataView(param.Parameterized): + source: str = param.Selector(default="A", objects=["A", "B", "C"]) + limit: int = param.Integer(default=10, bounds=(1, 100)) + + @param.depends("source", "limit") + def get_data(self) -> list: + """Called by Panel/HoloViews when dependencies change.""" + return [f"{self.source}_{i}" for i in range(self.limit)] +``` + +### watch=True: Execute Side Effects Automatically + +```python +import param + +class CountrySelector(param.Parameterized): + """Dependent parameters pattern - updates country list when continent changes.""" + + _countries = { + "Europe": ["France", "Germany", "Spain"], + "Asia": ["China", "Japan", "India"], + "Americas": ["USA", "Brazil", "Canada"], + } + + continent: str = param.Selector(default="Europe", objects=["Europe", "Asia", "Americas"]) + country: str = param.Selector(default="France", objects=["France", "Germany", "Spain"]) + + @param.depends("continent", watch=True, on_init=True) + def _update_countries(self): + """Automatically update country options when continent changes.""" + countries = self._countries[self.continent] + self.param.country.objects = countries + if self.country not in countries: + self.country = countries[0] +``` + +### on_init=True: Run on Instantiation + +Always use `on_init=True` when a watcher should run during `__init__`: + +```python +@param.depends("config_path", watch=True, on_init=True) +def _load_config(self): + """Load config on init AND when path changes.""" + if self.config_path: + self.config = load_config(self.config_path) +``` + +## Watchers (Low-level API) + +```python +import param + +class WatcherExample(param.Parameterized): + value: int = param.Integer(default=0) + history: list = param.List(default=[]) + + def __init__(self, **params): + super().__init__(**params) + # Watch with callback receiving Event objects + self.param.watch(self._on_value_change, ["value"]) + + def _on_value_change(self, event): + """event.old, event.new, event.name, event.obj available.""" + self.history.append({"old": event.old, "new": event.new}) + + +# Alternative: watch_values passes values as kwargs +model = WatcherExample() +model.param.watch_values(lambda value: print(f"Value: {value}"), ["value"]) +``` + +## Event Parameter for Triggers + +```python +import param + +class Processor(param.Parameterized): + data: list = param.List(default=[]) + process: bool = param.Event(doc="Click to process") + result: str = param.String(default="") + + @param.depends("process", watch=True) + def _on_process(self): + """Triggered when process event fires.""" + self.result = f"Processed {len(self.data)} items" + + +processor = Processor(data=[1, 2, 3]) +processor.process = True # Triggers _on_process, then resets to False +print(processor.result) # "Processed 3 items" +``` + +## Parameter References (allow_refs) + +```python +import param + +class Source(param.Parameterized): + value: int = param.Integer(default=10) + +class Consumer(param.Parameterized): + # allow_refs=True lets this parameter reference another Parameter + input_value: int = param.Integer(default=0, allow_refs=True) + +source = Source() +consumer = Consumer(input_value=source.param.value) + +print(consumer.input_value) # 10 +source.value = 20 +print(consumer.input_value) # 20 - automatically updated +``` + +## param.rx and param.bind (Exploration Only) + +Use for notebooks and prototyping. Refactor to Parameterized for production: + +```python +import param +from param import rx + +# param.rx - reactive values +data = rx([1, 2, 3]) +doubled = data.rx.pipe(lambda d: [x * 2 for x in d]) # [2, 4, 6] +data.rx.value = [10, 20] # doubled becomes [20, 40] + +# param.bind - bind function to parameters +class Config(param.Parameterized): + x: int = param.Integer(default=5) + y: int = param.Integer(default=10) + +config = Config() +result = param.bind(lambda a, b: a * b, config.param.x, config.param.y) +print(result()) # 50 +config.x = 7 +print(result()) # 70 +``` + +## Testing Parameterized Classes + +```python +import pytest +import param + +class Calculator(param.Parameterized): + a: float = param.Number(default=0) + b: float = param.Number(default=0) + operation: str = param.Selector(default="add", objects=["add", "multiply"]) + + @param.depends("a", "b", "operation") + def result(self) -> float: + return self.a + self.b if self.operation == "add" else self.a * self.b + + +def test_defaults(): + calc = Calculator() + assert calc.a == 0 and calc.operation == "add" + +def test_computed_values(): + assert Calculator(a=5, b=3).result() == 8 + assert Calculator(a=5, b=3, operation="multiply").result() == 15 + +def test_reactivity(): + calc = Calculator(a=2, b=3) + assert calc.result() == 5 + calc.a = 10 + assert calc.result() == 13 + +def test_validation(): + with pytest.raises(ValueError): + Calculator(a="not a number") + with pytest.raises(ValueError): + Calculator(operation="invalid") +``` + +## Best Practices + +### DO + +- Use Parameterized classes for production code +- Add type annotations for IDE support +- Add `# pyright: reportAssignmentType=false` at the top of files with type-annotated Parameters (Param's descriptors conflict with static type checkers) +- Write pytest tests for all reactive methods +- Use `watch=True` for side effects, `watch=False` for computed values +- Use `on_init=True` when watchers should run during initialization +- Use `doc` parameter for documentation +- Use `bounds` for numeric constraints + +### DON'T + +- Use `name` as a parameter name - it's reserved (use `title`, `label`, etc.) +- Use param.bind/rx for production code that needs testing +- Modify parameters inside their own `watch=True` callbacks (causes loops) +- Forget `on_init=True` when initialization logic depends on parameter values +- Use mutable defaults without `instantiate=True` or `default_factory` + +## Common Patterns + +### Configuration Object + +```python +import param + +class AppConfig(param.Parameterized): + debug: bool = param.Boolean(default=False) + log_level: str = param.Selector(default="INFO", objects=["DEBUG", "INFO", "WARNING", "ERROR"]) + max_workers: int = param.Integer(default=4, bounds=(1, 32)) + +config = AppConfig() +config.param.update(debug=True, log_level="DEBUG") # Batch update, watchers called once +``` + +### Environment Variable Defaults + +```python +import os +import param + +env = os.environ.get + +class AppSettings(param.Parameterized): + database_url = param.String(default=env("DATABASE_URL", ""), doc="Database connection URL") + secret_key = param.String(default=env("SECRET_KEY", ""), doc="Secret key for JWT tokens") + debug = param.Boolean(default=env("DEBUG", "false").lower() == "true") + allowed_hosts = param.List(default=env("ALLOWED_HOSTS", "localhost").split(","), item_type=str) + +settings = AppSettings() +``` + +Note: Environment variables are read at class definition time. For dynamic reloading, read them in `__init__` or use `default_factory`. + +### Batch Updates + +```python +# Update multiple parameters atomically +with config.param.update(debug=True, log_level="DEBUG"): + pass # Changes applied, watchers called once at end + +# Or without context manager +config.param.update(debug=True, log_level="DEBUG") +``` +### Serialization + +```python +import param + +class User(param.Parameterized): + age: int = param.Integer(default=0) + email: str = param.String(default="") + +user = User(age=25, email="test@example.com") +user.param.values() # {'name': 'User00001', 'age': 25, 'email': '...'} +user.param.values(onlychanged=True) # {'age': 25, 'email': '...'} +json_str = user.param.serialize_parameters() +User.param.deserialize_parameters(json_str) # Returns dict for constructor +``` + +## Pydantic Migration + +Unlike Pydantic, Param does **not** auto-coerce types. Convert values explicitly: + +```python +import param + +class ParamUser(param.Parameterized): + age: int = param.Integer() + +ParamUser(age=25) # Works +ParamUser(age="25") # Raises ValueError - no coercion + +# Convert when migrating from Pydantic +data = {"age": "25"} +ParamUser(age=int(data["age"])) +``` + +## Cross-Field Validation + +Use `@param.depends(watch=True, on_init=True)` to validate across multiple parameters: + +```python +import re + +import param + + +class MinLengthString(param.String): + """String with minimum length validation.""" + + __slots__ = ["min_length"] + + def __init__(self, min_length=0, **params): + self.min_length = min_length + super().__init__(**params) + + def _validate_value(self, val, allow_None): + super()._validate_value(val, allow_None) + if val and len(val) < self.min_length: + raise ValueError(f"Parameter {self.name!r} must be at least {self.min_length} characters.") + + +class EmailString(param.String): + """String that must be a valid email format.""" + + def _validate_value(self, val, allow_None): + super()._validate_value(val, allow_None) + if val and not re.match(r"^[\w\.-]+@[\w\.-]+\.\w+$", val): + raise ValueError(f"Parameter {self.name!r} must be a valid email, not {val!r}.") + + +class UserRegistration(param.Parameterized): + """User registration with cross-field validation.""" + + username: str = MinLengthString(min_length=3, doc="Username (min 3 characters)") + email: str = EmailString(doc="Email address") + password: str = param.String(doc="Password") + subscription_tier: str = param.Selector(default="free", objects=["free", "pro", "enterprise"]) + + @param.depends("password", "subscription_tier", watch=True, on_init=True) + def _validate_password(self): + """Validate password complexity based on subscription tier.""" + if not self.password: + return + + if len(self.password) < 8: + raise ValueError("Password must be at least 8 characters") + + if self.subscription_tier == "enterprise" and not re.search(r"[A-Z]", self.password): + raise ValueError("Enterprise accounts require uppercase letters") + + +# Usage - validation runs on init and parameter changes +user = UserRegistration( + username="alice", email="alice@example.com", + password="SecurePass123", subscription_tier="enterprise", +) +UserRegistration(username="bob", password="lowercase", subscription_tier="enterprise") # Raises ValueError +``` + +## Custom Parameter Types + +Subclass and override `_validate_value` for reusable parameters with custom validation: + +```python +import param + +class EvenInteger(param.Integer): + """Integer that must be even.""" + def _validate_value(self, val, allow_None): + super()._validate_value(val, allow_None) # Always call parent first + if val is not None and val % 2 != 0: + raise ValueError(f"EvenInteger parameter {self.name!r} must be even, not {val!r}.") + +class PositiveNumber(param.Number): + """Number that must be > 0.""" + def _validate_value(self, val, allow_None): + super()._validate_value(val, allow_None) + if val is not None and val <= 0: + raise ValueError(f"PositiveNumber parameter {self.name!r} must be positive, not {val!r}.") + +class GridConfig(param.Parameterized): + rows: int = EvenInteger(default=4) + spacing: float = PositiveNumber(default=1.0) + +config = GridConfig(rows=6, spacing=2.5) +config.rows = 5 # Raises ValueError: must be even +config.spacing = -1 # Raises ValueError: must be positive +``` + +## Resources + +- [Param Documentation](https://param.holoviz.org) +- [Param User Guide](https://param.holoviz.org/user_guide/index.html) +- [Parameter Types Reference](https://param.holoviz.org/user_guide/Parameter_Types.html) +- [Dependencies and Watchers](https://param.holoviz.org/user_guide/Dependencies_and_Watchers.html) +- [Specialized Parameter Types](https://param.holoviz.org/user_guide/Parameters.html#specialized-parameter-types) From d684635b413b29569c278336201ceccee0a1999f Mon Sep 17 00:00:00 2001 From: Marc Skov Madsen Date: Sat, 31 Jan 2026 20:28:50 +0100 Subject: [PATCH 2/2] Update docs/examples/create-ml-experiment-tracker.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- docs/examples/create-ml-experiment-tracker.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/examples/create-ml-experiment-tracker.md b/docs/examples/create-ml-experiment-tracker.md index ea67ed5..e33a3ce 100644 --- a/docs/examples/create-ml-experiment-tracker.md +++ b/docs/examples/create-ml-experiment-tracker.md @@ -437,7 +437,7 @@ if pn.state.served: Key features demonstrated: -- **Parameter Types**: Uses `param.String`, `param.Number`, `param.Integer`, `param.Selector`, and `param.Boolean` +- **Parameter Types**: Uses `param.String`, `param.Number`, `param.Integer`, and `param.Boolean` - **Validation**: Learning rate bounded to 0.0001-1.0, batch size restricted to powers of 2 - **Conditional Logic**: Patience parameter disabled when early_stopping is False - **Change Tracking**: Automatic history with timestamps via param watchers