NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #4545 most downloaded on PyPI
Monty is the missing complement to Python.
Last release 2 months ago
16 Jul 2026
Ships unpredictably
gaps range from 8 days to 12 months
Most releases are documented
notes for 50 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
13 years old
129 releases · first in 2014
Add YAML round-trip support for MSONable and TypeHandler-registered types (numpy, pandas, pint, torch, uuid, pathlib, bson, and user-registered handle
TypeHandler-registered types (numpy, pandas, pint, torch, uuid, pathlib, bson, and user-registered handlers). dumpfn/loadfn now treat YAML symmetrically with JSON via the @module/@class envelope, with a cls=None opt-out matching the JSON path (closes #587).YAML race condition by using a thread-local instance (closes #795).MSONable object whose originating module is missing.Deprecate monty.fractions.gcd, monty.fractions.lcm, monty.functools.nCr, monty.functools.nPr, and monty.string.is_string in favor of stdlib equivalent…
monty.json, monty.collections, monty.dev, monty.inspect, and monty.io (#791).monty.json.TypeHandler + register/unregister plugin API so third-party packages can teach MontyEncoder/MontyDecoder about custom types without forking. Built-in types (datetime, uuid, pathlib, numpy, torch, pandas, pint, bson) are migrated to handlers with identical dict shapes.bson.dbref.DBRef (collection, id, optional database, optional extras; nested ids recurse through MontyDecoder). Closes #746, @mkhorton.monty.fractions.gcd, monty.fractions.lcm, monty.functools.nCr, monty.functools.nPr, and monty.string.is_string in favor of stdlib equivalents.One column per quarter.
Deprecate delete_removed_files from ScratchDir (#762, @DanielYang59)
delete_removed_files from ScratchDir (#762, @DanielYang59)task dependency group, merge into maintain (#771, @DanielYang59)zopen no longer allows default/implicit text/binary mode; allow mode as positional argument (#752, @DanielYang59)size when encoding torch tensor in JSON; release <3.13 pin for pint and torch (#755, @DanielYang59)zopen (#757, @DanielYang59)copy_r in favor of shutil.copytree(src, dst, dirs_exist_ok=True) (#761, @DanielYang59)Move Partial Serialization out of MSONable (@jmmshn)
- Re-add python 3.9 support
Drop deadline warning in dev.deprecated
zopen changes: forbid implicit binary/text mode, signature change, default UTF-8 encoding in text mode, drop .z support after one-year. (@DanielYang59
Lazily import torch/pydantic in json module, speedup from monty.json import by 10x (@DanielYang59)
Nothing published for this version
deprecated decorator allow replacement as string (@DanielYang59)
Extend dev.deprecated to decorate classes and improve message (@DanielYang59)
Reimplemented support for pickle in MSONAble. (@matthewcarbone)
Revert changes to json.py for now.
Misc bug fixes for jsanitize (@Andrew-S-Rosen).
Add an optional arg deadline to dev.deprecated to raise warning after deadline (@DanielYang59)
Bug fix for symlinks when using copy_r (@Andrew-S-Rosen)
Bug fix for Enum subclasses with custom as_dict, from_dict (@jmmshn)
Fix import of optional libraries.
Lazy import of optional libraries to speed up startup.
Nothing published for this version
Improved pydantic2 support (@munrojm).
Support pathlib.Path in shutil (@Andrew-S-Rosen).
Bug fix for decompress_file() to maintain backwards compatibility (@janosh)
@deprecated change default category from FutureWarning to DeprecationWarning
Improved Pytorch tensor support for MontyEncoder/Decoder.
Pytorch tensor support for MontyEncoder/Decoder.
-\* Fix for datetime support in jsanitize (@Andrew-S-Rosen).
-* Fix for datetime support in jsanitize (@Andrew-S-Rosen).
Nothing published for this version
Support for DataClasses in MontyEncoder, MontyDecoder and MSONable.
Nothing published for this version
-\* Fall back on json if orjson is not present. (@munrojm)
-* Fall back on json if orjson is not present. (@munrojm)
-\* Allow recursive MSON in jsanitize (@Andrew-S-Rosen)
-* Allow recursive MSON in jsanitize (@Andrew-S-Rosen)
-\* Fix ruamel.yaml backwards compatibility.
-* Fix ruamel.yaml backwards compatibility.
Nothing published for this version
-\* Adds support for lzma/xz format in zopen (@zhubonan).
-* Adds support for lzma/xz format in zopen (@zhubonan).
-\* Support serialization for Pandas DataFrames (@mkhorton).
-* Support serialization for Pandas DataFrames (@mkhorton).
Support the specification of fmt keyword arg in monty.serialization loadfn and dumpfn.
fmt keyword arg in monty.serialization
loadfn and dumpfn.-\* Expanded support for built-in functions, numpy types, etc. in MSON serialization (@utf).
-* Expanded support for built-in functions, numpy types, etc. in MSON serialization (@utf).
- Drop py3.5 support.
UUID serialization support (@utf)
Allow specification of warning category in deprecated wrapper.
USe FutureWarning in the monty.dev.deprecated wrapper instead.
Nothing published for this version
Add support for complex dtypes in MSONable numpy arrays. (@fracci)
Improvements to MSONAble to support Varidac Args (@shyamd).
Nothing published for this version
1. Bug fixes for Windows.
1. Py3 only version.
MSONable now supports Enum types. (@mkhorton)
Revert py27 incompatible fmt spec for loadfn and dumpfn for now. This is a much less common use case.
Checking for extension type in loadfn and dumpfn now relies on ".json", ".yaml" or ".mpk". Further, now ".yml" and ".yaml" are both recognized as YAML
Bug fix for invert MSON caused by @version.
@version.Support for nested MSONAble objects with MontyEncoder and dumpfn. (@davidwaroquiers)
Nothing published for this version
Nothing published for this version
Nothing published for this version
Bug fix for io.reverse_readfile to ensure txt or binary string.
monty.shutil.remove which allows symlinks removal. Also improved monty.tempfile.ScratchDir cleanup. (@shyamd)
Bug fix for reverse_readfile for bz2 files (Alex Urban)
Misc bug fixes (tempdir on Windows)
Your coding agent can read these notes before it upgrades. Set up the MCP server →