Replace JSON serialization with cloudpickle and make reference semantics explicit. #153
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See #138 for older discussion.
Copied from the changelog:
wider range of objects from the notebook subprocess.
tb.get(name)
andtb[name]
:tb.ref(name)
was identical totb.get(name)
.the old semantics, a reference would almost never be returned. Therefore,
when a reference is desired, we now require explicitly requesting a
reference. The new behavior of
tb.get(name)
andtb[name]
is to alwaysreturn the deserialized object and to never return a reference. The new
behavior of
tb.ref(name)
is to always return a reference.I think this is a substantial improvement because:
I understand that this is a mildly breaking change and adds a dependency and that must be weighed against the benefits. I would argue that the change is very worthwhile!
In my case, I wanted to be able to extract pandas DataFrames and various custom objects from a notebook under test.