# PEP 837: Extensible JSON serialization

**URL:** <https://discuss.python.org/t/pep-837-extensible-json-serialization/108124>\
**Category:** Core Development\
**Tags:** pep\
**Created:** [July 12, 2026, 6:17am UTC](https://discuss.python.org/t/pep-837-extensible-json-serialization/108124 "2026-07-12T06:17:44Z")\
**Posts on this page:** 1\
**Showing post:** 35

<div class="post-metadata">

**Author:** ![Lucas\_Malor](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/lucas_malor/32/24845_2.png) [@Lucas\_Malor](https://discuss.python.org/u/Lucas_Malor)\
**Post date:** [July 18, 2026, 10:44am UTC](https://discuss.python.org/t/pep-837-extensible-json-serialization/108124/35 "2026-07-18T10:44:11Z")

</div>

> [@storchaka](#):
>
> - **Application level** — a serialization function for a type you do not control is registered with `copyreg.json()`

Playing Devil’s advocate, adding `copyreg.json` will not introduce a global state? I don’t remember exactly where, but I remember that some core devs opposed to such an idea.

What if an extension `X` will register with copyreg a JSON serializer for a class, and another extension `Y` will register another serializer for the same class? Is there same bad precedent with `copyreg.pickle` usage in real world?

---

_[View the full topic](https://discuss.python.org/t/pep-837-extensible-json-serialization/108124)._
