diff --git a/docs/_modules/index.html b/docs/_modules/index.html index 58734fb3e..3b8567cd0 100644 --- a/docs/_modules/index.html +++ b/docs/_modules/index.html @@ -5,7 +5,7 @@
-
"""
Does nothing...
:param args:
- """
- pass
particularly useful for developers. E.g., deprecating methods / classes, etc.
"""
-import re
-import sys
+import functools
import logging
-import warnings
+import multiprocessing
import os
+import re
import subprocess
-import multiprocessing
-import functools
+import sys
+import warnings
logger = logging.getLogger(__name__)
diff --git a/docs/_modules/monty/fnmatch.html b/docs/_modules/monty/fnmatch.html
index 69e89bd9f..c91b74a2a 100644
--- a/docs/_modules/monty/fnmatch.html
+++ b/docs/_modules/monty/fnmatch.html
@@ -5,7 +5,7 @@
- monty.fnmatch — monty 2022.1.19 documentation
+ monty.fnmatch — monty 2022.3.12 documentation
@@ -31,7 +31,7 @@ Navigation
functools, especially backported from Python 3.
"""
-import signal
-import sys
import cProfile
import pstats
+import signal
+import sys
import tempfile
from collections import namedtuple
-from functools import update_wrapper, wraps, partial
+from functools import partial, update_wrapper, wraps
from threading import RLock
_CacheInfo = namedtuple("_CacheInfo", ["hits", "misses", "maxsize", "currsize"])
diff --git a/docs/_modules/monty/inspect.html b/docs/_modules/monty/inspect.html
index 435bff97f..3a29c66b1 100644
--- a/docs/_modules/monty/inspect.html
+++ b/docs/_modules/monty/inspect.html
@@ -5,7 +5,7 @@
- monty.inspect — monty 2022.1.19 documentation
+ monty.inspect — monty 2022.3.12 documentation
@@ -31,7 +31,7 @@ Navigation
Useful additional functions to help get information about live objects
"""
-import os
import inspect
-from inspect import currentframe, getframeinfo, getfullargspec
+import os
from functools import wraps
+from inspect import currentframe, getframeinfo, getfullargspec
[docs]def all_subclasses(cls):
diff --git a/docs/_modules/monty/io.html b/docs/_modules/monty/io.html
index f2951aa5c..11123f04e 100644
--- a/docs/_modules/monty/io.html
+++ b/docs/_modules/monty/io.html
@@ -5,7 +5,7 @@
- monty.io — monty 2022.1.19 documentation
+ monty.io — monty 2022.3.12 documentation
@@ -31,7 +31,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
Module code »
monty.io
@@ -48,17 +48,17 @@ Source code for monty.io
compressed files.
"""
-import os
import bz2
+import errno
import gzip
+import io
import lzma
-import time
-import errno
import mmap
+import os
import subprocess
-import io
-from typing import Union, IO, Generator
+import time
from pathlib import Path
+from typing import IO, Generator, Union
[docs]def zopen(filename: Union[str, Path], *args, **kwargs) -> IO:
diff --git a/docs/_modules/monty/itertools.html b/docs/_modules/monty/itertools.html
index 139478ecf..3cfd32db7 100644
--- a/docs/_modules/monty/itertools.html
+++ b/docs/_modules/monty/itertools.html
@@ -5,7 +5,7 @@
- monty.itertools — monty 2022.1.19 documentation
+ monty.itertools — monty 2022.3.12 documentation
@@ -31,7 +31,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
Module code »
monty.itertools
diff --git a/docs/_modules/monty/json.html b/docs/_modules/monty/json.html
index a329cf0f2..591820998 100644
--- a/docs/_modules/monty/json.html
+++ b/docs/_modules/monty/json.html
@@ -5,7 +5,7 @@
- monty.json — monty 2022.1.19 documentation
+ monty.json — monty 2022.3.12 documentation
@@ -31,7 +31,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
Module code »
monty.json
@@ -47,17 +47,14 @@ Source code for monty.json
JSON serialization and deserialization utilities.
"""
-import os
+import datetime
import json
+import os
import types
-import datetime
-
-from hashlib import sha1
from collections import OrderedDict, defaultdict
from enum import Enum
-
+from hashlib import sha1
from importlib import import_module
-
from inspect import getfullargspec
from uuid import UUID
@@ -86,6 +83,11 @@ Source code for monty.json
except ImportError:
YAML = None # type: ignore
+try:
+ import orjson
+except ImportError:
+ orjson = None # type: ignore
+
__version__ = "3.0.0"
@@ -296,9 +298,7 @@ Source code for monty.json
"""
A Json Encoder which supports the MSONable API, plus adds support for
numpy arrays, datetime objects, bson ObjectIds (requires bson).
-
Usage::
-
# Add it as a *cls* keyword when using json.dump
json.dumps(object, cls=MontyEncoder)
"""
@@ -310,10 +310,8 @@ Source code for monty.json
output. (b) If the @module and @class keys are not in the to_dict,
add them to the output automatically. If the object has no to_dict
property, the default Python json encoder default method is called.
-
Args:
o: Python object.
-
Return:
Python dict representation.
"""
@@ -347,6 +345,12 @@ Source code for monty.json
"@class": "DataFrame",
"data": o.to_json(default_handler=MontyEncoder().encode),
}
+ if isinstance(o, pd.Series):
+ return {
+ "@module": "pandas",
+ "@class": "Series",
+ "data": o.to_json(default_handler=MontyEncoder().encode),
+ }
if bson is not None:
if isinstance(o, bson.objectid.ObjectId):
@@ -461,9 +465,13 @@ Source code for monty.json
dtype=d["dtype"],
)
return np.array(d["data"], dtype=d["dtype"])
- elif pd is not None and modname == "pandas" and classname == "DataFrame":
- decoded_data = MontyDecoder().decode(d["data"])
- return pd.DataFrame(decoded_data)
+ elif pd is not None and modname == "pandas":
+ if classname == "DataFrame":
+ decoded_data = MontyDecoder().decode(d["data"])
+ return pd.DataFrame(decoded_data)
+ if classname == "Series":
+ decoded_data = MontyDecoder().decode(d["data"])
+ return pd.Series(decoded_data)
elif (bson is not None) and modname == "bson.objectid" and classname == "ObjectId":
return bson.objectid.ObjectId(d["oid"])
@@ -481,7 +489,10 @@ Source code for monty.json
:param s: string
:return: Object.
"""
- d = json.JSONDecoder.decode(self, s)
+ if orjson is not None:
+ d = orjson.loads(s) # pylint: disable=E1101
+ else:
+ d = json.loads(s)
return self.process_decoded(d)
@@ -491,7 +502,7 @@ Source code for monty.json
"""
-[docs]def jsanitize(obj, strict=False, allow_bson=False, enum_values=False):
+[docs]def jsanitize(obj, strict=False, allow_bson=False, enum_values=False, recursive_msonable=False):
"""
This method cleans an input json-like object, either a list or a dict or
some sequence, nested or otherwise, by converting all non-string
@@ -507,10 +518,12 @@ Source code for monty.json
strict is False, jsanitize will simply call str(object) to convert
the object to a string representation.
allow_bson (bool): This parameters sets the behavior when jsanitize
- encounters an bson supported type such as objectid and datetime. If
+ encounters a bson supported type such as objectid and datetime. If
True, such bson types will be ignored, allowing for proper
- insertion into MongoDb databases.
+ insertion into MongoDB databases.
enum_values (bool): Convert Enums to their values.
+ recursive_msonable (bool): If True, uses .as_dict() for MSONables regardless
+ of the value of strict.
Returns:
Sanitized dict that can be json serialized.
@@ -528,9 +541,13 @@ Source code for monty.json
return [jsanitize(i, strict=strict, allow_bson=allow_bson, enum_values=enum_values) for i in obj.tolist()]
if np is not None and isinstance(obj, np.generic):
return obj.item()
+ if pd is not None and isinstance(obj, pd.DataFrame) or isinstance(obj, pd.Series):
+ return obj.to_dict()
if isinstance(obj, dict):
return {
- k.__str__(): jsanitize(v, strict=strict, allow_bson=allow_bson, enum_values=enum_values)
+ k.__str__(): jsanitize(
+ v, strict=strict, allow_bson=allow_bson, enum_values=enum_values, recursive_msonable=recursive_msonable
+ )
for k, v in obj.items()
}
if isinstance(obj, (int, float)):
@@ -544,6 +561,9 @@ Source code for monty.json
except TypeError:
pass
+ if recursive_msonable and isinstance(obj, MSONable):
+ return obj.as_dict()
+
if not strict:
return obj.__str__()
@@ -551,9 +571,21 @@ Source code for monty.json
return obj.__str__()
if pydantic is not None and isinstance(obj, pydantic.BaseModel):
- return jsanitize(MontyEncoder().default(obj), strict=strict, allow_bson=allow_bson, enum_values=enum_values)
-
- return jsanitize(obj.as_dict(), strict=strict, allow_bson=allow_bson, enum_values=enum_values)
+ return jsanitize(
+ MontyEncoder().default(obj),
+ strict=strict,
+ allow_bson=allow_bson,
+ enum_values=enum_values,
+ recursive_msonable=recursive_msonable,
+ )
+
+ return jsanitize(
+ obj.as_dict(),
+ strict=strict,
+ allow_bson=allow_bson,
+ enum_values=enum_values,
+ recursive_msonable=recursive_msonable,
+ )
def _serialize_callable(o):
diff --git a/docs/_modules/monty/logging.html b/docs/_modules/monty/logging.html
index 7f8e0ed98..06260332b 100644
--- a/docs/_modules/monty/logging.html
+++ b/docs/_modules/monty/logging.html
@@ -5,7 +5,7 @@
- monty.logging — monty 2022.1.19 documentation
+ monty.logging — monty 2022.3.12 documentation
@@ -31,7 +31,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
Module code »
monty.logging
@@ -49,10 +49,10 @@ Source code for monty.logging
Logging tools
"""
-import logging
+import argparse
import datetime
import functools
-import argparse
+import logging
logger = logging.getLogger(__name__)
diff --git a/docs/_modules/monty/math.html b/docs/_modules/monty/math.html
index bdc470ee7..667e3f1be 100644
--- a/docs/_modules/monty/math.html
+++ b/docs/_modules/monty/math.html
@@ -5,7 +5,7 @@
- monty.math — monty 2022.1.19 documentation
+ monty.math — monty 2022.3.12 documentation
@@ -31,7 +31,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
Module code »
monty.math
diff --git a/docs/_modules/monty/msgpack.html b/docs/_modules/monty/msgpack.html
index fe857ac86..2d4acaa26 100644
--- a/docs/_modules/monty/msgpack.html
+++ b/docs/_modules/monty/msgpack.html
@@ -5,7 +5,7 @@
- monty.msgpack — monty 2022.1.19 documentation
+ monty.msgpack — monty 2022.3.12 documentation
@@ -31,7 +31,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
Module code »
monty.msgpack
@@ -49,7 +49,7 @@ Source code for monty.msgpack
msgpack's default and object_hook naming.
"""
-from monty.json import MontyEncoder, MontyDecoder
+from monty.json import MontyDecoder, MontyEncoder
[docs]def default(obj):
diff --git a/docs/_modules/monty/multiprocessing.html b/docs/_modules/monty/multiprocessing.html
index fd9a4ab3a..ec7c17d17 100644
--- a/docs/_modules/monty/multiprocessing.html
+++ b/docs/_modules/monty/multiprocessing.html
@@ -5,7 +5,7 @@
- monty.multiprocessing — monty 2022.1.19 documentation
+ monty.multiprocessing — monty 2022.3.12 documentation
@@ -31,7 +31,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
Module code »
monty.multiprocessing
@@ -48,7 +48,7 @@ Source code for monty.multiprocessing
"""
from multiprocessing import Pool
-from typing import Iterable, Callable
+from typing import Callable, Iterable
try:
from tqdm.autonotebook import tqdm
diff --git a/docs/_modules/monty/operator.html b/docs/_modules/monty/operator.html
index 17c4ae6bf..c01f23342 100644
--- a/docs/_modules/monty/operator.html
+++ b/docs/_modules/monty/operator.html
@@ -5,7 +5,7 @@
- monty.operator — monty 2022.1.19 documentation
+ monty.operator — monty 2022.3.12 documentation
@@ -31,7 +31,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
Module code »
monty.operator
diff --git a/docs/_modules/monty/os.html b/docs/_modules/monty/os.html
index 38834ec14..5b8ef21e1 100644
--- a/docs/_modules/monty/os.html
+++ b/docs/_modules/monty/os.html
@@ -5,7 +5,7 @@
- monty.os — monty 2022.1.19 documentation
+ monty.os — monty 2022.3.12 documentation
@@ -31,7 +31,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
Module code »
monty.os
@@ -47,9 +47,8 @@ Source code for monty.os
Os functions, e.g., cd, makedirs_p.
"""
-import os
import errno
-
+import os
from contextlib import contextmanager
__author__ = "Shyue Ping Ong"
diff --git a/docs/_modules/monty/os/path.html b/docs/_modules/monty/os/path.html
index eceaa1ff7..262d2fe64 100644
--- a/docs/_modules/monty/os/path.html
+++ b/docs/_modules/monty/os/path.html
@@ -5,7 +5,7 @@
- monty.os.path — monty 2022.1.19 documentation
+ monty.os.path — monty 2022.3.12 documentation
@@ -31,7 +31,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
Module code »
monty.os »
monty.os.path
@@ -48,12 +48,15 @@ Source code for monty.os.path
Path based methods, e.g., which, zpath, etc.
"""
import os
+import shutil
+from monty.dev import deprecated
from monty.fnmatch import WildCard
from monty.string import list_strings
-[docs]def which(cmd):
+@deprecated(shutil.which, message="shutil.which has been available since Python 3.3. This will be removed in v2023.")
+def which(cmd):
"""
Returns full path to a executable.
@@ -80,7 +83,7 @@ Source code for monty.os.path
exe_file = os.path.join(path, cmd)
if is_exe(exe_file):
return exe_file
- return None
+ return None
[docs]def zpath(filename):
diff --git a/docs/_modules/monty/pprint.html b/docs/_modules/monty/pprint.html
index 4c83c710e..7695c6b38 100644
--- a/docs/_modules/monty/pprint.html
+++ b/docs/_modules/monty/pprint.html
@@ -5,7 +5,7 @@
- monty.pprint — monty 2022.1.19 documentation
+ monty.pprint — monty 2022.3.12 documentation
@@ -31,7 +31,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
Module code »
monty.pprint
@@ -47,8 +47,8 @@ Source code for monty.pprint
Pretty printing functions.
"""
-from io import StringIO
import sys
+from io import StringIO
from json import JSONEncoder, loads
diff --git a/docs/_modules/monty/re.html b/docs/_modules/monty/re.html
index c85280986..c33c3ff01 100644
--- a/docs/_modules/monty/re.html
+++ b/docs/_modules/monty/re.html
@@ -5,7 +5,7 @@
- monty.re — monty 2022.1.19 documentation
+ monty.re — monty 2022.3.12 documentation
@@ -31,7 +31,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
Module code »
monty.re
@@ -47,10 +47,10 @@ Source code for monty.re
Helpful regex based functions. E.g., grepping.
"""
-import re
import collections
+import re
-from monty.io import zopen, reverse_readfile
+from monty.io import reverse_readfile, zopen
[docs]def regrep(filename, patterns, reverse=False, terminate_on_match=False, postprocess=str):
diff --git a/docs/_modules/monty/serialization.html b/docs/_modules/monty/serialization.html
index 7292cb2b4..2abff2a6c 100644
--- a/docs/_modules/monty/serialization.html
+++ b/docs/_modules/monty/serialization.html
@@ -5,7 +5,7 @@
- monty.serialization — monty 2022.1.19 documentation
+ monty.serialization — monty 2022.3.12 documentation
@@ -31,7 +31,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
Module code »
monty.serialization
@@ -56,7 +56,7 @@ Source code for monty.serialization
YAML = None # type: ignore
from monty.io import zopen
-from monty.json import MontyEncoder, MontyDecoder
+from monty.json import MontyDecoder, MontyEncoder
from monty.msgpack import default, object_hook
try:
diff --git a/docs/_modules/monty/shutil.html b/docs/_modules/monty/shutil.html
index 58aca753a..9385dd85d 100644
--- a/docs/_modules/monty/shutil.html
+++ b/docs/_modules/monty/shutil.html
@@ -5,7 +5,7 @@
- monty.shutil — monty 2022.1.19 documentation
+ monty.shutil — monty 2022.3.12 documentation
@@ -31,7 +31,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
Module code »
monty.shutil
diff --git a/docs/_modules/monty/string.html b/docs/_modules/monty/string.html
index 0cf557756..73928521c 100644
--- a/docs/_modules/monty/string.html
+++ b/docs/_modules/monty/string.html
@@ -5,7 +5,7 @@
- monty.string — monty 2022.1.19 documentation
+ monty.string — monty 2022.3.12 documentation
@@ -31,7 +31,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
Module code »
monty.string
diff --git a/docs/_modules/monty/subprocess.html b/docs/_modules/monty/subprocess.html
index a00084bd1..630959080 100644
--- a/docs/_modules/monty/subprocess.html
+++ b/docs/_modules/monty/subprocess.html
@@ -5,7 +5,7 @@
- monty.subprocess — monty 2022.1.19 documentation
+ monty.subprocess — monty 2022.3.12 documentation
@@ -31,7 +31,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
Module code »
monty.subprocess
@@ -49,11 +49,10 @@ Source code for monty.subprocess
import shlex
import threading
import traceback
-from subprocess import Popen, PIPE
+from subprocess import PIPE, Popen
from .string import is_string
-
__author__ = "Matteo Giantomass"
__copyright__ = "Copyright 2014, The Materials Virtual Lab"
__version__ = "0.1"
diff --git a/docs/_modules/monty/tempfile.html b/docs/_modules/monty/tempfile.html
index a320122a0..d4d9a8075 100644
--- a/docs/_modules/monty/tempfile.html
+++ b/docs/_modules/monty/tempfile.html
@@ -5,7 +5,7 @@
- monty.tempfile — monty 2022.1.19 documentation
+ monty.tempfile — monty 2022.3.12 documentation
@@ -31,7 +31,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
Module code »
monty.tempfile
@@ -49,7 +49,6 @@ Source code for monty.tempfile
import os
import tempfile
-
from pathlib import Path
from monty.shutil import copy_r, remove
diff --git a/docs/_modules/monty/termcolor.html b/docs/_modules/monty/termcolor.html
index 92bc29d49..c5a06d2e8 100644
--- a/docs/_modules/monty/termcolor.html
+++ b/docs/_modules/monty/termcolor.html
@@ -5,7 +5,7 @@
- monty.termcolor — monty 2022.1.19 documentation
+ monty.termcolor — monty 2022.3.12 documentation
@@ -31,7 +31,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
Module code »
monty.termcolor
@@ -71,10 +71,10 @@ Source code for monty.termcolor
import os
try:
+ import curses
import fcntl
- import termios
import struct
- import curses
+ import termios
except Exception:
pass
diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js
index 90d6e3c58..f0f3d5b53 100644
--- a/docs/_static/documentation_options.js
+++ b/docs/_static/documentation_options.js
@@ -1,6 +1,6 @@
var DOCUMENTATION_OPTIONS = {
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
- VERSION: '2022.1.19',
+ VERSION: '2022.3.12',
LANGUAGE: 'None',
COLLAPSE_INDEX: false,
BUILDER: 'html',
diff --git a/docs/_themes/README.html b/docs/_themes/README.html
index b22196f3a..7b4dbe6a1 100644
--- a/docs/_themes/README.html
+++ b/docs/_themes/README.html
@@ -6,7 +6,7 @@
- krTheme Sphinx Style — monty 2022.1.19 documentation
+ krTheme Sphinx Style — monty 2022.3.12 documentation
@@ -32,7 +32,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
krTheme Sphinx Style
diff --git a/docs/changelog.html b/docs/changelog.html
index ed03354aa..438610a9f 100644
--- a/docs/changelog.html
+++ b/docs/changelog.html
@@ -6,7 +6,7 @@
- Change log — monty 2022.1.19 documentation
+ Change log — monty 2022.3.12 documentation
@@ -32,7 +32,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
Change log
@@ -44,6 +44,13 @@ Navigation
Change log¶
+
+v2022.3.12¶
+
+Allow recursive MSON in jsanitize (@arosen93)
+Option to use orjson for faster decoding. (@munrojm)
+
+
v2022.1.19¶
@@ -556,6 +563,7 @@ v0.0.1Table of Contents
- Change log
+- v2022.3.12
- v2022.1.19
- v2022.1.12
- v2021.12.1
diff --git a/docs/genindex.html b/docs/genindex.html
index b9c9b7f2f..e432f4698 100644
--- a/docs/genindex.html
+++ b/docs/genindex.html
@@ -5,7 +5,7 @@
- Index — monty 2022.1.19 documentation
+ Index — monty 2022.3.12 documentation
@@ -31,7 +31,7 @@ Navigation
-
modules |
-
+
@@ -705,12 +705,10 @@ V
W
diff --git a/docs/index.html b/docs/index.html
index c97bcc538..6d2b7eab1 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -6,7 +6,7 @@
- Monty: Python Made Even Easier — monty 2022.1.19 documentation
+ Monty: Python Made Even Easier — monty 2022.3.12 documentation
@@ -36,7 +36,7 @@ Navigation
next |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
Monty: Python Made Even Easier
diff --git a/docs/modules.html b/docs/modules.html
index 7f42b96ad..4ccaba139 100644
--- a/docs/modules.html
+++ b/docs/modules.html
@@ -6,7 +6,7 @@
- monty — monty 2022.1.19 documentation
+ monty — monty 2022.3.12 documentation
@@ -32,7 +32,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty
diff --git a/docs/monty.bisect.html b/docs/monty.bisect.html
index 23e802d6a..9bbe6f311 100644
--- a/docs/monty.bisect.html
+++ b/docs/monty.bisect.html
@@ -6,7 +6,7 @@
- monty.bisect module — monty 2022.1.19 documentation
+ monty.bisect module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.bisect module
diff --git a/docs/monty.collections.html b/docs/monty.collections.html
index 5a90159ca..c433331c4 100644
--- a/docs/monty.collections.html
+++ b/docs/monty.collections.html
@@ -6,7 +6,7 @@
- monty.collections module — monty 2022.1.19 documentation
+ monty.collections module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.collections module
diff --git a/docs/monty.design_patterns.html b/docs/monty.design_patterns.html
index 2d64cd4a9..a71372c12 100644
--- a/docs/monty.design_patterns.html
+++ b/docs/monty.design_patterns.html
@@ -6,7 +6,7 @@
- monty.design_patterns module — monty 2022.1.19 documentation
+ monty.design_patterns module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.design_patterns module
diff --git a/docs/monty.dev.html b/docs/monty.dev.html
index 1aedd499d..5615848de 100644
--- a/docs/monty.dev.html
+++ b/docs/monty.dev.html
@@ -6,7 +6,7 @@
- monty.dev module — monty 2022.1.19 documentation
+ monty.dev module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.dev module
diff --git a/docs/monty.fnmatch.html b/docs/monty.fnmatch.html
index db05bdbe7..3b2b29314 100644
--- a/docs/monty.fnmatch.html
+++ b/docs/monty.fnmatch.html
@@ -6,7 +6,7 @@
- monty.fnmatch module — monty 2022.1.19 documentation
+ monty.fnmatch module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.fnmatch module
diff --git a/docs/monty.fractions.html b/docs/monty.fractions.html
index fbfff96e6..095ce870e 100644
--- a/docs/monty.fractions.html
+++ b/docs/monty.fractions.html
@@ -6,7 +6,7 @@
- monty.fractions module — monty 2022.1.19 documentation
+ monty.fractions module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.fractions module
diff --git a/docs/monty.functools.html b/docs/monty.functools.html
index eeeca4042..5cd20a74f 100644
--- a/docs/monty.functools.html
+++ b/docs/monty.functools.html
@@ -6,7 +6,7 @@
- monty.functools module — monty 2022.1.19 documentation
+ monty.functools module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.functools module
diff --git a/docs/monty.html b/docs/monty.html
index 8429208a5..7a78b999b 100644
--- a/docs/monty.html
+++ b/docs/monty.html
@@ -6,7 +6,7 @@
- monty package — monty 2022.1.19 documentation
+ monty package — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package
diff --git a/docs/monty.inspect.html b/docs/monty.inspect.html
index 415d77913..a1a55a745 100644
--- a/docs/monty.inspect.html
+++ b/docs/monty.inspect.html
@@ -6,7 +6,7 @@
- monty.inspect module — monty 2022.1.19 documentation
+ monty.inspect module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.inspect module
diff --git a/docs/monty.io.html b/docs/monty.io.html
index ee9855b7d..279dd4bd2 100644
--- a/docs/monty.io.html
+++ b/docs/monty.io.html
@@ -6,7 +6,7 @@
- monty.io module — monty 2022.1.19 documentation
+ monty.io module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.io module
diff --git a/docs/monty.itertools.html b/docs/monty.itertools.html
index c6b5306fc..30e041474 100644
--- a/docs/monty.itertools.html
+++ b/docs/monty.itertools.html
@@ -6,7 +6,7 @@
- monty.itertools module — monty 2022.1.19 documentation
+ monty.itertools module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.itertools module
diff --git a/docs/monty.json.html b/docs/monty.json.html
index e4d290b7a..7b3ac8783 100644
--- a/docs/monty.json.html
+++ b/docs/monty.json.html
@@ -6,7 +6,7 @@
- monty.json module — monty 2022.1.19 documentation
+ monty.json module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.json module
@@ -215,8 +215,8 @@ Navigation
class MontyEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[source]¶
Bases: json.encoder.JSONEncoder
A Json Encoder which supports the MSONable API, plus adds support for
-numpy arrays, datetime objects, bson ObjectIds (requires bson).
-Usage:
+numpy arrays, datetime objects, bson ObjectIds (requires bson).
+Usage:
# Add it as a *cls* keyword when using json.dump
json.dumps(object, cls=MontyEncoder)
@@ -257,13 +257,11 @@ Navigation
things: (a) If an object has a to_dict property, return the to_dict
output. (b) If the @module and @class keys are not in the to_dict,
add them to the output automatically. If the object has no to_dict
-property, the default Python json encoder default method is called.
+property, the default Python json encoder default method is called.
+:param o: Python object.
-- Parameters
-o – Python object.
-
-- Returns
-Python dict representation.
+- Returns
+Python dict representation.
@@ -272,7 +270,7 @@ Navigation
-
-jsanitize(obj, strict=False, allow_bson=False, enum_values=False)[source]¶
+jsanitize(obj, strict=False, allow_bson=False, enum_values=False, recursive_msonable=False)[source]¶
This method cleans an input json-like object, either a list or a dict or
some sequence, nested or otherwise, by converting all non-string
dictionary keys (such as int and float) to strings, and also recursively
@@ -288,10 +286,12 @@
Navigation
strict is False, jsanitize will simply call str(object) to convert
the object to a string representation.
allow_bson (bool) – This parameters sets the behavior when jsanitize
-encounters an bson supported type such as objectid and datetime. If
+encounters a bson supported type such as objectid and datetime. If
True, such bson types will be ignored, allowing for proper
-insertion into MongoDb databases.
+insertion into MongoDB databases.
enum_values (bool) – Convert Enums to their values.
+recursive_msonable (bool) – If True, uses .as_dict() for MSONables regardless
+of the value of strict.
- Returns
diff --git a/docs/monty.logging.html b/docs/monty.logging.html
index 7395fc00a..3e7490f68 100644
--- a/docs/monty.logging.html
+++ b/docs/monty.logging.html
@@ -6,7 +6,7 @@
- monty.logging module — monty 2022.1.19 documentation
+ monty.logging module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.logging module
diff --git a/docs/monty.math.html b/docs/monty.math.html
index 7341501b8..d0b5ac17b 100644
--- a/docs/monty.math.html
+++ b/docs/monty.math.html
@@ -6,7 +6,7 @@
- monty.math module — monty 2022.1.19 documentation
+ monty.math module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.math module
diff --git a/docs/monty.msgpack.html b/docs/monty.msgpack.html
index 0042edfdc..6f5148b05 100644
--- a/docs/monty.msgpack.html
+++ b/docs/monty.msgpack.html
@@ -6,7 +6,7 @@
- monty.msgpack module — monty 2022.1.19 documentation
+ monty.msgpack module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.msgpack module
diff --git a/docs/monty.multiprocessing.html b/docs/monty.multiprocessing.html
index 00f16ed56..e39ee56d1 100644
--- a/docs/monty.multiprocessing.html
+++ b/docs/monty.multiprocessing.html
@@ -6,7 +6,7 @@
- monty.multiprocessing module — monty 2022.1.19 documentation
+ monty.multiprocessing module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.multiprocessing module
diff --git a/docs/monty.operator.html b/docs/monty.operator.html
index 48006f4b1..1bf6eed5f 100644
--- a/docs/monty.operator.html
+++ b/docs/monty.operator.html
@@ -6,7 +6,7 @@
- monty.operator module — monty 2022.1.19 documentation
+ monty.operator module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.operator module
diff --git a/docs/monty.os.html b/docs/monty.os.html
index a0fad9dee..bbdbff4b9 100644
--- a/docs/monty.os.html
+++ b/docs/monty.os.html
@@ -6,7 +6,7 @@
- monty.os package — monty 2022.1.19 documentation
+ monty.os package — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.os package
diff --git a/docs/monty.os.path.html b/docs/monty.os.path.html
index 14f479987..0dcbc1ae0 100644
--- a/docs/monty.os.path.html
+++ b/docs/monty.os.path.html
@@ -6,7 +6,7 @@
- monty.os.path module — monty 2022.1.19 documentation
+ monty.os.path module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.os package »
monty.os.path module
@@ -96,24 +96,6 @@ Navigation
-
--
-which(cmd)[source]¶
-Returns full path to a executable.
-
-- Parameters
-cmd (str) – Executable command to search for.
-
-- Returns
-(str) Full path to command. None if it is not found.
-
-
-Example:
-full_path_to_python = which("python")
-
-
-
-
-
zpath(filename)[source]¶
diff --git a/docs/monty.pprint.html b/docs/monty.pprint.html
index d90266d85..393c2c086 100644
--- a/docs/monty.pprint.html
+++ b/docs/monty.pprint.html
@@ -6,7 +6,7 @@
- monty.pprint module — monty 2022.1.19 documentation
+ monty.pprint module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.pprint module
diff --git a/docs/monty.re.html b/docs/monty.re.html
index a10ea9a89..5f573924e 100644
--- a/docs/monty.re.html
+++ b/docs/monty.re.html
@@ -6,7 +6,7 @@
- monty.re module — monty 2022.1.19 documentation
+ monty.re module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.re module
diff --git a/docs/monty.serialization.html b/docs/monty.serialization.html
index 0dff54138..7f03ccda9 100644
--- a/docs/monty.serialization.html
+++ b/docs/monty.serialization.html
@@ -6,7 +6,7 @@
- monty.serialization module — monty 2022.1.19 documentation
+ monty.serialization module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.serialization module
diff --git a/docs/monty.shutil.html b/docs/monty.shutil.html
index 1dfc43d85..d0b582e0c 100644
--- a/docs/monty.shutil.html
+++ b/docs/monty.shutil.html
@@ -6,7 +6,7 @@
- monty.shutil module — monty 2022.1.19 documentation
+ monty.shutil module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.shutil module
diff --git a/docs/monty.string.html b/docs/monty.string.html
index 674a846ee..588062b4f 100644
--- a/docs/monty.string.html
+++ b/docs/monty.string.html
@@ -6,7 +6,7 @@
- monty.string module — monty 2022.1.19 documentation
+ monty.string module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.string module
diff --git a/docs/monty.subprocess.html b/docs/monty.subprocess.html
index 3b4b2205e..6e384df16 100644
--- a/docs/monty.subprocess.html
+++ b/docs/monty.subprocess.html
@@ -6,7 +6,7 @@
- monty.subprocess module — monty 2022.1.19 documentation
+ monty.subprocess module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.subprocess module
diff --git a/docs/monty.tempfile.html b/docs/monty.tempfile.html
index c8f6eb5ee..88bcc578f 100644
--- a/docs/monty.tempfile.html
+++ b/docs/monty.tempfile.html
@@ -6,7 +6,7 @@
- monty.tempfile module — monty 2022.1.19 documentation
+ monty.tempfile module — monty 2022.3.12 documentation
@@ -40,7 +40,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.tempfile module
diff --git a/docs/monty.termcolor.html b/docs/monty.termcolor.html
index ab11e7f8e..d38e5e234 100644
--- a/docs/monty.termcolor.html
+++ b/docs/monty.termcolor.html
@@ -6,7 +6,7 @@
- monty.termcolor module — monty 2022.1.19 documentation
+ monty.termcolor module — monty 2022.3.12 documentation
@@ -36,7 +36,7 @@ Navigation
previous |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
monty package »
monty.termcolor module
diff --git a/docs/objects.inv b/docs/objects.inv
index e681b2953..6687e6026 100644
Binary files a/docs/objects.inv and b/docs/objects.inv differ
diff --git a/docs/py-modindex.html b/docs/py-modindex.html
index d4cd2072e..8e48a8156 100644
--- a/docs/py-modindex.html
+++ b/docs/py-modindex.html
@@ -5,7 +5,7 @@
- Python Module Index — monty 2022.1.19 documentation
+ Python Module Index — monty 2022.3.12 documentation
@@ -34,7 +34,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
Python Module Index
diff --git a/docs/search.html b/docs/search.html
index 3406e8eed..bd44d4ffb 100644
--- a/docs/search.html
+++ b/docs/search.html
@@ -5,7 +5,7 @@
- Search — monty 2022.1.19 documentation
+ Search — monty 2022.3.12 documentation
@@ -37,7 +37,7 @@ Navigation
modules |
- monty 2022.1.19 documentation »
+ monty 2022.3.12 documentation »
Search
diff --git a/docs/searchindex.js b/docs/searchindex.js
index dbe59f040..fa7520ad5 100644
--- a/docs/searchindex.js
+++ b/docs/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["_themes/README","changelog","index","modules","monty","monty.bisect","monty.collections","monty.design_patterns","monty.dev","monty.fnmatch","monty.fractions","monty.functools","monty.inspect","monty.io","monty.itertools","monty.json","monty.logging","monty.math","monty.msgpack","monty.multiprocessing","monty.operator","monty.os","monty.os.path","monty.pprint","monty.re","monty.serialization","monty.shutil","monty.string","monty.subprocess","monty.tempfile","monty.termcolor"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["_themes/README.rst","changelog.rst","index.rst","modules.rst","monty.rst","monty.bisect.rst","monty.collections.rst","monty.design_patterns.rst","monty.dev.rst","monty.fnmatch.rst","monty.fractions.rst","monty.functools.rst","monty.inspect.rst","monty.io.rst","monty.itertools.rst","monty.json.rst","monty.logging.rst","monty.math.rst","monty.msgpack.rst","monty.multiprocessing.rst","monty.operator.rst","monty.os.rst","monty.os.path.rst","monty.pprint.rst","monty.re.rst","monty.serialization.rst","monty.shutil.rst","monty.string.rst","monty.subprocess.rst","monty.tempfile.rst","monty.termcolor.rst"],objects:{"":[[4,0,0,"-","monty"]],"monty.bisect":[[5,1,1,"","find_ge"],[5,1,1,"","find_gt"],[5,1,1,"","find_le"],[5,1,1,"","find_lt"],[5,1,1,"","index"]],"monty.collections":[[6,2,1,"","AttrDict"],[6,2,1,"","FrozenAttrDict"],[6,2,1,"","MongoDict"],[6,2,1,"","Namespace"],[6,1,1,"","dict2namedtuple"],[6,2,1,"","frozendict"],[6,1,1,"","tree"]],"monty.collections.AttrDict":[[6,3,1,"","copy"]],"monty.collections.Namespace":[[6,3,1,"","update"]],"monty.collections.frozendict":[[6,3,1,"","update"]],"monty.design_patterns":[[7,2,1,"","NullFile"],[7,2,1,"","NullStream"],[7,1,1,"","cached_class"],[7,1,1,"","singleton"]],"monty.design_patterns.NullStream":[[7,3,1,"","write"]],"monty.dev":[[8,1,1,"","deprecated"],[8,1,1,"","get_ncpus"],[8,1,1,"","install_excepthook"],[8,2,1,"","requires"]],"monty.fnmatch":[[9,2,1,"","WildCard"]],"monty.fnmatch.WildCard":[[9,3,1,"","filter"],[9,3,1,"","match"]],"monty.fractions":[[10,1,1,"","gcd"],[10,1,1,"","gcd_float"],[10,1,1,"","lcm"]],"monty.functools":[[11,4,1,"","TimeoutError"],[11,2,1,"","lazy_property"],[11,1,1,"","lru_cache"],[11,1,1,"","prof_main"],[11,1,1,"","return_if_raise"],[11,1,1,"","return_none_if_raise"],[11,2,1,"","timeout"]],"monty.functools.lazy_property":[[11,3,1,"","invalidate"]],"monty.functools.timeout":[[11,3,1,"","handle_timeout"]],"monty.inspect":[[12,1,1,"","all_subclasses"],[12,1,1,"","caller_name"],[12,1,1,"","find_top_pyfile"],[12,1,1,"","initializer"]],"monty.io":[[13,2,1,"","FileLock"],[13,4,1,"","FileLockException"],[13,1,1,"","get_open_fds"],[13,1,1,"","reverse_readfile"],[13,1,1,"","reverse_readline"],[13,1,1,"","zopen"]],"monty.io.FileLock":[[13,5,1,"","Error"],[13,3,1,"","acquire"],[13,3,1,"","release"]],"monty.itertools":[[14,1,1,"","chunks"],[14,1,1,"","ilotri"],[14,1,1,"","iterator_from_slice"],[14,1,1,"","iuptri"]],"monty.json":[[15,4,1,"","MSONError"],[15,2,1,"","MSONable"],[15,2,1,"","MontyDecoder"],[15,2,1,"","MontyEncoder"],[15,1,1,"","jsanitize"]],"monty.json.MSONable":[[15,5,1,"","REDIRECT"],[15,3,1,"","as_dict"],[15,3,1,"","from_dict"],[15,3,1,"","to_json"],[15,3,1,"","unsafe_hash"],[15,3,1,"","validate_monty"]],"monty.json.MontyDecoder":[[15,3,1,"","decode"],[15,3,1,"","process_decoded"]],"monty.json.MontyEncoder":[[15,3,1,"","default"]],"monty.logging":[[16,1,1,"","enable_logging"],[16,1,1,"","logged"]],"monty.math":[[17,1,1,"","nCr"],[17,1,1,"","nPr"]],"monty.msgpack":[[18,1,1,"","default"],[18,1,1,"","object_hook"]],"monty.multiprocessing":[[19,1,1,"","imap_tqdm"]],"monty.operator":[[20,1,1,"","operator_from_str"]],"monty.os":[[21,1,1,"","cd"],[21,1,1,"","makedirs_p"],[22,0,0,"-","path"]],"monty.os.path":[[22,1,1,"","find_exts"],[22,1,1,"","which"],[22,1,1,"","zpath"]],"monty.pprint":[[23,2,1,"","DisplayEcoder"],[23,1,1,"","draw_tree"],[23,1,1,"","pprint_json"],[23,1,1,"","pprint_table"]],"monty.pprint.DisplayEcoder":[[23,3,1,"","default"]],"monty.re":[[24,1,1,"","regrep"]],"monty.serialization":[[25,1,1,"","dumpfn"],[25,1,1,"","loadfn"]],"monty.shutil":[[26,1,1,"","compress_dir"],[26,1,1,"","compress_file"],[26,1,1,"","copy_r"],[26,1,1,"","decompress_dir"],[26,1,1,"","decompress_file"],[26,1,1,"","gzip_dir"],[26,1,1,"","remove"]],"monty.string":[[27,1,1,"","boxed"],[27,1,1,"","indent"],[27,1,1,"","is_string"],[27,1,1,"","list_strings"],[27,1,1,"","make_banner"],[27,1,1,"","marquee"],[27,1,1,"","remove_non_ascii"],[27,1,1,"","unicode2str"]],"monty.subprocess":[[28,2,1,"","Command"]],"monty.subprocess.Command":[[28,5,1,"","error"],[28,5,1,"","killed"],[28,5,1,"","output"],[28,5,1,"","retcode"],[28,3,1,"","run"]],"monty.tempfile":[[29,2,1,"","ScratchDir"]],"monty.tempfile.ScratchDir":[[29,5,1,"","SCR_LINK"]],"monty.termcolor":[[30,1,1,"","colored"],[30,1,1,"","cprint"]],monty:[[5,0,0,"-","bisect"],[6,0,0,"-","collections"],[7,0,0,"-","design_patterns"],[8,0,0,"-","dev"],[9,0,0,"-","fnmatch"],[10,0,0,"-","fractions"],[11,0,0,"-","functools"],[12,0,0,"-","inspect"],[13,0,0,"-","io"],[14,0,0,"-","itertools"],[15,0,0,"-","json"],[16,0,0,"-","logging"],[17,0,0,"-","math"],[18,0,0,"-","msgpack"],[19,0,0,"-","multiprocessing"],[20,0,0,"-","operator"],[21,0,0,"-","os"],[23,0,0,"-","pprint"],[24,0,0,"-","re"],[25,0,0,"-","serialization"],[26,0,0,"-","shutil"],[27,0,0,"-","string"],[28,0,0,"-","subprocess"],[29,0,0,"-","tempfile"],[30,0,0,"-","termcolor"]]},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"],"4":["py","exception","Python exception"],"5":["py","attribute","Python attribute"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method","4":"py:exception","5":"py:attribute"},terms:{"0":[6,8,11,13,14,15,23,24],"01":13,"05":13,"08":10,"1":[2,6,8,11,12,14,15,26,28],"10":[13,14,16],"1006289":8,"11":14,"1191374":28,"12":14,"128":11,"13":14,"1306188":28,"1389180":12,"14":14,"15":14,"16":14,"17":14,"18":14,"19":14,"1e":10,"2":[2,5,6,8,11,12,14,26,27,28,29],"20":14,"2008":30,"2009":13,"2011":30,"2014":2,"21":14,"2151727":12,"22":14,"23":14,"24":14,"25":14,"2x":13,"3":[11,14,26,27,29],"31":15,"4":14,"40":27,"4000000":13,"4096":13,"439045":13,"4825933":28,"5":[14,27],"6":[14,15,26],"7":[2,8,14],"78":27,"8":[14,23],"9":[14,26],"abstract":2,"case":[1,13,25],"class":[1,2,6,7,8,9,11,12,13,15,23,24,26,28,29],"default":[1,8,11,13,15,16,18,23,24,26,27,29],"do":[2,15,29,30],"enum":[1,15],"final":27,"float":[10,15,23],"function":[1,2,4,5,6,8,10,11,12,13,14,15,16,17,20,21,23,24,26,27,29,30],"import":[2,8,14],"int":[10,11,13,15,17,19,23,26,27],"long":1,"new":[1,2,11,15],"null":7,"public":12,"return":[1,6,8,9,10,11,12,13,14,15,17,19,20,21,22,23,24,25,27,28],"throw":13,"true":[8,9,11,12,14,15,23,27,28],"try":[1,8,11,15,23,29],"while":12,A:[1,2,6,7,8,11,13,14,15,19,21,23,24,26,27,30],AND:[2,30],AS:[2,30],BE:[2,30],BUT:[2,30],By:15,FOR:[2,30],For:[7,8,11,13,15,18,24,25,26],IN:[2,30],IS:[2,30],If:[1,8,11,13,14,15,16,22,23,25,29],In:[2,8],It:[0,2,6,13,15,16,23,30],NO:[2,30],NOT:[2,30],OF:[2,30],OR:[2,30],One:11,THE:[2,30],TO:[2,30],The:[0,1,2,5,6,7,8,11,13,14,15,18,21,23,25,26,27,29,30],There:[2,29],To:[0,15,23],WITH:[2,30],With:29,_:22,__class__:15,__init__:[2,7,12,15],__module__:15,__name__:15,__wrapped__:11,_argnam:15,_c:15,_d:15,_io:23,_name:11,_theme:0,abc:6,about:12,abov:[2,5,30],absolut:22,abspath:[0,22],accept:[11,30],access:[1,6,11,23],accord:11,accordingli:8,acquir:13,action:[2,29,30],activ:11,activest:13,ad:[1,27],add:[0,1,2,6,15,16],addit:[1,5,6,12,14,17,20,27],additon:1,addon:0,adopt:2,after:27,afterward:21,again:13,aim:26,alex:1,alia:13,align:23,all:[2,12,15,22,23,24,26,27,29,30],all_subclass:12,allow:[1,2,6,11,13,15,16,23,29],allow_bson:15,allow_nan:[15,23],almost:2,alpha:1,alreadi:[8,15,21,29],also:[0,1,2,6,11,15,25],altern:0,alwai:[2,6,7,8,27],amount:[13,27],an:[1,2,8,9,11,12,13,14,15,16,19,21,22,23,26,30],analyz:6,ani:[2,7,15,25,30],anoth:[8,13,15],another_method:11,ansii:30,api:15,append:0,appropri:[2,11],ar:[1,2,4,5,6,7,8,11,13,15,16,22,23,25,26,28,29],archiv:26,arg:[1,2,6,7,11,13,15,19,25,27],argnam:15,argument:[6,7,8,11,15,16,19,23,28,30],aris:[2,30],arosen93:1,around:[13,19],arrai:[1,15,18,23],as_dict:[15,18],ascii:[1,15,23,27],asciitre:23,assert:6,assign:12,associ:[2,7,15,20,30],assum:25,astrand:13,atol:5,attempt:[8,13,15,23],attr:30,attrdict:6,attribut:[6,11,15,30],attributeerror:11,augment:13,author:[2,30],auto:1,autodetect:25,automat:[12,13,15,25,26,29],avail:[27,30],avoid:7,awkward:5,b:[2,6,15],back:[2,13,29],backport:[1,11],backward:[1,13],bad:1,banner:27,bar:[6,9,19],base:[1,2,6,7,8,9,11,13,15,22,23,24,28,29],basenam:22,basi:[15,23],batteri:2,becaus:[6,7],becom:11,been:28,befor:27,begin:16,behav:[7,27],behavior:[13,15,23],behaviour:6,below:[2,15],best:2,better:1,between:13,binari:1,bisect:[2,3,4],blink:30,blk_size:13,block:[11,13],blue:30,bold:30,bool:[8,15,24,26,29],both:1,bound:11,box:27,bson:[1,15],buffer:[13,23],bug:1,build:29,built:[1,29],bz2:[1,2,13,25,26],bzip2:[2,26],bzip:13,c:[2,6,15,30],cach:[2,7,11],cache_algorithm:11,cache_clear:11,cache_info:11,cached_class:[2,4,7],calcul:17,call:[1,8,11,12,13,15,16,23,28],callabl:[8,11,19,24],caller:12,caller_nam:12,can:[0,5,7,8,10,11,13,15,22,23,26],cannot:[6,8],categori:[1,8],cater:8,caus:[1,15,23],cd:[1,2,21],cdumper:1,cendio:13,center:[1,27],certain:11,cgitb:8,ch:27,chang:[6,8,21,24,29],charact:[1,15,23,27],charg:[2,30],check:[0,1,8,13,15,21,23],check_circular:[15,23],child_it:23,children:23,choic:8,choos:[8,17],chosen:2,chunk:14,circular:[15,23],cl:[7,12,15],claim:[2,30],classmethod:[11,15],clean:15,cleanup:[1,29],clear:11,clearer:18,clegaspi:1,cloader:1,cluster:8,cmd:[12,22],co:2,code:[2,6,8,13,15,28,29],collaps:23,collect:[1,2,3,4],color:[8,30],colour:8,column:23,com:[8,12,13,23,28,30],come:2,command:[1,2,11,21,22,26,28],common:[1,2,5,7,10,25,26],compact:[15,23],compar:[15,23],compat:[1,13],complement:[2,4],complet:[1,6],complex:1,compliant:[15,23],compress:[2,13,25,26],compress_dir:[1,26],compress_fil:[1,26],compresslevel:26,concaten:22,conceal:30,condit:[2,8,30],conf:0,connect:[2,30],consist:[6,15,23],construct:14,constructor:[7,8,15,23],contain:[0,2,15,23,25],content:[0,2,3],context:[1,2,13,15,21,29],contract:[2,11,30],contribut:1,control:15,convert:[1,7,15,23,24],copi:[1,2,6,12,26,29,30],copy_from_current_on_ent:29,copy_r:[1,26],copy_to_current_on_exit:29,copyright:[2,30],copytre:26,core:8,correct:26,correctli:15,cp:26,cprint:30,cpu:8,cpu_count:8,cpython:12,creat:[1,2,6,7,11,19,21,26,27,29],create_symbolic_link:29,creation:29,cross:13,crucial:6,current:[1,2,13,15,22,29],currsiz:11,custom:[15,23],cyan:30,d37d5a1be80a6da11f901675f195ca22:23,d:[2,6,15,18,24],dai:[15,23],damag:[2,30],dark:30,data:[2,11,13,23],databas:[6,15],datafram:1,datatyp:15,datetim:[1,15,18],davidwaroqui:1,deal:[2,13,30],debug:[11,16],decim:15,decod:[1,15,18,23],decompress:26,decompress_dir:[1,26],decompress_fil:[1,26],decor:[1,7,8,11,16],def:[2,7,8,11,12,15],defaultdict:[1,6],defin:[11,15],delai:13,delet:[13,26,29],depend:8,deprec:[1,8],deprecationwarn:8,descript:1,descriptor:[11,13],deseri:[15,18],design:[2,4,7],design_pattern:[1,2,3,4],dest:2,destin:26,detect:[1,8,25,26],determin:[2,13,15],determinist:6,dev:[1,2,3,4,7],develop:[2,8,30],development:8,diago:14,diagon:14,dict2namedtupl:6,dict:[1,2,6,7,15,18,23,24],dictionari:[1,6,7,15,23],diffent:23,differ:[1,11,26,28],difficult:2,dir:[22,29],directli:25,directori:[1,2,21,22,26,29],disabl:11,displai:[8,23],displayecod:23,distinct:11,distribut:[2,30],divisor:10,do_someth:[21,29],do_something_els:11,do_stuff:11,doc:[0,1,5],document:[0,2,6,30],doe:[1,6,7,13,15,21,26,29],doesn:13,domain:12,don:6,done:[22,29],draw_tre:23,drawn:23,driv:0,drop:1,dst:26,dtype:1,duck:27,due:28,dump:[15,25],dumper:1,dumpfn:[1,25],dure:[15,23,29],dynam:[13,15],e0:14,e1:14,e:[2,6,8,12,13,15,21,22,24,26,29],e_i:14,e_j:14,each:[7,9,13,23,24,27],easi:9,effect:[6,29],effici:[1,2,7,13],either:[13,15],element:[14,15,23],elimin:[15,23],els:14,empti:12,en:11,enabl:28,enable_log:16,encod:[1,15,18,23],encount:15,end:[8,13,16,29],energi:24,ensur:[1,7,15,23],ensure_ascii:[15,23],entri:[6,23],enum_valu:15,equal:5,equival:[15,26],error:[8,11,13,15,28],error_messag:11,escap:[15,23],especi:[11,24],essenti:15,etc:[1,6,8,12,22],evalu:11,evanfosmark:13,even:1,event:[2,30],everi:[13,15],exactli:5,exampl:[2,4,6,8,11,15,22,27,28,29,30],exce:[12,13],except:[8,11,13,15,21],exception_tupl:11,exclud:[14,22],exclude_dir:22,exclus:22,execut:[2,11,22,28],execute_code_using_fil:2,exist:[0,1,8,21,22,29],expand:1,explicitli:1,express:[2,8,24,30],ext:22,extens:[1,22,25,26],extract:6,f:[2,11,19],fabric:[1,2,21],fact:8,fail:15,fake:7,fals:[8,11,12,14,15,23,24,26,29],fasetr:1,fashion:21,faster:[1,13],favor:1,fcntl:13,featur:[2,11,15],feel:[2,12],field:1,file:[1,2,4,7,11,13,22,23,24,25,26,27,29,30],file_nam:13,filelock:[1,13],filelockexcept:13,filenam:[2,9,13,22,24,25],filepath:26,fill:27,filter:[8,9],find:[5,8,12,15,22],find_ext:22,find_g:5,find_gt:5,find_l:5,find_lt:5,find_top_pyfil:12,finetun:15,first:[1,8,11],fit:[2,30],fix:1,flask:0,flatten:15,fmt:[1,25],fn:25,fnmatch:[2,3,4],folder:[0,15,26],follow:[0,2,8,15,24,26,29,30],follow_symlink:26,foo:[6,9,11],forai:2,forc:27,fork:2,form:[15,24,27],formal:1,format:[1,8,12,15,23,25,30],forum:2,forward:13,found:[2,15,22],fracci:1,fraction:[1,2,3,4],frame:[11,12],framework:2,free:[2,12,30],from:[1,2,5,6,8,11,12,13,14,15,22,23,25,26,29,30],from_dict:[1,15],frozen:2,frozenattrdict:6,frozendict:[1,2,6],frozenset:6,full:22,full_path_to_python:22,fulli:15,func:[11,12,19],functool:[1,2,3,4],furnish:[2,30],further:[1,2],futurewarn:[1,8],g:[1,6,8,13,15,21,22,24,29],gcd:[1,10],gcd_float:10,gener:[13,14,15,29],german:13,get:[12,13,15,23],get_ncpu:[1,8],get_open_fd:13,gist:[12,23,28],git:0,github:[2,12,23,28],given:[11,12,14,15,20,22,24,27,29],gmail:30,grant:[2,30],great:2,greater:5,greatest:10,green:30,grep:24,grow:11,guarante:[15,23],guid:0,gz:[2,25,26],gzip:[1,2,13,25,26],gzip_dir:26,gzipfil:26,ha:[1,2,13,15,28],halt:12,handl:[1,27,29],handle_timeout:11,happen:29,hash:15,hashabl:[7,11],have:[2,7,11,23,26],height:12,hello:[6,9,11,27,30],help:[1,12,23,24],helper:6,henc:6,herebi:[2,30],hetting:13,hi:0,hidden:22,highli:2,highlight:30,hint:15,hit:11,holder:[2,30],home:15,hook:8,hook_typ:8,hopefulli:2,how:[2,5,8,12],howev:[2,6,11,29],html:5,html_theme:0,html_theme_path:0,http:[5,8,11,12,13,23,28],i:[2,8,12,14,24,26,29],ignor:15,ij:14,ilotri:14,imap:19,imap_tqdm:19,immut:[2,7],implement:[1,2,4,8,15,23,25,26,29],implementat:13,impli:[2,30],importerror:8,improv:[1,8,29],includ:[2,4,15,22,30],include_dir:22,incom:[15,23],incompat:1,indent:[15,23,27],index:[2,5,24],infin:[15,23],infinit:[1,14,15,23],info:8,inform:12,inherit:[2,6,15],init:1,initi:[1,9,12,16,29],input:[15,27,29],input_fil:2,insensit:25,insert:[5,15,23],insid:15,inspect:[1,2,3,4],inspir:[1,2,21],inst:11,instal:[8,25],install_excepthook:8,instanc:[2,7,12],instanti:6,instead:[1,15,25],integ:[15,23],intellig:13,intend:0,interact:[6,23],interfac:9,invalid:[11,15],invert:1,involv:13,io:[1,2,3,4],ipython:[6,8],is_str:27,issu:[2,8],item:[5,6,14,15,17,23],item_separ:[15,23],iter:[14,19,23],iterator_from_slic:14,itertool:[1,2,3,4],its:[6,15,23],itself:22,iuptri:14,j:14,javascript:[1,15,23],jcollado:28,jmmshn:23,jsanit:[1,15],json:[1,2,3,4,18,23,25],json_str:15,jsondecod:15,jsonencod:[15,23],jupyt:23,just:[18,26,29],ka:8,kei:[6,15,23,24],kenneth:0,kevin:13,key1:24,key2:24,key_separ:[15,23],keyerror:[11,20],keyword:[1,6,7,8,11,15,28],kill:28,kind:[2,30],kirpit:28,klass:7,konstantin:30,kr:0,kr_small:0,kwarg:[1,2,6,8,13,15,19,21,25,28,30],lab:2,lambda:23,languag:2,larg:[0,1,2,13,24],larger:13,latter:1,layer:2,lazi:[1,11],lazy_properti:[1,11],lcm:10,lead:1,least:[11,13,24],least_recently_us:11,leftmost:5,lepa:30,less:[1,5],level:[12,15,16,23,26],liabil:[2,30],liabl:[2,30],librari:[0,2,4,5,16],libyaml:1,like:[1,2,4,6,7,13,14,15,23,25,26,27],limit:[1,2,11,30],line:[2,11,13,26,27],lineno:24,link:29,linux:8,list:[5,9,11,12,14,15,22,23,27],list_str:27,littl:7,live:12,load:[1,15,25],loader:1,loadf:1,loadfn:[1,25],locat:[5,22],lock:13,locker:13,lockfil:13,log:[3,4],logger:16,loglevel:16,look:2,lookup:5,loop:1,lot:1,low:15,lower:14,lowest:10,lru:11,lru_cach:[1,11],lzma:[1,13],m:6,m_file:13,magenta:30,mai:[11,25],main:[11,16],majver:8,make:[1,2,7,8],make_arch:26,make_bann:27,makedir:21,makedirs_p:21,manag:[1,13,29],mani:[1,2,4,7,8,12],map:[6,13],mark:[8,27],marque:[1,27],match:[9,11,22,24],match_mod:22,mate:14,materi:2,math:[1,2,3,4,10],matrix:14,matteo:1,max_mem:13,maximum:13,maxsiz:11,me:12,mean:12,meant:8,mechan:13,member:[6,15,23],memori:[6,13],merchant:[2,30],mere:15,merg:[2,30],messag:[1,8,11],method:[1,2,6,8,11,12,13,15,16,22,26,29],minor:1,mirror:2,misc:1,miss:[2,4,11],mit:2,mitsuhiko:0,mix:15,mkdir:21,mkhorton:1,mmap:13,mode:[8,23,26],modif:13,modifi:[2,6,30],modul:[1,2,3],mongodb:[6,15],mongodict:[1,6],monti:1,montydecod:[1,15],montyencod:[1,15],more:[1,2,4,8],most:[0,2,15,23],mostli:26,mount:1,move:15,mpk:[1,25],msg:27,msgpack:[1,2,3,4,25],mson:[1,15],msonabl:[1,15],msonclass:15,msonerror:15,msvcrt:13,mty:2,much:[1,13,29],multipl:10,multiprocess:[2,3,4,8],must:[2,11,15,23,25],mutabl:7,mutual:22,my:[2,12,21],myfil:2,mysingleton:7,n:[14,15,17],name:[1,6,9,11,12,13,15,18,22,23,29],namedtupl:6,namespac:[1,6],nan:[15,23],nc:9,ncpu:8,ncr:17,necessari:8,need:[2,6,15,27,29],neg:[15,23],nest:[1,6,15],never:8,new_class:15,new_modul:15,newlin:[15,23],node:23,non:[1,7,15,23,27],none:[5,8,11,13,14,15,22,23,25,28,29,30],noninfring:[2,30],note:[2,7,8,11,15,24,26],notebook:23,noth:[7,29],notic:[2,30],notoverwritabledict:1,now:[1,18,25],npr:17,nproc:19,nullfil:[1,7],nullstream:[1,7],num_str:15,number:[8,10,13,15,17,19,23,24,27],numer:10,numpi:[1,15,18],o:[15,23],obj:[6,15,18,25],object:[1,2,6,7,8,9,11,12,13,14,15,23,25,28,29],object_hook:[1,15,18],object_pairs_hook:15,objectid:[1,15],obtain:[2,30],obviou:2,obvious:11,offici:1,ofr:1,often:2,ok:15,old:[8,15],old_class:15,old_modul:15,on_blu:30,on_color:30,on_cyan:30,on_green:30,on_grei:30,on_magenta:30,on_r:30,on_whit:30,on_yellow:30,one:[0,2,6,9,11,13,15,16,24,27],onli:[1,7,8,11,15,23,26],op:[7,20],open:[2,13],oper:[2,3,4,13,29],operator_from_str:20,optim:8,option:[8,11,13,15,26,28,29],order:[6,13,15],org:[5,11,23],organ:2,origin:[1,8,11,15,21,26,29],os:[0,1,2,3,4],other:[2,29,30],otherwis:[2,6,15,23,25,27,30],our:2,out:[0,2,7,8,23,30],output:[8,11,15,22,23,27,28,29,30],over:[19,23],overflowerror:[15,23],overrid:15,own:15,p:[12,21],packag:[2,3],packb:18,pad:[23,27],page:[0,2],pair:15,panda:1,param:7,paramet:[6,8,9,10,11,12,13,14,15,16,17,19,21,22,23,24,25,26,27,28,29],parent:26,parse_const:15,parse_float:15,parse_int:15,parser:[1,15,16],part:[2,4],particular:[2,22,30],particularli:[6,8],pass:[1,2,7,8,11,12,28,29],passthrough:[6,19],past:12,path:[0,1,2,3,4,12,13,15,21,25,26,29],pathlib:[13,25],pattern:[2,4,7,9,15,24],pdf:[9,22],pep8:6,per:2,perform:[6,15,21,29],permiss:[2,30],permit:[2,6,30],permut:[7,17],person:[2,30],peter:13,physic:8,ping:8,pip:2,place:[15,23],platform:13,pleas:24,plu:15,point:5,pollut:6,pool:19,popen:28,portion:[2,13,30],posit:7,possibl:[2,8,13,29],post:24,postprocess:24,power:24,pprint:[2,3,4,14],pprint_json:23,pprint_tabl:23,pre:16,prepar:13,prepend:11,present:[1,8,23,26],pretti:[15,23],prevent:[1,15,23],primari:13,print:[2,8,14,15,23,27,28,30],prior:1,prioriti:15,privat:1,problem:[2,6],process:[2,12,13,19,24,28],process_decod:15,prof:11,prof_fil:11,prof_main:11,profil:11,program:[2,8,11],progress:19,project:0,proper:[1,15,27],properti:[11,15],protocol:[1,15,18],provid:[1,2,6,8,9,15,29,30],ps:22,publish:[2,30],purpos:[2,8,11,30],put:[0,15],py27:1,py3:1,py3k:1,py:[0,1,8,11],pydant:[1,15],pymatgen:[1,15],pypi:23,python:[1,4,5,6,8,11,12,13,15,22,23,26,27,29],pyyaml:1,qualifi:15,question:[8,12,28],quirk:2,r:[13,15,17,24,26],rais:[8,11,13,15,20,21,23],rang:[14,15],raymond:13,re:[2,3,4],reachabl:12,read:[1,2,13,24,26],readlin:13,real:[8,26],recent:11,recip:13,recogn:1,recommend:2,recurs:[1,6,12,15,23,26,29],red:30,redefin:6,redirect:15,refactor:1,refer:[15,23],regener:15,regex:24,regrep:24,regress:[15,23],regular:24,reitz:0,rel:13,relat:0,releas:[1,2,13],reli:[1,13],remov:[1,23,26,27],remove_non_ascii:27,replac:[1,8],repo:2,repositori:0,repres:[6,9],represent:[1,15,23],requir:[1,8,15],resid:2,resourc:2,restrict:[2,30],result:[7,11,15,19,23,25],retain:26,retcod:28,retriev:23,return_if_rais:11,return_node_if_rais:11,return_none_if_rais:11,return_none_if_value_error:11,retval_if_exc:11,reusabl:2,revers:[1,13,24,30],reverse_readfil:[1,13],reverse_readlin:[1,2,13],revert:1,rewritten:1,rid:13,right:[2,18,25,30],rightmost:5,rm:26,rmtree:26,robust:1,root:[1,2,12,22,23,29],rootpath:29,row:23,rpc:15,rstrip:23,rt:1,ruamel:[1,25],rubric:11,run:[1,8,19,28],runtim:8,s:[0,2,6,8,13,14,15,18,24,26,27,28,29],safe:21,same:[2,11,22,23],sanit:15,scale:8,scientif:2,scipi:8,scr_link:29,scratch:[1,29],scratch_link:29,scratchdir:[1,29],script:[11,12],se:[11,13],search:[2,5,22],second:[11,13,28],see:[8,11],seek:13,select:[16,22],self:[2,11,12,15,28],sell:[2,30],sens:[7,26],sensibl:[15,23],sep:9,separ:[1,9,11,15,23,28],sequenc:[10,15],serial:[1,2,3,4,15,18,23],serializ:[1,15],seriou:6,serv:2,set:[2,7,11,13,15],sever:[1,2,8],shall:[2,30],shell:[9,28],shorten:1,should:[1,6,7,13,14,15,22,23],show:5,shown:8,shutil:[1,2,3,4,29],shyamd:1,sigma:24,signal:11,signatur:1,signum:11,silenc:8,similar:[13,26],similarli:15,simpl:[1,2,16,29],simpli:[15,23],sinc:6,singl:27,singleton:[2,4,7],singli:26,site:2,situat:7,size:[13,14],skip:[12,15,23],skipkei:[15,23],sleep:28,slice:14,slower:13,small:[0,13],smaller:13,so:[2,7,10,12,13,15,30],softwar:[2,30],solut:[2,28],solv:2,some:[2,7,15,21,29],someon:8,sort:[5,11,15,23],sort_kei:[15,23],sort_stat:11,sortbi:11,sourc:[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],spec:1,special:1,specif:[1,2,15,23],specifi:[1,8,12,13,15,16,23,25,29],speed:1,src:[2,26],stack:12,stackoverflow:[8,12,28],standard:[0,2,4,5,6,13,21,26],start:[22,29],statement:13,statist:11,stderr:28,stdout:[23,28],still:[8,26],stop:14,str2unicod:1,str:[8,9,11,13,15,22,23,24,25,26,27,29],stream:[7,13,23],strict:15,string:[1,2,3,4,7,9,12,15,20,22,23,25],stub:18,style:[2,8,9,26],sub:29,subclass:[11,12],subdirectori:29,subject:[2,30],sublicens:[2,30],submit:2,submodul:[0,2,3],subpackag:[2,3],subprocess:[1,2,3,4],substanti:[2,30],success:14,successfulli:8,suit:[2,13],supplement:2,supplementari:[2,4],support:[1,2,4,9,11,13,15,18,25,27],surprisingli:26,sy:0,symbol:29,symlink:[1,26],syntax:2,system:[8,11],t:[6,13,15,23],tab:[6,15],tabl:23,take:[1,15,23],taken:[5,8,12,13],tar:26,tarfil:26,task:[2,5,21],team:30,techtonik:12,temp:29,tempdir:1,tempfil:[1,2,3,4],temporari:[11,29],temporarili:21,temporarydirectori:29,term:2,termcolor:[2,3,4],termin:[24,30],terminate_on_match:24,test:[1,15,23,27],text:[13,23,27,30],text_str:23,textiowrapp:23,than:[1,5,13],them:[5,15,26],theme:0,themselv:7,thi:[0,1,2,6,7,8,9,11,12,13,15,16,18,23,25,26,29,30],thing:15,those:15,though:[15,29],thread:[1,21,28],through:[1,29],thrown:15,time:[8,11],timeout:[1,11,13,28],timeouterror:11,to_dict:[1,15],to_json:15,token:9,tol:10,toler:10,too:1,tool:[1,2,14,16],top:22,tort:[2,30],total:17,traceback:8,tradit:6,trail:23,transform:5,transpar:[2,4,13,27],travi:1,treat:11,tree:[1,6,22,23,26],tri:8,triangl:14,tricki:5,truli:29,tupl:[6,7,11,15,23],turn:23,two:[2,11,15,23],txt:[1,9],type:[1,2,11,15,22,24,25,27],typeerror:[15,23],typic:2,ultratb:8,unchang:[22,27],uncompress:26,unction:19,under:2,underli:11,underlin:30,underscor:1,understand:15,unicod:[1,27],unicode2str:[1,27],union:13,uniqu:[2,29],unittest:1,unix:[2,9,11,26],unless:[8,22],unlik:2,unmodifi:22,unpackb:18,unsafe_hash:15,until:13,unzip:22,updat:[1,6,8],upper:14,urban:1,us:[0,1,2,4,5,6,7,8,9,10,11,12,13,15,16,18,20,22,23,24,25,26,27,29,30],usag:[6,7,11,15,18],use_scipi:8,user:[8,12,29],userspac:8,utf:[1,23],util:[1,2,4,15,18,19,26,29],uuid:1,v2:15,v:15,valid:[15,26],validate_monti:15,valu:[5,11,15],valueerror:[11,15,23],variabl:[1,12],varidac:1,variou:2,ve:24,verbos:8,veri:[0,7,13],version:[1,8,15,22,23,24],versu:13,via:22,view:11,violat:[6,11],virtual:[2,8],visit:2,volvox:30,w:[9,13,23],wai:[1,2,6,21,23,29],wait:28,warn:[1,8],warranti:[2,30],wb:2,we:16,welcom:2,well:[1,15],what:2,whatev:26,when:[1,8,13,15,23,24,27,29],where:[2,7,11,13,16],whether:[2,24,29,30],which:[1,2,6,11,13,15,22,23,26,29],white:30,whitespac:[15,23],who:12,whom:[2,30],whose:22,width:27,wiki:11,wikipedia:11,wildcard:[9,22],window:1,with_ind:14,withespac:23,within:22,without:[2,11,22,30],work:[2,11,13,21,26,29],workspac:29,world:30,would:[6,15,23,25],wrap:13,wrapper:[1,19,21],write:[2,7,13,16],www:13,x:[5,6,14],xz:[1,13],yaml:[1,15,25],yee:8,yellow:30,yet:[1,13],yield:[13,14],yml:[1,25],you:[0,6,8,13,15,23],your:[0,15],z:[25,26],zcat:26,zgrep:2,zhubonan:1,zip:[1,2,4,22,26],zless:[2,26],zopen:[1,2,13],zpath:[1,22]},titles:["krTheme Sphinx Style","Change log","Monty: Python Made Even Easier","monty","monty package","monty.bisect module","monty.collections module","monty.design_patterns module","monty.dev module","monty.fnmatch module","monty.fractions module","monty.functools module","monty.inspect module","monty.io module","monty.itertools module","monty.json module","monty.logging module","monty.math module","monty.msgpack module","monty.multiprocessing module","monty.operator module","monty.os package","monty.os.path module","monty.pprint module","monty.re module","monty.serialization module","monty.shutil module","monty.string module","monty.subprocess module","monty.tempfile module","monty.termcolor module"],titleterms:{"0":1,"1":1,"10":1,"12":1,"17":1,"19":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,api:2,bisect:5,chang:[1,2],collect:6,content:[4,21],contribut:2,design_pattern:7,dev:8,doc:2,easier:2,even:2,fnmatch:9,fraction:10,functool:11,indic:2,inspect:12,instal:2,io:13,itertool:14,json:15,krtheme:0,licens:2,log:[1,2,16],made:2,math:17,modul:[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],monti:[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],msgpack:18,multiprocess:19,oper:20,os:[21,22],packag:[4,21],path:22,pprint:23,python:2,re:24,serial:25,shutil:26,sphinx:0,string:27,style:0,submodul:[4,21],subpackag:4,subprocess:28,tabl:2,tempfil:29,termcolor:30,usag:2,v0:1,v1:1,v2021:1,v2022:1,v2:1,v3:1,v4:1}})
\ No newline at end of file
+Search.setIndex({docnames:["_themes/README","changelog","index","modules","monty","monty.bisect","monty.collections","monty.design_patterns","monty.dev","monty.fnmatch","monty.fractions","monty.functools","monty.inspect","monty.io","monty.itertools","monty.json","monty.logging","monty.math","monty.msgpack","monty.multiprocessing","monty.operator","monty.os","monty.os.path","monty.pprint","monty.re","monty.serialization","monty.shutil","monty.string","monty.subprocess","monty.tempfile","monty.termcolor"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["_themes/README.rst","changelog.rst","index.rst","modules.rst","monty.rst","monty.bisect.rst","monty.collections.rst","monty.design_patterns.rst","monty.dev.rst","monty.fnmatch.rst","monty.fractions.rst","monty.functools.rst","monty.inspect.rst","monty.io.rst","monty.itertools.rst","monty.json.rst","monty.logging.rst","monty.math.rst","monty.msgpack.rst","monty.multiprocessing.rst","monty.operator.rst","monty.os.rst","monty.os.path.rst","monty.pprint.rst","monty.re.rst","monty.serialization.rst","monty.shutil.rst","monty.string.rst","monty.subprocess.rst","monty.tempfile.rst","monty.termcolor.rst"],objects:{"":[[4,0,0,"-","monty"]],"monty.bisect":[[5,1,1,"","find_ge"],[5,1,1,"","find_gt"],[5,1,1,"","find_le"],[5,1,1,"","find_lt"],[5,1,1,"","index"]],"monty.collections":[[6,2,1,"","AttrDict"],[6,2,1,"","FrozenAttrDict"],[6,2,1,"","MongoDict"],[6,2,1,"","Namespace"],[6,1,1,"","dict2namedtuple"],[6,2,1,"","frozendict"],[6,1,1,"","tree"]],"monty.collections.AttrDict":[[6,3,1,"","copy"]],"monty.collections.Namespace":[[6,3,1,"","update"]],"monty.collections.frozendict":[[6,3,1,"","update"]],"monty.design_patterns":[[7,2,1,"","NullFile"],[7,2,1,"","NullStream"],[7,1,1,"","cached_class"],[7,1,1,"","singleton"]],"monty.design_patterns.NullStream":[[7,3,1,"","write"]],"monty.dev":[[8,1,1,"","deprecated"],[8,1,1,"","get_ncpus"],[8,1,1,"","install_excepthook"],[8,2,1,"","requires"]],"monty.fnmatch":[[9,2,1,"","WildCard"]],"monty.fnmatch.WildCard":[[9,3,1,"","filter"],[9,3,1,"","match"]],"monty.fractions":[[10,1,1,"","gcd"],[10,1,1,"","gcd_float"],[10,1,1,"","lcm"]],"monty.functools":[[11,4,1,"","TimeoutError"],[11,2,1,"","lazy_property"],[11,1,1,"","lru_cache"],[11,1,1,"","prof_main"],[11,1,1,"","return_if_raise"],[11,1,1,"","return_none_if_raise"],[11,2,1,"","timeout"]],"monty.functools.lazy_property":[[11,3,1,"","invalidate"]],"monty.functools.timeout":[[11,3,1,"","handle_timeout"]],"monty.inspect":[[12,1,1,"","all_subclasses"],[12,1,1,"","caller_name"],[12,1,1,"","find_top_pyfile"],[12,1,1,"","initializer"]],"monty.io":[[13,2,1,"","FileLock"],[13,4,1,"","FileLockException"],[13,1,1,"","get_open_fds"],[13,1,1,"","reverse_readfile"],[13,1,1,"","reverse_readline"],[13,1,1,"","zopen"]],"monty.io.FileLock":[[13,5,1,"","Error"],[13,3,1,"","acquire"],[13,3,1,"","release"]],"monty.itertools":[[14,1,1,"","chunks"],[14,1,1,"","ilotri"],[14,1,1,"","iterator_from_slice"],[14,1,1,"","iuptri"]],"monty.json":[[15,4,1,"","MSONError"],[15,2,1,"","MSONable"],[15,2,1,"","MontyDecoder"],[15,2,1,"","MontyEncoder"],[15,1,1,"","jsanitize"]],"monty.json.MSONable":[[15,5,1,"","REDIRECT"],[15,3,1,"","as_dict"],[15,3,1,"","from_dict"],[15,3,1,"","to_json"],[15,3,1,"","unsafe_hash"],[15,3,1,"","validate_monty"]],"monty.json.MontyDecoder":[[15,3,1,"","decode"],[15,3,1,"","process_decoded"]],"monty.json.MontyEncoder":[[15,3,1,"","default"]],"monty.logging":[[16,1,1,"","enable_logging"],[16,1,1,"","logged"]],"monty.math":[[17,1,1,"","nCr"],[17,1,1,"","nPr"]],"monty.msgpack":[[18,1,1,"","default"],[18,1,1,"","object_hook"]],"monty.multiprocessing":[[19,1,1,"","imap_tqdm"]],"monty.operator":[[20,1,1,"","operator_from_str"]],"monty.os":[[21,1,1,"","cd"],[21,1,1,"","makedirs_p"],[22,0,0,"-","path"]],"monty.os.path":[[22,1,1,"","find_exts"],[22,1,1,"","zpath"]],"monty.pprint":[[23,2,1,"","DisplayEcoder"],[23,1,1,"","draw_tree"],[23,1,1,"","pprint_json"],[23,1,1,"","pprint_table"]],"monty.pprint.DisplayEcoder":[[23,3,1,"","default"]],"monty.re":[[24,1,1,"","regrep"]],"monty.serialization":[[25,1,1,"","dumpfn"],[25,1,1,"","loadfn"]],"monty.shutil":[[26,1,1,"","compress_dir"],[26,1,1,"","compress_file"],[26,1,1,"","copy_r"],[26,1,1,"","decompress_dir"],[26,1,1,"","decompress_file"],[26,1,1,"","gzip_dir"],[26,1,1,"","remove"]],"monty.string":[[27,1,1,"","boxed"],[27,1,1,"","indent"],[27,1,1,"","is_string"],[27,1,1,"","list_strings"],[27,1,1,"","make_banner"],[27,1,1,"","marquee"],[27,1,1,"","remove_non_ascii"],[27,1,1,"","unicode2str"]],"monty.subprocess":[[28,2,1,"","Command"]],"monty.subprocess.Command":[[28,5,1,"","error"],[28,5,1,"","killed"],[28,5,1,"","output"],[28,5,1,"","retcode"],[28,3,1,"","run"]],"monty.tempfile":[[29,2,1,"","ScratchDir"]],"monty.tempfile.ScratchDir":[[29,5,1,"","SCR_LINK"]],"monty.termcolor":[[30,1,1,"","colored"],[30,1,1,"","cprint"]],monty:[[5,0,0,"-","bisect"],[6,0,0,"-","collections"],[7,0,0,"-","design_patterns"],[8,0,0,"-","dev"],[9,0,0,"-","fnmatch"],[10,0,0,"-","fractions"],[11,0,0,"-","functools"],[12,0,0,"-","inspect"],[13,0,0,"-","io"],[14,0,0,"-","itertools"],[15,0,0,"-","json"],[16,0,0,"-","logging"],[17,0,0,"-","math"],[18,0,0,"-","msgpack"],[19,0,0,"-","multiprocessing"],[20,0,0,"-","operator"],[21,0,0,"-","os"],[23,0,0,"-","pprint"],[24,0,0,"-","re"],[25,0,0,"-","serialization"],[26,0,0,"-","shutil"],[27,0,0,"-","string"],[28,0,0,"-","subprocess"],[29,0,0,"-","tempfile"],[30,0,0,"-","termcolor"]]},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"],"4":["py","exception","Python exception"],"5":["py","attribute","Python attribute"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method","4":"py:exception","5":"py:attribute"},terms:{"0":[6,8,11,13,14,15,23,24],"01":13,"05":13,"08":10,"1":[2,6,8,11,12,14,15,26,28],"10":[13,14,16],"1006289":8,"11":14,"1191374":28,"12":14,"128":11,"13":14,"1306188":28,"1389180":12,"14":14,"15":14,"16":14,"17":14,"18":14,"19":14,"1e":10,"2":[2,5,6,8,11,12,14,26,27,28,29],"20":14,"2008":30,"2009":13,"2011":30,"2014":2,"21":14,"2151727":12,"22":14,"23":14,"24":14,"25":14,"2x":13,"3":[11,14,26,27,29],"31":15,"4":14,"40":27,"4000000":13,"4096":13,"439045":13,"4825933":28,"5":[14,27],"6":[14,15,26],"7":[2,8,14],"78":27,"8":[14,23],"9":[14,26],"abstract":2,"case":[1,13,25],"class":[1,2,6,7,8,9,11,12,13,15,23,24,26,28,29],"default":[1,8,11,13,15,16,18,23,24,26,27,29],"do":[2,15,29,30],"enum":[1,15],"final":27,"float":[10,15,23],"function":[1,2,4,5,6,8,10,11,12,13,14,15,16,17,20,21,23,24,26,27,29,30],"import":[2,8,14],"int":[10,11,13,15,17,19,23,26,27],"long":1,"new":[1,2,11,15],"null":7,"public":12,"return":[1,6,8,9,10,11,12,13,14,15,17,19,20,21,22,23,24,25,27,28],"throw":13,"true":[8,9,11,12,14,15,23,27,28],"try":[1,8,11,15,23,29],"while":12,A:[1,2,6,7,8,11,13,14,15,19,21,23,24,26,27,30],AND:[2,30],AS:[2,30],BE:[2,30],BUT:[2,30],By:15,FOR:[2,30],For:[7,8,11,13,15,18,24,25,26],IN:[2,30],IS:[2,30],If:[1,8,11,13,14,15,16,22,23,25,29],In:[2,8],It:[0,2,6,13,15,16,23,30],NO:[2,30],NOT:[2,30],OF:[2,30],OR:[2,30],One:11,THE:[2,30],TO:[2,30],The:[0,1,2,5,6,7,8,11,13,14,15,18,21,23,25,26,27,29,30],There:[2,29],To:[0,15,23],WITH:[2,30],With:29,_:22,__class__:15,__init__:[2,7,12,15],__module__:15,__name__:15,__wrapped__:11,_argnam:15,_c:15,_d:15,_io:23,_name:11,_theme:0,abc:6,about:12,abov:[2,5,30],absolut:22,abspath:[0,22],accept:[11,30],access:[1,6,11,23],accord:11,accordingli:8,acquir:13,action:[2,29,30],activ:11,activest:13,ad:[1,27],add:[0,1,2,6,15,16],addit:[1,5,6,12,14,17,20,27],additon:1,addon:0,adopt:2,after:27,afterward:21,again:13,aim:26,alex:1,alia:13,align:23,all:[2,12,15,22,23,24,26,27,29,30],all_subclass:12,allow:[1,2,6,11,13,15,16,23,29],allow_bson:15,allow_nan:[15,23],almost:2,alpha:1,alreadi:[8,15,21,29],also:[0,1,2,6,11,15,25],altern:0,alwai:[2,6,7,8,27],amount:[13,27],an:[1,2,8,9,11,12,13,14,15,16,19,21,22,23,26,30],analyz:6,ani:[2,7,15,25,30],anoth:[8,13,15],another_method:11,ansii:30,api:15,append:0,appropri:[2,11],ar:[1,2,4,5,6,7,8,11,13,15,16,22,23,25,26,28,29],archiv:26,arg:[1,2,6,7,11,13,15,19,25,27],argnam:15,argument:[6,7,8,11,15,16,19,23,28,30],aris:[2,30],arosen93:1,around:[13,19],arrai:[1,15,18,23],as_dict:[15,18],ascii:[1,15,23,27],asciitre:23,assert:6,assign:12,associ:[2,7,15,20,30],assum:25,astrand:13,atol:5,attempt:[8,13,15,23],attr:30,attrdict:6,attribut:[6,11,15,30],attributeerror:11,augment:13,author:[2,30],auto:1,autodetect:25,automat:[12,13,15,25,26,29],avail:[27,30],avoid:7,awkward:5,b:[2,6,15],back:[2,13,29],backport:[1,11],backward:[1,13],bad:1,banner:27,bar:[6,9,19],base:[1,2,6,7,8,9,11,13,15,22,23,24,28,29],basenam:22,basi:[15,23],batteri:2,becaus:[6,7],becom:11,been:28,befor:27,begin:16,behav:[7,27],behavior:[13,15,23],behaviour:6,below:[2,15],best:2,better:1,between:13,binari:1,bisect:[2,3,4],blink:30,blk_size:13,block:[11,13],blue:30,bold:30,bool:[8,15,24,26,29],both:1,bound:11,box:27,bson:[1,15],buffer:[13,23],bug:1,build:29,built:[1,29],bz2:[1,2,13,25,26],bzip2:[2,26],bzip:13,c:[2,6,15,30],cach:[2,7,11],cache_algorithm:11,cache_clear:11,cache_info:11,cached_class:[2,4,7],calcul:17,call:[1,8,11,12,13,15,16,23,28],callabl:[8,11,19,24],caller:12,caller_nam:12,can:[0,5,7,8,10,11,13,15,22,23,26],cannot:[6,8],categori:[1,8],cater:8,caus:[1,15,23],cd:[1,2,21],cdumper:1,cendio:13,center:[1,27],certain:11,cgitb:8,ch:27,chang:[6,8,21,24,29],charact:[1,15,23,27],charg:[2,30],check:[0,1,8,13,15,21,23],check_circular:[15,23],child_it:23,children:23,choic:8,choos:[8,17],chosen:2,chunk:14,circular:[15,23],cl:[7,12,15],claim:[2,30],classmethod:[11,15],clean:15,cleanup:[1,29],clear:11,clearer:18,clegaspi:1,cloader:1,cluster:8,cmd:12,co:2,code:[2,6,8,13,15,28,29],collaps:23,collect:[1,2,3,4],color:[8,30],colour:8,column:23,com:[8,12,13,23,28,30],come:2,command:[1,2,11,21,26,28],common:[1,2,5,7,10,25,26],compact:[15,23],compar:[15,23],compat:[1,13],complement:[2,4],complet:[1,6],complex:1,compliant:[15,23],compress:[2,13,25,26],compress_dir:[1,26],compress_fil:[1,26],compresslevel:26,concaten:22,conceal:30,condit:[2,8,30],conf:0,connect:[2,30],consist:[6,15,23],construct:14,constructor:[7,8,15,23],contain:[0,2,15,23,25],content:[0,2,3],context:[1,2,13,15,21,29],contract:[2,11,30],contribut:1,control:15,convert:[1,7,15,23,24],copi:[1,2,6,12,26,29,30],copy_from_current_on_ent:29,copy_r:[1,26],copy_to_current_on_exit:29,copyright:[2,30],copytre:26,core:8,correct:26,correctli:15,cp:26,cprint:30,cpu:8,cpu_count:8,cpython:12,creat:[1,2,6,7,11,19,21,26,27,29],create_symbolic_link:29,creation:29,cross:13,crucial:6,current:[1,2,13,15,22,29],currsiz:11,custom:[15,23],cyan:30,d37d5a1be80a6da11f901675f195ca22:23,d:[2,6,15,18,24],dai:[15,23],damag:[2,30],dark:30,data:[2,11,13,23],databas:[6,15],datafram:1,datatyp:15,datetim:[1,15,18],davidwaroqui:1,deal:[2,13,30],debug:[11,16],decim:15,decod:[1,15,18,23],decompress:26,decompress_dir:[1,26],decompress_fil:[1,26],decor:[1,7,8,11,16],def:[2,7,8,11,12,15],defaultdict:[1,6],defin:[11,15],delai:13,delet:[13,26,29],depend:8,deprec:[1,8],deprecationwarn:8,descript:1,descriptor:[11,13],deseri:[15,18],design:[2,4,7],design_pattern:[1,2,3,4],dest:2,destin:26,detect:[1,8,25,26],determin:[2,13,15],determinist:6,dev:[1,2,3,4,7],develop:[2,8,30],development:8,diago:14,diagon:14,dict2namedtupl:6,dict:[1,2,6,7,15,18,23,24],dictionari:[1,6,7,15,23],diffent:23,differ:[1,11,26,28],difficult:2,dir:[22,29],directli:25,directori:[1,2,21,22,26,29],disabl:11,displai:[8,23],displayecod:23,distinct:11,distribut:[2,30],divisor:10,do_someth:[21,29],do_something_els:11,do_stuff:11,doc:[0,1,5],document:[0,2,6,30],doe:[1,6,7,13,15,21,26,29],doesn:13,domain:12,don:6,done:[22,29],draw_tre:23,drawn:23,driv:0,drop:1,dst:26,dtype:1,duck:27,due:28,dump:[15,25],dumper:1,dumpfn:[1,25],dure:[15,23,29],dynam:[13,15],e0:14,e1:14,e:[2,6,8,12,13,15,21,22,24,26,29],e_i:14,e_j:14,each:[7,9,13,23,24,27],easi:9,effect:[6,29],effici:[1,2,7,13],either:[13,15],element:[14,15,23],elimin:[15,23],els:14,empti:12,en:11,enabl:28,enable_log:16,encod:[1,15,18,23],encount:15,end:[8,13,16,29],energi:24,ensur:[1,7,15,23],ensure_ascii:[15,23],entri:[6,23],enum_valu:15,equal:5,equival:[15,26],error:[8,11,13,15,28],error_messag:11,escap:[15,23],especi:[11,24],essenti:15,etc:[1,6,8,12,22],evalu:11,evanfosmark:13,even:1,event:[2,30],everi:[13,15],exactli:5,exampl:[2,4,6,8,11,15,22,27,28,29,30],exce:[12,13],except:[8,11,13,15,21],exception_tupl:11,exclud:[14,22],exclude_dir:22,exclus:22,execut:[2,11,28],execute_code_using_fil:2,exist:[0,1,8,21,22,29],expand:1,explicitli:1,express:[2,8,24,30],ext:22,extens:[1,22,25,26],extract:6,f:[2,11,19],fabric:[1,2,21],fact:8,fail:15,fake:7,fals:[8,11,12,14,15,23,24,26,29],fasetr:1,fashion:21,faster:[1,13],favor:1,fcntl:13,featur:[2,11,15],feel:[2,12],field:1,file:[1,2,4,7,11,13,22,23,24,25,26,27,29,30],file_nam:13,filelock:[1,13],filelockexcept:13,filenam:[2,9,13,22,24,25],filepath:26,fill:27,filter:[8,9],find:[5,8,12,15,22],find_ext:22,find_g:5,find_gt:5,find_l:5,find_lt:5,find_top_pyfil:12,finetun:15,first:[1,8,11],fit:[2,30],fix:1,flask:0,flatten:15,fmt:[1,25],fn:25,fnmatch:[2,3,4],folder:[0,15,26],follow:[0,2,8,15,24,26,29,30],follow_symlink:26,foo:[6,9,11],forai:2,forc:27,fork:2,form:[15,24,27],formal:1,format:[1,8,12,15,23,25,30],forum:2,forward:13,found:[2,15,22],fracci:1,fraction:[1,2,3,4],frame:[11,12],framework:2,free:[2,12,30],from:[1,2,5,6,8,11,12,13,14,15,22,23,25,26,29,30],from_dict:[1,15],frozen:2,frozenattrdict:6,frozendict:[1,2,6],frozenset:6,fulli:15,func:[11,12,19],functool:[1,2,3,4],furnish:[2,30],further:[1,2],futurewarn:[1,8],g:[1,6,8,13,15,21,22,24,29],gcd:[1,10],gcd_float:10,gener:[13,14,15,29],german:13,get:[12,13,15,23],get_ncpu:[1,8],get_open_fd:13,gist:[12,23,28],git:0,github:[2,12,23,28],given:[11,12,14,15,20,22,24,27,29],gmail:30,grant:[2,30],great:2,greater:5,greatest:10,green:30,grep:24,grow:11,guarante:[15,23],guid:0,gz:[2,25,26],gzip:[1,2,13,25,26],gzip_dir:26,gzipfil:26,ha:[1,2,13,15,28],halt:12,handl:[1,27,29],handle_timeout:11,happen:29,hash:15,hashabl:[7,11],have:[2,7,11,23,26],height:12,hello:[6,9,11,27,30],help:[1,12,23,24],helper:6,henc:6,herebi:[2,30],hetting:13,hi:0,hidden:22,highli:2,highlight:30,hint:15,hit:11,holder:[2,30],home:15,hook:8,hook_typ:8,hopefulli:2,how:[2,5,8,12],howev:[2,6,11,29],html:5,html_theme:0,html_theme_path:0,http:[5,8,11,12,13,23,28],i:[2,8,12,14,24,26,29],ignor:15,ij:14,ilotri:14,imap:19,imap_tqdm:19,immut:[2,7],implement:[1,2,4,8,15,23,25,26,29],implementat:13,impli:[2,30],importerror:8,improv:[1,8,29],includ:[2,4,15,22,30],include_dir:22,incom:[15,23],incompat:1,indent:[15,23,27],index:[2,5,24],infin:[15,23],infinit:[1,14,15,23],info:8,inform:12,inherit:[2,6,15],init:1,initi:[1,9,12,16,29],input:[15,27,29],input_fil:2,insensit:25,insert:[5,15,23],insid:15,inspect:[1,2,3,4],inspir:[1,2,21],inst:11,instal:[8,25],install_excepthook:8,instanc:[2,7,12],instanti:6,instead:[1,15,25],integ:[15,23],intellig:13,intend:0,interact:[6,23],interfac:9,invalid:[11,15],invert:1,involv:13,io:[1,2,3,4],ipython:[6,8],is_str:27,issu:[2,8],item:[5,6,14,15,17,23],item_separ:[15,23],iter:[14,19,23],iterator_from_slic:14,itertool:[1,2,3,4],its:[6,15,23],itself:22,iuptri:14,j:14,javascript:[1,15,23],jcollado:28,jmmshn:23,jsanit:[1,15],json:[1,2,3,4,18,23,25],json_str:15,jsondecod:15,jsonencod:[15,23],jupyt:23,just:[18,26,29],ka:8,kei:[6,15,23,24],kenneth:0,kevin:13,key1:24,key2:24,key_separ:[15,23],keyerror:[11,20],keyword:[1,6,7,8,11,15,28],kill:28,kind:[2,30],kirpit:28,klass:7,konstantin:30,kr:0,kr_small:0,kwarg:[1,2,6,8,13,15,19,21,25,28,30],lab:2,lambda:23,languag:2,larg:[0,1,2,13,24],larger:13,latter:1,layer:2,lazi:[1,11],lazy_properti:[1,11],lcm:10,lead:1,least:[11,13,24],least_recently_us:11,leftmost:5,lepa:30,less:[1,5],level:[12,15,16,23,26],liabil:[2,30],liabl:[2,30],librari:[0,2,4,5,16],libyaml:1,like:[1,2,4,6,7,13,14,15,23,25,26,27],limit:[1,2,11,30],line:[2,11,13,26,27],lineno:24,link:29,linux:8,list:[5,9,11,12,14,15,22,23,27],list_str:27,littl:7,live:12,load:[1,15,25],loader:1,loadf:1,loadfn:[1,25],locat:[5,22],lock:13,locker:13,lockfil:13,log:[3,4],logger:16,loglevel:16,look:2,lookup:5,loop:1,lot:1,low:15,lower:14,lowest:10,lru:11,lru_cach:[1,11],lzma:[1,13],m:6,m_file:13,magenta:30,mai:[11,25],main:[11,16],majver:8,make:[1,2,7,8],make_arch:26,make_bann:27,makedir:21,makedirs_p:21,manag:[1,13,29],mani:[1,2,4,7,8,12],map:[6,13],mark:[8,27],marque:[1,27],match:[9,11,22,24],match_mod:22,mate:14,materi:2,math:[1,2,3,4,10],matrix:14,matteo:1,max_mem:13,maximum:13,maxsiz:11,me:12,mean:12,meant:8,mechan:13,member:[6,15,23],memori:[6,13],merchant:[2,30],mere:15,merg:[2,30],messag:[1,8,11],method:[1,2,6,8,11,12,13,15,16,22,26,29],minor:1,mirror:2,misc:1,miss:[2,4,11],mit:2,mitsuhiko:0,mix:15,mkdir:21,mkhorton:1,mmap:13,mode:[8,23,26],modif:13,modifi:[2,6,30],modul:[1,2,3],mongodb:[6,15],mongodict:[1,6],monti:1,montydecod:[1,15],montyencod:[1,15],more:[1,2,4,8],most:[0,2,15,23],mostli:26,mount:1,move:15,mpk:[1,25],msg:27,msgpack:[1,2,3,4,25],mson:[1,15],msonabl:[1,15],msonclass:15,msonerror:15,msvcrt:13,mty:2,much:[1,13,29],multipl:10,multiprocess:[2,3,4,8],munrojm:1,must:[2,11,15,23,25],mutabl:7,mutual:22,my:[2,12,21],myfil:2,mysingleton:7,n:[14,15,17],name:[1,6,9,11,12,13,15,18,22,23,29],namedtupl:6,namespac:[1,6],nan:[15,23],nc:9,ncpu:8,ncr:17,necessari:8,need:[2,6,15,27,29],neg:[15,23],nest:[1,6,15],never:8,new_class:15,new_modul:15,newlin:[15,23],node:23,non:[1,7,15,23,27],none:[5,8,11,13,14,15,22,23,25,28,29,30],noninfring:[2,30],note:[2,7,8,11,15,24,26],notebook:23,noth:[7,29],notic:[2,30],notoverwritabledict:1,now:[1,18,25],npr:17,nproc:19,nullfil:[1,7],nullstream:[1,7],num_str:15,number:[8,10,13,15,17,19,23,24,27],numer:10,numpi:[1,15,18],o:[15,23],obj:[6,15,18,25],object:[1,2,6,7,8,9,11,12,13,14,15,23,25,28,29],object_hook:[1,15,18],object_pairs_hook:15,objectid:[1,15],obtain:[2,30],obviou:2,obvious:11,offici:1,ofr:1,often:2,ok:15,old:[8,15],old_class:15,old_modul:15,on_blu:30,on_color:30,on_cyan:30,on_green:30,on_grei:30,on_magenta:30,on_r:30,on_whit:30,on_yellow:30,one:[0,2,6,9,11,13,15,16,24,27],onli:[1,7,8,11,15,23,26],op:[7,20],open:[2,13],oper:[2,3,4,13,29],operator_from_str:20,optim:8,option:[1,8,11,13,15,26,28,29],order:[6,13,15],org:[5,11,23],organ:2,origin:[1,8,11,15,21,26,29],orjson:1,os:[0,1,2,3,4],other:[2,29,30],otherwis:[2,6,15,23,25,27,30],our:2,out:[0,2,7,8,23,30],output:[8,11,15,22,23,27,28,29,30],over:[19,23],overflowerror:[15,23],overrid:15,own:15,p:[12,21],packag:[2,3],packb:18,pad:[23,27],page:[0,2],pair:15,panda:1,param:[7,15],paramet:[6,8,9,10,11,12,13,14,15,16,17,19,21,22,23,24,25,26,27,28,29],parent:26,parse_const:15,parse_float:15,parse_int:15,parser:[1,15,16],part:[2,4],particular:[2,22,30],particularli:[6,8],pass:[1,2,7,8,11,12,28,29],passthrough:[6,19],past:12,path:[0,1,2,3,4,12,13,15,21,25,26,29],pathlib:[13,25],pattern:[2,4,7,9,15,24],pdf:[9,22],pep8:6,per:2,perform:[6,15,21,29],permiss:[2,30],permit:[2,6,30],permut:[7,17],person:[2,30],peter:13,physic:8,ping:8,pip:2,place:[15,23],platform:13,pleas:24,plu:15,point:5,pollut:6,pool:19,popen:28,portion:[2,13,30],posit:7,possibl:[2,8,13,29],post:24,postprocess:24,power:24,pprint:[2,3,4,14],pprint_json:23,pprint_tabl:23,pre:16,prepar:13,prepend:11,present:[1,8,23,26],pretti:[15,23],prevent:[1,15,23],primari:13,print:[2,8,14,15,23,27,28,30],prior:1,prioriti:15,privat:1,problem:[2,6],process:[2,12,13,19,24,28],process_decod:15,prof:11,prof_fil:11,prof_main:11,profil:11,program:[2,8,11],progress:19,project:0,proper:[1,15,27],properti:[11,15],protocol:[1,15,18],provid:[1,2,6,8,9,15,29,30],ps:22,publish:[2,30],purpos:[2,8,11,30],put:[0,15],py27:1,py3:1,py3k:1,py:[0,1,8,11],pydant:[1,15],pymatgen:[1,15],pypi:23,python:[1,4,5,6,8,11,12,13,15,23,26,27,29],pyyaml:1,qualifi:15,question:[8,12,28],quirk:2,r:[13,15,17,24,26],rais:[8,11,13,15,20,21,23],rang:[14,15],raymond:13,re:[2,3,4],reachabl:12,read:[1,2,13,24,26],readlin:13,real:[8,26],recent:11,recip:13,recogn:1,recommend:2,recurs:[1,6,12,15,23,26,29],recursive_mson:15,red:30,redefin:6,redirect:15,refactor:1,refer:[15,23],regardless:15,regener:15,regex:24,regrep:24,regress:[15,23],regular:24,reitz:0,rel:13,relat:0,releas:[1,2,13],reli:[1,13],remov:[1,23,26,27],remove_non_ascii:27,replac:[1,8],repo:2,repositori:0,repres:[6,9],represent:[1,15,23],requir:[1,8,15],resid:2,resourc:2,restrict:[2,30],result:[7,11,15,19,23,25],retain:26,retcod:28,retriev:23,return_if_rais:11,return_node_if_rais:11,return_none_if_rais:11,return_none_if_value_error:11,retval_if_exc:11,reusabl:2,revers:[1,13,24,30],reverse_readfil:[1,13],reverse_readlin:[1,2,13],revert:1,rewritten:1,rid:13,right:[2,18,25,30],rightmost:5,rm:26,rmtree:26,robust:1,root:[1,2,12,22,23,29],rootpath:29,row:23,rpc:15,rstrip:23,rt:1,ruamel:[1,25],rubric:11,run:[1,8,19,28],runtim:8,s:[0,2,6,8,13,14,15,18,24,26,27,28,29],safe:21,same:[2,11,22,23],sanit:15,scale:8,scientif:2,scipi:8,scr_link:29,scratch:[1,29],scratch_link:29,scratchdir:[1,29],script:[11,12],se:[11,13],search:[2,5],second:[11,13,28],see:[8,11],seek:13,select:[16,22],self:[2,11,12,15,28],sell:[2,30],sens:[7,26],sensibl:[15,23],sep:9,separ:[1,9,11,15,23,28],sequenc:[10,15],serial:[1,2,3,4,15,18,23],serializ:[1,15],seriou:6,serv:2,set:[2,7,11,13,15],sever:[1,2,8],shall:[2,30],shell:[9,28],shorten:1,should:[1,6,7,13,14,15,22,23],show:5,shown:8,shutil:[1,2,3,4,29],shyamd:1,sigma:24,signal:11,signatur:1,signum:11,silenc:8,similar:[13,26],similarli:15,simpl:[1,2,16,29],simpli:[15,23],sinc:6,singl:27,singleton:[2,4,7],singli:26,site:2,situat:7,size:[13,14],skip:[12,15,23],skipkei:[15,23],sleep:28,slice:14,slower:13,small:[0,13],smaller:13,so:[2,7,10,12,13,15,30],softwar:[2,30],solut:[2,28],solv:2,some:[2,7,15,21,29],someon:8,sort:[5,11,15,23],sort_kei:[15,23],sort_stat:11,sortbi:11,sourc:[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],spec:1,special:1,specif:[1,2,15,23],specifi:[1,8,12,13,15,16,23,25,29],speed:1,src:[2,26],stack:12,stackoverflow:[8,12,28],standard:[0,2,4,5,6,13,21,26],start:[22,29],statement:13,statist:11,stderr:28,stdout:[23,28],still:[8,26],stop:14,str2unicod:1,str:[8,9,11,13,15,22,23,24,25,26,27,29],stream:[7,13,23],strict:15,string:[1,2,3,4,7,9,12,15,20,22,23,25],stub:18,style:[2,8,9,26],sub:29,subclass:[11,12],subdirectori:29,subject:[2,30],sublicens:[2,30],submit:2,submodul:[0,2,3],subpackag:[2,3],subprocess:[1,2,3,4],substanti:[2,30],success:14,successfulli:8,suit:[2,13],supplement:2,supplementari:[2,4],support:[1,2,4,9,11,13,15,18,25,27],surprisingli:26,sy:0,symbol:29,symlink:[1,26],syntax:2,system:[8,11],t:[6,13,15,23],tab:[6,15],tabl:23,take:[1,15,23],taken:[5,8,12,13],tar:26,tarfil:26,task:[2,5,21],team:30,techtonik:12,temp:29,tempdir:1,tempfil:[1,2,3,4],temporari:[11,29],temporarili:21,temporarydirectori:29,term:2,termcolor:[2,3,4],termin:[24,30],terminate_on_match:24,test:[1,15,23,27],text:[13,23,27,30],text_str:23,textiowrapp:23,than:[1,5,13],them:[5,15,26],theme:0,themselv:7,thi:[0,1,2,6,7,8,9,11,12,13,15,16,18,23,25,26,29,30],thing:15,those:15,though:[15,29],thread:[1,21,28],through:[1,29],thrown:15,time:[8,11],timeout:[1,11,13,28],timeouterror:11,to_dict:[1,15],to_json:15,token:9,tol:10,toler:10,too:1,tool:[1,2,14,16],top:22,tort:[2,30],total:17,traceback:8,tradit:6,trail:23,transform:5,transpar:[2,4,13,27],travi:1,treat:11,tree:[1,6,22,23,26],tri:8,triangl:14,tricki:5,truli:29,tupl:[6,7,11,15,23],turn:23,two:[2,11,15,23],txt:[1,9],type:[1,2,11,15,22,24,25,27],typeerror:[15,23],typic:2,ultratb:8,unchang:[22,27],uncompress:26,unction:19,under:2,underli:11,underlin:30,underscor:1,understand:15,unicod:[1,27],unicode2str:[1,27],union:13,uniqu:[2,29],unittest:1,unix:[2,9,11,26],unless:[8,22],unlik:2,unmodifi:22,unpackb:18,unsafe_hash:15,until:13,unzip:22,updat:[1,6,8],upper:14,urban:1,us:[0,1,2,4,5,6,7,8,9,10,11,12,13,15,16,18,20,22,23,24,25,26,27,29,30],usag:[6,7,11,15,18],use_scipi:8,user:[8,12,29],userspac:8,utf:[1,23],util:[1,2,4,15,18,19,26,29],uuid:1,v2:15,v:15,valid:[15,26],validate_monti:15,valu:[5,11,15],valueerror:[11,15,23],variabl:[1,12],varidac:1,variou:2,ve:24,verbos:8,veri:[0,7,13],version:[1,8,15,22,23,24],versu:13,via:22,view:11,violat:[6,11],virtual:[2,8],visit:2,volvox:30,w:[9,13,23],wai:[1,2,6,21,23,29],wait:28,warn:[1,8],warranti:[2,30],wb:2,we:16,welcom:2,well:[1,15],what:2,whatev:26,when:[1,8,13,15,23,24,27,29],where:[2,7,11,13,16],whether:[2,24,29,30],which:[1,2,6,11,13,15,22,23,26,29],white:30,whitespac:[15,23],who:12,whom:[2,30],whose:22,width:27,wiki:11,wikipedia:11,wildcard:[9,22],window:1,with_ind:14,withespac:23,within:22,without:[2,11,22,30],work:[2,11,13,21,26,29],workspac:29,world:30,would:[6,15,23,25],wrap:13,wrapper:[1,19,21],write:[2,7,13,16],www:13,x:[5,6,14],xz:[1,13],yaml:[1,15,25],yee:8,yellow:30,yet:[1,13],yield:[13,14],yml:[1,25],you:[0,6,8,13,15,23],your:[0,15],z:[25,26],zcat:26,zgrep:2,zhubonan:1,zip:[1,2,4,22,26],zless:[2,26],zopen:[1,2,13],zpath:[1,22]},titles:["krTheme Sphinx Style","Change log","Monty: Python Made Even Easier","monty","monty package","monty.bisect module","monty.collections module","monty.design_patterns module","monty.dev module","monty.fnmatch module","monty.fractions module","monty.functools module","monty.inspect module","monty.io module","monty.itertools module","monty.json module","monty.logging module","monty.math module","monty.msgpack module","monty.multiprocessing module","monty.operator module","monty.os package","monty.os.path module","monty.pprint module","monty.re module","monty.serialization module","monty.shutil module","monty.string module","monty.subprocess module","monty.tempfile module","monty.termcolor module"],titleterms:{"0":1,"1":1,"10":1,"12":1,"17":1,"19":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,api:2,bisect:5,chang:[1,2],collect:6,content:[4,21],contribut:2,design_pattern:7,dev:8,doc:2,easier:2,even:2,fnmatch:9,fraction:10,functool:11,indic:2,inspect:12,instal:2,io:13,itertool:14,json:15,krtheme:0,licens:2,log:[1,2,16],made:2,math:17,modul:[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],monti:[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],msgpack:18,multiprocess:19,oper:20,os:[21,22],packag:[4,21],path:22,pprint:23,python:2,re:24,serial:25,shutil:26,sphinx:0,string:27,style:0,submodul:[4,21],subpackag:4,subprocess:28,tabl:2,tempfil:29,termcolor:30,usag:2,v0:1,v1:1,v2021:1,v2022:1,v2:1,v3:1,v4:1}})
\ No newline at end of file
diff --git a/monty/__init__.py b/monty/__init__.py
index 23b65866d..8cf85a19d 100644
--- a/monty/__init__.py
+++ b/monty/__init__.py
@@ -7,7 +7,7 @@
__author__ = "Shyue Ping Ong"
__copyright__ = "Copyright 2014, The Materials Virtual Lab"
-__version__ = "2022.1.19"
+__version__ = "2022.3.12"
__maintainer__ = "Shyue Ping Ong"
__email__ = "ongsp@ucsd.edu"
__date__ = "Oct 12 2020"
diff --git a/setup.py b/setup.py
index c12e7a59e..615a17849 100644
--- a/setup.py
+++ b/setup.py
@@ -10,7 +10,7 @@
setup(
name="monty",
packages=find_packages(),
- version="2022.1.19",
+ version="2022.3.12",
extras_require={
"yaml": ["ruamel.yaml"],
},