holoviz/param: Version 1.12.0
Authors/Creators
- Jean-Luc Stevens
- Chris B
- Philipp Rudiger1
- James A. Bednar2
- Marco Elver
- Maxime Liquet3
- kbowen
- Julia Signell4
- Tony Fast5
- thomasdeneux
- Sean Robertson6
- Andrew
- Gabriel Corona
- Simon Høxbro Hansen
- Hugo van Kemenade7
- Jon Mease
- Julio Antonio Soto
- Marc Skov Madsen8
- Paul Ivanov
- John Bampton
- ossdev079
- scottwedge
- 1. Anaconda Inc.
- 2. Anaconda, Inc.
- 3. Anaconda
- 4. @saturncloud
- 5. data scientist @Quansight
- 6. University of Toronto
- 7. Nord Software
- 8. Ørsted A/S
- 9. puresoftware
Description
Version 1.12.0 introduces a complete user manual and website (for the first time since 2003!) along with extensive API improvements gearing up to for the 2.0 release.
The pre-2.0 API is still being preserved and no new warnings are added in this release, so the older API can continue to be used with this release, but the next 1.x release is expected to enable warnings for deprecated API. If you have older code using the deprecated Param features below, please update your API calls as described below to be compatible with the 2.0 release when it comes out (or pin to param<2 if you don't need any new Param features). For new users, just use the API documented on the website, and you should be ready to go for either 1.12+ or 2.0+.
Thanks to James A. Bednar for the user guide and 2.0 API support, to Philipp Rudiger for improvements and new capabilities for handling dependencies on subobjects, and to Maxime Liquet and Philipp Rudiger for extensive improvements to the website/docs/package-building/testing.
New features:
- Added future-facing API for certain Parameterized().param methods (see Compatibility below; #556, #558, #559)
- New option
on_init=Truefor@dependsdecorator, to run the method in the constructor Implement on_init for depends decorator to ensure initial state is consistent when appropriate (#540) - Now resolves subobject dependencies dynamically, allowing dependencies on internal parameters of subobjects to resolve appropriately as those objects are replaced. (#552)
- Added prettyprinting for numbergen expressions (#525)
- Improved JSON schema generation (#458)
- Added more-usable script_repr command, availabie in param namespace, with default values, and showing imports (#522)
- Added Parameterized.param.pprint(); underlying implementation of script_repr but with defaults suitable for interactive usage rather than generating a .py script. (#522)
- Watchers can now declare precedence so that events are triggered in the desired order (#552, #557)
Bug fixes:
- Fix bug setting attributes in some cases before class is initialized (#544)
- Ensure None is supported on ListSelector (#511)
- Switched from deprecated
inspect.getargspecto the py3 versioninspect.getfullargspec, which is similar but splitskeywordargs intovarkw(**) and kw-only args. Falls back to getargspec on Python2. (#521)
Doc improvements (including complete user guide for the first time!):
- Misc comments/docstrings/docs cleanup (#507, #518, #528, #553)
- Added comparison with pydantic (#523)
- Added new user guide sections:
- Dependencies_and_Watchers user guide (#536)
- Dynamic Parameters (#525)
- Outputs (#523)
- Serialization and Persistence (#523)
Infrastructure:
- Added testing on Python 3.10 and on Mac OS X and removed slow PyPy/pandas/numpy tests (#548, #549, #526)
- Docs/tests/build infrastructure improvements (#509, #521, #529, #530, #537, #538, #539, #547, #548, #555)
Compatibility (see #543 for the complete list):
- Calendardate now accepts date values only (#517)
- No longer allows modifying name of a Parameter once it is in a Parameterized class, to avoid confusion (#541)
Renamed (with old name still accepted for compatibility until 2.0):
.param._add_parameter(): Now public.param.add_parameter(); too useful to keep private! (#559).param.params_depended_on: Now.param.method_dependenciesto indicate that it accepts a method name and returns its dependencies (#559).pprint: Now private._pprint; use public.param.pprintinstead (#559)batch_watch: Nowbatch_call_watchers, to declare that it does not set up watching, it just invokes it. Removed unused operation argument (#536)
Deprecated (but not yet warning unless noted):
.param.debug(): Use.param.log(param.DEBUG, ...)instead (#556).param.verbose(): Use.param.log(param.VERBOSE, ...)instead (#556).param.message(): Use.param.log(param.MESSAGE, ...)instead (#556).param.defaults()(#559).param.deprecate(): To be repurposed or deleted after 2.0 (#559).param.params(): Use.param.values()or.param['param']instead (#559).param.print_param_defaults()(#559).param.print_param_values()(#559).param.set_default()(#559).param.set_param():: Had tricky API; use.param.update` instead (#558).param.get_param_values(): Use.param.values()instead, which is the same but returns dict (#559).state_pop: Will be renamed to._state_popto make private.state_push: Will be renamed to._state_pushto make private.initialized: Will be renamed to._initializedto make private- Most methods on Parameterized itself have already been deprecated and warning for some time now; see #543 for the list. Use the corresponding method on the
.paramaccessor instead.
Added:
.param.watchers: Read-only version of private_watchers(#559).param.log(): Subsumes .debug/verbose/message; all are logging calls. (#556).param.update: Dictionary-style updates to parameter values, replacingset_param(#558).values: Dictionary of name:value pairs for parameter values, replacingget_param_valuesbut now a dict since python3 preserves order (#558).param.log: Add .log and recommend for new code instead of .debug, .verbose, .message (#556)
Files
holoviz/param-v1.12.0.zip
Files
(497.7 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:98ee8cf5ae26e06c1f89d0a76ab2b723
|
497.7 kB | Preview Download |
Additional details
Related works
- Is supplement to
- https://github.com/holoviz/param/tree/v1.12.0 (URL)