# Why Python pickle remains common in machine-learning software

DevFeed: [Why Python pickle remains common in machine-learning software](<https://devfeed.tech/articles/what-s-with-ml-software-and-pickles-21956.md>)

Original publisher: [Read original article](<https://blog.nelhage.com/post/pickles-and-ml/>)

Author: Nelson Elhage

Published: 2023-11-08T05:00:00Z

Content type: opinion

Language: en

Sources: [Nelson Elhage](<https://devfeed.tech/sources/nelson-elhage.md>)

Topics: [Machine Learning & Artificial Intelligence](<https://devfeed.tech/topics/machine-learning-artificial-intelligence.md>), [Python](<https://devfeed.tech/topics/python.md>), [Software](<https://devfeed.tech/topics/software.md>), [Security](<https://devfeed.tech/topics/security.md>), [upgrade](<https://devfeed.tech/topics/upgrade.md>)

Tags: [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [ml](<https://devfeed.tech/tags/ml.md>), [python](<https://devfeed.tech/tags/python.md>), [security](<https://devfeed.tech/tags/security.md>), [software](<https://devfeed.tech/tags/software.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>)

## AI overview

The author examines why Python pickle is widely used in machine-learning software despite security concerns and brittle serialization. The article argues that ML software is shaped by research workflows, where teams prioritize exploring ideas and producing knowledge over maintaining durable software artifacts.

## Source excerpt

I have spent many years as an software engineer who was a total outsider to machine-learning, but with some curiosity and occasional peripheral interactions with it. During this time, a recurring theme for me was horror (and, to be honest, disdain) every time I encountered the widespread usage of Python pickle in the Python ML ecosystem. In addition to their major security issues1, the use of pickle for serialization tends to be very brittle, leading to all kinds of nightmares as you evolve your code and upgrade libraries and Python versions.