Comments (2)
What is interesting is that the current implementation of the depends() decorator, shown below, does use functools.wrap from the standard library; and that is supposed to solve the problem of pickeling decorated functions per this article...
@accept_arguments
def depends(func, *dependencies, watch=False, on_init=False, **kw):
if iscoroutinefunction(func):
@wraps(func)
async def _depends(*args, **kw):
return await func(*args, **kw)
else:
@wraps(func)
def _depends(*args, **kw):
return func(*args, **kw)
from param.
Hi @steenha and @samimia-swks,
Param unfortunately doesn't have too many tests that exert serializing Param objects with pickle
. I think it actually just has one!
param/tests/testparameterizedobject.py
Lines 383 to 388 in 154cdbe
As it is it's not too surprising that pickling "more" complex objects fail :/ Contributions in this area are more than welcomed. It'd be for instance interesting to know whether pickling package_depends
worked in the past, and if so what change (there were lots of changes in the internals of param.depends
) broke it.
from param.
Related Issues (20)
- watcher doesn't work with __len__
- Easier subclassing of Parameter HOT 5
- Warnings not displaying the right frame
- Cloudpickle compatibility HOT 3
- Subclassing a Parameterized class and changing the class parameters of list / dict does not work
- Callback called before a method that is depended upon
- Depending on the method of a sub parameter object is broken
- Fate of `name`? HOT 2
- Callbacks not triggered when value updated at the class level before being set on an instance HOT 2
- Add API to access watchers HOT 1
- Support async `on_init` methods
- param.pprint breaks if HoloViews is imported HOT 5
- Selector regression in an inheritance context? HOT 3
- Add official support to pathlib.Path objects to param.Path
- Deprecate `Path.search_paths`
- Add `param.watch` function/decorator HOT 1
- `ListSelector`: regression when `check_on_set=False` HOT 2
- Automatically serialize dataclass / pydantic models into `param.Parameterized`? HOT 1
- Setting a `Parameter` value in `__init__` before calling `super().__init__` HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from param.