Comments (6)
You are talking about cloudpickle
, which is fairly impressive, but I'm fairly sure has smaller language coverage then dill
has. I do know of one or two things that cloudpickle
can handle that dill
is still working on⦠but I don't see anything in cloudpickle
that I would want to absorb as part of the dill
codebase -- especially not with the LGPL licensing issue. That being said, dill
predates cloudpickle
, and I'm sure that there has been cross-pollination of ideas over the years.
Have you tried dill
? dill
handles everything you have mentioned above. However, if you are finding something that dill
can't handle for you, please let us know.
from dill.
That all sounds reasonable; just so long as everyone is aware, rather than missing out... One small blow in the battle against unnecessary duplication of effort. Necessary duplication of effort I am completely OK with. ;-)
Thanks for the response, and for the work on dill more generally.
from dill.
Aaron Staley here; author of cloudpickle.
As discussed here (http://mail-archives.apache.org/mod_mbox/spark-dev/201307.mbox/%3CCE1B73E9.F573D%[email protected]%3E), I earlier released cloudpickle.py and debugpickle.py + dependencies under the BSD license, so feel free to use them in whatever code you want.
-Aaron
from dill.
@usaar33: Hey Aaron, thanks for the pointer on the license. You did some really nice work in cloudpickle
. I wasn't aware of debugpickle
(or I don't remember if I was aware of it). I'll have to check it out. The apache spark team has discussed my and your code, and has pinged me a few times on some corner cases cloudpickle
handles that they want to see in dill
.
@howthebodyworks: In this case, I don't think the duplication was necessary... it just happened quite some time ago, and before collaborative environments (like github) were really as prevalent.
from dill.
From the Spark side, I'd be very interested in collaborating on improvements to dill
and cloudpickle
.
We've made a handful of changes and extensions to our copy of cloudpickle.py
. For example, @davies has a pull request that adds PyPy support to cloudpickle
(apache/spark#2144).
from dill.
@JoshRosen: I'm a bit sticky about quality and impact of what goes in⦠but that's more of a mild warning than anything else. I'd also be very interested in such a collaboration.
from dill.
Related Issues (20)
- UnpicklingError using dill but not stdlib pickle HOT 2
- Compatibility with Pyodide HOT 6
- tfp.math.psd_kernels.ExponentiatedQuadratic no longer serialiases with latest versions
- `dill.load_session()` raises `NameError: name 'UnpicklingError' is not defined` HOT 5
- pydantic>=2.5 classes can't be serialized HOT 4
- Failure to load dumped partial function (in older python) properly (in newer python)
- threading.Thread fails to pickle in python > 3.13.0a5 HOT 9
- Error with typing.AbstractContextManager in Python 3.8 and newer dill versions (>=0.3.6) HOT 1
- File gets truncated upon unpickling HOT 3
- PyTorch C++-generated module "not found as" itself? HOT 1
- Importing dill changes the python pickler behavior HOT 8
- Recursive self-references that trigger a RecursionError
- Attempting to `dill` a function defined in a `doctest` run with `pytest` causes a `TypeError: cannot pickle 'EncodedFile' object`.
- NumPy 2.0.0 test regression: `test_diff.py`: `RecursionError: maximum recursion depth exceeded` HOT 3
- Python 3.13.0b3: `test_detect.py`: `assert len(s) is len(a)` fails HOT 2
- TypeError: 'bytes' object cannot be interpreted as an integer HOT 4
- How to save class definitions from imported modules?
- Does dill have the `register_pickle_by_value` cloudpickle equivalent ?
- Inconsistent serialization behavior between method of imported class and class created in jupyter notebook? HOT 2
- getsource yields python scalars for numpy scalars
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 dill.