What is Param and when to use it
mainParam is a zero-dependency Python library designed for two primary purposes:
- Rich, Declarative Attributes: It allows you to create classes with
Parameterobjects that include extended metadata. This metadata supports runtime type validation, range validation, documentation strings, default values/factories, and nullability. It is conceptually similar toPydantic, Python'sdataclasses, orTraitlets. - Reactive Programming: It provides APIs for declaring complex reactive dependencies. This enables automatic updates when attributes change and allows other frameworks to introspect these dependencies to implement reactive workflows.
Param is commonly used as a foundation for building user interfaces, graphical applications, and responsive systems. It serves as the core engine for HoloViz's Panel and HoloViews libraries.