# pydoc > copyreg

---
type: CommandReference
command: copyreg
mode: pydoc
section: 
source: pydoc3
---

## Quick Reference

- `pickle` — Register a constructor for a type.
- `constructor` — Register a function to reconstruct objects.
- `add_extension` — Register an extension code.
- `remove_extension` — Unregister an extension code (testing only).
- `__newobj__` — Pickle protocol helper.
- `__newobj_ex__` — Pickle protocol 4 helper for keyword-only arguments.

## Name

copyreg — Helper to provide extensibility for pickle.

## Synopsis

python
import copyreg
## Options

- `__newobj__(cls, *args)` — Used by pickle.
- `__newobj_ex__(cls, args, kwargs)` — Used by pickle protocol 4 for keyword-only arguments.
- `add_extension(ext, code, module)` — Register an extension code.
- `clear_extension_cache()` — Clear the extension cache.
- `constructor(object)` — Register a constructor.
- `pickle(type, function, constructor_ob)` — Register a pickle function.
- `remove_extension(ext, code, module)` — Unregister an extension code (testing only).

**Data:** `__all__` = `['pickle', 'constructor', 'add_extension', 'remove_extension', '__newobj__', '__newobj_ex__', 'clear_extension_cache']`

## See Also

- [copyreg — Register pickle support functions](https://docs.python.org/3.10/library/copyreg.html)
- [pickle — Python object serialization](https://docs.python.org/3.10/library/pickle.html)