$npx skillfedfor your agent

param

Declarative parameters for robust Python classes and a rich API for reactive programming

Worth itPyPI LibrariesReleased Jun 20262.8M downloads / moBSD-3-ClausePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — param-2.4.1-py3-none-any.whl
v2.4.1 · released 2026-06-09 · Python >=3.10

Yes. Param is production-stable, actively maintained, has zero runtime dependencies, and solves a real problem: combining declarative attribute validation with reactive programming. Install it if you need runtime parameter validation with class-level configuration, or if you're building interactive systems where automatic synchronization matters. The BSD-3-Clause license poses no barrier.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.10 or later.
  • Installation is straightforward with zero runtime dependencies and a pure Python wheel.
  • The package is actively maintained with recent releases and a stable codebase.

License · maintenance · safety

BSD-3-Clause (permissive) — BSD-3-Clause is a permissive license allowing commercial and private use with minimal restrictions, making it suitable for most projects.

last release 2026-06-09 (66 days) · last repo commit 2026-08-12 · 520 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 2,798,370 downloads/mo, #2,883 on PyPI

Verify before relying

import param

class MyClass(param.Parameterized):
    value = param.Integer(default=5, bounds=(0, 10))
    name = param.String(default='test')

obj = MyClass(value=7)
print(obj.param.values())
  • Whether reactive watchers scale well with hundreds or thousands of interdependent parameters.
  • Performance characteristics when used in high-frequency update scenarios.
  • Integration patterns with async/await code.
Same gist for agents: .md · .json

What it is and what it does

Param is a zero-dependency library for building classes with rich, validated attributes and reactive programming capabilities. You define attributes as Parameter objects—Integer, String, Selector, Event, and many others—each with metadata like bounds, default values, documentation, and nullability constraints. Param enforces these constraints at runtime, raising errors when invalid values are assigned. The library also provides a reactive API: you can declare that methods should automatically run when specific attributes change, enabling data-driven workflows where UI updates, computations, or side effects trigger automatically.

Param serves as the foundation for HoloViz's Panel and HoloViews libraries, which rely on its combination of declarative attributes and reactive bindings to power interactive visualizations and responsive applications. It is conceptually similar to Pydantic or dataclasses but emphasizes class-level attribute configuration, parameter inheritance across subclasses, and automatic reactivity rather than just input validation.

Use it for

  • Build configuration classes with validated, documented parameters that can be introspected by tools to generate UIs or CLIs automatically.
  • Create interactive applications where method calls or state updates trigger automatically when watched parameters change.
  • Define hierarchies of classes where subclasses inherit and selectively override parameter metadata from parent classes.
  • Implement data pipelines where reactive dependencies ensure downstream computations stay synchronized with upstream changes.
  • Construct scientific or data-analysis workflows with rich parameter metadata for reproducibility and documentation.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Worth it

Yes.

Param is production-stable, actively maintained, has zero runtime dependencies, and solves a real problem: combining declarative attribute validation with reactive programming. Install it if you need runtime parameter validation with class-level configuration, or if you're building interactive systems where automatic synchronization matters. The BSD-3-Clause license poses no barrier.

Install

param on PyPI

Before you install

Installation is straightforward with zero runtime dependencies and a pure Python wheel. The package is actively maintained with recent releases and a stable codebase.

Requires Python 3.10 or later.

License in practice

BSD-3-Clause is a permissive license allowing commercial and private use with minimal restrictions, making it suitable for most projects.

Quickstart

import param

class MyClass(param.Parameterized):
    value = param.Integer(default=5, bounds=(0, 10))
    name = param.String(default='test')

obj = MyClass(value=7)
print(obj.param.values())

Verify before relying

  • Whether reactive watchers scale well with hundreds or thousands of interdependent parameters.
  • Performance characteristics when used in high-frequency update scenarios.
  • Integration patterns with async/await code.

Package facts

LicenseBSD-3-Clause permissive
Python supportSupports the current Python release >=3.10
Install frictionLow. Pure-Python wheel
Runtime dependenciesNone
MaintenanceActively maintained 66 days since the last release
Last repo commit
First released
Downloads2,798,370 / month, #2,883 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/EngineeringTopic :: Software Development :: LibrariesTyping :: Typed

Evidence: param-2.4.1-py3-none-any.whl

Tags

Capabilities
declarative class attributesruntime type validationreactive programmingparameter metadataautomatic attribute updatesdata validation frameworkclass attribute binding
Topics
validationreactive-programmingdeclarative-api

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “parameter metadata”

  • paramParam provides declarative class attributes with runtime validation…
  • funcsigsProvides Python function signature introspection (PEP 362) for Python…
  • griffe-typingdocGriffe extension that enables inline documentation of function…

Give your agent the search over MCP, or paste the wish link into any chat.

More Libraries packages

urllib3 Worth it
PyPI · Libraries · released May 2026

urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.

MITpure Python · 3.10+
1.8Bdownloads / mo
requests Worth it
PyPI · Libraries · released May 2026

Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.

Apache-2.0pure Python · 3.10+
1.8Bdownloads / mo
pluggy Worth it
PyPI · Libraries · released May 2025

Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.

Install it if you're building an extensible application or framework.

MITpure Python · 3.9+aging
1.3Bdownloads / mo
python-dateutil Worth it
PyPI · Libraries · released Mar 2024

Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.

Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.

Apache-2.0pure Python
1.2Bdownloads / mo
six With conditions
PyPI · Libraries · released Dec 2024

Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.

MITpure Python
1.2Bdownloads / mo
pytest Worth it
PyPI · Libraries · released Jun 2026

pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.

MITpure Python · 3.10+
1.1Bdownloads / mo

See also overrides · redis-om · argparse-dataclass · parameterized · annotated-types · docsig · unittest-parametrize · inject · magic-filter · uipath-runtime