skillfed

dill

serialize all of Python

dill Permissive license BSD-3-Clause Active 2,445 v0.4.1 released

Install

dill on PyPI

pip

pip install dill

uv

uv add dill

poetry

poetry add dill

Package facts

License BSD-3-Clause (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 206 days since the last release
Last repo commit
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: dill-0.4.1-py3-none-any.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Scientific/EngineeringTopic :: Software Development

About dill

from the package's own PyPI description — quoted content, verbatim


dill: serialize all of Python

About Dill

dill extends Python's pickle module for serializing and de-serializing Python objects to the majority of the built-in Python types. Serialization is the process of converting an object to a byte stream, and the inverse of which is converting a byte stream back to a Python object hierarchy.

dill provides the user the same interface as the pickle module, and also includes some additional features. In addition to pickling Python objects, dill provides the ability to save the state of an interpreter session in a single command. Hence, it would be feasible to save an interpreter session, close the interpreter, ship the pickled file to another computer, open a new interpreter, unpickle the session and thus continue from the 'saved' state of the original interpreter session.

dill can be used to store Python objects to a file, but the primary usage is to send Python objects across the network as a byte stream. dill is quite flexible, and allows arbitrary user defined classes and functions to be serialized. Thus dill is not intended to...

Read as markdown · JSON record · Source repository · Homepage · Docs

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

dill extends Python's pickle module to serialize and deserialize a broader range of Python objects, including functions, lambdas, classes, and interpreter sessions, enabling object persistence and network transmission.

Low friction: pure Python wheel with no runtime dependencies. Active maintenance (206 days since last release, last commit 2026-07-17) and broad Python support (3.9–3.14, CPython and PyPy).

BSD-3-Clause (permissive): you may use, modify, and distribute dill freely in commercial and private projects, provided you retain the license notice.

Usage

pip install dill

from dill import dumps, loads
squared = lambda x: x**2
result = loads(dumps(squared))(3)  # returns 9

Requires Python >=3.9

Verdict: dill is a mature, actively maintained serialization library with no known vulnerabilities, zero runtime dependencies, and permissive licensing. It is well-suited for projects needing to pickle functions, lambdas, and complex Python objects beyond pickle's standard scope.

Needs verification

  • Whether the optional diagnostic extras (objgraph, gprof2dot, pyreadline) are commonly needed in practice
  • Performance characteristics compared to pickle for large or deeply nested object graphs
python object serializationpickle alternativeserialize functions and lambdaspython session persistenceserialize custom classesbyte stream serializationinterpreter state save

Similar packages