{"repo":"holoviz/param","free":true,"listed":false,"github":"https://github.com/holoviz/param","clone":"git clone https://github.com/holoviz/param.git","description":"Declarative parameters for robust Python classes and a rich API for reactive programming","language":"Python","stars":520,"topics":["param","parameters","bounds-checking","ui","gui","attributes","boilerplate","class","oop","python"],"license":"BSD-3-Clause","category":"saas-starters-boilerplates","readme_excerpt":"Param Param is a zero-dependency Python library that provides two main features: - Easily create classes with rich, declarative attributes - Parameter objects - that include extended metadata for various purposes such as runtime type and range validation, documentation strings, default values or factories, nullability, etc. In this sense, Param is conceptually similar to libraries like Pydantic, Python's dataclasses, or Traitlets. - A suite of expressive and composable APIs for reactive programming , enabling automatic updates on attribute changes, and declaring complex reactive dependencies and expressions that can be introspected by other frameworks to implement their own reactive workflows. This combination of rich attributes and reactive APIs makes Param a solid foundation for constructing user interfaces, graphical applications, and responsive systems where data integrity and automatic synchronization are paramount. In fact, Param serves as the backbone of HoloViz’s Panel and HoloViews libraries, powering their rich interactivity and data-driven workflows. Here is a very simple example showing both features at play. We declare a UserForm class with three parameters: age as an Integer parameter and and name as a String parameter for user data, and submit as an Event parameter to simulate a button in a user interface. We also declare that the save user to db method should be called automatically when the value of the submit attribute changes. --- Enjoying Param? Show your ","default_branch":null,"files":null,"tree":[],"storefront":"/r/holoviz","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/holoviz/param/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}