From 92401161b4baedd6813ad44e576aaeb83982af66 Mon Sep 17 00:00:00 2001 From: Shyue Ping Ong Date: Thu, 17 Mar 2022 14:21:32 -0700 Subject: [PATCH] Update dev docs --- docs/_modules/index.html | 6 +- .../pymatgen/db/alchemy/transmuters.html | 13 +- docs/_modules/pymatgen/db/builders/core.html | 43 ++--- .../db/builders/examples/copy_builder.html | 12 +- .../db/builders/examples/file_builders.html | 13 +- .../builders/examples/maxvalue_builder.html | 6 +- docs/_modules/pymatgen/db/builders/incr.html | 28 +-- .../_modules/pymatgen/db/builders/schema.html | 42 ++--- docs/_modules/pymatgen/db/builders/util.html | 10 +- docs/_modules/pymatgen/db/creator.html | 149 +++++---------- docs/_modules/pymatgen/db/dbconfig.html | 12 +- docs/_modules/pymatgen/db/dbgroup.html | 16 +- docs/_modules/pymatgen/db/query_engine.html | 47 ++--- docs/_modules/pymatgen/db/util.html | 22 +-- docs/_modules/pymatgen/db/vv/diff.html | 56 +++--- docs/_modules/pymatgen/db/vv/report.html | 111 +++++------ docs/_modules/pymatgen/db/vv/util.html | 34 ++-- docs/_modules/pymatgen/db/vv/validate.html | 74 +++----- docs/_sources/pymatgen.rst.txt | 2 + docs/_static/basic.css | 8 +- docs/_static/doctools.js | 7 +- docs/_static/documentation_options.js | 2 +- docs/_static/language_data.js | 2 +- docs/_static/searchtools.js | 15 +- docs/_themes/README.html | 6 +- docs/builders.html | 14 +- docs/change_log.html | 14 +- docs/dbconfig.html | 6 +- docs/doctrees/_themes/README.doctree | Bin 5788 -> 5838 bytes docs/doctrees/builders.doctree | Bin 103227 -> 103288 bytes docs/doctrees/change_log.doctree | Bin 19015 -> 19065 bytes docs/doctrees/dbconfig.doctree | Bin 8204 -> 8254 bytes docs/doctrees/environment.pickle | Bin 350203 -> 346150 bytes docs/doctrees/index.doctree | Bin 40049 -> 40099 bytes docs/doctrees/mgvv.doctree | Bin 102316 -> 102184 bytes docs/doctrees/modules.doctree | Bin 2638 -> 2688 bytes docs/doctrees/pymatgen.db.alchemy.doctree | Bin 13823 -> 13986 bytes docs/doctrees/pymatgen.db.builders.doctree | Bin 280839 -> 292939 bytes .../pymatgen.db.builders.examples.doctree | Bin 56966 -> 57405 bytes docs/doctrees/pymatgen.db.doctree | Bin 280772 -> 288744 bytes docs/doctrees/pymatgen.db.vv.doctree | Bin 339757 -> 356498 bytes docs/doctrees/pymatgen.doctree | Bin 2913 -> 3192 bytes docs/genindex.html | 173 ++++++++--------- docs/index.html | 14 +- docs/mgvv.html | 14 +- docs/modules.html | 6 +- docs/objects.inv | Bin 3737 -> 3743 bytes docs/py-modindex.html | 8 +- docs/pymatgen.db.alchemy.html | 16 +- docs/pymatgen.db.builders.examples.html | 20 +- docs/pymatgen.db.builders.html | 128 ++++++------- docs/pymatgen.db.html | 90 ++++----- docs/pymatgen.db.vv.html | 176 +++++++++--------- docs/pymatgen.html | 18 +- docs/search.html | 11 +- docs/searchindex.js | 2 +- docs_rst/pymatgen.rst | 2 + pymatgen/db/__init__.py | 4 +- setup.py | 2 +- 59 files changed, 641 insertions(+), 813 deletions(-) diff --git a/docs/_modules/index.html b/docs/_modules/index.html index 9d36d9a..8801dfd 100644 --- a/docs/_modules/index.html +++ b/docs/_modules/index.html @@ -5,7 +5,7 @@ - Overview: module code — pymatgen-db 2021.5.28 documentation + Overview: module code — pymatgen-db 2022.3.17 documentation @@ -37,7 +37,7 @@

Navigation

  • modules |
  • - + @@ -81,7 +81,7 @@

    All modules for which code is available

    Quick search

    diff --git a/docs/_modules/pymatgen/db/alchemy/transmuters.html b/docs/_modules/pymatgen/db/alchemy/transmuters.html index 3005faf..171f764 100644 --- a/docs/_modules/pymatgen/db/alchemy/transmuters.html +++ b/docs/_modules/pymatgen/db/alchemy/transmuters.html @@ -5,7 +5,7 @@ - pymatgen.db.alchemy.transmuters — pymatgen-db 2021.5.28 documentation + pymatgen.db.alchemy.transmuters — pymatgen-db 2022.3.17 documentation @@ -37,7 +37,7 @@

    Navigation

  • modules |
  • - + @@ -76,9 +76,7 @@

    Source code for pymatgen.db.alchemy.transmuters

    < from a database. """ - def __init__( - self, queryengine, criteria, transformations, extend_collection=0, ncores=None - ): + def __init__(self, queryengine, criteria, transformations, extend_collection=0, ncores=None): """Constructor. Args: @@ -117,8 +115,7 @@

    Source code for pymatgen.db.alchemy.transmuters

    < ] transformed_structures = [ - TransformedStructure(entry.structure, [], history=get_history(entry)) - for entry in entries + TransformedStructure(entry.structure, [], history=get_history(entry)) for entry in entries ] StandardTransmuter.__init__( self, @@ -145,7 +142,7 @@

    Source code for pymatgen.db.alchemy.transmuters

    <

    Quick search

    diff --git a/docs/_modules/pymatgen/db/builders/core.html b/docs/_modules/pymatgen/db/builders/core.html index 88c7d7e..3ac73f1 100644 --- a/docs/_modules/pymatgen/db/builders/core.html +++ b/docs/_modules/pymatgen/db/builders/core.html @@ -5,7 +5,7 @@ - pymatgen.db.builders.core — pymatgen-db 2021.5.28 documentation + pymatgen.db.builders.core — pymatgen-db 2022.3.17 documentation @@ -37,7 +37,7 @@

    Navigation

  • modules |
  • - + @@ -82,7 +82,7 @@

    Source code for pymatgen.db.builders.core

     
     
    [docs]class BuildError(Exception): def __init__(self, who, why): - errmsg = "Builder {} failed: {}".format(who, why) + errmsg = f"Builder {who} failed: {why}" Exception.__init__(self, errmsg)
    @@ -120,7 +120,7 @@

    Source code for pymatgen.db.builders.core

                 _, name, desc = line.split(":", 2)
                 name = name[5:].strip()  # skip 'type '
                 if not name in params:
    -                raise ValueError("'type' without 'param' for {}".format(name))
    +                raise ValueError(f"'type' without 'param' for {name}")
                 params[name]["type"] = desc.strip()
             elif line.startswith(":return"):
                 _1, _2, desc = line.split(":", 2)
    @@ -175,16 +175,14 @@ 

    Source code for pymatgen.db.builders.core

             """
             if not self.MIN_VER <= version <= self.MAX_VER:
                 raise ValueError(
    -                "Bad version ({v:d}) not in range {v0} .. {v1} ".format(
    -                    v=version, v0=self.MIN_VER, v1=self.MAX_VER
    -                )
    +                f"Bad version ({version:d}) not in range {self.MIN_VER} .. {self.MAX_VER} "
                 )
             self._names, self._coll = {}, {}
             if version == 1:
                 for name in self.known_collections:
    -                full_name = "{}.{}".format(prefix, name) if prefix else name
    +                full_name = f"{prefix}.{name}" if prefix else name
                     if name == "tasks" and task_suffix is not None:
    -                    full_name = "{}.{}".format(full_name, task_suffix)
    +                    full_name = f"{full_name}.{task_suffix}"
                     self._names[name] = full_name
                     self._coll[full_name] = None
             if db is None:
    @@ -286,14 +284,12 @@ 

    Source code for pymatgen.db.builders.core

             :type fail_fn: function(str)
             """
             for collection, doc in self.examples():
    -            _log.debug("validating example in collection {}".format(collection))
    +            _log.debug(f"validating example in collection {collection}")
                 sch = schema.get_schema(collection)  # with more err. checking
                 result = sch.validate(doc)
    -            _log.debug(
    -                "validation result: {}".format("OK" if result is None else result)
    -            )
    +            _log.debug("validation result: {}".format("OK" if result is None else result))
                 if result is not None:
    -                fail_fn("Failed to validate sample document: {}".format(result))
    + fail_fn(f"Failed to validate sample document: {result}")
    [docs]class Builder(metaclass=ABCMeta): @@ -445,10 +441,7 @@

    Source code for pymatgen.db.builders.core

             elif isinstance(config, dict):
                 conn = dbutil.get_database(settings=config)
             else:
    -            raise ValueError(
    -                "Configuration, '{}',  must be a path to "
    -                "a configuration file or dict".format(config)
    -            )
    +            raise ValueError("Configuration, '{}',  must be a path to " "a configuration file or dict".format(config))
             return conn
    # ----------------------------- @@ -459,7 +452,7 @@

    Source code for pymatgen.db.builders.core

             :return: Number of items processed
             :rtype: int
             """
    -        _log.debug("_build, chunk_size={:d}".format(chunk_size))
    +        _log.debug(f"_build, chunk_size={chunk_size:d}")
             n, i = 0, 0
             for i, item in enumerate(items):
                 if i == 0:
    @@ -496,7 +489,7 @@ 

    Source code for pymatgen.db.builders.core

                 processes[i].join()
                 code = processes[i].exitcode
                 self._status.success(i) if 0 == code else self._status.fail(i)
    -        _log.debug("run.parallel.multiprocess.end states={}".format(self._status))
    +        _log.debug(f"run.parallel.multiprocess.end states={self._status}")
     
         def _run(self, index):
             """Run method for one thread or process
    @@ -513,7 +506,7 @@ 

    Source code for pymatgen.db.builders.core

                 except Queue.Empty:
                     break
                 except Exception as err:
    -                _log.error("In _run(): {}".format(err))
    +                _log.error(f"In _run(): {err}")
                     if _log.isEnabledFor(logging.DEBUG):
                         _log.error(traceback.format_exc())
                     self._status.fail(index)
    @@ -595,16 +588,12 @@ 

    Source code for pymatgen.db.builders.core

         """
         sep = "\n" + " " * depth * indent
         return "".join(
    -        (
                 "{}: {}{}".format(
                     k,
    -                alphadump(d[k], depth=depth + 1)
    -                if isinstance(d[k], dict)
    -                else str(d[k]),
    +                alphadump(d[k], depth=depth + 1) if isinstance(d[k], dict) else str(d[k]),
                     sep,
                 )
                 for k in sorted(d.keys())
    -        )
         )
    @@ -624,7 +613,7 @@

    Source code for pymatgen.db.builders.core

       

    Quick search

    diff --git a/docs/_modules/pymatgen/db/builders/examples/copy_builder.html b/docs/_modules/pymatgen/db/builders/examples/copy_builder.html index 97b794e..eb7dadb 100644 --- a/docs/_modules/pymatgen/db/builders/examples/copy_builder.html +++ b/docs/_modules/pymatgen/db/builders/examples/copy_builder.html @@ -5,7 +5,7 @@ - pymatgen.db.builders.examples.copy_builder — pymatgen-db 2021.5.28 documentation + pymatgen.db.builders.examples.copy_builder — pymatgen-db 2022.3.17 documentation @@ -37,7 +37,7 @@

    Navigation

  • modules |
  • - + @@ -91,11 +91,7 @@

    Source code for pymatgen.db.builders.examples.copy_builder

    if not crit: # reduce any False-y crit value to None crit = None cur = source.query(criteria=crit) - _log.info( - "source.collection={} crit={} source_records={:d}".format( - source.collection, crit, len(cur) - ) - ) + _log.info(f"source.collection={source.collection} crit={crit} source_records={len(cur):d}") return cur
    [docs] def process_item(self, item): @@ -119,7 +115,7 @@

    Source code for pymatgen.db.builders.examples.copy_builder

    Quick search
    diff --git a/docs/_modules/pymatgen/db/builders/examples/file_builders.html b/docs/_modules/pymatgen/db/builders/examples/file_builders.html index 49ab0e5..3f393c4 100644 --- a/docs/_modules/pymatgen/db/builders/examples/file_builders.html +++ b/docs/_modules/pymatgen/db/builders/examples/file_builders.html @@ -5,7 +5,7 @@ - pymatgen.db.builders.examples.file_builders — pymatgen-db 2021.5.28 documentation + pymatgen.db.builders.examples.file_builders — pymatgen-db 2022.3.17 documentation @@ -37,7 +37,7 @@

    Navigation

  • modules |
  • - + @@ -73,10 +73,9 @@

    Source code for pymatgen.db.builders.examples.file_builders

    return {"input_file": {"type": "str", "desc": "Input file path"}}
    [docs] def get_items(self, input_file=None): - with open(input_file, "r") as f: + with open(input_file) as f: # print("Reading from {}".format(f.name)) - for line in f: - yield line
    + yield from f
    [docs] def process_item(self, item): self.num_chars += len(item) @@ -85,7 +84,7 @@

    Source code for pymatgen.db.builders.examples.file_builders

    # self.num_lines, self.num_chars))
    [docs] def finalize(self, errors): - print("{:d} lines, {:d} characters".format(self.num_lines, self.num_chars)) + print(f"{self.num_lines:d} lines, {self.num_chars:d} characters") return True
    @@ -105,7 +104,7 @@

    Source code for pymatgen.db.builders.examples.file_builders

    Quick search
    diff --git a/docs/_modules/pymatgen/db/builders/examples/maxvalue_builder.html b/docs/_modules/pymatgen/db/builders/examples/maxvalue_builder.html index 353762b..6ace071 100644 --- a/docs/_modules/pymatgen/db/builders/examples/maxvalue_builder.html +++ b/docs/_modules/pymatgen/db/builders/examples/maxvalue_builder.html @@ -5,7 +5,7 @@ - pymatgen.db.builders.examples.maxvalue_builder — pymatgen-db 2021.5.28 documentation + pymatgen.db.builders.examples.maxvalue_builder — pymatgen-db 2022.3.17 documentation @@ -37,7 +37,7 @@

    Navigation

  • modules |
  • - + @@ -126,7 +126,7 @@

    Source code for pymatgen.db.builders.examples.maxvalue_builder

    Quick search
    diff --git a/docs/_modules/pymatgen/db/builders/incr.html b/docs/_modules/pymatgen/db/builders/incr.html index 3c6e974..f064371 100644 --- a/docs/_modules/pymatgen/db/builders/incr.html +++ b/docs/_modules/pymatgen/db/builders/incr.html @@ -5,7 +5,7 @@ - pymatgen.db.builders.incr — pymatgen-db 2021.5.28 documentation + pymatgen.db.builders.incr — pymatgen-db 2022.3.17 documentation @@ -37,7 +37,7 @@

    Navigation

  • modules |
  • - + @@ -187,9 +187,7 @@

    Source code for pymatgen.db.builders.incr

             """
             self._collection_name = value
             self._mongo_coll = self.db[value]
    -        self.collection = TrackedCollection(
    -            self._mongo_coll, operation=self._t_op, field=self._t_field
    -        )
    +        self.collection = TrackedCollection(self._mongo_coll, operation=self._t_op, field=self._t_field)
     
     
    [docs] def set_mark(self): """See :meth:`TrackingInterface.set_mark`""" @@ -230,7 +228,7 @@

    Source code for pymatgen.db.builders.incr

                 return getattr(self._coll, item)
     
         def __str__(self):
    -        return "Tracked collection ({})".format(self._coll)
    +        return f"Tracked collection ({self._coll})"
     
     
    [docs] def tracked_find(self, *args, **kwargs): """Replacement for regular ``find()``.""" @@ -250,11 +248,7 @@

    Source code for pymatgen.db.builders.incr

             # update filter with tracker query
             filt.update(self._mark.query)
             # delegate to "real" find()
    -        _log.info(
    -            "tracked_find.end, call: {}.find(args={} kwargs={})".format(
    -                self._coll.name, args, kwargs
    -            )
    -        )
    +        _log.info(f"tracked_find.end, call: {self._coll.name}.find(args={args} kwargs={kwargs})")
             return self._coll_find(*args, **kwargs)
    [docs] def set_mark(self): @@ -318,11 +312,7 @@

    Source code for pymatgen.db.builders.incr

             if rec is None:
                 self._pos = self._empty_pos()
             elif not self._fld in rec:
    -            _log.error(
    -                "Tracking field not found. field={} collection={}".format(
    -                    self._fld, self._c.name
    -                )
    -            )
    +            _log.error(f"Tracking field not found. field={self._fld} collection={self._c.name}")
                 _log.warn("Continuing without tracking")
                 self._pos = self._empty_pos()
             else:
    @@ -435,10 +425,10 @@ 

    Source code for pymatgen.db.builders.incr

                 # Make a 'filter' to find/update existing record, which uses
                 # the field name and operation (but not the position).
                 filt = {k: obj[k] for k in (mark.FLD_FLD, mark.FLD_OP)}
    -            _log.debug("save: upsert-spec={} upsert-obj={}".format(filt, obj))
    +            _log.debug(f"save: upsert-spec={filt} upsert-obj={obj}")
                 self._track.update(filt, obj, upsert=True)
             except pymongo.errors.PyMongoError as err:
    -            raise DBError("{}".format(err))
    + raise DBError(f"{err}")
    [docs] def retrieve(self, operation, field=None): """Retrieve a position in this collection. @@ -490,7 +480,7 @@

    Source code for pymatgen.db.builders.incr

       

    Quick search

    diff --git a/docs/_modules/pymatgen/db/builders/schema.html b/docs/_modules/pymatgen/db/builders/schema.html index 3751938..20542c9 100644 --- a/docs/_modules/pymatgen/db/builders/schema.html +++ b/docs/_modules/pymatgen/db/builders/schema.html @@ -5,7 +5,7 @@ - pymatgen.db.builders.schema — pymatgen-db 2021.5.28 documentation + pymatgen.db.builders.schema — pymatgen-db 2022.3.17 documentation @@ -37,7 +37,7 @@

    Navigation

  • modules |
  • - + @@ -77,7 +77,7 @@

    Source code for pymatgen.db.builders.schema

     
     # Regex for values
     # Note that the special prefix/suffix is optional
    -VALUE_RE = re.compile("(?:{spec})?([a-zA-Z]+)(?:{spec})?\s*(.*)".format(spec=SPECIAL))
    +VALUE_RE = re.compile(r"(?:{spec})?([a-zA-Z]+)(?:{spec})?\s*(.*)".format(spec=SPECIAL))
     
     # Global obj with all collected schemas
     schemata = {}
    @@ -91,7 +91,7 @@ 

    Source code for pymatgen.db.builders.schema

     
     
    [docs]class SchemaTypeError(SchemaError): def __init__(self, typename): - SchemaError.__init__(self, "bad type ({})".format(typename))
    + SchemaError.__init__(self, f"bad type ({typename})")
    [docs]class SchemaPathError(SchemaError): @@ -119,11 +119,11 @@

    Source code for pymatgen.db.builders.schema

             raise SchemaPathError()
         filepat = "*." + ext if ext else "*"
         for f in glob.glob(os.path.join(path, filepat)):
    -        with open(f, "r") as fp:
    +        with open(f) as fp:
                 try:
                     schema = json.load(fp)
                 except ValueError:
    -                raise SchemaParseError("error parsing '{}'".format(f))
    +                raise SchemaParseError(f"error parsing '{f}'")
             name = os.path.splitext(os.path.basename(f))[0]
             schemata[name] = Schema(schema)
    @@ -148,7 +148,7 @@

    Source code for pymatgen.db.builders.schema

         :raise: IOError if file cannot be opened or read, ValueError if
                 file is not valid JSON or JSON is not a valid schema.
         """
    -    fp = open(file_or_fp, "r") if isinstance(file_or_fp, str) else file_or_fp
    +    fp = open(file_or_fp) if isinstance(file_or_fp, str) else file_or_fp
         obj = json.load(fp)
         schema = Schema(obj)
         return schema
    @@ -203,9 +203,7 @@

    Source code for pymatgen.db.builders.schema

     
    [docs] def validate(self, doc, path="(root)"): t = self._whatis(doc) if t != self._type: - return self._vresult( - path, "type mismatch: {} != {}", self._typestr(t), self - ) + return self._vresult(path, "type mismatch: {} != {}", self._typestr(t), self) if t == self.IS_LIST: if len(doc) == 0: return None @@ -213,13 +211,9 @@

    Source code for pymatgen.db.builders.schema

             elif t == self.IS_DICT:
                 # fail if document is missing any required keys
                 dkeys = set(doc.keys())
    -            skeys = set(
    -                filter(lambda k: not self._schema[k].is_optional, self._schema.keys())
    -            )
    +            skeys = set(filter(lambda k: not self._schema[k].is_optional, self._schema.keys()))
                 if skeys - dkeys:
    -                return self._vresult(
    -                    path, "missing keys: ({})".format(", ".join(skeys - dkeys))
    -                )
    +                return self._vresult(path, "missing keys: ({})".format(", ".join(skeys - dkeys)))
                 # check each item in document
                 for k, v in doc.items():
                     if k in self._schema:
    @@ -231,9 +225,7 @@ 

    Source code for pymatgen.db.builders.schema

                         # return self._vresult(path, "missing key: {}", k)
             else:
                 if not self._schema.check(doc):
    -                return self._vresult(
    -                    path, "bad value '{}' for type {}", doc, self._schema
    -                )
    + return self._vresult(path, "bad value '{}' for type {}", doc, self._schema)
    [docs] def json_schema(self, **add_keys): """Convert our compact schema representation to the standard, but more verbose, @@ -287,7 +279,7 @@

    Source code for pymatgen.db.builders.schema

             meta_info = ""
             if self.meta and "desc" in self.meta:
                 meta_info = '="{}"'.format(self.meta["desc"])
    -        return "{}{}: ".format(path, meta_info) + fmt.format(*args)
    +        return f"{path}{meta_info}: " + fmt.format(*args)
     
         def _parse(self, value):
             t = self._type = self._whatis(value)
    @@ -317,9 +309,7 @@ 

    Source code for pymatgen.db.builders.schema

                     optional = True
                 vinfo = VALUE_RE.match(value)
                 if not vinfo:
    -                raise ValueError(
    -                    "bad type format, must be __<type>__ got {}".format(value)
    -                )
    +                raise ValueError(f"bad type format, must be __<type>__ got {value}")
                 dtype, meta = vinfo.groups()
                 return Scalar(dtype, optional=optional, meta=meta)
     
    @@ -337,7 +327,7 @@ 

    Source code for pymatgen.db.builders.schema

             return self._typestr(self._type)
     
         def __repr__(self):
    -        return "document::{}".format(self)
    + return f"document::{self}"
    def _is_datetime(d): @@ -388,7 +378,7 @@

    Source code for pymatgen.db.builders.schema

             return self._type
     
         def __repr__(self):
    -        return "scalar::{}".format(self)
    + return f"scalar::{self}"
    @@ -407,7 +397,7 @@

    Source code for pymatgen.db.builders.schema

       

    Quick search

    diff --git a/docs/_modules/pymatgen/db/builders/util.html b/docs/_modules/pymatgen/db/builders/util.html index d6d1a61..2e73cd9 100644 --- a/docs/_modules/pymatgen/db/builders/util.html +++ b/docs/_modules/pymatgen/db/builders/util.html @@ -5,7 +5,7 @@ - pymatgen.db.builders.util — pymatgen-db 2021.5.28 documentation + pymatgen.db.builders.util — pymatgen-db 2022.3.17 documentation @@ -37,7 +37,7 @@

    Navigation

  • modules |
  • - + @@ -111,8 +111,8 @@

    Source code for pymatgen.db.builders.util

         :raise: IOError, if file is not found or not accessible
         """
         d = get_schema_dir(db_version=db_version)
    -    schemafile = "{}.{}.json".format(db, collection)
    -    f = open(os.path.join(d, schemafile), "r")
    +    schemafile = f"{db}.{collection}.json"
    +    f = open(os.path.join(d, schemafile))
         return f
    @@ -144,7 +144,7 @@

    Source code for pymatgen.db.builders.util

       

    Quick search

    diff --git a/docs/_modules/pymatgen/db/creator.html b/docs/_modules/pymatgen/db/creator.html index 6449ab2..8fa0410 100644 --- a/docs/_modules/pymatgen/db/creator.html +++ b/docs/_modules/pymatgen/db/creator.html @@ -5,7 +5,7 @@ - pymatgen.db.creator — pymatgen-db 2021.5.28 documentation + pymatgen.db.creator — pymatgen-db 2022.3.17 documentation @@ -37,7 +37,7 @@

    Navigation

  • modules |
  • - + @@ -225,7 +225,7 @@

    Source code for pymatgen.db.creator

                 db = conn[self.database]
                 if self.user:
                     db.authenticate(self.user, self.password)
    -            if db.counter.find({"_id": "taskid"}).count() == 0:
    +            if db.counter.count_documents({"_id": "taskid"}) == 0:
                     db.counter.insert_one({"_id": "taskid", "c": 1})
     
     
    [docs] def assimilate(self, path): @@ -252,7 +252,7 @@

    Source code for pymatgen.db.creator

     
    [docs] def calculate_stability(self, d): m = MPRester(self.mapi_key) functional = d["pseudo_potential"]["functional"] - syms = ["{} {}".format(functional, l) for l in d["pseudo_potential"]["labels"]] + syms = [f"{functional} {l}" for l in d["pseudo_potential"]["labels"]] entry = ComputedEntry( Composition(d["unit_cell_formula"]), d["output"]["final_energy"], @@ -266,7 +266,7 @@

    Source code for pymatgen.db.creator

             """
             Get the entire task doc for a path, including any post-processing.
             """
    -        logger.info("Getting task doc for base dir :{}".format(path))
    +        logger.info(f"Getting task doc for base dir :{path}")
             files = os.listdir(path)
             vasprun_files = OrderedDict()
             if "STOPCAR" in files:
    @@ -279,7 +279,7 @@ 

    Source code for pymatgen.db.creator

                             vasprun_files[r] = os.path.join(r, f)
                 else:  # try extension schema
                     for f in files:
    -                    if fnmatch(f, "vasprun.xml.{}*".format(r)):
    +                    if fnmatch(f, f"vasprun.xml.{r}*"):
                             vasprun_files[r] = f
             if len(vasprun_files) == 0:
                 for f in files:  # get any vasprun from the folder
    @@ -291,9 +291,7 @@ 

    Source code for pymatgen.db.creator

                 if not d:
                     d = self.process_killed_run(path)
                 self.post_process(path, d)
    -        elif (
    -            not (path.endswith("relax1") or path.endswith("relax2"))
    -        ) and contains_vasp_input(path):
    +        elif (not (path.endswith("relax1") or path.endswith("relax2"))) and contains_vasp_input(path):
                 # If not Materials Project style, process as a killed run.
                 logger.warning(path + " contains killed run")
                 d = self.process_killed_run(path)
    @@ -324,9 +322,7 @@ 

    Source code for pymatgen.db.creator

                             if "dos" in calc:
                                 dos = json.dumps(calc["dos"], cls=MontyEncoder)
                                 if self.compress_dos:
    -                                dos = zlib.compress(
    -                                    dos.encode("utf-8"), self.compress_dos
    -                                )
    +                                dos = zlib.compress(dos.encode("utf-8"), self.compress_dos)
                                     calc["dos_compression"] = "zlib"
                                 fs = gridfs.GridFS(db, "dos_fs")
                                 dosid = fs.put(dos)
    @@ -336,22 +332,12 @@ 

    Source code for pymatgen.db.creator

                     d["last_updated"] = datetime.datetime.today()
                     if result is None:
                         if ("task_id" not in d) or (not d["task_id"]):
    -                        result = db.counter.find_one_and_update(
    -                            filter={"_id": "taskid"}, update={"$inc": {"c": 1}}
    -                        )
    +                        result = db.counter.find_one_and_update(filter={"_id": "taskid"}, update={"$inc": {"c": 1}})
                             d["task_id"] = result["c"]
    -                    logger.info(
    -                        "Inserting {} with taskid = {}".format(
    -                            d["dir_name"], d["task_id"]
    -                        )
    -                    )
    +                    logger.info("Inserting {} with taskid = {}".format(d["dir_name"], d["task_id"]))
                     elif self.update_duplicates:
                         d["task_id"] = result["task_id"]
    -                    logger.info(
    -                        "Updating {} with taskid = {}".format(
    -                            d["dir_name"], d["task_id"]
    -                        )
    -                    )
    +                    logger.info("Updating {} with taskid = {}".format(d["dir_name"], d["task_id"]))
     
                     coll.update_one({"dir_name": d["dir_name"]}, {"$set": d}, upsert=True)
                     return d["task_id"]
    @@ -359,11 +345,7 @@ 

    Source code for pymatgen.db.creator

                     logger.info("Skipping duplicate {}".format(d["dir_name"]))
             else:
                 d["task_id"] = 0
    -            logger.info(
    -                "Simulated insert into database for {} with task_id {}".format(
    -                    d["dir_name"], d["task_id"]
    -                )
    -            )
    +            logger.info("Simulated insert into database for {} with task_id {}".format(d["dir_name"], d["task_id"]))
                 return d
     
     
    [docs] def post_process(self, dir_name, d): @@ -378,7 +360,7 @@

    Source code for pymatgen.db.creator

                 d:
                     Current doc generated.
             """
    -        logger.info("Post-processing dir:{}".format(dir_name))
    +        logger.info(f"Post-processing dir:{dir_name}")
     
             fullpath = os.path.abspath(dir_name)
     
    @@ -393,7 +375,7 @@ 

    Source code for pymatgen.db.creator

                 with zopen(filenames[0], "rt") as f:
                     transformations = json.load(f)
                     try:
    -                    m = re.match("(\d+)-ICSD", transformations["history"][0]["source"])
    +                    m = re.match(r"(\d+)-ICSD", transformations["history"][0]["source"])
                         if m:
                             d["icsd_id"] = int(m.group(1))
                     except Exception as ex:
    @@ -438,7 +420,7 @@ 

    Source code for pymatgen.db.creator

                     d["calculations"][i]["output"]["outcar"] = outcar.as_dict()
                     run_stats[taskname] = outcar.run_stats
             except:
    -            logger.error("Bad OUTCAR for {}.".format(fullpath))
    +            logger.error(f"Bad OUTCAR for {fullpath}.")
     
             try:
                 overall_run_stats = {}
    @@ -448,10 +430,10 @@ 

    Source code for pymatgen.db.creator

                     "System time (sec)",
                     "Elapsed time (sec)",
                 ]:
    -                overall_run_stats[key] = sum([v[key] for v in run_stats.values()])
    +                overall_run_stats[key] = sum(v[key] for v in run_stats.values())
                 run_stats["overall"] = overall_run_stats
             except:
    -            logger.error("Bad run stats for {}.".format(fullpath))
    +            logger.error(f"Bad run stats for {fullpath}.")
     
             d["run_stats"] = run_stats
     
    @@ -495,17 +477,13 @@ 

    Source code for pymatgen.db.creator

                             d["run_type"] = "GGA"
                     except Exception as ex:
                         print(str(ex))
    -                    logger.error(
    -                        "Unable to parse INCAR for killed run {}.".format(dir_name)
    -                    )
    +                    logger.error(f"Unable to parse INCAR for killed run {dir_name}.")
                 elif fnmatch(f, "KPOINTS*"):
                     try:
                         kpoints = Kpoints.from_file(filename)
                         d["kpoints"] = kpoints.as_dict()
                     except:
    -                    logger.error(
    -                        "Unable to parse KPOINTS for killed run {}.".format(dir_name)
    -                    )
    +                    logger.error(f"Unable to parse KPOINTS for killed run {dir_name}.")
                 elif fnmatch(f, "POSCAR*"):
                     try:
                         s = Poscar.from_file(filename).structure
    @@ -525,9 +503,7 @@ 

    Source code for pymatgen.db.creator

                         )
                         d["poscar"] = s.as_dict()
                     except:
    -                    logger.error(
    -                        "Unable to parse POSCAR for killed run {}.".format(dir_name)
    -                    )
    +                    logger.error(f"Unable to parse POSCAR for killed run {dir_name}.")
                 elif fnmatch(f, "POTCAR*"):
                     try:
                         potcar = Potcar.from_file(filename)
    @@ -537,27 +513,18 @@ 

    Source code for pymatgen.db.creator

                             "labels": potcar.symbols,
                         }
                     except:
    -                    logger.error(
    -                        "Unable to parse POTCAR for killed run in {}.".format(dir_name)
    -                    )
    +                    logger.error(f"Unable to parse POTCAR for killed run in {dir_name}.")
                 elif fnmatch(f, "OSZICAR"):
                     try:
                         d["oszicar"]["root"] = Oszicar(os.path.join(dir_name, f)).as_dict()
                     except:
    -                    logger.error(
    -                        "Unable to parse OSZICAR for killed run in {}.".format(dir_name)
    -                    )
    -            elif re.match("relax\d", f):
    +                    logger.error(f"Unable to parse OSZICAR for killed run in {dir_name}.")
    +            elif re.match(r"relax\d", f):
                     if os.path.exists(os.path.join(dir_name, f, "OSZICAR")):
                         try:
    -                        d["oszicar"][f] = Oszicar(
    -                            os.path.join(dir_name, f, "OSZICAR")
    -                        ).as_dict()
    +                        d["oszicar"][f] = Oszicar(os.path.join(dir_name, f, "OSZICAR")).as_dict()
                         except:
    -                        logger.error(
    -                            "Unable to parse OSZICAR for killed "
    -                            "run in {}.".format(dir_name)
    -                        )
    +                        logger.error("Unable to parse OSZICAR for killed " "run in {}.".format(dir_name))
             return d
    [docs] def process_vasprun(self, dir_name, taskname, filename): @@ -565,27 +532,21 @@

    Source code for pymatgen.db.creator

             Process a vasprun.xml file.
             """
             vasprun_file = os.path.join(dir_name, filename)
    -        if self.parse_projected_eigen and (
    -            self.parse_projected_eigen != "final" or taskname == self.runs[-1]
    -        ):
    +        if self.parse_projected_eigen and (self.parse_projected_eigen != "final" or taskname == self.runs[-1]):
                 parse_projected_eigen = True
             else:
                 parse_projected_eigen = False
             r = Vasprun(vasprun_file, parse_projected_eigen=parse_projected_eigen)
             d = r.as_dict()
             d["dir_name"] = os.path.abspath(dir_name)
    -        d["completed_at"] = str(
    -            datetime.datetime.fromtimestamp(os.path.getmtime(vasprun_file))
    -        )
    +        d["completed_at"] = str(datetime.datetime.fromtimestamp(os.path.getmtime(vasprun_file)))
             d["cif"] = str(CifWriter(r.final_structure))
             d["density"] = r.final_structure.density
             if self.parse_dos and (self.parse_dos != "final" or taskname == self.runs[-1]):
                 try:
                     d["dos"] = r.complete_dos.as_dict()
                 except Exception:
    -                logger.warning(
    -                    "No valid dos data exist in {}.\n Skipping dos".format(dir_name)
    -                )
    +                logger.warning(f"No valid dos data exist in {dir_name}.\n Skipping dos")
             if taskname == "relax1" or taskname == "relax2":
                 d["task"] = {"type": "aflow", "name": taskname}
             else:
    @@ -607,8 +568,7 @@ 

    Source code for pymatgen.db.creator

                 d["dir_name"] = fullpath
                 d["schema_version"] = VaspToDbTaskDrone.__version__
                 d["calculations"] = [
    -                self.process_vasprun(dir_name, taskname, filename)
    -                for taskname, filename in vasprun_files.items()
    +                self.process_vasprun(dir_name, taskname, filename) for taskname, filename in vasprun_files.items()
                 ]
                 d1 = d["calculations"][0]
                 d2 = d["calculations"][-1]
    @@ -642,9 +602,7 @@ 

    Source code for pymatgen.db.creator

                     "xc_override": xc,
                 }
                 vals = sorted(d2["reduced_cell_formula"].values())
    -            d["anonymous_formula"] = {
    -                string.ascii_uppercase[i]: float(vals[i]) for i in range(len(vals))
    -            }
    +            d["anonymous_formula"] = {string.ascii_uppercase[i]: float(vals[i]) for i in range(len(vals))}
                 d["output"] = {
                     "crystal": d2["output"]["crystal"],
                     "final_energy": d2["output"]["final_energy"],
    @@ -659,13 +617,8 @@ 

    Source code for pymatgen.db.creator

                     "pot_type": pot_type.lower(),
                     "labels": d2["input"]["potcar"],
                 }
    -            if (
    -                len(d["calculations"]) == len(self.runs)
    -                or list(vasprun_files.keys())[0] != "relax1"
    -            ):
    -                d["state"] = (
    -                    "successful" if d2["has_vasp_completed"] else "unsuccessful"
    -                )
    +            if len(d["calculations"]) == len(self.runs) or list(vasprun_files.keys())[0] != "relax1":
    +                d["state"] = "successful" if d2["has_vasp_completed"] else "unsuccessful"
                 else:
                     d["state"] = "stopped"
                 d["analysis"] = get_basic_analysis_and_error_checks(d)
    @@ -686,9 +639,7 @@ 

    Source code for pymatgen.db.creator

                 import traceback
     
                 print(traceback.format_exc())
    -            logger.error(
    -                "Error in " + os.path.abspath(dir_name) + ".\n" + traceback.format_exc()
    -            )
    +            logger.error("Error in " + os.path.abspath(dir_name) + ".\n" + traceback.format_exc())
     
                 return None
    @@ -744,9 +695,7 @@

    Source code for pymatgen.db.creator

             return output
    -
    [docs]def get_basic_analysis_and_error_checks( - d, max_force_threshold=0.5, volume_change_threshold=0.2 -): +
    [docs]def get_basic_analysis_and_error_checks(d, max_force_threshold=0.5, volume_change_threshold=0.2): initial_vol = d["input"]["crystal"]["lattice"]["volume"] final_vol = d["output"]["crystal"]["lattice"]["volume"] @@ -763,34 +712,24 @@

    Source code for pymatgen.db.creator

         error_msgs = []
     
         if abs(percent_delta_vol) > volume_change_threshold:
    -        warning_msgs.append("Volume change > {}%".format(volume_change_threshold * 100))
    +        warning_msgs.append(f"Volume change > {volume_change_threshold * 100}%")
     
         bv_struct = Structure.from_dict(d["output"]["crystal"])
         try:
             bva = BVAnalyzer()
             bv_struct = bva.get_oxi_state_decorated_structure(bv_struct)
         except ValueError as e:
    -        logger.error("Valence cannot be determined due to {e}.".format(e=e))
    +        logger.error(f"Valence cannot be determined due to {e}.")
         except Exception as ex:
    -        logger.error("BVAnalyzer error {e}.".format(e=str(ex)))
    +        logger.error(f"BVAnalyzer error {str(ex)}.")
     
         max_force = None
    -    if (
    -        d["state"] == "successful"
    -        and d["calculations"][0]["input"]["parameters"].get("NSW", 0) > 0
    -    ):
    +    if d["state"] == "successful" and d["calculations"][0]["input"]["parameters"].get("NSW", 0) > 0:
             # handle the max force and max force error
    -        max_force = max(
    -            [
    -                np.linalg.norm(a)
    -                for a in d["calculations"][-1]["output"]["ionic_steps"][-1]["forces"]
    -            ]
    -        )
    +        max_force = max(np.linalg.norm(a) for a in d["calculations"][-1]["output"]["ionic_steps"][-1]["forces"])
     
             if max_force > max_force_threshold:
    -            error_msgs.append(
    -                "Final max force exceeds {} eV".format(max_force_threshold)
    -            )
    +            error_msgs.append(f"Final max force exceeds {max_force_threshold} eV")
                 d["state"] = "error"
     
             s = Structure.from_dict(d["output"]["crystal"])
    @@ -826,9 +765,7 @@ 

    Source code for pymatgen.db.creator

             KPOINTS and POTCAR).
         """
         for f in ["INCAR", "POSCAR", "POTCAR", "KPOINTS"]:
    -        if not os.path.exists(os.path.join(dir_name, f)) and not os.path.exists(
    -            os.path.join(dir_name, f + ".orig")
    -        ):
    +        if not os.path.exists(os.path.join(dir_name, f)) and not os.path.exists(os.path.join(dir_name, f + ".orig")):
                 return False
         return True
    @@ -876,7 +813,7 @@

    Source code for pymatgen.db.creator

             hostname = socket.gethostbyaddr(socket.gethostname())[0]
         except:
             hostname = socket.gethostname()
    -    return "{}:{}".format(hostname, fullpath)
    + return f"{hostname}:{fullpath}"
    @@ -895,7 +832,7 @@

    Source code for pymatgen.db.creator

       

    Quick search

    diff --git a/docs/_modules/pymatgen/db/dbconfig.html b/docs/_modules/pymatgen/db/dbconfig.html index 4ab8fd5..99b5021 100644 --- a/docs/_modules/pymatgen/db/dbconfig.html +++ b/docs/_modules/pymatgen/db/dbconfig.html @@ -5,7 +5,7 @@ - pymatgen.db.dbconfig — pymatgen-db 2021.5.28 documentation + pymatgen.db.dbconfig — pymatgen-db 2022.3.17 documentation @@ -37,7 +37,7 @@

    Navigation

  • modules |
  • - + @@ -67,7 +67,7 @@

    Source code for pymatgen.db.dbconfig

     __date__ = "4/25/14"
     
     import os
    -import yaml
    +import ruamel.yaml as yaml
     
     # Constants for keys
     HOST_KEY = "host"
    @@ -81,7 +81,7 @@ 

    Source code for pymatgen.db.dbconfig

     
     
    [docs]class ConfigurationFileError(Exception): def __init__(self, filename, err): - msg = "reading '{}': {}".format(filename, err) + msg = f"reading '{filename}': {err}" Exception.__init__(self, msg)
    @@ -193,7 +193,7 @@

    Source code for pymatgen.db.dbconfig

         """
         settings = yaml.safe_load(_as_file(infile))
         if not hasattr(settings, "keys"):
    -        raise ValueError("Settings not found in {}".format(infile))
    +        raise ValueError(f"Settings not found in {infile}")
     
         # Processing of namespaced parameters in .pmgrc.yaml.
         processed_settings = {}
    @@ -280,7 +280,7 @@ 

    Source code for pymatgen.db.dbconfig

       

    Quick search

    diff --git a/docs/_modules/pymatgen/db/dbgroup.html b/docs/_modules/pymatgen/db/dbgroup.html index 10493a0..28ba9d1 100644 --- a/docs/_modules/pymatgen/db/dbgroup.html +++ b/docs/_modules/pymatgen/db/dbgroup.html @@ -5,7 +5,7 @@ - pymatgen.db.dbgroup — pymatgen-db 2021.5.28 documentation + pymatgen.db.dbgroup — pymatgen-db 2022.3.17 documentation @@ -37,7 +37,7 @@

    Navigation

  • modules |
  • - + @@ -111,9 +111,9 @@

    Source code for pymatgen.db.dbgroup

                 cfg = dbconfig.DBConfig(config_file=config)
                 cs = cfg.settings
                 if dbconfig.DB_KEY not in cs:
    -                raise ValueError("No database in '{}'".format(config))
    +                raise ValueError(f"No database in '{config}'")
                 if dbconfig.COLL_KEY in cs:
    -                name = "{}.{}".format(cs[dbconfig.DB_KEY], cs[dbconfig.COLL_KEY])
    +                name = f"{cs[dbconfig.DB_KEY]}.{cs[dbconfig.COLL_KEY]}"
                 else:
                     name = cs[dbconfig.DB_KEY]
                 self.add(name, cfg)
    @@ -223,11 +223,7 @@ 

    Source code for pymatgen.db.dbgroup

                 for k, v in self._d.re_get(name).items():
                     qe[k] = self._get_qe(k, v)
                 if not qe:
    -                raise KeyError(
    -                    "No configuration found, name='{}' full-regex='{}'".format(
    -                        orig_name, name
    -                    )
    -                )
    +                raise KeyError(f"No configuration found, name='{orig_name}' full-regex='{name}'")
             else:
                 qe = self._get_qe(name, self._d[name])
             return qe
    @@ -329,7 +325,7 @@ 

    Source code for pymatgen.db.dbgroup

       

    Quick search

    diff --git a/docs/_modules/pymatgen/db/query_engine.html b/docs/_modules/pymatgen/db/query_engine.html index b3ac246..2cc0a19 100644 --- a/docs/_modules/pymatgen/db/query_engine.html +++ b/docs/_modules/pymatgen/db/query_engine.html @@ -5,7 +5,7 @@ - pymatgen.db.query_engine — pymatgen-db 2021.5.28 documentation + pymatgen.db.query_engine — pymatgen-db 2022.3.17 documentation @@ -37,7 +37,7 @@

    Navigation

  • modules |
  • - + @@ -69,7 +69,8 @@

    Source code for pymatgen.db.query_engine

     import os
     import gridfs
     import zlib
    -from collections import OrderedDict, Iterable
    +from collections import OrderedDict
    +from collections.abc import Iterable
     
     import pymongo
     from pymongo import MongoClient
    @@ -131,7 +132,7 @@ 

    Source code for pymatgen.db.query_engine

             result_post=None,
             connection=None,
             replicaset=None,
    -        **ignore
    +        **ignore,
         ):
             """Constructor.
     
    @@ -187,9 +188,7 @@ 

    Source code for pymatgen.db.query_engine

             if connection is None:
                 # can't pass replicaset=None to MongoClient (fails validation)
                 if self.replicaset:
    -                self.connection = MongoClient(
    -                    self.host, self.port, replicaset=self.replicaset
    -                )
    +                self.connection = MongoClient(self.host, self.port, replicaset=self.replicaset)
                 else:
                     self.connection = MongoClient(self.host, self.port)
             else:
    @@ -198,9 +197,7 @@ 

    Source code for pymatgen.db.query_engine

             if user:
                 self.db.authenticate(user, password)
             self.collection_name = collection
    -        self.set_aliases_and_defaults(
    -            aliases_config=aliases_config, default_properties=default_properties
    -        )
    +        self.set_aliases_and_defaults(aliases_config=aliases_config, default_properties=default_properties)
             # Post-processing functions
             self.query_post = query_post or []
             self.result_post = result_post or []
    @@ -260,9 +257,7 @@ 

    Source code for pymatgen.db.query_engine

             if default_properties is None:
                 self._default_props, self._default_prop_dict = None, None
             else:
    -            self._default_props, self._default_prop_dict = self._parse_properties(
    -                default_properties
    -            )
    + self._default_props, self._default_prop_dict = self._parse_properties(default_properties)
    def __enter__(self): """Allows for use with the 'with' context manager""" @@ -375,7 +370,7 @@

    Source code for pymatgen.db.query_engine

             for c in self.query(fields, criteria):
                 func = c["pseudo_potential.functional"]
                 labels = c["pseudo_potential.labels"]
    -            symbols = ["{} {}".format(func, label) for label in labels]
    +            symbols = [f"{func} {label}" for label in labels]
                 parameters = {
                     "run_type": c["run_type"],
                     "is_hubbard": c["is_hubbard"],
    @@ -435,7 +430,7 @@ 

    Source code for pymatgen.db.query_engine

                     comp = Composition(crit)
                     crit = comp.as_dict()
                     for el, amt in crit.items():
    -                    parsed_crit["{}.{}".format(self.aliases[key], el)] = amt
    +                    parsed_crit[f"{self.aliases[key]}.{el}"] = amt
                     parsed_crit["nelements"] = len(crit)
                     parsed_crit["pretty_formula"] = comp.reduced_formula
                 elif key in ["$or", "$and"]:
    @@ -449,7 +444,7 @@ 

    Source code for pymatgen.db.query_engine

             return self.collection.ensure_index(key, unique=unique)
    [docs] def query(self, properties=None, criteria=None, distinct_key=None, **kwargs): - """ + r""" Convenience method for database access. All properties and criteria can be specified using simplified names defined in Aliases. You can use the supported_properties property to get the list of supported @@ -494,8 +489,8 @@

    Source code for pymatgen.db.query_engine

             if distinct_key is not None:
                 cur = cur.distinct(distinct_key)
                 return QueryListResults(prop_dict, cur, postprocess=self.result_post)
    -        else:
    -            return QueryResults(prop_dict, cur, postprocess=self.result_post)
    + + return QueryResults(prop_dict, cur, postprocess=self.result_post)
    def _parse_properties(self, properties): """Make list of properties into 2 things: @@ -551,16 +546,14 @@

    Source code for pymatgen.db.query_engine

             results = tuple(self.query([field], args))
     
             if len(results) > 1:
    -            raise QueryError(
    -                "More than one result found for task_id {}!".format(task_id)
    -            )
    +            raise QueryError(f"More than one result found for task_id {task_id}!")
             elif len(results) == 0:
    -            raise QueryError("No structure found for task_id {}!".format(task_id))
    +            raise QueryError(f"No structure found for task_id {task_id}!")
             c = results[0]
             return Structure.from_dict(c[field])
    def __repr__(self): - return "QueryEngine: {}:{}/{}".format(self.host, self.port, self.database_name) + return f"QueryEngine: {self.host}:{self.port}/{self.database_name}"
    [docs] @staticmethod def from_config(config_file, use_admin=False): @@ -626,9 +619,7 @@

    Source code for pymatgen.db.query_engine

                         for j in range(len(ados)):
                             orb = Orbital(j)
                             odos = ados[str(orb)]
    -                        all_ados[orb] = {
    -                            Spin(int(k)): v for k, v in odos["densities"].items()
    -                        }
    +                        all_ados[orb] = {Spin(int(k)): v for k, v in odos["densities"].items()}
                         pdoss[structure[i]] = all_ados
                     return CompleteDos(structure, tdos, pdoss)
             return None
    @@ -696,7 +687,7 @@

    Source code for pymatgen.db.query_engine

     
         def __len__(self):
             """Return length as a `count()` on the MongoDB cursor."""
    -        return self._results.count()
    +        return len(list(self._results.clone()))
     
         def __getitem__(self, i):
             return self._mapped_result(self._results[i])
    @@ -779,7 +770,7 @@ 

    Source code for pymatgen.db.query_engine

       

    Quick search

    diff --git a/docs/_modules/pymatgen/db/util.html b/docs/_modules/pymatgen/db/util.html index 6d64c2c..c5ad6d8 100644 --- a/docs/_modules/pymatgen/db/util.html +++ b/docs/_modules/pymatgen/db/util.html @@ -5,7 +5,7 @@ - pymatgen.db.util — pymatgen-db 2021.5.28 documentation + pymatgen.db.util — pymatgen-db 2022.3.17 documentation @@ -37,7 +37,7 @@

    Navigation

  • modules |
  • - + @@ -111,10 +111,7 @@

    Source code for pymatgen.db.util

             passwd = d["admin_password"] if admin else d["readonly_password"]
             db.authenticate(user, passwd)
         except (KeyError, TypeError, ValueError):
    -        _log.warn(
    -            "No {admin,readonly}_user/password found in config. file, "
    -            "accessing DB without authentication"
    -        )
    +        _log.warn("No {admin,readonly}_user/password found in config. file, " "accessing DB without authentication")
         return db
    @@ -137,8 +134,7 @@

    Source code for pymatgen.db.util

             for k in x:
                 yield (pre + k)
                 if isinstance(x[k], dict):
    -                for nested in _keys(x[k], pre + k + sep):
    -                    yield nested
    +                yield from _keys(x[k], pre + k + sep)
     
         return list(_keys(coll.find_one()))
    @@ -153,21 +149,19 @@

    Source code for pymatgen.db.util

     
    [docs]def quotable(v): if isinstance(v, int) or isinstance(v, float): return str(v) - return "'{}'".format(v)
    + return f"'{v}'"
    [docs]def csv_dict(d): """Format dict to a string with comma-separated values.""" if len(d) == 0: return "{}" - return ( - "{" + ", ".join(["'{}': {}".format(k, quotable(v)) for k, v in d.items()]) + "}" - )
    + return "{" + ", ".join([f"'{k}': {quotable(v)}" for k, v in d.items()]) + "}"
    [docs]def kvp_dict(d): """Format dict to key=value pairs.""" - return ", ".join(["{}={}".format(k, quotable(v)) for k, v in d.items()])
    + return ", ".join([f"{k}={quotable(v)}" for k, v in d.items()])
    @@ -186,7 +180,7 @@

    Source code for pymatgen.db.util

       

    Quick search

    diff --git a/docs/_modules/pymatgen/db/vv/diff.html b/docs/_modules/pymatgen/db/vv/diff.html index b5c1936..0ddd009 100644 --- a/docs/_modules/pymatgen/db/vv/diff.html +++ b/docs/_modules/pymatgen/db/vv/diff.html @@ -5,7 +5,7 @@ - pymatgen.db.vv.diff — pymatgen-db 2021.5.28 documentation + pymatgen.db.vv.diff — pymatgen-db 2022.3.17 documentation @@ -37,7 +37,7 @@

    Navigation

  • modules |
  • - + @@ -148,9 +148,7 @@

    Source code for pymatgen.db.vv.diff

                 for cfg in c1, c2:
                     settings = util.get_settings(cfg)
                     if not normalize_auth(settings):
    -                    _log.warn(
    -                        "Config file {} does not have a username/password".format(cfg)
    -                    )
    +                    _log.warn(f"Config file {cfg} does not have a username/password")
                     settings["aliases_config"] = {"aliases": {}, "defaults": {}}
                     engine = QueryEngine(**settings)
                     engines.append(engine)
    @@ -170,12 +168,12 @@ 

    Source code for pymatgen.db.vv.diff

             info = {}  # per-key information
             has_info, has_props = bool(self._info), bool(self._all_props)
             has_numprops, has_eqprops = bool(self._prop_deltas), bool(self._props)
    -        _log.info("query.start query={} fields={}".format(self._filter, fields))
    +        _log.info(f"query.start query={self._filter} fields={fields}")
             t0 = time.time()
     
             # Main query loop.
             for i, coll in enumerate(engines):
    -            _log.debug("collection {:d}".format(i))
    +            _log.debug(f"collection {i:d}")
                 count, missing_props = 0, 0
                 for rec in coll.query(criteria=self._filter, properties=fields):
                     count += 1
    @@ -183,14 +181,10 @@ 

    Source code for pymatgen.db.vv.diff

                     try:
                         key = rec[self._key_field]
                     except KeyError:
    -                    _log.critical(
    -                        "Key '{}' not found in record: {}. Abort.".format(
    -                            self._key_field, rec
    -                        )
    -                    )
    +                    _log.critical(f"Key '{self._key_field}' not found in record: {rec}. Abort.")
                         return {}
                     if not allow_dup and key in keys[i]:
    -                    raise ValueError("Duplicate key: {}".format(key))
    +                    raise ValueError(f"Duplicate key: {key}")
                     keys[i].add(key)
                     # Extract numeric properties.
                     if has_numprops:
    @@ -212,7 +206,7 @@ 

    Source code for pymatgen.db.vv.diff

                     # Extract properties for exact match.
                     if has_eqprops:
                         try:
    -                        propval = tuple([(p, str(rec[p])) for p in self._props])
    +                        propval = tuple((p, str(rec[p])) for p in self._props)
                         except KeyError:
                             missing_props += 1
                             # print("@@ missing {} on {}".format(pkey, rec))
    @@ -228,19 +222,13 @@ 

    Source code for pymatgen.db.vv.diff

     
                 # Stop if we don't have properties on any record at all
                 if 0 < count == missing_props:
    -                _log.critical(
    -                    "Missing one or more properties on all {:d} records".format(count)
    -                )
    +                _log.critical(f"Missing one or more properties on all {count:d} records")
                     return {}
                 # ..but only issue a warning for partially missing properties.
                 elif missing_props > 0:
    -                _log.warn(
    -                    "Missing one or more properties for {:d}/{:d} records".format(
    -                        missing_props, count
    -                    )
    -                )
    +                _log.warn(f"Missing one or more properties for {missing_props:d}/{count:d} records")
             t1 = time.time()
    -        _log.info("query.end sec={:f}".format(t1 - t0))
    +        _log.info(f"query.end sec={t1 - t0:f}")
     
             # Compute missing and new keys.
             if only_values:
    @@ -308,10 +296,10 @@ 

    Source code for pymatgen.db.vv.diff

                                 self.CHANGED_MATCH_KEY: self.CHANGED_MATCH_DELTA,
                                 self._key_field: key,
                                 "property": pkey,
    -                            self.CHANGED_OLD: "{:f}".format(oldval),
    -                            self.CHANGED_NEW: "{:f}".format(newval),
    +                            self.CHANGED_OLD: f"{oldval:f}",
    +                            self.CHANGED_NEW: f"{newval:f}",
                                 "rule": self._prop_deltas[pkey],
    -                            self.CHANGED_DELTA: "{:f}".format(newval - oldval),
    +                            self.CHANGED_DELTA: f"{newval - oldval:f}",
                             }
                             changed.append(_up(change, info[key]) if info else change)
                 # Exact property comparison.
    @@ -342,11 +330,11 @@ 

    Source code for pymatgen.db.vv.diff

             ...%     Instead of (v2 - v1), use 100*(v2 - v1)/v1
         """
     
    -    _num = "\d+(\.\d+)?"
    +    _num = r"\d+(\.\d+)?"
         _expr = re.compile(
             "(?:"
    -        "\+(?P<X>{n})?-(?P<Y>{n})?|"  # both + and -
    -        "\+(?P<X2>{n})?|"  # only +
    +        r"\+(?P<X>{n})?-(?P<Y>{n})?|"  # both + and -
    +        r"\+(?P<X2>{n})?|"  # only +
             "-(?P<Y2>{n})?"  # only -
             ")"
             "(?P<eq>=)?(?P<pct>%)?".format(n=_num)
    @@ -362,10 +350,10 @@ 

    Source code for pymatgen.db.vv.diff

             # Match expression.
             m = self._expr.match(s)
             if m is None:
    -            raise ValueError("Bad syntax for delta '{}'".format(s))
    +            raise ValueError(f"Bad syntax for delta '{s}'")
             if m.span()[1] != len(s):
                 p = m.span()[1]
    -            raise ValueError("Junk at end of delta '{}': {}".format(s, s[p:]))
    +            raise ValueError(f"Junk at end of delta '{s}': {s[p:]}")
     
             # Save a copy of orig.
             self._orig_expr = s
    @@ -379,12 +367,12 @@ 

    Source code for pymatgen.db.vv.diff

             # Set parsed values.
             d = m.groupdict()
             # print("@@ expr :: {}".format(d))
    -        if all((d[k] is None for k in ("X", "Y", "X2", "Y2"))):
    +        if all(d[k] is None for k in ("X", "Y", "X2", "Y2")):
                 # Change in sign only
                 self._sign = True
                 self._eq = d["eq"] is not None
             elif d["X"] is not None and d["Y"] is None:
    -            raise ValueError("Missing value for negative delta '{}'".format(s))
    +            raise ValueError(f"Missing value for negative delta '{s}'")
             else:
                 if d["X2"] is not None:
                     # Positive only
    @@ -492,7 +480,7 @@ 

    Source code for pymatgen.db.vv.diff

       

    Quick search

    diff --git a/docs/_modules/pymatgen/db/vv/report.html b/docs/_modules/pymatgen/db/vv/report.html index f0c3e26..b930273 100644 --- a/docs/_modules/pymatgen/db/vv/report.html +++ b/docs/_modules/pymatgen/db/vv/report.html @@ -5,7 +5,7 @@ - pymatgen.db.vv.report — pymatgen-db 2021.5.28 documentation + pymatgen.db.vv.report — pymatgen-db 2022.3.17 documentation @@ -37,7 +37,7 @@

    Navigation

  • modules |
  • - + @@ -164,9 +164,7 @@

    Source code for pymatgen.db.vv.report

     
     
    [docs] def add(self, values): if len(values) != self._width: - raise ValueError( - "expected {:d} values, got {:d}".format(self._width, len(values)) - ) + raise ValueError(f"expected {self._width:d} values, got {len(values):d}") self._rows.append(values) for i, v in enumerate(values): n = len(str(v)) @@ -183,10 +181,10 @@

    Source code for pymatgen.db.vv.report

                 try:
                     colnum = self._colnames.index(name)
                 except ValueError:
    -                raise ValueError("column {} not in {}".format(name, self._colnames))
    +                raise ValueError(f"column {name} not in {self._colnames}")
             else:
                 if index < 0 or index >= self._width:
    -                raise ValueError("index out of range 0..{:d}".format(self._width - 1))
    +                raise ValueError(f"index out of range 0..{self._width - 1:d}")
                 colnum = index
             self._rows.sort(key=itemgetter(colnum))
    @@ -195,9 +193,7 @@

    Source code for pymatgen.db.vv.report

     
         @property
         def values(self):
    -        return [
    -            {self._colnames[i]: r[i] for i in range(self._width)} for r in self._rows
    -        ]
    +        return [{self._colnames[i]: r[i] for i in range(self._width)} for r in self._rows]
     
         @property
         def column_names(self):
    @@ -266,7 +262,7 @@ 

    Source code for pymatgen.db.vv.report

             text = []
             text.append("<!DOCTYPE html>")
             text.append("<html>")
    -        text.append("<title>{}</title>".format(report.header.title))
    +        text.append(f"<title>{report.header.title}</title>")
             text.append("<head>")
             if self._css:
                 text.append("<style>")
    @@ -274,30 +270,30 @@ 

    Source code for pymatgen.db.vv.report

                 text.append("</style>")
             text.append("</head>")
             text.append("<body>")
    -        text.append("<h1>{}</h1>".format(report.header.title))
    +        text.append(f"<h1>{report.header.title}</h1>")
             text.append('<dl class="rptmeta">')
             for key, value in report.header:
    -            text.append("<dt>{}</dt>".format(key))
    -            text.append("<dd>{}</dd>".format(value))
    +            text.append(f"<dt>{key}</dt>")
    +            text.append(f"<dd>{value}</dd>")
             text.append("</dl>")
             for section in report:
    -            text.append("<h2>{}</h2>".format(section.header.title))
    +            text.append(f"<h2>{section.header.title}</h2>")
                 text.append('<dl class="sectmeta">')
                 for key, value in section.header:
    -                text.append("<dt>{}</dt>".format(key))
    -                text.append("<dd>{}</dd>".format(value))
    +                text.append(f"<dt>{key}</dt>")
    +                text.append(f"<dd>{value}</dd>")
                 text.append("</dl>")
                 for cond_section in section:
    -                text.append("<h3>{}</h3>".format(cond_section.header.title))
    +                text.append(f"<h3>{cond_section.header.title}</h3>")
                     text.append('<dl class="subsectmeta">')
                     for key, value in cond_section.header:
    -                    text.append("<dt>{}</dt>".format(key))
    -                    text.append("<dd>{}</dd>".format(value))
    +                    text.append(f"<dt>{key}</dt>")
    +                    text.append(f"<dd>{value}</dd>")
                     text.append("</dl>")
                     text.append("<table>")
                     text.append("<tr>")
                     for name in cond_section.body.column_names:
    -                    text.append("<th>{}</th>".format(name))
    +                    text.append(f"<th>{name}</th>")
                     text.append("</tr>")
                     prev_key, i = None, 0
                     for row in cond_section.body:
    @@ -309,9 +305,9 @@ 

    Source code for pymatgen.db.vv.report

                             prev_key = key
                             i += 1
                         rclass = ("even", "odd")[i % 2]
    -                    text.append('<tr class="{}">'.format(rclass))
    +                    text.append(f'<tr class="{rclass}">')
                         for value in row:
    -                        text.append("<td>{}</td>".format(value))
    +                        text.append(f"<td>{value}</td>")
                         text.append("</tr>")
                     text.append("</table>")
             text.append("</body>")
    @@ -336,10 +332,7 @@ 

    Source code for pymatgen.db.vv.report

                     dict(
                         title=s.header.title,
                         info=s.header,
    -                    conditions=[
    -                        dict(title=cs.header.title, info=cs.header, violations=cs.body)
    -                        for cs in s
    -                    ],
    +                    conditions=[dict(title=cs.header.title, info=cs.header, violations=cs.body) for cs in s],
                     )
                     for s in report
                 ],
    @@ -363,12 +356,10 @@ 

    Source code for pymatgen.db.vv.report

             self._idcol = id_column
     
         def _mapdump(self, d):
    -        return ", ".join((("{}={}".format(k, v) for k, v in d.items())))
    +        return ", ".join((f"{k}={v}" for k, v in d.items()))
     
         def _fixed_width(self, values, widths):
    -        s = "".join(
    -            ["{{:{:d}s}}".format(w + 1).format(str(v)) for w, v in zip(widths, values)]
    -        )
    +        s = "".join([f"{{:{w + 1:d}s}}".format(str(v)) for w, v in zip(widths, values)])
             return s
     
     
    [docs] def format(self, report): @@ -389,12 +380,12 @@

    Source code for pymatgen.db.vv.report

                 return
             infodict = info.as_dict()
             if infodict:
    -            text = "Info: {}".format(self._mapdump(infodict))
    +            text = f"Info: {self._mapdump(infodict)}"
                 lines.append(text)
     
         def _append_heading(self, lines, level, title):
             hashes = "#" * level
    -        text = "\n{} {} {}\n".format(hashes, title, hashes)
    +        text = f"\n{hashes} {title} {hashes}\n"
             lines.append(text)
     
         def _append_violations(self, lines, data):
    @@ -415,7 +406,7 @@ 

    Source code for pymatgen.db.vv.report

             subject="Report",
             server="localhost",
             port=None,
    -        **kwargs
    +        **kwargs,
         ):
             """Send reports as email.
     
    @@ -454,7 +445,7 @@ 

    Source code for pymatgen.db.vv.report

             elif sub_fmt.lower() == "html":
                 msg = MIMEText(text, "html")
             else:
    -            raise ValueError("Unknown message format: {}".format(fmt))
    +            raise ValueError(f"Unknown message format: {fmt}")
             msg["Subject"] = self._subject
             msg["From"] = self._sender
             msg["To"] = ", ".join(self._recipients)
    @@ -462,25 +453,19 @@ 

    Source code for pymatgen.db.vv.report

                 conn_kwargs = dict(host=self._server)
             else:
                 conn_kwargs = dict(host=self._server, port=self._port)
    -        self._log.info("connect to email server {}".format(conn_kwargs))
    +        self._log.info(f"connect to email server {conn_kwargs}")
             try:
                 s = smtplib.SMTP(**conn_kwargs)
                 # s.set_debuglevel(2)
                 refused = s.sendmail(self._sender, self._recipients, msg.as_string())
                 if refused:
    -                self._log.warn(
    -                    "Email to {:d} recipients was refused".format(len(refused))
    -                )
    +                self._log.warn(f"Email to {len(refused):d} recipients was refused")
                     for person, (code, msg) in refused.items():
    -                    self._log(
    -                        "Email to {p} was refused ({c}): {m}".format(
    -                            p=person, c=code, m=msg
    -                        )
    -                    )
    +                    self._log(f"Email to {person} was refused ({code}): {msg}")
                 s.quit()
                 n_recip = len(self._recipients)
             except Exception as err:
    -            self._log.error("connection to SMTP server failed: {}".format(err))
    +            self._log.error(f"connection to SMTP server failed: {err}")
                 n_recip = 0
             return n_recip
    @@ -531,7 +516,7 @@

    Source code for pymatgen.db.vv.report

                 if key not in maxwid:
                     maxwid[key] = [len(k) for k in key]
                 for i, k in enumerate(key):
    -                strlen = len("{}".format(r[k]))
    +                strlen = len(f"{r[k]}")
                     maxwid[key][i] = max(maxwid[key][i], strlen)
             return keyset, maxwid
    @@ -540,9 +525,7 @@

    Source code for pymatgen.db.vv.report

             columns = list(columns)  # might be a tuple
             fixed_cols = [self.key]
             if section.lower() == "different":
    -            fixed_cols.extend(
    -                [Differ.CHANGED_MATCH_KEY, Differ.CHANGED_OLD, Differ.CHANGED_NEW]
    -            )
    +            fixed_cols.extend([Differ.CHANGED_MATCH_KEY, Differ.CHANGED_OLD, Differ.CHANGED_NEW])
             map(columns.remove, fixed_cols)
             columns.sort()
             return fixed_cols + columns
    @@ -669,7 +652,7 @@

    Source code for pymatgen.db.vv.report

             :rtype: str
             """
             css = "\n".join(self.css)
    -        content = "{}{}".format(self._header(), self._body(result))
    +        content = f"{self._header()}{self._body(result)}"
             if self._email:
                 text = """<!DOCTYPE html>
                 <html>
    @@ -690,7 +673,7 @@ 

    Source code for pymatgen.db.vv.report

     
         def _header(self):
             lines = [
    -            "<div class='header'><h1{{sh1}}>{t}</h1>".format(t=self.TITLE),
    +            f"<div class='header'><h1{{sh1}}>{self.TITLE}</h1>",
                 "<p{sp}>Compared <em{sem}>{{db1}}</em> with <em{sem}>{{db2}}</em></p>",
                 "<p{sp}>Filter: <span class='fixed'>{{filter}}</span></p>",
                 "<p{sp}>Run time: <em{sem}>{{start_time}}</em> to <em{sem}>{{end_time}}</em> ",
    @@ -713,17 +696,13 @@ 

    Source code for pymatgen.db.vv.report

     
    [docs] def style(self, css_class, elt): s = "" if css_class in self.styles and elt in self.styles[css_class]: - s = " style='{}'".format(self.styles[css_class][elt]) + s = f" style='{self.styles[css_class][elt]}'" return s
    def _body(self, result): body = ["<div class='content'>"] for section in result.keys(): - body.append( - "<div class='section'{{ssec}}><h2{{sh2}}>{t}</h2>".format( - t=section.title() - ) - ) + body.append(f"<div class='section'{{ssec}}><h2{{sh2}}>{section.title()}</h2>") if len(result[section]) == 0: body.append("<div class='empty'>Empty</div>") else: @@ -754,9 +733,7 @@

    Source code for pymatgen.db.vv.report

                 cols = self.ordered_cols(subset, section)
                 # Format the table.
                 tables.extend(
    -                ["<tr{tr1}>".format(**inline)]
    -                + ["<th{th}>{c}</th>".format(c=c, **inline) for c in cols]
    -                + ["</tr>"]
    +                ["<tr{tr1}>".format(**inline)] + ["<th{th}>{c}</th>".format(c=c, **inline) for c in cols] + ["</tr>"]
                 )
                 self.sort_rows(rows, section)
                 for i, r in enumerate(rows):
    @@ -764,11 +741,9 @@ 

    Source code for pymatgen.db.vv.report

                     if tuple(sorted(r.keys())) != subset:
                         continue
                     if self._url is not None:
    -                    r[cols[0]] = "<a href='{p}{v}'>{v}</a>".format(
    -                        p=self._url, v=r[cols[0]]
    -                    )
    +                    r[cols[0]] = "<a href='{p}{v}'>{v}</a>".format(p=self._url, v=r[cols[0]])
                     tables.extend(
    -                    ["<tr{}>".format(tr).format(**inline)]
    +                    [f"<tr{tr}>".format(**inline)]
                         + ["<td{td}>{d}</td>".format(d=r[c], **inline) for c in cols]
                         + ["</tr>"]
                     )
    @@ -799,14 +774,14 @@ 

    Source code for pymatgen.db.vv.report

                 lines.append("* " + section.title())
                 indent = " " * 4
                 if len(result[section]) == 0:
    -                lines.append("{}EMPTY".format(indent))
    +                lines.append(f"{indent}EMPTY")
                 else:
                     keyset, maxwid = self.result_subsets(result[section])
                     for columns in keyset:
                         ocol = self.ordered_cols(columns, section)
                         mw = maxwid[columns]
                         mw_i = [columns.index(c) for c in ocol]  # reorder indexes
    -                    fmt = "  ".join(["{{:{:d}s}}".format(mw[i]) for i in mw_i])
    +                    fmt = "  ".join([f"{{:{mw[i]:d}s}}" for i in mw_i])
                         lines.append("")
                         lines.append(indent + fmt.format(*ocol))
                         lines.append(indent + "-_" * (sum(mw) / 2 + len(columns)))
    @@ -820,7 +795,7 @@ 

    Source code for pymatgen.db.vv.report

             return "\n".join(lines)
    def _record(self, rec): - fields = ["{}: {}".format(k, v) for k, v in rec.items()] + fields = [f"{k}: {v}" for k, v in rec.items()] return "{" + ", ".join(fields) + "}"
    @@ -840,7 +815,7 @@

    Source code for pymatgen.db.vv.report

       

    Quick search

    diff --git a/docs/_modules/pymatgen/db/vv/util.html b/docs/_modules/pymatgen/db/vv/util.html index f6620c5..b592c48 100644 --- a/docs/_modules/pymatgen/db/vv/util.html +++ b/docs/_modules/pymatgen/db/vv/util.html @@ -5,7 +5,7 @@ - pymatgen.db.vv.util — pymatgen-db 2021.5.28 documentation + pymatgen.db.vv.util — pymatgen-db 2022.3.17 documentation @@ -37,7 +37,7 @@

    Navigation

  • modules |
  • - + @@ -49,8 +49,7 @@

    Navigation

    Source code for pymatgen.db.vv.util

    -# coding: utf-8
    -"""
    +"""
     Utility functions and classes for validation.
     """
     __author__ = "Dan Gunter"
    @@ -61,16 +60,13 @@ 

    Source code for pymatgen.db.vv.util

     __status__ = "Development"
     __date__ = "3/29/13"
     
    -#!/usr/bin/env python3
    -
    -
     from argparse import Action
     from collections import deque
     from itertools import chain
     import logging
     import time
     from sys import getsizeof
    -from yaml import load
    +import ruamel.yaml as yaml
     
     TRACE = logging.DEBUG - 1
     
    @@ -83,7 +79,7 @@ 

    Source code for pymatgen.db.vv.util

         def __init__(self, name=None):
             if name is None:
                 if self.__module__ != "__main__":
    -                name = "%s.%s" % (self.__module__, self.__class__.__name__)
    +                name = f"{self.__module__}.{self.__class__.__name__}"
                 else:
                     name = self.__class__.__name__
             self._log = logging.getLogger(name)
    @@ -152,9 +148,7 @@ 

    Source code for pymatgen.db.vv.util

                 do_foo2()
         """
     
    -    def __init__(
    -        self, name="event", elapsed=None, log=None, level=logging.DEBUG, **kwargs
    -    ):
    +    def __init__(self, name="event", elapsed=None, log=None, level=logging.DEBUG, **kwargs):
             self.name, self.kw, self.level = name, kwargs, level
             self.elapsed = elapsed
             self._log = log
    @@ -165,10 +159,8 @@ 

    Source code for pymatgen.db.vv.util

         def __exit__(self, type, value, tb):
             elapsed = time.time() - self.begin
             if self._log is not None:
    -            nvp = ", ".join(["{}={}".format(k, v) for k, v in self.kw.items()])
    -            self._log.log(
    -                self.level, "@{n}={s:f}s {kw}".format(n=self.name, s=elapsed, kw=nvp)
    -            )
    +            nvp = ", ".join([f"{k}={v}" for k, v in self.kw.items()])
    +            self._log.log(self.level, f"@{self.name}={elapsed:f}s {nvp}")
             if self.elapsed:
                 self.elapsed.value = elapsed
    @@ -259,11 +251,11 @@

    Source code for pymatgen.db.vv.util

             config = self._get_config_from_file(values)
             for key, value in config.items():
                 setattr(namespace, key, value)
    -        _alog.debug("YamlConfig.namespace={}".format(namespace))
    +        _alog.debug(f"YamlConfig.namespace={namespace}")
     
         def _get_config_from_file(self, filename):
             with open(filename) as f:
    -            config = load(f)
    +            config = yaml.load(f)
             return config
    @@ -282,12 +274,12 @@

    Source code for pymatgen.db.vv.util

             try:
                 key, value = item.split("=", 1)
             except ValueError:
    -            msg = "argument item '{}' not in form key=value".format(item)
    +            msg = f"argument item '{item}' not in form key=value"
                 if _argparse_is_dumb:
                     _alog.warn(msg)
                 raise ValueError(msg)
             if key in d:
    -            msg = "Duplicate key for '{}' not allowed".format(key)
    +            msg = f"Duplicate key for '{key}' not allowed"
                 if _argparse_is_dumb:
                     _alog.warn(msg)
                 raise ValueError(msg)
    @@ -323,7 +315,7 @@ 

    Source code for pymatgen.db.vv.util

       

    Quick search

    diff --git a/docs/_modules/pymatgen/db/vv/validate.html b/docs/_modules/pymatgen/db/vv/validate.html index d613db4..1022b05 100644 --- a/docs/_modules/pymatgen/db/vv/validate.html +++ b/docs/_modules/pymatgen/db/vv/validate.html @@ -5,7 +5,7 @@ - pymatgen.db.vv.validate — pymatgen-db 2021.5.28 documentation + pymatgen.db.vv.validate — pymatgen-db 2022.3.17 documentation @@ -37,7 +37,7 @@

    Navigation

  • modules |
  • - + @@ -77,7 +77,7 @@

    Source code for pymatgen.db.vv.validate

         "Syntax error in configuration of Validator"
     
         def __init__(self, target, desc):
    -        msg = 'Invalid syntax: {} -> "{}"'.format(desc, target)
    +        msg = f'Invalid syntax: {desc} -> "{target}"'
             Exception.__init__(self, msg)
    @@ -109,7 +109,7 @@

    Source code for pymatgen.db.vv.validate

             """
             if not self._PATTERN.match(text):
                 raise ValidatorSyntaxError(text, self.BAD_CONSTRAINT_ERR)
    -        tokens = re.split("@?\s+", text)
    +        tokens = re.split(r"@?\s+", text)
             if len(tokens) < 1:
                 raise ValidatorSyntaxError(text, self.BAD_CONSTRAINT_ERR)
             self.method = tokens[0]
    @@ -280,9 +280,7 @@ 

    Source code for pymatgen.db.vv.validate

             self._total += 1
             if self._n == 0 or self._count < self._n:
                 return
    -        sys.stderr.write(
    -            self._fmt.format(*args, subject=self._subject, count=self.count)
    -        )
    +        sys.stderr.write(self._fmt.format(*args, subject=self._subject, count=self.count))
             sys.stderr.write("\n")
             sys.stderr.flush()
             self._count = 0
    @@ -305,7 +303,7 @@

    Source code for pymatgen.db.vv.validate

             DoesLogging.__init__(self, name="mg.ConstraintSpec")
             self._sections, _slist = {}, []
             for item in spec:
    -            self._log.debug("build constraint from: {}".format(item))
    +            self._log.debug(f"build constraint from: {item}")
                 if isinstance(item, dict):
                     self._add_complex_section(item)
                 else:
    @@ -332,7 +330,7 @@ 

    Source code for pymatgen.db.vv.validate

             try:
                 fltr = item[self.FILTER_SECT]
             except KeyError:
    -            raise ValueError("configuration requires '{}'".format(self.FILTER_SECT))
    +            raise ValueError(f"configuration requires '{self.FILTER_SECT}'")
             sample = item.get(self.SAMPLE_SECT, None)
             constraints = item.get(self.CONSTRAINT_SECT, None)
     
    @@ -404,9 +402,7 @@ 

    Source code for pymatgen.db.vv.validate

                     report_fields,
                 )
    - def __init__( - self, max_violations=50, max_dberrors=10, aliases=None, add_exists=False - ): + def __init__(self, max_violations=50, max_dberrors=10, aliases=None, add_exists=False): DoesLogging.__init__(self, name="mg.validator") self.set_progress(0) self._aliases = aliases if aliases else {} @@ -426,9 +422,7 @@

    Source code for pymatgen.db.vv.validate

             :type num: int
             :return: None
             """
    -        report_str = (
    -            "Progress for {subject}: {count:d} invalid, {:d} db errors, {:d} bytes"
    -        )
    +        report_str = "Progress for {subject}: {count:d} invalid, {:d} db errors, {:d} bytes"
             self._progress = ProgressMeter(num, report_str)
    [docs] def num_violations(self): @@ -481,8 +475,8 @@

    Source code for pymatgen.db.vv.validate

             query = parts.cond.to_mongo(disjunction=False)
             query.update(parts.body.to_mongo())
             cvgroup.condition = parts.cond.to_mongo(disjunction=False)
    -        self._log.debug("Query spec: {}".format(query))
    -        self._log.debug("Query fields: {}".format(parts.report_fields))
    +        self._log.debug(f"Query spec: {query}")
    +        self._log.debug(f"Query fields: {parts.report_fields}")
             # Find records that violate 1 or more constraints
             cursor = coll.find(query, parts.report_fields, **self._find_kw)
             if parts.sampler is not None:
    @@ -504,7 +498,7 @@ 

    Source code for pymatgen.db.vv.validate

                     num_dberr += 1
                     if num_dberr > self._max_dberr > 0:
                         raise DBError("Too many errors")
    -                self._log.warn("DB.{:d}: {}".format(num_dberr, err))
    +                self._log.warn(f"DB.{num_dberr:d}: {err}")
                     continue
     
                 # report progress
    @@ -537,26 +531,20 @@ 

    Source code for pymatgen.db.vv.validate

                 fval = mongo_get(record, key)
                 if fval is None:
                     expected = clause.constraint.value
    -                reasons.append(
    -                    ConstraintViolation(clause.constraint, "missing", expected)
    -                )
    +                reasons.append(ConstraintViolation(clause.constraint, "missing", expected))
                     continue
                 if op.is_variable():
                     # retrieve value for variable
                     var_name = clause.constraint.value
                     value = mongo_get(record, var_name, default=None)
                     if value is None:
    -                    reasons.append(
    -                        ConstraintViolation(clause.constraint, "missing", var_name)
    -                    )
    +                    reasons.append(ConstraintViolation(clause.constraint, "missing", var_name))
                         continue
                     clause.constraint.value = value  # swap out value, temporarily
                 # take length for size
                 if op.is_size():
                     if isinstance(fval, str) or not hasattr(fval, "__len__"):
    -                    reasons.append(
    -                        ConstraintViolation(clause.constraint, type(fval), "sequence")
    -                    )
    +                    reasons.append(ConstraintViolation(clause.constraint, type(fval), "sequence"))
                         if op.is_variable():
                             clause.constraint.value = var_name  # put original value back
                         continue
    @@ -612,9 +600,7 @@ 

    Source code for pymatgen.db.vv.validate

     
                 cond_query = MongoQuery()
                 if sval.filters is not None:
    -                cond_groups = self._process_constraint_expressions(
    -                    sval.filters, rev=False
    -                )
    +                cond_groups = self._process_constraint_expressions(sval.filters, rev=False)
                     for cg in cond_groups.values():
                         for c in cg:
                             cond_query.add_clause(MongoClause(c, rev=False))
    @@ -651,9 +637,7 @@ 

    Source code for pymatgen.db.vv.validate

                 for field_name, group in groups.items():
                     conflicts = group.get_conflicts()
                     if conflicts:
    -                    raise ValueError(
    -                        "Conflicts for field {}: {}".format(field_name, conflicts)
    -                    )
    +                    raise ValueError(f"Conflicts for field {field_name}: {conflicts}")
             return groups
     
         def _is_python(self, constraint_list):
    @@ -664,13 +648,9 @@ 

    Source code for pymatgen.db.vv.validate

             :return: True if this refers to an import of code, False otherwise
             :raises: ValidatorSyntaxError
             """
    -        if len(constraint_list) == 1 and PythonMethod.constraint_is_method(
    -            constraint_list[0]
    -        ):
    +        if len(constraint_list) == 1 and PythonMethod.constraint_is_method(constraint_list[0]):
                 return True
    -        if len(constraint_list) > 1 and any(
    -            filter(PythonMethod.constraint_is_method, constraint_list)
    -        ):
    +        if len(constraint_list) > 1 and any(filter(PythonMethod.constraint_is_method, constraint_list)):
                 condensed_list = "/".join(constraint_list)
                 err = PythonMethod.CANNOT_COMBINE_ERR
                 raise ValidatorSyntaxError(condensed_list, err)
    @@ -690,7 +670,7 @@ 

    Source code for pymatgen.db.vv.validate

             try:
                 self.aliases = new_value
             except Exception as err:
    -            raise ValueError("invalid value: {}".format(err))
    + raise ValueError(f"invalid value: {err}")
    [docs]class Sampler(DoesLogging): @@ -716,15 +696,11 @@

    Source code for pymatgen.db.vv.validate

             DoesLogging.__init__(self, "mg.sampler")
             # Sanity checks
             if min_items < 0:
    -            raise ValueError("min_items cannot be negative ({:d})".format(min_items))
    +            raise ValueError(f"min_items cannot be negative ({min_items:d})")
             if (max_items != 0) and (max_items < min_items):
    -            raise ValueError(
    -                "max_items must be zero or >= min_items ({:d} < {:d})".format(
    -                    max_items, min_items
    -                )
    -            )
    +            raise ValueError(f"max_items must be zero or >= min_items ({max_items:d} < {min_items:d})")
             if not (0.0 <= p <= 1.0):
    -            raise ValueError("probability, p, must be between 0 and 1 ({:f})".format(p))
    +            raise ValueError(f"probability, p, must be between 0 and 1 ({p:f})")
             self.min_items = min_items
             self.max_items = max_items
             self.p = p
    @@ -735,7 +711,7 @@ 

    Source code for pymatgen.db.vv.validate

             if distrib == self.DIST_RUNIF:
                 self._keep = self._keep_runif
             else:
    -            raise ValueError("unrecognized distribution: {}".format(distrib))
    +            raise ValueError(f"unrecognized distribution: {distrib}")
     
         @property
         def is_empty(self):
    @@ -817,7 +793,7 @@ 

    Source code for pymatgen.db.vv.validate

       

    Quick search

    diff --git a/docs/_sources/pymatgen.rst.txt b/docs/_sources/pymatgen.rst.txt index 601cd54..bca3246 100644 --- a/docs/_sources/pymatgen.rst.txt +++ b/docs/_sources/pymatgen.rst.txt @@ -1,6 +1,8 @@ pymatgen namespace ================== +.. py:module:: pymatgen + Subpackages ----------- diff --git a/docs/_static/basic.css b/docs/_static/basic.css index aa9df31..bf18350 100644 --- a/docs/_static/basic.css +++ b/docs/_static/basic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- basic theme. * - * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -731,8 +731,9 @@ dl.glossary dt { .classifier:before { font-style: normal; - margin: 0.5em; + margin: 0 0.5em; content: ":"; + display: inline-block; } abbr, acronym { @@ -756,6 +757,7 @@ span.pre { -ms-hyphens: none; -webkit-hyphens: none; hyphens: none; + white-space: nowrap; } div[class*="highlight-"] { @@ -819,7 +821,7 @@ div.code-block-caption code { table.highlighttable td.linenos, span.linenos, -div.doctest > div.highlight span.gp { /* gp: Generic.Prompt */ +div.highlight span.gp { /* gp: Generic.Prompt */ user-select: none; -webkit-user-select: text; /* Safari fallback only */ -webkit-user-select: none; /* Chrome/Safari */ diff --git a/docs/_static/doctools.js b/docs/_static/doctools.js index 61ac9d2..e509e48 100644 --- a/docs/_static/doctools.js +++ b/docs/_static/doctools.js @@ -4,7 +4,7 @@ * * Sphinx JavaScript utilities for all documentation. * - * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -264,6 +264,9 @@ var Documentation = { hideSearchWords : function() { $('#searchbox .highlight-link').fadeOut(300); $('span.highlighted').removeClass('highlighted'); + var url = new URL(window.location); + url.searchParams.delete('highlight'); + window.history.replaceState({}, '', url); }, /** @@ -301,12 +304,14 @@ var Documentation = { window.location.href = prevHref; return false; } + break; case 39: // right var nextHref = $('link[rel="next"]').prop('href'); if (nextHref) { window.location.href = nextHref; return false; } + break; } } }); diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js index 788a7d1..f6ac950 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: '2021.5.28', + VERSION: '2022.3.17', LANGUAGE: 'None', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/_static/language_data.js b/docs/_static/language_data.js index 863704b..ebe2f03 100644 --- a/docs/_static/language_data.js +++ b/docs/_static/language_data.js @@ -5,7 +5,7 @@ * This script contains the language-specific data used by searchtools.js, * namely the list of stopwords, stemmer, scorer and splitter. * - * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/docs/_static/searchtools.js b/docs/_static/searchtools.js index e09f926..2d77859 100644 --- a/docs/_static/searchtools.js +++ b/docs/_static/searchtools.js @@ -4,7 +4,7 @@ * * Sphinx JavaScript utilities for the full-text search. * - * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -282,7 +282,10 @@ var Search = { complete: function(jqxhr, textstatus) { var data = jqxhr.responseText; if (data !== '' && data !== undefined) { - listItem.append(Search.makeSearchSummary(data, searchterms, hlterms)); + var summary = Search.makeSearchSummary(data, searchterms, hlterms); + if (summary) { + listItem.append(summary); + } } Search.output.append(listItem); setTimeout(function() { @@ -325,7 +328,9 @@ var Search = { var results = []; for (var prefix in objects) { - for (var name in objects[prefix]) { + for (var iMatch = 0; iMatch != objects[prefix].length; ++iMatch) { + var match = objects[prefix][iMatch]; + var name = match[4]; var fullname = (prefix ? prefix + '.' : '') + name; var fullnameLower = fullname.toLowerCase() if (fullnameLower.indexOf(object) > -1) { @@ -339,7 +344,6 @@ var Search = { } else if (parts[parts.length - 1].indexOf(object) > -1) { score += Scorer.objPartialMatch; } - var match = objects[prefix][name]; var objname = objnames[match[1]][2]; var title = titles[match[0]]; // If more than one term searched for, we require other words to be @@ -498,6 +502,9 @@ var Search = { */ makeSearchSummary : function(htmlText, keywords, hlwords) { var text = Search.htmlToText(htmlText); + if (text == "") { + return null; + } var textLower = text.toLowerCase(); var start = 0; $.each(keywords, function() { diff --git a/docs/_themes/README.html b/docs/_themes/README.html index 545e204..52050ec 100644 --- a/docs/_themes/README.html +++ b/docs/_themes/README.html @@ -6,7 +6,7 @@ - krTheme Sphinx Style — pymatgen-db 2021.5.28 documentation + krTheme Sphinx Style — pymatgen-db 2022.3.17 documentation @@ -38,7 +38,7 @@

    Navigation

  • modules |
  • - +
    @@ -96,7 +96,7 @@

    This Page

    Quick search

    diff --git a/docs/builders.html b/docs/builders.html index c6fc530..d66e418 100644 --- a/docs/builders.html +++ b/docs/builders.html @@ -6,7 +6,7 @@ - Database “Builders” — pymatgen-db 2021.5.28 documentation + Database “Builders” — pymatgen-db 2022.3.17 documentation @@ -46,7 +46,7 @@

    Navigation

  • previous |
  • - +
    @@ -686,8 +686,9 @@

    Incremental builds
    -

    Table of Contents

    -
    @@ -171,8 +171,9 @@

    v0.3.0
    -

    Table of Contents

    -
    @@ -116,7 +116,7 @@

    This Page

    Quick search

    diff --git a/docs/doctrees/_themes/README.doctree b/docs/doctrees/_themes/README.doctree index e2b415fa175c9dee5bc0ca23d3cbaaa2b3c15e21..5863f60cb9153640c606e7f8bfa2a911df5cb921 100644 GIT binary patch delta 114 zcmbQEdrp_7fpzNPjVy7DyjJ?5#i>Qb`o$TQrKy{97!`yR)iO#-3W}}t^-~f{5=)8_ zle1Hc^fFUR()99+()CmFlP510zQW6snwylG5}%oyn4VfZxkSW3M6ftDxg;|`FTOZ6 SCoMiFGcS8e=jO#CKN$fVPbxkD delta 66 zcmX@7J4ctLfpzM{jVy7DT;}?r#i>Qb`o#sC^BEO{#APx{N(zdt^z}>f^K**zGE+;^ W^zw_+CvOnGGI@%K?&fPEKNtb>ix?CD diff --git a/docs/doctrees/builders.doctree b/docs/doctrees/builders.doctree index 05a3d417d3a1b25738f405dff92f1fef7ad24abb..cf1ba5bcb59a750d4bbde784fdca6b8e019af8f1 100644 GIT binary patch delta 11638 zcma)Cd0^DV_2*4?H@i7En~TI;1QM=X1cD|CBm@u)NdS@iNFYl#UyhKALymCP2*HRG z9V}wODix&`SapAh94Z1T1n{RVty-X1TC^$@LFrHA_ukBIvb#yJ`Qw}KcV^yupLfig zH#2)+r{Tw)2Hh(C)26+;a0ncb{z#3rx+cBGwzSS_?+&_vz(&9P$_2I71+_JPe$Bjh zU^cwY_h$Fun*w*jS$vD+1wonm)3yZLNe;UcyC&E^sGDVbulMTa70tbDdYi%KI~`w6 z@RNZFaE5;olnLMQDoZr)6Wm9V{mV&qr9(22w;AI7&$O}Q#WCIah2TgQ419G|6t|cM z5*samkB#UFCVX}eIF8>2=+Xr_o{$Vs@KN(aEK`y64#}1z>5?RcNc56~@4&ZrQI#uv zvtNP<+iaJKhZB2m%P>}|STtCa)EUGgYO0deUTK%`?x8c-YDM{6=nyGN$BuB#(-W`(U`A$iehA(8t6^Sllq?B@0lDtDCQpF`M6}74K)=tHU$YJcJ zVo?{VRJ=|sqOSguisr84AcC)oisP%h<`~E$p^RS)O=f2Lmnd}%WS%~`H)$o~8)Y7n`=yn7)Bg zq`h<07W?Zl+nDJU)CC8;%tT%iq&yX9)W_lH7S7{;9r7Ob)!=yTO*LqXeQ-jW4?E8I znWv(7aZ-PFMv`T~ar-yj9|ZTFOR5K(#Q9)|p{^ad1EQ0OIdSV|^QoI$XFfiB$KD904dsqL0}#i*`o#L&(H`Rgeaj5P zkwRO+7xnGt`xtRp!Nkl^=ms`^q;F4?O<^on80WfS9BuEF@-l;I{A}7{W>paN9Pv%# z%hFS^eOLO@faQc$c{q%}lM=>@3_(8HDj#ui7{v008NG}vX+(ndDBqru3mf^xjPd3r z)RbuJZi_D%MEvZ-`%MJPG-^e)ZHYy;_@cU5+EV^nW=>E&HoFp!wv*q?Okyuf_HnR5 zn5RGwmxLElLa$Iw;P^&UwRKKe<^0l$106m#vG@n0kzHT&O-EmKn zUTZ*q@YK*uKlz3Om`=vhMmIm*u`j>3A7jBfR}kq7aNr&LKeM;#S%Qx5$cX1VheVs> zbgfn|rUCrSkd(*DY93v7o%9nI?kf5wCyY zg9?+_=Q^4Wu6Q*$XT&*jP0z6Q0ee{|;wM0AGKFlT|EzgssZI&aUa|WqDzu9aF8aV- zmD{bVG!)N7RmjRTko+CSA9^ejtz0zbeip5F_k4t&JRfFqS~)^bA!%OYWoCP~vEjfn z_2mA}?Yyqd&JE+t%#y43GFujZWqdz2N&+xCLob(yJd)3H^{vTynx5i019JJNk92o- zhylfr%_?0z_WB8R;Gzkh)RV1g?WveFS@zJx+R&FYSALuhAY-EkENw?RzmJ6cTl>A_HC;mSWQA4TW6hXR1>IU&9Za(z5Ki zWH;43&e(MYh99X52)N{QFD`}g_H%WoFlG7P-L!|0^(6y8J0z6PNG$hab(ns%bz-!FfriG$U#J^ZL0g-qNuu(j?i{o84e}x(587po2H=s!wZ^y%Q_RVCBJ~}N*lK8>j8`n zzS8W!B4B)vpULn|>wvbD2wU9YG<(8nR&cI*!^vv+M#uI@IGtyPe-jli+4L7UB#ne~ zAC9*f=@38g#2eUE)s(}~eY8LwX$taz3pjWpTxlD4fluaR*#%!w6^vQoeVz(GNsZ#0 z^>D$S)SOK;RZUsGzM%9YRteY5;PVCG;@*9`l}&UJ+7E0mVAQiCx4&

    T{q15Own$<5WM>wucaC0Uf8clffO>GWu`rHCR~uDoT8KEM{T|ts<;>nM7~R*d z=Zzj~*YlEzrLc#xfm>8tUwMhWMO@<&Ix7+ilbx2MIW+y%Cew#X`U$19*d7N)-`>tK zWZnGTnT-9>s66uIYyH@HHIgSZ>-_%cG;!li{)gQ^*uVdS9&jw_$kX;3;1bW;tKoC| z-YCQClw;2E!+VGK^U5**WlINj_5gnNowQ!EXbGUAWp?F) z+17=%HC|Oq;Xtxpto^$;gF6Ic-ajs&kT9xUMT*>2Wbf}P-kt=(tk{K#f4ILFE9eZ% zWS;icD1*e(${?a+ApG!KlRGj>p96!SmfH^WXNy{8zI`B>Rd*(H6_0y6&8#8xB5kgG z$~{NbftYa5y3J_;zUl3~xJMdt@IfX_s@93+`wvcKu_%G&j5JiBeaxXIX4%u;YuAn> zd3x;t@9|C&JLp0yH%G2wbAM;3kCWHb?j*WxTU0oNoJ2xtwVjmDS06oM|L)y$K5UN@ zoE#9yeU8__Wxn|MFm}yE)74M=j*#LChlfDX5&Y-lVU{ncMQ-;BM-tmWjLjjT_Ippv z12FJaA9YLqR?!&zyh8ITwzuy6uJg)su@K7hPN$fa6uD7Eh6X<|(-*oL_tS!jpFHnm zmf;~Oif{ig4NmaWAMSzv?xOnt7ou`WRIsP0{ygDil&cErkAiYox*sZ@C=Yg0_&+}F z!&^@FHWL)`dLNR5Ds$gc{VnZ}rugVnDNx0ip2}f0eyY}MITZ`bP;x(Pp@SEda*9ct zN-0Sm;><(7@=$DLOF0OBxh0W3>&9RQF)%)>24(P5ryt@+Pfvhn$ufM*89jTt16J$L zoMcDcn4BUeaFoA&b~-+ZviM^?J0dCN$NyUV@mh|+e#?*G5NfOYZbt3OI`#YGo?FT(b5!23L^UZM^>8r{9 z>UAqX6N<@UYL@eo8(k6F(i?-=8y?X1dP3VPp}pJ=TJg;{4D8e|KzpSP+Qi$(0Y2mL zcZRbs6)NLr=pMOeIDDrofAdZc_L)LnoD^budMfWC|9DAKBKtv6__-)1S;P|n|8h(Q zc!;=C7#&s+DT6t#GZ+BO96*K;Lv=8gMFl8Jn8h(2R#DEbFg+Br6jzty89nrrWNsmD z4*2B|&kvvw_lzO4nBfaiCTHeDd9r>w)&^3v_yTTv#T8%3V>2WN*Oq&VC^15~Ys)`H z(pm~X^7et_JtJzy76ni!c3wE0YLn?G_lF2z>y%;S&Tf-a`*q@{0Qef#iG{%sEm#or zWZPv|3KdM)J}n5Qx+p&mf-GilrOXM2EJb-gJLW<3*Ivn8Dx-K1YEW^1yVF zY@48+S0pl@8vZQNiqj!bLW60S_a~~rm?*Zup!S z+)spiX;sATK5@+gMe)u}qHiEJrMYhs@1sp(n%pG9ZLvBOdKz!50xnqWjfLK3Ta4Dl znOf;^Jiu`!6qW;v32ZCKA&G|egBbC7IPAxNAu*6;_!}u0AkId>3S%zH#jn9ME>-HE zcv*H+yF6&_;HpUcJ`!g5kEJ14iS^Q!iiob@bsRcLOza9hUOmXr z)I_a5czBFgP8rcq153q=(U9(0Cv6rNqw)NkcZ|BJGt}GMQ1|pWn@hDWv3i5PLZCN_ z^Y@@ zkgq)*tHq1`aquwvC&|9cLh`L7qi_jx%!~&-YPcCF)7qMDFcI#^$l-gEba6M)(v(d- zj#%V^iTd7Dv3FH5D@%k~cz3DJvY8eut|da6F&4uahbD=$eN}uXxW#v(qoh0h78lqc zDLgI-{d7N#OeNtxGJ~ALbqST#32sL`>KoZ2VZxmlu{Q~NK~XCqWQu@f+`3{frU*;n zEdrQ`%vAJi@s8!maGbI7AhJ@QPB(`?dC^rlHuZ)Fm~k1gO28?CNOM>naltb+=f*Wr z+?xXBED>d6mPtl!wQk~23XIGo+o*zw4wDLhXw5R)ke?QbkJc>HO|{6Ko-P-8@Vuxb zlSXeS_@!23=DQj51#vVLo@D!iRIaE@!%#dRcHlq1eaKFFG4h!-h!oe;Fc0sO#u3Ho zUAsym1e2H~O!W^rvWB*b@e@lZIBWLyoBi*x=E zSPiCxV2L5l$yaXQv)xABlLrTYrMPv63{u@~1`x6N@E(TYT}9`%F%|uX!AQ#}lI&jX zE)|=GL850W8ZQoF8%z)vhCw`RcxHIpb=EkN7tar8m^#>Nmx%J=kk&(HA!FGr+-lFM zDECf5`2=Z{*gqTw!6;Exh)$4AS4HLs7zHngPRC_;eHo6ufkIyNp(3qX{RC_%gMu~2U6W|ol?ZGLJBuq4;Mern; zD-4rxGC7CI^SlLW7%u-mPl9C~X|Qp!_v*e@oSY2Z+4>GOSlyWhO{76LxwgwoR}oSR zp%%9**FvR=qh$){s_p7DFktDDHyc77e$(L+W4q1rOidU|Ac?)9ydZ1D-J+xf z*Sp=~Y6;xWPB{I;(LB4wj8Zu0>iNv0XTvO5hCE4_Z{ch*rj(YArSY=aFp>Rec0W@5 z-t2Lt_`RgF6l#*r>3ul|=9WP|rKKHnAtA1_v^1|(T$lsqz(0V+g-8#^)S!KPhNwM5 zoS1Bb8tRf57q$_JmQ5?cyuy@84^>Yz?sC_~R&(ZB)I z?v8j-n{dbVxsU`FEyOG4ozu2P!f{PoO>CYI`Al=_@Ms$w(PIG&L>;CsfTiq74;>mk zb!c?zu)4%S1SNxl( zsazY~FOggo4)T)TS*xUcSOaAkw&}Gn9(7w+3+ve}58ZBf>UM+3yE42NT3iPMGh&>f zXTX5a~3gx%1``_b-YLVfFUMvI_X1RMYx1rSpp^oK?;oks>qH-x%Szn6^wM2*S zqws&g5-m!bCltZp@Awm> z7{|z!a2sHgW5g;*WZjZ&wY3Xta?;bwN^47Nt4n9kwN|H9SZn8`RaTd$msQRd^=sgh zzyRy~S=O?d74u8Wtu-5h?<4zEg46b0PP|q?q;-IZ^JVrGuqUr;w{<2*}D-7PHTxUYe|iWfaN4 z8AIb_)Qs6v@Oy|(*~(!gXW7G6=|eggH)_YBc&QNQm9DV7KHjY zXrxJzMp`szq(PBJ=!+!sB8j?4B5tU&Sr8&dY_jdVEm=Crwnvj5YCwmfhv=X35dF+d zd5C@vCPPc3QwilE`Gy{<@1oHKymFCzlP*dpKS>wS9kTL}e3KpuBsWP9$v5dCn&Qes z@=bb(Hb}}t@=bb(HU`Q=@~vLFhzfP(A}Z9Bizv0psMT(upKSNr&f0F-zSHP8d|EI) z=;v@6{uH5$Mn5{!O6fsAYtmNJgRaK47wJJ)SlV%V&_RfHlip~{s72tzSECJ&mMxkd zgB!3_tZ#tN*=?ESQuso%j{OHSTt>VY(u8aD(Z?a)_#-+97ym%<_2ZBNx5VK_=pi21 z0E5{*p_o;ZS=Ue(MF@n7u}u&jQ~-1YOq7^}og^!s#C=o$jnJ26DZ0#dbfRS=7^J{f zvS%9c6s}kjh`dHT0vX%{mR2$Md5f9HDirfM?U)A@jPM@a1Gz_vFE?S;xmJ;_YDXqk zKH-f??0Eu4ux*Os*WMH{?G%UvM!sFJFL(`yi)D#uiHHnu3J9{^@@|QSw+?xB zy_A01&9+<>XN}aX)V!3Jv~A06EpI<}Yg zo^$4>*R}g!*Lp9~ybO)r!QgA@HMXX-x~5l6l|2Ex4SYmI03Ytx6YPA3-x)Z=i?yM= z&_7*s+7@Fw!EXk}h1!nSPPQFNT--3fp@&Ul)7pF{;>$7qrC$tu!oTxRhwu5iuuz_9 zOp#RIsZ`&zPqoz;jZ_DXL&2Y~4UFV*rrt!QbmC{t-9d-XIKxr=*1$s#;S9&PO7N-a zF|bI2{sDa?L8>H3A_9#h;5$R&GzSs(H@rAJMvrZ_t8xYvXkYVCm?UTTgIQ%ck!A=R zuQF;!K$Wv4@M&0tbcK@Ze93h#ag{J#?NV#S?0ehVnSps2U|85lco>IA@$F%mk|a|lNtYyAGJ%2dT_Ih`2Fi7bTH1iDA?qHle5fVHLH;i=W-mgJ2JEgU#&s z5=xjp$VSr1gD)=8}zkMnV*n@zY7& z^<^sNTo-1=4RemYPx2d#6?yUEvtj(_)QN10ihJ#7Zz$p`dZpmAsn;Bs$1Q28u#itm z8?K+PN;t<$Tv`dy{B&9jtmN0zo-oa#j;^*iTXaqqidMVPw{^|6Md#K| zR%Y{e)BF1`z-DJ~QvSrfd&jeFUOe{gC|JSQS-Uy8yyoJf3slx4O})Olbn2AK>BZ$0 z4N4<#?41gm_{H84ZMbto#?tnfZ_ViK$^2t}IU}B(Y=`;r4w-*W%o8>drcRTmO-U)8 zol;U+HK&36vb8GsmCT8#%E5j5K@OkSXS#O|lJT8g;x)>0vFl*jwM5hQ%noym`Qzfx3F=-#}k{-SA9P8Id6{hoeT>ZwW-8ft}7$@7ENI+$Sh8@3c+0&?jGDzFQ~BOrs{A3hA0 zw1&2Tpatnhs6ZD;Xtk}N@qdiC1RFX;HcKMgq6FCuqjZeD;Xp>gq0xy<_XbHc*_OsH z<_zFp!axGN8k_aElQHy%%;0^xr=ow}j+sc!hKM3W$tp1)3^$(t7jfa2o8P;gk znRSjO^M$lk%s$`1HlBRdn_oPb;^s}&wG|cR6=kixX)X%&1|OaKk%v6@o$?^k^?A?W z6V0iiv83!IRCLwy0T>t?$0q9)hXVxj#__>UB?t4fg_))$t(0u1Yr*d;W8>6TF(eQAL513E zU-e`yI7UZ~>kf+@&9lZ8QuEnDr%y$X4@Xh^j~@)Lc(B{xF6ss;>bh2<^1z}s?Cp*v z4!Pf z&1oqd11&XLOLNW5tu$x*g#V>~kxM(*b zmwOt_17h{c&omVoKiy_QjZCrig94l;+1F`&tJZyqS@{iHKZD20&n!;?R<7;P^4p|b zTNG~wvv_euIDdbd1#_;O_?%^ro1O)-c_46V(#_I3R$6rBBRr&Xq=RNoWp{X;2C!LL zvA6~(B&AYFnuVY;HQS{a7|HBeRbHSwh?8K;`+RF{rgk^=d5NzBAcDU-V+i||Hq6f2 zwHP^-UpQ2c$)G5!u2{J%jZ#Kn1Ma$C;WWxEe6LYPsV%?YKedJSPVYA$ zA&^5u%jz`pOUqrW)5wdLWtuJ!fg2P4pM}ptQinV)Id}xww=J3gte=k>oTHYEf+5Hb z-7m)*`tc1*4&xJfXs$R3aO0r(yz|>(@QeqrB6na#NYqO5*O%$Z?j1?~t&@ozUI5T7 z_mLWYUILPd-Zkd{K5ls^qM+aG-UdaI`6}N0DWluVY>>q8( zVMKM)*4xKwl348dug&sewGJGYU(aL<)X}x}$F}VT?4i**YZQ&1p;Kc|C1R9HD*1CJ z+K!^}Rs_)E+MBuQ&0xJ_ci$|hFk8DxhHmELHE;fj?bT5Lih4lqVNGyqEQmk*)*9VM zD(7QT-2C@++C*o6pgn(kZ^r(vQ!Vn!4hwvZqb$CEcPO;}4nMH{uAS}D0FF|1kfc&) zH!5(M?`RCu+R}{Yt862l!@fjwn@poOzi=?M zhfG@yl(v>sR+N-h&8%saX;}M^_!0JB-Zr+2BWmv$7|mzw9gg{-%KF^i9`IQEJjd}z z_Kng?p2>Xi{xCjzZ(vCK4Ed>jh3(1x@ct~Q;lJD88)_Z=KHi@IGur33kSD*JYAQ$V zW%CoEO{a zz$ynAc)+n5xXPbDHWY3kzi3Vc!1n|jcQid#{UO|NJSgA_waCKFI+7+f*e%Bw0ciN@ z6R`=`)ZrT6R<3v*+g%0R4}AW)NM`m$UrsV9l7lSwa59arnC=6e_3zN)rcYIwk4Z*+ z$H%E~jDPjcNKACzk>r}(7RO_K zqWSrgi6(+azL7|sr~)2*s<*kF)1~pJlA($(Kh+8|j5NxsEJjtz@H*~WhF0G&@WG_*4VKXVceOWKny zw1@e}XD7154%z~ueP7bb1DK$=ITl&|?bqX_ZoXCll6dYGxK!&uqwH?#8s|e|{AUnNEDoi5RCtTRQzV+D9eY zRz7CopPy@{$q=mB`XqrhI5dW*8&UR%FXN2t$xa>aTt$+KTaHtO?ntzlO>%SP=u>aY#=5*)eL=iD2rRJLzV}usV28Rq zx3mDPxZN4|@#VL(*k3&X?(zVLUlQOOZ2(TZvq#HLb`0=MNo6ni<)6U5bbuStoCH@0 zobF4sm8{ZFHFxG8Hg|IkNy`h>zns7yl7D=ATm;-90$(S=IJ4LU@ZY8~fX8TJRk-(E z!Zm>xWB@Z7q&h^tHxxi;VetW6(Rms$iqE_;v2u2I)j%F3xw?Ig1{GHQ3Q_C@!A*xW zpr^^)-HgWk#-e~BG-ZmvN7yuqX+99YLazcy-N+SRQUSAcld9C z5yFMZAG*VpqJI)=ajU8m}rK=QJ&?XH3OV!+kKo$ zxr@1=D{TW@(Q1qPnQ#xKil*x;n$3_K=O`w%e%O@aUQG6-Vp6uqgV_6GO(1mF-B%Mn ze-Y3HBKa171Dzl@yCr>{n(hX|bHKXzxl;FT>flAAgP@D}PcZDoe~Y6a)8{ft+R2Yw z@&m=K5GdCTL=@PR<(%Ctc13}<>%Y`-st@84YP+L}{h{!5r+gx(8zMZO-I@_7`gVpG z&rIeiQQ8^0K_M}4WSY)H+OdAlqu}-qX-h;v7~ml3NND@OXM`J0>0thZ>kIc85bRPlRj5^>B!Vm)b$NxkRc<0=!aO>w@uer3zR!y&wV0tv1I`3@*T;Z;P)fQn^XHQtKU8is-Q1 z`3QK09ceN5=@xSz5jP`Y4Xy_?cYi}ChaPBy5yzt7arSRNTDQ>;DviEx@sFnI(SYZl zxBb)@w>B1@f?pksa)PKGk6nUvj{NMlluLiZ={G#TOSo9m6^3~e20F54N`z?c3aR=C z%q37E-Ta*uOtd4ppxd64z6!k|&p*1fHpES9Tg9g-u$DFYQv?w6Q^CUasbJ|wrcqoMu88d}(Fld;g zKXEYZ2i$R~BOps9Y!O!^Wy4|CzhicTTG)xfLt&(OByn@kQfG^eL!ql@D0y6*z&035 zoFlz@C@X~jFmPQ;6&PLdE~xFL)H6nYBQ55oLw?<4K+#Q^j3xHe^43TB)@(vHQXCrw zS!|?{OzNYyT^ECf!zkD)Ru0F&zCzW`a)Oegp{2E~DP;syGI&|l%Sf7MnL{cH5KUJ` zVSr+P>{v0QRWiAQl;yy8=H0ColOZ0SjuY)CHZ8|DyTysoU}w7}VzV``75A#9BUYFU z?3__u_wpeBk_0bL8_$Uyc~I!=mZ$$ey7$)QV^(rbPA>clK+8TedMwUmVo(80Lgj2N zfHGZ-NxDvyxKskkT6xXfrD@0*_@0@Qsms&OL&ic+PdoP&bFmHj5xulC-90+5Ycj>n zv5?sIt|r?=cQv@76+H>z;cgq+c+v&&rChZ>TkIMG+2YeDFXe#i%d1*%hN`el=f}e}K+G~n`*i{utcyv8mavI%nX$J_^2kku zOoDj$s}x4f3f~eHlVA<@%ShL`7&q=?s;p~9Yv3(0tr!k?^nU5y`}@f-k9u*@=&U8A zcH~OAP)P~$$q*|_aFe@B6e-TE_?F2%E5_C8#vbnF84u!~!}DV$)h!HW{bF zzX2kJsRkEvLV(=iB1M@EYFK1|REx1(RSN;^S&lI@Lll+6be0`J#jva38yMh@5Wf(i z$Wt(H@8a-fxw?xLumUUU7~t>R0KzoXiMc$W)p}5uH>;K)T-So-;??Pp&B`Tropo-@ zJR-dU`XKc33Yf#zctU^C13G?5<<4)T+R}Ev;o-B6O*|?|%f}KUv9tp$8x>U|5&egyaOrNu6!V@UPOEckl_LHX+KYB=k zUpH-?nQ}`!UkiQGoHlUQ4E|=^^1nr;y0-jV_@TDQG!5-kD<=I8&Ox9!y8@zPln13N zD;)yUj{M>*xCt!Qti}s52Xa_Xv-GLhrr^174Ty4J3A7$R)E3X_G&J2E@%VhmOLr7OOC-hJlWW?#m#4A^i#lf4xJ$gDF<1 z62lLw#flZW%u|oR557JSw zLe|C)@_^#ndY_8o>80gUY8n>e&xaH#Risiv!hNmGA$8T#L;h?>{!AwuLD+s(nyEF4 zYRX5jK^aVMvYwPBqy{r?MOK{h!cyK*o=3onyyEOjZyEHEw+`~6L91Vg-}0hD*0dy; za*r$_>tJamX_!K?m$aiyU1heq5#>^3x+`5lT0f7*N%vWd>4CC<9-T27DZ%s@Nxj49 zAy)&bWMOT+o^&yDP8I$p%&Ckzsf%2xid?CNI)zk_D>aZSrO%a;*C`}*uDqhHQ%Kre zg(R($Qr0P2lqgpr;p(Jdxe5tYr;tFo$|ir5zfK`Zaut%IP9X_$6+)jYk>^U(xe{?* zt<6k7_lmS7*uJ(UNF&*HDbhmA(KKiw`lnimek7(^hhQB-=u|T>8lo!ZwsY~ zC@oh_M2VqlA_`#AYn30-PPPHIGq#^>-^-ug;Qhim3~SvK716aXOxG<$>nexHi$!YaGw3oOa+&SSqI*@D`POs z)7?h1;I?fLJyt?8+!4>b1l`1(mGCH@zg=2~bwsdOw+gdQlZfRI?4JX4o=Zd+TOFhK zt%Xog^&-{>hhKyke#5MTUYfST_~w5Ki6wbd{jbtUB%Zlgo|E$zsSB7}<@Yfwj+P?4${ zJxIQ4hXhqMM08u{0Cd7*{EzL7M;3$O8+G=p9-}+SgLQX9;4c+}Fhx&*X19S6a9cde Hq5uB_6MRyo diff --git a/docs/doctrees/change_log.doctree b/docs/doctrees/change_log.doctree index dcf77755d0c7b7501c4067a637ef6ced35ca1131..129afb97bb9027965ac083ad3eb1152899ef38b3 100644 GIT binary patch delta 149 zcmV;G0BZlolmYpa0R(^rm2R;FLjesoFI978a&s?pXnA#Ivrz#`Lm?(;baZfYIxjC| zVRT`1a$#d@WpXZQWprjPZ*pfZWN%}WvP9Gk3}tO%Wn^DzZDD6+bCZKbFccAUWn*+{ zZ*E_6Wo%|&Y-w(5l!>#lMH&GCC$r5)jRFEo29q%gE(9BDNCuN}F&>kwNj3pSljBKb D!#y=G delta 101 zcmV-r0Gj{#lmW+-0R(^rl{~QoLjejiFI978a&s?paI;haN<$YMXmoUNb2=|CbZ>8L zb1rFRbY?DZa%YpjMAVa`MJ==CMHvABCA0rVjRFEm29uE*E(9BDMh2516&{n`Nj3pQ HlNCy25nLje diff --git a/docs/doctrees/dbconfig.doctree b/docs/doctrees/dbconfig.doctree index 2e5e67001553bdd9c7b4303edcac52182d98fecc..0c7d22e5023e2622437ef8147a209f3525d927f5 100644 GIT binary patch delta 142 zcmeBi*yq5~z&h1G~=8$&*=RuJH1t<|d`4#AoIvrl%H9zA9rNB3PW7T#}ie7hjy3 slNO(onU_7Kb2E!~7A$(Q7<0IRVu&j0`b delta 96 zcmdnz(Br_;z&e$2Ba0{_m!W=WacWVqesRHOHO5m?;xZW}B?ZM+`uZjL`8maUnW-gd wdih1^lLck2O#UjPyV+bego&kviGg9VgMbp7LRKS$DKq)9ya8kVWEKT00K_gG1poj5 diff --git a/docs/doctrees/environment.pickle b/docs/doctrees/environment.pickle index f761af2a6b8db6339152267f718e83b3dabbecc8..3bc609b0e886fc9936045767576e604875cc4b4c 100644 GIT binary patch delta 73855 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 WB}~SW)wetE(bJ#iiQ?<|$9myiStXD!?S delta 68 zcmV-K0K5OAxdQRH0tA2sm1eO7O#uonFI978a&s?paI;8L ab1rFRbY?DZa%Yq7meiBdmo2jtn2!WuHX5@4 diff --git a/docs/doctrees/mgvv.doctree b/docs/doctrees/mgvv.doctree index 8a12489fe98e3a7ebd7dcab67aae0a94100c4668..c96e8b6f231fd760a5503f79fb9f485f6abf7bc3 100644 GIT binary patch delta 1268 zcmZ{hUrbw79LM{uy)7-Yqo{cI{hC*iCaAEF6mqBT7;hwgXwzr8S zI+ZD9TVaXkvXhvoBiVxw`mo)Y#w~G~Ci=2W6LrBTVGo2Cl}#R$w|RR`bvp3A+~oYe zpYQj3e&^#4tsi}0wY(`UnJ-yNaE5}%@^UU8%umh~Wc@wd^3&sOUTHuhx6Jgmx1C;S zYtvV|LlQrhHFE5s%CSDy^O=h}V_qa^e}5}lsju5xlTcEI!eRLbyxD)k%EoFT(Hns# zDW#+pmA(||;9hBsEZ9)}gyzx%^rs*JqAswEo-1cUN3!r|x?`YkXWIvo1E>he3UI zMds~%=0UE)AUiRDpd_cGN=hGHtG5Y{JfG4}He3i)Oz7%HoxZtoMdD*)1K<4G$-a`{ zlLD0u=zD+LbO>@tkcYQj=&FzoaXF2ASuZMlxBa_tF)LhZQ?yCzu&S|Z61wdHWh#-; z$dH?h>D%{;G<4g+z6K&o<9N=w)NszkzsY^%4!aKc>9u&vr@!DQi^xxM(>+OH+D&f2 zWGZ!3n%I)^j7C<4bNQ4ND^ z2*xup=0Az=opo}0T#k<_>F9)MKs|M zTQ1?zn#0W~80!tQtHt}!RuQiwEg({buFwAsHL|<&kc^x^=Fuy1n%PXPu4GQCg_p5TfXYf2O3T}B9PWd0Mtc_U z@Hkck_rng(V-G)A@d&nr`pyn@BfGEwX(wW5M!SdE`U3W&j=2}nWh}_}?PdSo$mXsM Z?dkt delta 1405 zcmZXRZ%i9y9LM{E-nEo}-Q0w%-Mmhw!*c!OpDdZsfwVUeXgelRNmN*OrFW&h_If43 z$by;;h732KBafQQ`6nitI2~4POpLzRE0sj2X44l|6O;L7k{RD%G-&U+mbC2NT%PCm z{d|Al=l6T(HTt~^v~iYNHmn#I!NR&nGQ6B|XHvQIaP=+(5xcpU=}e9%cwg@9{%H!F zXl$=-2hVgyg-M=~WG0j1BR*9esYSDU13Afsn>4CDsw;fzqBW8@E~OMfO0tQGsVO$9 z#^|7;?iW|VU|76c^FvQ{QI;|wT2R{0M0K2_ItpZRpWayD6cc zb4fpIf_Ba2rFD~u=~Sjuybpaou#bf2N*5mv?jpI&ky0CUV3g6Z?QBF!MumyZ{vu7D za(VQlXOQ_jhuP2chJsxGVdS~qf-YTaf_w0@6gV1>A1f79@wp~^s2&12=Z`#%t`!_~ zfa&r3hY9gzp$VLXK)GS+GL0ad)ys)zaO#@iP10FL28!$Un<32sfvQi_)qfzRm5{MQe{dOewJnh87>CM&@I9)|J`Ea@yS zPm@yK+Xp|HNu(?@GCW8kWwl84S$R^sQN`z5$t?3<9D(!B7JE!lQkjEpw<1ZC8JEB- zQI{l7;F%ft0gs;mHviTM_zg_WHiIE3TJvXS;ieJp$Cpll7rfZ90C(VTPQroR?xG-O z6B7-^pFLI^+a2qO?HMva_L%6g;Wunx!@g6HhOmwf=_t%WD?E&^EWz#AGY53phHtF0 z*;Q$ioP!yN>ozgnrfa@zv(q#{Wn)g!jpcc`4?MVg5!&!q^Uw?PM2p6b(6u)4q;~M? zt#>vJG!mxx1TC)4d~h22;mu0sLNz1Y$_$->+wjE&=zz~E!B4Bf^j7d8{K^Z^4p%Fg z@2iG SYT7D6$5zk|ZoIYx2mc4)-pD%u diff --git a/docs/doctrees/modules.doctree b/docs/doctrees/modules.doctree index 0a61fbe7fc3f9938cb408536ba6fcd6fbdb01899..04d721e84cd26a756cf629aa7713caa2b224f3ac 100644 GIT binary patch delta 114 zcmX>n(jdyxz&f>bBa0g&ud#k;acWVqesM-+Y3k+>#&4{OY8fRZ1;tkS`YDMei6upe z$=RtzdYP#uX?poZ>G~=8$&(Y=ukiAu<|d`4#AoIvrl%H9HsUZ45iCwkF3HT#i!V;i SNsG_P%*&qAxjB*JEh7N#;3+=< delta 66 zcmZn=JtxA_z&h1=Ba0g&mw|q0acWVqesRI(aK>+};xZW}B?ZM+`uZjL`8maUnW-gd Wdih1^lk?cGOb+7E-8_Zk4I=>B02dVi diff --git a/docs/doctrees/pymatgen.db.alchemy.doctree b/docs/doctrees/pymatgen.db.alchemy.doctree index 0c731ee9b090242991f662c8470e30df0fa36fcf..7d2488aa414dd4ac4689d4dc4253b13ebd3ad845 100644 GIT binary patch delta 1998 zcmaJ?T}&KR6z0ydFa`FPUAFB17U+UY*)CMXrBn-vq`_=!h`u0M_GjQS%l>3%7fT}) zOq5htLpW2khKE*7^r33W8XtTi(S$@}G&NOYVvMzKDuGrs1Y_{tnT6T~d6;|Wp8I{@ zIrp41ceZ11#g)^_%dfXDDPu_WnD=RcOAB5BPh>fm^H}o>=t8OLLXo)*UTb?i|7zJC zwC`45ev=(X7h4BT)@8W!8NbsV84C%5`&6^@WRw#kL1A;sTPqUuMf)n zG|!mLIrN+u!VLuBCQs9#n8hCaBXt5l*ID6{3b$%@&#CQ|Z=g-WhMScQhClEI<@`lB zU&(>tKcS-PE~r;%7%FjJg+h{ypc=~BQIgv zkqd6B3_D!Uf!r>&i*mcvJ*amtw}*1g|Kpdqhu_up$Ot-3FADBu4}hpS4Nqttu%R)q zaXIP%&}!S!v~vP zLib?S;3@5tmtC-KFrjT=jc1SoZo6!dG&Zq_k^12uQkO>!_?SN*zTr=7wftU=zWFi$FgZG_Qn6`$PECZ9O6X_b9e?%@hNJF)8Sn@yhDa;?oc8W=V(F%`e))PD}ZqT&jciVK*Ew+!$o%` zxhf)e3{T-0ABXMMK7+ZGemA-OeyV4+)Co_s!Ozjb0;_G7Qu+$bZT1~%ah6ArkbnEc Gv*=%s#ca9& delta 1876 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 HfXDtX@L*<4 literal 280839 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%0AcqWa{VW&F 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 diff --git a/docs/doctrees/pymatgen.db.builders.examples.doctree b/docs/doctrees/pymatgen.db.builders.examples.doctree index d6ea07515af0a858270a94410d81b17b0ee3399e..fa1ecea62a846feff6497c10a7f456329ad1efed 100644 GIT binary patch literal 57405 zcmeHw4U{EEb>9BX?9R;oN@yb(jc7@Tc`J5i(INvGkPMQLQ53DP(4SH8)0_8trn~n2 z@%laOj%3+_pr3^%2I<*IAQRgmfMeqb0yZ|pkRNkweryvT6B~zwEDj=xgRxJ5gJYkQ z@80_9>VDn*x@Tt5u8(z&W?y&Lt-5vV)~$PQ-MaPQ#Lpc4+7|vV+!u5`zkPDC)@Zal z4L2BuyBeMPpyjsv!^ek*-aLF@SP7?kwG%;S(5t({a0^P*J-^xLx$WT_hv8l--uIiq zqJrNUxb?o@X&Z2F!khGVzHwObroxH7-*39sr||ObTC3Jyb=!-L<;CRzDt3FpqINefL>DKDUYpd>%DggYB+uW0cSW&QthTH?7aDF)1tpVr$&^r)LRZSA+p%y* z({H=OV}s>dI9==ad;apE51J4Sw)>5M`n$8HiC8p}t3Ur_A@ee*Jv zJc}qX^e(<>+hEz7k%OhF?d{jk;q>bV%dJjh0D4L~9*n(;Xmk_^zE~o7%)6M#;5{FG z_bvhLFT?+rj_B8FkSHYm_6KKcT};p`-o9!U`FxREWt zeO;#uCUaJLotD#SyH35+Y{~_|>35u3yVLjF-s1F~e&2KO)9G|+ai}#Nzg_RSw9er7 zid*XsdhTJTH)ywM82cyuy6c?qn@v>OTtlthH3o0HC!C&J@AMkMVaH!|7pLPOe%lEK z^|~7bXhl{~uMGm1fw3}m+6`)iaBFlN!Vb-u5&b*Tn~3=yz@XhZ4ORmvbncR4ia7JvTmy}Q)x(3~1Vap?@twp#{X2Vn(YV20R%T@wG7Bmta-HsghX?oDDOMP{E7onXee0Gj**y=pc1D;>Y$cFc?{As*drZSg`tP7wr`wee@ur_Mrs?)*)90C{ zvsqh@#Qy`1-vf?+qeW!6OUnXDHn9!0nUCA9FhruCaa0#_Q5AdfIXMRvnZzM{8!U_S z?Y1VRNYcd7kMTBNk>BR?)7q5uQEe6`(fESj8R6>id}Vt>ST5e{yC>=}z=z>J{j*wY z*S#1Qj$5IoV08AuGj4wvzND&5z9V{Z8LvviqD2jUW9U5-PU08T>R~vi;ZrRwl6T?` zqO%csasjd^@=-SbU_wI#3}FF65OkIWl*D0d{)dywP7ANdZE~@W6<2HjKv}LC-ekCI zWzcN$9P*waLGl~k90`z{wgR_bqZ!K6Z8uLhD1v?4$Dz&Uily6Lb!`oX{*to<3xgY3 zx+fJeXru0;QUUIf6T>?g?o`mxJcwR-v*JX8HzDJ8cinaaYDM)VXm1Ojh4L7{rrFu_ zAt`H3t0wVQYL#3m2g6Io_9em`j5jMDO<){fL}6nx+TphD8m)(G3vygyLrl!_Ff)sI z3;wbF1=>TP9Snv6g^QAKK@mH)YJPht9;X*O@uI)h#e`7|5YFI@d$QZ~>wbTDiVHw( zY2)V<22k;q=nyc_lOsx;ZqJ$mM4>)Bh)Q6mo$YHoaXvFzo*qLp1xBa%5cP>Ci|Er& zIbR}6?=UF?k)3yQr@h*_{@M(CPs`F6X#c%fyISUKU^={zzFnaAlYuW9Qe@YH$ zK;x-~66N8KfN8B357;%&LI`%#Ej5b-aGAf#o;wP02l z;%z-NhISzEgme1A#}gJR*I?5ajAH;7EL zf@ag0HAs9(7X3XgD*hAxiSt)Q{AcSOG}W3PsC^+2^j3Z{1mKB(eJPew6aUo&G^b@5 zuolnQ&0caxtvPUC)9YdOl5}3KHQ?vyv{(Gqc?YWZ^t9yhXx)7N7zjNlE=wtQ`oSk; z-KQUXl4_4QOWZ|x&WbzA^pV$jC8gnV6So4m;0O{~3XPy49W_9MDHVxab`oEpaN>zXL4nxewustS=rslZ!Z4~#9 zC)n5fP5mNVvM`D&tjKN1tB=8re%O(AoO-DD{67EGF1SB4bxm0aNyXlJ6Q2)n&*hbh z_igVlW7@iQ1Hd689x<@t2hL`XRzyzhi;{2ayM|Ji6`(Iq#){?en6ZH5$Alk3?Hwzl zN^d2{3IB_Rcxh^^$n!(IkLO+7&$9JuEi>>d-qO?gE#-MxWJ}O=CjB;VgIn&k9mJEm zQTY&W_cOWehH!DM)S$ao?teu`F)-=bP)g~Tjd zf@nU4yGp!=>17X~HIY&WP&rKW0IJ7$_r8+bz1#u(G9y%Y0Kb{vQr-ZnmOhOd49|}p zxbNn-_j!Ddx#h->mPBKnqcvqDUD{afps$7v`5`_|`?kyVMlT?7B{FxMW&n!CKIYKO znP_wQE#-}qYN^~fy(quEb&Qilqs%ysFAFE9wNi*DiMdD$i#shHN|_5;ktMbgzA-Om zctPqqJB+)QNYF?JriFUahbi8|69JlVMfm885cm^YEJYh{N_j5X;!PmnM`F+Hy(32k2`>nM6>TzYBb%0!l>lxdc$#&`_Mf|=tlsL3`J z&Md<@4y`!T3o}JuSZTJbb_E_;GfGKyDnB}Kduy+0uOeWM{Tw&8yMw;PVoH90+oG8X zw9{*?(w*W&c&ro=lmJ%c4C_8xfRY>UDJzA>|Gq+4<_o5uQ`bs zpdAl|~hqsTR9EtN&D1)L8b5Zd&{G$hVgr5&7**L<_w+#9P7`lk^_%*_YqdwEL z|0IJbhW;;%d#W#vKH2qcHbZ|WQGYg<60Mad?ynf%?4mY9i%+3&+ICHbC+>SFKAxcs z#YPx9Nw6%2PAPX_lno+|PWcF~OV%=;rT=6M?Mkxr%SkbIDhwh;w5$3s5%{cOL>!hPb9r zrMPCAu# z*8Aa-eu5YRu13ugh-h7m91P*1bl_A@nia{`$IpWoj-mO;Jjkt5ycN?5^YP6EW|wkP zlPXon$vG=p1!`4ZO|3y{qck7u9uy{EtrdTx*};m616HIMos=HUWGIE+EB_Sm40j^j zLdw=5NG#*8tmmEWjtnj*r;GP7o_)$0tM*;j?TEch?QpSPndytYZk@hZyYdaVV=uPN zM7z!kxsXR)uDk6rTJpqS#wE~4Ky_QD#l=d# z+*;jpi1TRM{Y0mC+`(A{*Em1c18Nvi{0(6^EB;y`s-=5;ZYQ*Rc7U8y)0hY2d(mKw z`amk1>;&02ktZw@1l3NE-2^nJrru4M;jvxY5v%V$W{Qf8LS*;FEp0c>DSV)X4y?Rs z;6gpF&{>nie8Poc&1XDuurRo<)}KC63*dx9P<Q zVqQ;gxk(GDjIRdGFrxs*e=RM}vd+{sN zN-u(*JP08pTT>95!?uAAsE==NGG6pq;19Y%{CcZOZrxF6;+M))#c=hA)u= zHZHjU(M_M;LAnu@l3+}BfjCg?+^f}v@Uczvki;4+nPMOYOX)c%$3V1&dc|vGauXfp zkKk{Z4lo-KN{Wcm6Xd6NsE)u`s%1b77l~KW*v^V2GsJ1$l7z;>7V6nbMvGt9&8JU? z*WLiyUe_7m09dc^iS5{!B7F2^tGU za}WBy1E6r-oF9uBDRR*FpXaxk7ho&fjIYC;J=k z#Op%N->c5#3Ee+XSZGZ)W^9G)IFlt5?ERU`%3!J;Tn+&l8BdG6eX0&x z4hh1@MB0o~wDCA5eN0x3oqjaqz>3z(OLa|cvs?urSR-ktX6chXrD7|H>~uWz)HwFi zy?8e#>Whp0ge9jpSpE^?mtEAB=w&xpZb99)zb`J@A>Z`rSVN?dJ(eVmXxAX^bZknw zAK>ZOWb4`bq7>@0;>s~(C*r7$1ezRU)(O3lFvms5ZzL2r9s4M%vY9iRLkLy1iSQ5s z&1u<_oX6o=b2|1Z!V`N9W%@{Kn(i4LUj11B=P5?k2ohNejbN++8cey^=dzRbMr$dr z_0e@Y>Yfgtzv3fG!oSa@fGo=t)%$5<568yL4BOIO)HNsE93!abxH&GeFf#R3Tsm=W zGSEe)^scBysY^#M;V@=ADU0hIl0M8j7pNYl z9-iB5!(^chIkiG_1p&<|NijZf>}6i9QI&$xsVsLoO%5L80~9`G_HjA6u-^~d<_cK6 z;mES7QD4(hUD^q3zcTE?rpdLXI;TvNYXFpCn$Rbk_r{tgJE*rBPx%nX@Xkby`TC?f zW^o&1m|b)u#>tPNZreC{4n5O3I2L)Ny>S}1Sz*XDVw@zYlx3Wxl)JP5Qy2ni?Sw( zE~SPsmx;9Tp(VLCKJtN7D2&z|%rK=yoHT(hGJkSfp7@ULXZ ziC`mRqX$;vnS(6#Ei#T?U1GZiTvBC21Zw=K- zTT$N!D734hX-j6N^2RoIb5^xfE^Wzk^V?fT+7gLIw)nBl#_uq3vZbajOJ-xlx#IuQ za6Fr4qaEoHP4aBJF~WVsZu~0xa;ELZS7DH~-6(0t%Kv{OG8VBL@78uBl1wf1{g&&< zBNGUUB8|G=>C*X~8mZQ}A%r8OktKP$)+SR@9=^a`AJVLZok+KR;1~u^Kw}7=(KgI% z7RQL+XT?9xW&4Dqp7+wuC27f{d!y>29olx+4rtdmuJ9UaQtnd46d*Lgfv8TkZa?g{(uaPsAj4V3cHE6S6VV-UXQ+EOc zi_^CNrgs8)A(1~1(6MWQVsN^_#p&Cqx~O1l5cHXY2!4KP-T@|jl?=BG^Ug&^)G)@8o2{7b6EH~$m-X@5fa?*M~NqzbeKe6 z4kZC;QX4oc?T%foOtB)X?Z~7oV=B}T$qIq5(#8Is9yH`c53_W!BH9FF74XRmK@2#j z`4DmSHXlaY_}AWyT-e~Oehv3S;_M^~w1W4lY3DI)B03N=7)YH(R^HAwS&2K;&cQND{d!~ zPvl{UQ}pDYqN=>{%ZcTB7eK98t{vP?+Swm@r-BUSdM$t=mzoUadQMuW`I-=UYl7yQ z^A+XULAlk=GlGYdQOQ>MN%y3^TO}5$;z%r}M8s^G-|AzzBbQL~wBPC@1T?3NjPV}l zU0TQ0W@Plj%-t}0hra)I8LZg5^zQ+Y$2P=a%DY6^7xXUuYJpl+iWEIurMyepzA(fb z^)AVHmK^WWUjRqxUHUftV($|FIy2s-%V};z;w^Lk{f3RWn4bCd? zM1g11N%6d-C(`Olb}7WQ+>B45 z!~(>AhI4MV@BqEc43HHh`UW=Lp+mwERHGDkxXsc>Pyr>pg$Y7#AQupqpR9I(>?lz*O z-jQf1&T6H!)LT(ip1Kj29`+WnxCfx6wbYjaD5<4dmn4vQQmW}|sgp9Mng~0hnu-rX zOGu&mc-_>hIhC2e1!o9xEnCFO*Mti{1|07K9-p_2*?IPENo%Un1IzP8Lb$!UHO(@p z*1$nhzGj)zARU%x2KaU<{El5si{v)FwW`Z$d>5@IFfD>U?jM9>i_Cc`>sHZJTir=T z(@vwO1s^W>aeKH3wGZi63#O?%DYt}?OV3EdzZ%nRc$+M&;CK2v(Dg`)|0J>7toRA~ zCsPqhk>Wye6Wz*}%1!TneFt82zIq!s)C7LrdEFZBJps$G7Zul1QL^X54yDedKq~xM zX?Eam$Cp~qovsb~xNEQP*AcI^MjloyXp0WU3ZfQwJN4HTM}Q0H@`k355tnzB;TBvu zMAPKtl^1ZEHPH2~WUE14z8M zj?@Yze)yhR<58}RF*V#1KAYsi#ffDYf_(tL0*Jgt+42Dp;}rA(Ji$fBJ6vK3b+j^~ zlx-T!NPS|{@rz};r}_PJ1XP^gqrAc~oeJ$sT`4Wq@ae*M*;-A>Q#ZKSoiZNVp>1&u z$0#%ioM!sRb+yq2Wmf#@_;T6 z^j2M%#nIVOH4*wFzN#0ZJ7?Ng)g($QUzH>uyFw~N$s$oT>&b4bmbUeP8qG)CM;OkE zlL}ES(Z?-9bLZM@=HVDb!*S+Q-KHAAm9r zM$jjFWlB;0;%BxCrN;gBM6J1#L7&|I7-N}TbOSo1_zl!;Ymj|pI z9+UF{k*BO#V?v$W{A&a|PWL#P z7+1UuX`jNQ+UQTujk|)wJvujTFq$0KKxb#GH3=zovfAA2xReTZMlWX4>t$!heW}Ja zy}efLBySp-G_|@-WnvTrH%W3ecqCK{)-Z~|tat*$Wb1hOQ;*W*{)~a(G`SaoHtS83 z`_f`*ay0?>Uur5(_t5S{O5*!v)4(R47flZO2F1}R2XF{q6#cj_F|K;Qa^$_4?YxQgJ=6EJ zsh;lxkLV`8OVuQT3U_JFlBh)P<@krhnN^(>Pc6~zG?u>hwUHIbSdILzv@ip7QQ>daWUI<Ba@uVEGQggVm1X!Y`pI*^3a7nIUrT}LL%&_`@tukYoLwIHO{m?_nfa26Hw}E~ zEYkr6nALGuw$pN&omE7bQT&$;M_IXyN_}Q3H;gOZK|R9d@Tz0lK@sO&TL3GnoKso{ z4|nR=Z6p=3k`o)LA{vLM^O)g2|^xeje5Agn7QfKnG@l9#kXG>WLXLO)iRiB z59Kct(45k|#&4-TOWBP7L#eK*ov}{?C}U@gKG|NA*qS9BMDd+5D}Nx4kD8Urb1|Q3=Bgkw*5!k~GTN6H6)g1I%WeY&}~~m11&M zd}<8Yi8$(nAWe=j>ygf8{2?wnekZ6vHska6#+fslLkLy13$&kr=Cte~+r-XFe)eQD zo+mtK#pPxC$ZNims=EMu34jak8xdIwji4bNH9&(Ym5N+;(t8P7%Il?io&MCP!^?CA zU^-2iu*9Q?x*sWLN+fN5E3a-Ws4nV7_>r^Koto1Zb{pj6V!k**PeTUE$Gnkj%y;Lq za=!25P6K=H()_!6V}DEYt4gw|5)J!Q#loC?lIEIOS6xG*O^|R4u%RB9He(_YbbW0>hr-1BC3Xc)!9~ z%l&MIle)*8cs)Vj5=8+2g6VKBm{42Knm$l9|rlJ?pSE@`Hf#Fj?1rb%|s+tPSRayFStE1AiISlHRw1FW-{ z${4lY7zSc@$hj`C+?UPb8ou|Y)y#Er7 zxTLY2Pxey!XG|RH=EWH)r8$pl>S)RDx<`}hG2W+3^81u`A>tfBON`c${Fd@YOSM#P zw64x?Zylp0(I_)o@jZB~rG&E;Ata5UWApe&&L`u!UVjBFS+`2PX*YqkBdl$#|J=2Q{^9rVerZ|qh@jDOYi zi@h_0!~$pg{&@ZQ_$r>>0-!t(tj*KnbLc_ZW_Nn9xtKuRg?QQ!ZG@+jG|S@YlyV0~ zIl<5?O!)}LOV%=;tDoWF&Zl&Yt8=RqZ!h|m z^08Kq4Xyr|^(!T&{&T<~@8COqmyV6wiFw$u!M`#b8_F55zOd(~!+HBGbgrxZrVaWv z?1nO38{x;#85cmjKjU2XmnJ8-|ytgzkD~$aRYm9kAdaFr>h5~CKNecqSO6x zXG`>+T=)!WWF@aH4;%WFcC@?&pm{5d?RWUef@R5)jfPA-K-fLYmh44&ES~Mgk9sj; z%)02+55SoH6{5K^W+frnRPuE?rzD_&powj=-?yKkUD?aYPrw-2*^7pu)MuJ}#r!mRj&>WN;=a#w5KpD>RgAww>h zcJ6DcVGT4)8DBidJNJJdP0BU!59k-Kf&43D4HOdHk<~U~yK5A6tSL}5QQ8R<#s9&! zdCu7~`YbX0s=<(djbO+p5mL^U{Tl>AhCig&)bz7u*!JO5Gx~hl=Feh+s!VBYYE@J!g2r%#xzBJVK4ZVmU= z2fZHVYE^9^9Se8sH%*+q8y*XH;cBNoZf^>P;Q^%N9rSTC#3FpMG{qZOyZMw?5M5oe z?^uY2&(I1k$xW-n2E`6S(z$d(f($#LC$k;>}*%^y7D{^-hbDum-4dR=#nY92*@} z>F8lqU06&lDu5;>fTr@hdoHd(=~tWXy>4@O)3y-zyEe_^M0mhGiHV2a^ap`1G!afT z+~vV4!1q#QJ7|RxNZ#7Qo2h=UR(GjW!$-rte8~!ux7Irilp2OpgZ|3G%NGJ4zb}e^ zly}xvy;{4`bbFvPp^7AO;XZk#idD-5*D?&}5?>Nkh?|Jj_wxO=DbN?iKO}&|{nUp5 zgz`Y5Ci*nQHr)JiZ}4Q&210E^QGIq+Hkwz4|LUM!cJmpt)QErh~KCp@JFw@fjek)swZ2- zQv2PLU0g^FdCA$P8IrlA-ml*42Y$cPqq?fN!m761q>d;ocj^h@9S(P+GXbUm(yMmb zD85G(fgzvi)lQg4u;>ArRp6ZVDj2cpxBUL_=Kb^G z-mcrNf+#NLVqJ0~y+I~eIXObd>-W3C(vc%4PMm<)r_`{Eo!;t^hI{W3lnjmx!wU$4 z5y5n-!oa~W^)W2F@P6U)7heUs?(MDA6V1?@sF@e)W-w`M#Jb1b-lFgJS7c+I`Vp_+ zYND~Jer*}Ese!9aZrT;jfj3)KGfhoLssTinJ3JNc57yfK+R3WtuX;`V4?f<}#6_;d zaCgwEVZyy>fcYJOVCVC*e5~S9q*@cNLE^c(hamAfhEdKtP@72!=;MPfn%E2B)c5-s z2PqFufr~nIzr6xp&;sH-5*fi@IbLqJ+d^LPs^0=D2ZXGA=4-+N&vpBFcR?N5c8^!x z7B0rAV&4fTDoA2H8Xll3Y0T*YCMnlWh1=csy+i1n;VvmpFoD5~e!GE_7~nkVVC8Nd z05;&QKEx{Oz=7vr_y8nc>@8oZMz2xZig}o%In?0dJL#qTT@jaKmWxYimA=k$`A^B5hk`Dyy|4bn@$PJia8?DOzv5Kd7YyB{+#~An+10G|bV*~FJ zD#q>X_Fm;Ja3kIg-l{hh>K*RKhkBz#?!)p9E~8z z&%xdto~CT|u*#ZCC(>yP(dn!(Nn)z`AlzdwBP`zb)O{>QBp)I2sSBtV~?=If<91^i-_IDcvdqofoSg3Sh5K8s`Pcy405~;WTubdS^g-$1t3U zcHE%X?z~RDe;lIrq2aAqmpNg36*p%FyaoaF^NeZ}dp%=b^O`b)^Lx!f0~$qVl~&2= O1_ezhMMVm!#s3d*QUgZ- literal 56966 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 W4zZxUM4R4Zo!ld&v>|v?`TqlkHf9h2 diff --git a/docs/doctrees/pymatgen.db.doctree b/docs/doctrees/pymatgen.db.doctree index 4c22a4b67b42d4f679be9be8d7a06096eb76a08b..fe516ee34b2a129c1057c31074e8b7818b755b9a 100644 GIT binary patch literal 288744 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 literal 280772 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 X|G{KdKT75m5Eaae(h?_h^3nefGR0}A diff --git a/docs/doctrees/pymatgen.db.vv.doctree b/docs/doctrees/pymatgen.db.vv.doctree index 8127ba9d494c40191d93e68d911671dcfed36173..46170de60278be950a6f4b722de23afc7f51f9fb 100644 GIT binary patch literal 356498 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 literal 339757 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 diff --git a/docs/doctrees/pymatgen.doctree b/docs/doctrees/pymatgen.doctree index f3aef70692901f9350c94aae0570fdd3863a67dd..821015ea55582df97e70961d89b11f7926116068 100644 GIT binary patch delta 467 zcmYk3&r2Io5Xaq3UXm?|T9G2u9}S{O)MNt{gc<_Uiz1|m@!%nZm+U07O?I>FdkYC7 zMsiWui@fI_(VLQgr8iHdch4UCQh(rKVCFktn3>P~`Si3vhUC^s-jh=;wQZg-@R`YQ z5P(3fn3xKQ?OMp zDqPY4H!+W&F^P*9!6n?npHP9?!CG_a55@$`pd?H|B - Index — pymatgen-db 2021.5.28 documentation + Index — pymatgen-db 2022.3.17 documentation @@ -37,7 +37,7 @@

    Navigation

  • modules |
  • - +
    @@ -96,14 +96,14 @@

    Symbols

  • - --config <file> + --config
  • - --db CONFIG + --db
  • - --info INFO + --info
  • - --key KEY + --key
  • - --limit <num> + --limit
  • - --properties PROPS + --properties
  • - --query EXPR + --query
  • - --url URL + --url
  • - -c <file> - -
  • -
  • - -C <name> + -C
  • - -D CONFIG + -c
  • - -e <file or spec> + -D
  • - -E ADDR + -E
  • - -f <file> + -e
  • - -F <type> + -F
  • -
  • - -f FILE - -
  • - -F FORMAT + -f
  • @@ -321,14 +296,14 @@

    Symbols

  • - -i INFO + -i
  • - -k KEY + -k
  • - -p PROPS + -p
  • - -q EXPR + -q
  • - -s HOST + -s
  • - -u URL + -u
  • @@ -289,8 +289,9 @@

    Indices and tables
    -

    Table of Contents

    -
    @@ -561,8 +561,9 @@

    Options

    @@ -65,7 +65,7 @@

    Python Module Index

    - pymatgen + pymatgen @@ -194,7 +194,7 @@

    Python Module Index

    Quick search

    diff --git a/docs/pymatgen.db.alchemy.html b/docs/pymatgen.db.alchemy.html index 03e8ffc..7bda6a0 100644 --- a/docs/pymatgen.db.alchemy.html +++ b/docs/pymatgen.db.alchemy.html @@ -6,7 +6,7 @@ - pymatgen.db.alchemy package — pymatgen-db 2021.5.28 documentation + pymatgen.db.alchemy package — pymatgen-db 2022.3.17 documentation @@ -46,7 +46,7 @@

    Navigation

  • previous |
  • - + @@ -74,7 +74,7 @@

    Submodules
    -class QeTransmuter(queryengine, criteria, transformations, extend_collection=0, ncores=None)[source]
    +class QeTransmuter(queryengine, criteria, transformations, extend_collection=0, ncores=None)[source]

    Bases: pymatgen.alchemy.transmuters.StandardTransmuter

    The QeTransmuter uses a QueryEngine to retrieve and generate new structures from a database.

    @@ -112,8 +112,9 @@

    Submodules
    -

    Table of Contents

    -
      +

      Related Topics

      • Documentation overview
        • pymatgen.db package
            @@ -142,7 +144,7 @@

            This Page

            Quick search

            diff --git a/docs/pymatgen.db.builders.examples.html b/docs/pymatgen.db.builders.examples.html index 0927a5b..dddce39 100644 --- a/docs/pymatgen.db.builders.examples.html +++ b/docs/pymatgen.db.builders.examples.html @@ -6,7 +6,7 @@ - pymatgen.db.builders.examples package — pymatgen-db 2021.5.28 documentation + pymatgen.db.builders.examples package — pymatgen-db 2022.3.17 documentation @@ -46,7 +46,7 @@

            Navigation

          • previous |
          • - + @@ -73,7 +73,7 @@

            Submodules
            -class CopyBuilder(*args, **kwargs)[source]
            +class CopyBuilder(*args, **kwargs)[source]

            Bases: pymatgen.db.builders.core.Builder

            Copy from one MongoDB collection to another.

            Create new builder for threaded or multiprocess execution.

            @@ -126,7 +126,7 @@

            Submodules
            -class FileCounter(**kwargs)[source]
            +class FileCounter(**kwargs)[source]

            Bases: pymatgen.db.builders.core.Builder

            Count lines and characters in a file.

            Create new builder for threaded or multiprocess execution.

            @@ -233,7 +233,7 @@

            Submodules
            -class MaxValueBuilder(ncores=1)[source]
            +class MaxValueBuilder(ncores=1)[source]

            Bases: pymatgen.db.builders.core.Builder

            Example of incremental builder that requires some custom logic for incremental case.

            @@ -289,8 +289,9 @@

            Submodules
            -

            Table of Contents

            -

            -exception DBError[source]
            +exception DBError[source]

            Bases: Exception

            Generic database error.

            -class Mark(collection=None, operation=None, field=None, pos=None)[source]
            +class Mark(collection=None, operation=None, field=None, pos=None)[source]

            Bases: object

            The position in a collection for the last record that was processed by a given operation.

            @@ -607,17 +607,17 @@

            Submodules
            -FLD_FLD = 'field'
            +FLD_FLD = 'field'

            -FLD_MARK = 'mark'
            +FLD_MARK = 'mark'
            -FLD_OP = 'operation'
            +FLD_OP = 'operation'
            @@ -628,7 +628,7 @@

            Submodules
            -classmethod from_dict(coll, d)[source]
            +classmethod from_dict(coll, d)[source]

            Construct from dict

            Parameters
            @@ -648,12 +648,12 @@

            Submodules
            -property pos
            +property pos

            -property query
            +property query

            A mongdb query expression to find all records with higher values for this mark’s fields in the collection.

            @@ -687,7 +687,7 @@

            Submodules
            -exception NoTrackingCollection[source]
            +exception NoTrackingCollection[source]

            Bases: Exception

            Raised if no tracking collection is present, but some operation is requested on that collection.

            @@ -695,29 +695,29 @@

            Submodules
            -class Operation(value)[source]
            +class Operation(value)[source]

            Bases: enum.Enum

            Enumeration of collection operations.

            -build = 2
            +build = 2
            -copy = 1
            +copy = 1
            -other = 99
            +other = 99

            -class TrackedCollection(coll, operation=None, field=None)[source]
            +class TrackedCollection(coll, operation=None, field=None)[source]

            Bases: object

            Wrapper on a pymongo collection to make `find’ operations start after the “tracking” mark.

            @@ -758,7 +758,7 @@

            Submodules
            -class TrackedQueryEngine(track_operation=None, track_field=None, **kwargs)[source]
            +class TrackedQueryEngine(track_operation=None, track_field=None, **kwargs)[source]

            Bases: pymatgen.db.query_engine.QueryEngine, pymatgen.db.builders.incr.TrackingInterface

            A QueryEngine subclass that only examines records past the last ‘mark’ that was set for the @@ -770,7 +770,7 @@

            Submodules
            -property collection_name
            +property collection_name

            Override base class to make this a tracked collection. See @collection_name.setter()

            @@ -783,7 +783,7 @@

            Submodules
            -property tracking
            +property tracking

            Whether tracking is really enabled.

            @@ -791,11 +791,11 @@

            Submodules
            -class TrackingInterface[source]
            +class TrackingInterface[source]

            Bases: object

            -abstract set_mark()[source]
            +abstract set_mark()[source]

            Set the mark to the current end of the collection. This is saved in the database so it is available for later operations.

            @@ -804,7 +804,7 @@

            Submodules
            -class UnTrackedQueryEngine(host='127.0.0.1', port=27017, database='vasp', user=None, password=None, collection='tasks', aliases_config=None, default_properties=None, query_post=None, result_post=None, connection=None, replicaset=None, **ignore)[source]
            +class UnTrackedQueryEngine(host='127.0.0.1', port=27017, database='vasp', user=None, password=None, collection='tasks', aliases_config=None, default_properties=None, query_post=None, result_post=None, connection=None, replicaset=None, **ignore)[source]

            Bases: pymatgen.db.query_engine.QueryEngine, pymatgen.db.builders.incr.TrackingInterface

            A QE that has the interface for tracking, but does nothing for it. Allows for callers to do same operations regardless of whether tracking is @@ -876,7 +876,7 @@

            Submodules
            -class HasMeta(meta)[source]
            +class HasMeta(meta)[source]

            Bases: object

            Mix-in class to handle metadata. Adds the ‘meta’ class attribute.

            @@ -891,12 +891,12 @@

            Submodules
            -FIELD_SEP = ','
            +FIELD_SEP = ','

            -KV_SEP = ':'
            +KV_SEP = ':'
            @@ -908,7 +908,7 @@

            Submodules
            -class Scalar(typecode, optional=False, meta='')[source]
            +class Scalar(typecode, optional=False, meta='')[source]

            Bases: pymatgen.db.builders.schema.HasMeta

            Create with new metadata (which may be empty). The metadata should be dict-like (i.e. __getitem__ and __setitem__) or @@ -921,17 +921,17 @@

            Submodules
            -JSTYPES = {'bool': 'boolean', 'date': 'string', 'datetime': 'string', 'float': 'number', 'int': 'integer', 'null': 'null', 'string': 'string'}
            +JSTYPES = {'bool': 'boolean', 'date': 'string', 'datetime': 'string', 'float': 'number', 'int': 'integer', 'null': 'null', 'string': 'string'}

            -TYPES = {'array': <function Scalar.<lambda>>, 'bool': <function Scalar.<lambda>>, 'date': <function _is_datetime>, 'datetime': <function _is_datetime>, 'float': <function Scalar.<lambda>>, 'int': <function Scalar.<lambda>>, 'null': <function Scalar.<lambda>>, 'object': <function Scalar.<lambda>>, 'string': <function Scalar.<lambda>>}
            +TYPES = {'array': <function Scalar.<lambda>>, 'bool': <function Scalar.<lambda>>, 'date': <function _is_datetime>, 'datetime': <function _is_datetime>, 'float': <function Scalar.<lambda>>, 'int': <function Scalar.<lambda>>, 'null': <function Scalar.<lambda>>, 'object': <function Scalar.<lambda>>, 'string': <function Scalar.<lambda>>}
            -property jstype
            +property jstype

            Return JavaScript type.

            @@ -939,7 +939,7 @@

            Submodules
            -class Schema(schema, optional=False, meta='')[source]
            +class Schema(schema, optional=False, meta='')[source]

            Bases: pymatgen.db.builders.schema.HasMeta

            Create with new metadata (which may be empty). The metadata should be dict-like (i.e. __getitem__ and __setitem__) or @@ -952,17 +952,17 @@

            Submodules
            -IS_DICT = 1
            +IS_DICT = 1
            -IS_LIST = 0
            +IS_LIST = 0
            -IS_SCALAR = 2
            +IS_SCALAR = 2
            @@ -989,26 +989,26 @@

            Submodules
            -exception SchemaError[source]
            +exception SchemaError[source]

            Bases: Exception

            Base class of all errors raised by schema creation or validation.

            -exception SchemaParseError[source]
            +exception SchemaParseError[source]

            Bases: pymatgen.db.builders.schema.SchemaError

            -exception SchemaPathError[source]
            +exception SchemaPathError[source]

            Bases: pymatgen.db.builders.schema.SchemaError

            -exception SchemaTypeError(typename)[source]
            +exception SchemaTypeError(typename)[source]

            Bases: pymatgen.db.builders.schema.SchemaError

            @@ -1164,8 +1164,9 @@

            Submodules
            -

            Table of Contents

            -
            @@ -115,7 +115,7 @@

            Submodules
            -class VaspToDbTaskDrone(host='127.0.0.1', port=27017, database='vasp', user=None, password=None, collection='tasks', parse_dos=False, compress_dos=False, parse_projected_eigen=False, simulate_mode=False, additional_fields=None, update_duplicates=True, mapi_key=None, use_full_uri=True, runs=None)[source]
            +class VaspToDbTaskDrone(host='127.0.0.1', port=27017, database='vasp', user=None, password=None, collection='tasks', parse_dos=False, compress_dos=False, parse_projected_eigen=False, simulate_mode=False, additional_fields=None, update_duplicates=True, mapi_key=None, use_full_uri=True, runs=None)[source]

            Bases: pymatgen.apps.borg.hive.AbstractDrone

            VaspToDbTaskDrone assimilates directories containing vasp input to inserted db tasks. This drone is meant ot be used with pymatgen’s @@ -216,7 +216,7 @@

            Submodules
            -classmethod from_dict(d)[source]
            +classmethod from_dict(d)[source]
            Parameters

            d – Dict representation.

            @@ -357,13 +357,13 @@

            Submodules
            -exception ConfigurationFileError(filename, err)[source]
            +exception ConfigurationFileError(filename, err)[source]

            Bases: Exception

            -class DBConfig(config_file=None, config_dict=None)[source]
            +class DBConfig(config_file=None, config_dict=None)[source]

            Bases: object

            Database configuration.

            Constructor.

            @@ -384,27 +384,27 @@

            Submodules
            -ALL_SETTINGS = ['host', 'port', 'database', 'collection', 'aliases']
            +ALL_SETTINGS = ['host', 'port', 'database', 'collection', 'aliases']

            -DEFAULT_FILE = 'db.json'
            +DEFAULT_FILE = 'db.json'
            -DEFAULT_PORT = 27017
            +DEFAULT_PORT = 27017
            -DEFAULT_SETTINGS = [('host', 'localhost'), ('port', 27017), ('database', 'vasp'), ('aliases', {})]
            +DEFAULT_SETTINGS = [('host', 'localhost'), ('port', 27017), ('database', 'vasp'), ('aliases', {})]
            -property collection
            +property collection
            @@ -415,33 +415,33 @@

            Submodules
            -property dbname
            +property dbname

            Name of the database.

            -property host
            +property host
            -property password
            +property password
            -property port
            +property port
            -property settings
            +property settings
            -property user
            +property user
            @@ -500,7 +500,7 @@

            Submodules
            -class ConfigGroup(qe_class=<class 'pymatgen.db.query_engine.QueryEngine'>)[source]
            +class ConfigGroup(qe_class=<class 'pymatgen.db.query_engine.QueryEngine'>)[source]

            Bases: object

            Convenient storage and access to a group of database configurations.

            @@ -508,7 +508,7 @@

            Submodules
            -SEP = '.'
            +SEP = '.'
            @@ -618,13 +618,13 @@

            Submodules
            -exception CreateQueryEngineError(cls, settings, err)[source]
            +exception CreateQueryEngineError(cls, settings, err)[source]

            Bases: Exception

            -class RegexDict[source]
            +class RegexDict[source]

            Bases: dict

            Extend standard dict to include a function that finds values based on a @@ -691,7 +691,7 @@

            Submodules
            -class QueryEngine(host='127.0.0.1', port=27017, database='vasp', user=None, password=None, collection='tasks', aliases_config=None, default_properties=None, query_post=None, result_post=None, connection=None, replicaset=None, **ignore)[source]
            +class QueryEngine(host='127.0.0.1', port=27017, database='vasp', user=None, password=None, collection='tasks', aliases_config=None, default_properties=None, query_post=None, result_post=None, connection=None, replicaset=None, **ignore)[source]

            Bases: object

            This class defines a QueryEngine interface to a Mongo Collection based on a set of aliases. This query engine also provides convenient translation @@ -763,42 +763,42 @@

            Submodules
            -ALIASES_CONFIG_KEY = 'aliases_config'
            +ALIASES_CONFIG_KEY = 'aliases_config'

            -COLLECTION_KEY = 'collection'
            +COLLECTION_KEY = 'collection'
            -DB_KEY = 'database'
            +DB_KEY = 'database'
            -HOST_KEY = 'host'
            +HOST_KEY = 'host'
            -PASSWORD_KEY = 'password'
            +PASSWORD_KEY = 'password'
            -PORT_KEY = 'port'
            +PORT_KEY = 'port'
            -USER_KEY = 'user'
            +USER_KEY = 'user'
            -aliases = None
            +aliases = None

            See aliases arg to constructor

            @@ -810,18 +810,18 @@

            Submodules
            -property collection_name
            +property collection_name
            -default_criteria = None
            +default_criteria = None

            See default_criteria arg to constructor

            -default_properties = None
            +default_properties = None

            See default_properties arg to constructor

            @@ -833,7 +833,7 @@

            Submodules
            -static from_config(config_file, use_admin=False)[source]
            +static from_config(config_file, use_admin=False)[source]

            Initialize a QueryEngine from a JSON config file generated using mgdb init.

            @@ -981,13 +981,13 @@

            Submodules
            -query_post = None
            +query_post = None

            See query_post arg to constructor

            -result_post = None
            +result_post = None

            See result_post arg to constructor

            @@ -1028,14 +1028,14 @@

            Submodules
            -exception QueryError[source]
            +exception QueryError[source]

            Bases: Exception

            Exception class for errors occuring during queries.

            -class QueryListResults(prop_dict, result_cursor, postprocess=None)[source]
            +class QueryListResults(prop_dict, result_cursor, postprocess=None)[source]

            Bases: pymatgen.db.query_engine.QueryResults

            Set of QueryResults on a list instead of a MongoDB cursor.

            Constructor.

            @@ -1058,7 +1058,7 @@

            Submodules
            -class QueryResults(prop_dict, result_cursor, postprocess=None)[source]
            +class QueryResults(prop_dict, result_cursor, postprocess=None)[source]

            Bases: collections.abc.Iterable

            Iterable wrapper for results from QueryEngine. Like pymongo’s cursor, this object should generally not be instantiated, @@ -1096,7 +1096,7 @@

            Submodules
            -class MongoJSONEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[source]
            +class MongoJSONEncoder(*, 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

            Constructor for JSONEncoder, with sensible defaults.

            If skipkeys is false, then it is a TypeError to attempt @@ -1222,8 +1222,9 @@

            Submodules
            -

            Table of Contents

            -

            @@ -247,7 +247,7 @@

            Submodules
            -class DiffFormatter(meta, key=None)[source]
            +class DiffFormatter(meta, key=None)[source]

            Bases: object

            Base class for formatting a ‘diff’ report.

            Constructor.

            @@ -264,7 +264,7 @@

            Submodules
            -TITLE = 'Materials Project Database Diff Report'
            +TITLE = 'Materials Project Database Diff Report'
            @@ -322,7 +322,7 @@

            Submodules
            -class DiffHtmlFormatter(meta, url=None, email_mode=False, **kwargs)[source]
            +class DiffHtmlFormatter(meta, url=None, email_mode=False, **kwargs)[source]

            Bases: pymatgen.db.vv.report.DiffFormatter

            Format an HTML diff report.

            Constructor.

            @@ -336,12 +336,12 @@

            Submodules
            -DIFF_CSS = ['.header {padding: 5px; margin: 0 5px;}', '.header h1 {color: #165F4B; font-size: 20; text-align: left; margin-left: 20px;}', '.header p {color: #666666; margin-left: 20px; height: 12px;}', '.header p em {color: #4169E1; font-style: normal;}', '.content {padding: 15px; padding-top: 0px; margin: 0; background-color: #F3F3F3;}', '.content h2 {color: #2C3E50; font-size: 16px;}', '.empty { font-size: 14px; font-style: italic;}', '.section {padding: 5px; margin: 10px; background-color: #E2E2E2; border-radius: 5px;}', '.section div {margin-left: 10px;}', '.section table {margin-left: 5px;}', 'tr:nth-child(even) { background-color: white; }', 'tr:nth-child(odd) { background-color: #F5F5F5; }', 'tr:nth-child(1) { background-color: #778899; font-weight: 500;}', 'th, td {padding: 0.2em 0.5em;}', 'th { text-align: left;  color: white; margin: 0;}', '.fixed { font-family: Consolas, monaco, monospace; }']
            +DIFF_CSS = ['.header {padding: 5px; margin: 0 5px;}', '.header h1 {color: #165F4B; font-size: 20; text-align: left; margin-left: 20px;}', '.header p {color: #666666; margin-left: 20px; height: 12px;}', '.header p em {color: #4169E1; font-style: normal;}', '.content {padding: 15px; padding-top: 0px; margin: 0; background-color: #F3F3F3;}', '.content h2 {color: #2C3E50; font-size: 16px;}', '.empty { font-size: 14px; font-style: italic;}', '.section {padding: 5px; margin: 10px; background-color: #E2E2E2; border-radius: 5px;}', '.section div {margin-left: 10px;}', '.section table {margin-left: 5px;}', 'tr:nth-child(even) { background-color: white; }', 'tr:nth-child(odd) { background-color: #F5F5F5; }', 'tr:nth-child(1) { background-color: #778899; font-weight: 500;}', 'th, td {padding: 0.2em 0.5em;}', 'th { text-align: left;  color: white; margin: 0;}', '.fixed { font-family: Consolas, monaco, monospace; }']

            -css = ["html { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; }", 'body { margin: 2em;}', 'table { margin-top: 1em; clear: both; border: 0;}', 'dl, dt, dd { float: left; }', 'dl, dt { clear: both; }', 'dt { width: 8em; font-weight: 700; }', 'dd { width: 32em; }', 'tr:nth-child(even) { background-color: #E9E9E9; }', 'tr:nth-child(odd) { background-color: #E9E9E9; }', 'th, td {padding: 0.2em 0.5em;}', 'th { text-align: left;  color: black; margin: 0; font-weight: 300;}', 'h1, h2, h3 { clear: both; margin: 0; padding: 0; }', 'h1 { font-size: 18; color: rgb(44, 62, 80); }', 'h2 { font-size: 14; color: black; }', '.header {padding: 5px; margin: 0 5px;}', '.header h1 {color: #165F4B; font-size: 20; text-align: left; margin-left: 20px;}', '.header p {color: #666666; margin-left: 20px; height: 12px;}', '.header p em {color: #4169E1; font-style: normal;}', '.content {padding: 15px; padding-top: 0px; margin: 0; background-color: #F3F3F3;}', '.content h2 {color: #2C3E50; font-size: 16px;}', '.empty { font-size: 14px; font-style: italic;}', '.section {padding: 5px; margin: 10px; background-color: #E2E2E2; border-radius: 5px;}', '.section div {margin-left: 10px;}', '.section table {margin-left: 5px;}', 'tr:nth-child(even) { background-color: white; }', 'tr:nth-child(odd) { background-color: #F5F5F5; }', 'tr:nth-child(1) { background-color: #778899; font-weight: 500;}', 'th, td {padding: 0.2em 0.5em;}', 'th { text-align: left;  color: white; margin: 0;}', '.fixed { font-family: Consolas, monaco, monospace; }']
            +css = ["html { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; }", 'body { margin: 2em;}', 'table { margin-top: 1em; clear: both; border: 0;}', 'dl, dt, dd { float: left; }', 'dl, dt { clear: both; }', 'dt { width: 8em; font-weight: 700; }', 'dd { width: 32em; }', 'tr:nth-child(even) { background-color: #E9E9E9; }', 'tr:nth-child(odd) { background-color: #E9E9E9; }', 'th, td {padding: 0.2em 0.5em;}', 'th { text-align: left;  color: black; margin: 0; font-weight: 300;}', 'h1, h2, h3 { clear: both; margin: 0; padding: 0; }', 'h1 { font-size: 18; color: rgb(44, 62, 80); }', 'h2 { font-size: 14; color: black; }', '.header {padding: 5px; margin: 0 5px;}', '.header h1 {color: #165F4B; font-size: 20; text-align: left; margin-left: 20px;}', '.header p {color: #666666; margin-left: 20px; height: 12px;}', '.header p em {color: #4169E1; font-style: normal;}', '.content {padding: 15px; padding-top: 0px; margin: 0; background-color: #F3F3F3;}', '.content h2 {color: #2C3E50; font-size: 16px;}', '.empty { font-size: 14px; font-style: italic;}', '.section {padding: 5px; margin: 10px; background-color: #E2E2E2; border-radius: 5px;}', '.section div {margin-left: 10px;}', '.section table {margin-left: 5px;}', 'tr:nth-child(even) { background-color: white; }', 'tr:nth-child(odd) { background-color: #F5F5F5; }', 'tr:nth-child(1) { background-color: #778899; font-weight: 500;}', 'th, td {padding: 0.2em 0.5em;}', 'th { text-align: left;  color: white; margin: 0;}', '.fixed { font-family: Consolas, monaco, monospace; }']
            @@ -365,14 +365,14 @@

            Submodules
            -styles = {'content': {'_': 'padding: 15px; padding-top: 0px; margin: 0; background-color: #F3F3F3', 'h2': 'color: #2C3E50; font-size: 16px', 'section': 'padding: 5px; margin: 10px; background-color: #E2E2E2; border-radius: 5px'}, 'header': {'em': 'color: #4169E1; font-style: normal', 'h1': 'color: #165F4B; font-size: 20; text-align: left; margin-left: 20px', 'p': 'color: #666666; margin-left: 20px; height: 12px'}, 'table': {'table': 'margin-top: 1em; clear: both; border: 0', 'td': 'padding: 0.2em 0.5em', 'th': 'text-align: left;  color: white; margin: 0; padding: 0.2em 0.5em', 'tr1': 'background-color: #778899; font-weight: 500', 'tr_even': 'background-color: white', 'tr_odd': 'background-color: #F5F5F5'}}
            +styles = {'content': {'_': 'padding: 15px; padding-top: 0px; margin: 0; background-color: #F3F3F3', 'h2': 'color: #2C3E50; font-size: 16px', 'section': 'padding: 5px; margin: 10px; background-color: #E2E2E2; border-radius: 5px'}, 'header': {'em': 'color: #4169E1; font-style: normal', 'h1': 'color: #165F4B; font-size: 20; text-align: left; margin-left: 20px', 'p': 'color: #666666; margin-left: 20px; height: 12px'}, 'table': {'table': 'margin-top: 1em; clear: both; border: 0', 'td': 'padding: 0.2em 0.5em', 'th': 'text-align: left;  color: white; margin: 0; padding: 0.2em 0.5em', 'tr1': 'background-color: #778899; font-weight: 500', 'tr_even': 'background-color: white', 'tr_odd': 'background-color: #F5F5F5'}}

            -class DiffJsonFormatter(meta, pretty=False, **kwargs)[source]
            +class DiffJsonFormatter(meta, pretty=False, **kwargs)[source]

            Bases: pymatgen.db.vv.report.DiffFormatter

            Constructor.

            @@ -385,7 +385,7 @@

            Submodules
            -class Encoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[source]
            +class Encoder(*, 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

            Constructor for JSONEncoder, with sensible defaults.

            If skipkeys is false, then it is a TypeError to attempt @@ -468,7 +468,7 @@

            Submodules
            -class DiffTextFormatter(meta, key=None)[source]
            +class DiffTextFormatter(meta, key=None)[source]

            Bases: pymatgen.db.vv.report.DiffFormatter

            Format a plain-text diff report.

            Constructor.

            @@ -501,7 +501,7 @@

            Submodules
            -class Emailer(sender='me@localhost', recipients=('you@remote.host'), subject='Report', server='localhost', port=None, **kwargs)[source]
            +class Emailer(sender='me@localhost', recipients=('you@remote.host',), subject='Report', server='localhost', port=None, **kwargs)[source]

            Bases: pymatgen.db.vv.util.DoesLogging

            Send a report to an email recipient.

            Send reports as email.

            @@ -544,14 +544,14 @@

            Submodules
            -property subject
            +property subject

            -class HTMLFormatter(line_sep='\n', id_column=0, css=None)[source]
            +class HTMLFormatter(line_sep='\n', id_column=0, css=None)[source]

            Bases: object

            Format a report as HTML.

            @@ -563,7 +563,7 @@

            Submodules
            -class Header(title='')[source]
            +class Header(title='')[source]

            Bases: object

            Base header class.

            @@ -585,7 +585,7 @@

            Submodules
            -class JSONFormatter(id_column=0, indent=2)[source]
            +class JSONFormatter(id_column=0, indent=2)[source]

            Bases: object

            Format a report as JSON.

            @@ -597,7 +597,7 @@

            Submodules
            -class MarkdownFormatter(id_column=0)[source]
            +class MarkdownFormatter(id_column=0)[source]

            Bases: object

            Format a report as markdown

            @@ -609,7 +609,7 @@

            Submodules
            -class Report(header)[source]
            +class Report(header)[source]

            Bases: object

            Create blank report, with a header.

            @@ -624,7 +624,7 @@

            Submodules
            -property header
            +property header

            @@ -636,20 +636,20 @@

            Submodules
            -exception ReportBackupError[source]
            +exception ReportBackupError[source]

            Bases: Exception

            -class ReportHeader(title='')[source]
            +class ReportHeader(title='')[source]

            Bases: pymatgen.db.vv.report.Header

            Header for entire report.

            -class ReportJSONEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[source]
            +class ReportJSONEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[source]

            Bases: pymatgen.db.util.MongoJSONEncoder

            Constructor for JSONEncoder, with sensible defaults.

            If skipkeys is false, then it is a TypeError to attempt @@ -705,7 +705,7 @@

            Submodules
            -class ReportSection(header, body=None)[source]
            +class ReportSection(header, body=None)[source]

            Bases: pymatgen.db.vv.report.Report

            Section within a report, with data.

            Create new report section, initialized with header and body.

            @@ -719,21 +719,21 @@

            Submodules
            -property body
            +property body

            -class SectionHeader(title='')[source]
            +class SectionHeader(title='')[source]

            Bases: pymatgen.db.vv.report.Header

            Header for one section of a report.

            -class Table(colnames)[source]
            +class Table(colnames)[source]

            Bases: object

            Table of values.

            @@ -743,22 +743,22 @@

            Submodules
            -property column_names
            +property column_names

            -property column_widths
            +property column_widths
            -property ncol
            +property ncol
            -property nrow
            +property nrow
            @@ -768,7 +768,7 @@

            Submodules
            -property values
            +property values

            @@ -784,7 +784,7 @@

            Submodules
            -class DoesLogging(name=None)[source]
            +class DoesLogging(name=None)[source]

            Bases: object

            Mix-in class that creates the attribute ‘log’, setting its qualified name to the name of the module and class.

            @@ -792,13 +792,13 @@

            Submodules
            -class ElapsedTime[source]
            +class ElapsedTime[source]

            Bases: object

            -class JsonWalker(value_transform=None, dict_transform=None)[source]
            +class JsonWalker(value_transform=None, dict_transform=None)[source]

            Bases: object

            Walk a dict, transforming. Used for JSON formatting.

            @@ -813,7 +813,7 @@

            Submodules
            -static dict_expand(o)[source]
            +static dict_expand(o)[source]

            Expand keys in a dict with ‘.’ in them into sub-dictionaries, e.g.

            {‘a.b.c’: ‘foo’} ==> {‘a’: {‘b’: {‘c’: ‘foo’}}}

            @@ -821,7 +821,7 @@

            Submodules
            -static value_json(o)[source]
            +static value_json(o)[source]

            Apply as_json() method on object to get value, otherwise return object itself as the value.

            @@ -836,7 +836,7 @@

            Submodules
            -class Timing(name='event', elapsed=None, log=None, level=10, **kwargs)[source]
            +class Timing(name='event', elapsed=None, log=None, level=10, **kwargs)[source]

            Bases: object

            Perform and report timings using the ‘with’ keyword.

            @@ -851,7 +851,7 @@

            Submodules
            -class YamlConfig(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)[source]
            +class YamlConfig(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)[source]

            Bases: argparse.Action

            Populate arguments with YAML file contents.

            @@ -924,7 +924,7 @@

            Submodules
            -class ConstraintSpec(spec)[source]
            +class ConstraintSpec(spec)[source]

            Bases: pymatgen.db.vv.util.DoesLogging

            Specification of a set of constraints for a collection.

            Create specification from a configuration.

            @@ -938,33 +938,33 @@

            Submodules
            -CONSTRAINT_SECT = 'constraints'
            +CONSTRAINT_SECT = 'constraints'

            -FILTER_SECT = 'filter'
            +FILTER_SECT = 'filter'
            -SAMPLE_SECT = 'sample'
            +SAMPLE_SECT = 'sample'

            -class ConstraintSpecSection(fltr, constraints, sample)[source]
            +class ConstraintSpecSection(fltr, constraints, sample)[source]

            Bases: object

            -property constraints
            +property constraints
            -property filters
            +property filters
            @@ -974,14 +974,14 @@

            Submodules
            -property sampler
            +property sampler

            -class ConstraintViolation(constraint, value, expected)[source]
            +class ConstraintViolation(constraint, value, expected)[source]

            Bases: object

            A single constraint violation, with no metadata.

            Create new constraint violation

            @@ -992,29 +992,29 @@

            Submodules
            -property expected_value
            +property expected_value

            -property field
            +property field
            -property got_value
            +property got_value
            -property op
            +property op

            -class ConstraintViolationGroup[source]
            +class ConstraintViolationGroup[source]

            Bases: object

            A group of constraint violations with metadata.

            Create an empty object.

            @@ -1039,13 +1039,13 @@

            Submodules
            -exception DBError[source]
            +exception DBError[source]

            Bases: Exception

            -class NullConstraintViolation[source]
            +class NullConstraintViolation[source]

            Bases: pymatgen.db.vv.validate.ConstraintViolation

            Empty constraint violation, for when there are no constraints.

            Create new constraint violation

            @@ -1058,12 +1058,12 @@

            Submodules
            -class ProgressMeter(num, fmt)[source]
            +class ProgressMeter(num, fmt)[source]

            Bases: object

            Simple progress tracker

            -property count
            +property count
            @@ -1080,7 +1080,7 @@

            Submodules
            -class Projection[source]
            +class Projection[source]

            Bases: object

            Fields on which to project the query results.

            @@ -1118,7 +1118,7 @@

            Submodules
            -class PythonMethod(text)[source]
            +class PythonMethod(text)[source]

            Bases: object

            Encapsulate an external Python method that will be run on our target MongoDB collection to perform arbitrary types of validation.

            @@ -1130,18 +1130,18 @@

            Submodules
            -BAD_CONSTRAINT_ERR = 'Invalid constraint (must be: @<method> [<param> ..])'
            +BAD_CONSTRAINT_ERR = 'Invalid constraint (must be: @<method> [<param> ..])'

            -CANNOT_COMBINE_ERR = 'Call to a Python method cannot be combined '
            +CANNOT_COMBINE_ERR = 'Call to a Python method cannot be combined '

            with any other constraints

            -classmethod constraint_is_method(text)[source]
            +classmethod constraint_is_method(text)[source]

            Check from the text of the constraint whether it is a Python method, as opposed to a ‘normal’ constraint.

            @@ -1155,7 +1155,7 @@

            Submodules
            -class Sampler(min_items=0, max_items=1000000000.0, p=1.0, distrib=1, **kw)[source]
            +class Sampler(min_items=0, max_items=1000000000.0, p=1.0, distrib=1, **kw)[source]

            Bases: pymatgen.db.vv.util.DoesLogging

            Randomly sample a proportion of the full collection.

            Create new parameterized sampler.

            @@ -1174,22 +1174,22 @@

            Submodules
            -DEFAULT_DIST = 1
            +DEFAULT_DIST = 1

            -DIST_CODES = {'uniform': 1}
            +DIST_CODES = {'uniform': 1}
            -DIST_RUNIF = 1
            +DIST_RUNIF = 1
            -property is_empty
            +property is_empty
            @@ -1221,12 +1221,12 @@

            Submodules
            -class Validator(max_violations=50, max_dberrors=10, aliases=None, add_exists=False)[source]
            +class Validator(max_violations=50, max_dberrors=10, aliases=None, add_exists=False)[source]

            Bases: pymatgen.db.vv.util.DoesLogging

            Validate a collection.

            -class SectionParts(cond, body, sampler, report_fields)[source]
            +class SectionParts(cond, body, sampler, report_fields)[source]

            Bases: object

            Encapsulate the tuple of information for each section of filters, constraints, etc. within a collection.

            @@ -1297,7 +1297,7 @@

            Submodules
            -exception ValidatorSyntaxError(target, desc)[source]
            +exception ValidatorSyntaxError(target, desc)[source]

            Bases: Exception

            Syntax error in configuration of Validator

            @@ -1342,8 +1342,9 @@

            Submodules
            -

            Table of Contents

            -
            @@ -48,8 +48,8 @@

            Navigation

            -
            -

            pymatgen namespace

            +
            +

            pymatgen namespace

            Subpackages

            @@ -120,14 +120,16 @@

            Subpackages
            -

            Table of Contents

            -
            @@ -55,13 +55,14 @@

            Navigation

            Search

            -
            - +

            @@ -71,7 +72,7 @@

            Search

            - +
            diff --git a/docs/searchindex.js b/docs/searchindex.js index 271ad18..105eedd 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["_themes/README","builders","change_log","dbconfig","index","mgvv","modules","pymatgen","pymatgen.db","pymatgen.db.alchemy","pymatgen.db.builders","pymatgen.db.builders.examples","pymatgen.db.vv"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"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","builders.rst","change_log.rst","dbconfig.rst","index.rst","mgvv.rst","modules.rst","pymatgen.rst","pymatgen.db.rst","pymatgen.db.alchemy.rst","pymatgen.db.builders.rst","pymatgen.db.builders.examples.rst","pymatgen.db.vv.rst"],objects:{"mgvv-diff":{"--db":[5,7,1,"cmdoption-mgvv-diff-D"],"--email":[5,7,1,"cmdoption-mgvv-diff-E"],"--email-server":[5,7,1,"cmdoption-mgvv-diff-s"],"--file":[5,7,1,"cmdoption-mgvv-diff-f"],"--format":[5,7,1,"cmdoption-mgvv-diff-F"],"--help":[5,7,1,"cmdoption-mgvv-diff-help"],"--info":[5,7,1,"cmdoption-mgvv-diff-i"],"--key":[5,7,1,"cmdoption-mgvv-diff-k"],"--missing":[5,7,1,"cmdoption-mgvv-diff-m"],"--numeric":[5,7,1,"cmdoption-mgvv-diff-n"],"--print":[5,7,1,"cmdoption-mgvv-diff-P"],"--properties":[5,7,1,"cmdoption-mgvv-diff-p"],"--query":[5,7,1,"cmdoption-mgvv-diff-q"],"--url":[5,7,1,"cmdoption-mgvv-diff-u"],"--verbose":[5,7,1,"cmdoption-mgvv-diff-v"],"-D":[5,7,1,"cmdoption-mgvv-diff-D"],"-E":[5,7,1,"cmdoption-mgvv-diff-E"],"-F":[5,7,1,"cmdoption-mgvv-diff-F"],"-P":[5,7,1,"cmdoption-mgvv-diff-P"],"-f":[5,7,1,"cmdoption-mgvv-diff-f"],"-h":[5,7,1,"cmdoption-mgvv-diff-help"],"-i":[5,7,1,"cmdoption-mgvv-diff-i"],"-k":[5,7,1,"cmdoption-mgvv-diff-k"],"-m":[5,7,1,"cmdoption-mgvv-diff-m"],"-n":[5,7,1,"cmdoption-mgvv-diff-n"],"-p":[5,7,1,"cmdoption-mgvv-diff-p"],"-q":[5,7,1,"cmdoption-mgvv-diff-q"],"-s":[5,7,1,"cmdoption-mgvv-diff-s"],"-u":[5,7,1,"cmdoption-mgvv-diff-u"],"-v":[5,7,1,"cmdoption-mgvv-diff-v"]},"pymatgen.db":{alchemy:[9,0,0,"-"],builders:[10,0,0,"-"],creator:[8,0,0,"-"],dbconfig:[8,0,0,"-"],dbgroup:[8,0,0,"-"],query_engine:[8,0,0,"-"],util:[8,0,0,"-"],vv:[12,0,0,"-"]},"pymatgen.db.alchemy":{transmuters:[9,0,0,"-"]},"pymatgen.db.alchemy.transmuters":{QeTransmuter:[9,1,1,""]},"pymatgen.db.builders":{core:[10,0,0,"-"],examples:[11,0,0,"-"],incr:[10,0,0,"-"],schema:[10,0,0,"-"],util:[10,0,0,"-"]},"pymatgen.db.builders.core":{BuildError:[10,2,1,""],Builder:[10,1,1,""],BuilderStatus:[10,1,1,""],Collections:[10,1,1,""],HasExamples:[10,1,1,""],ProcRunner:[10,1,1,""],alphadump:[10,6,1,""],merge_tasks:[10,6,1,""],parse_fn_docstring:[10,6,1,""]},"pymatgen.db.builders.core.Builder":{connect:[10,3,1,""],finalize:[10,3,1,""],get_items:[10,3,1,""],get_parameters:[10,3,1,""],process_item:[10,3,1,""],run:[10,3,1,""],shared_dict:[10,3,1,""],shared_list:[10,3,1,""]},"pymatgen.db.builders.core.BuilderStatus":{FAILURE:[10,4,1,""],RUNNING:[10,4,1,""],SUCCESS:[10,4,1,""],WAIT:[10,4,1,""],fail:[10,3,1,""],has_failures:[10,3,1,""],running:[10,3,1,""],success:[10,3,1,""]},"pymatgen.db.builders.core.Collections":{MAX_VER:[10,4,1,""],MIN_VER:[10,4,1,""],database:[10,5,1,""],get_collection_name:[10,3,1,""],known_collections:[10,4,1,""]},"pymatgen.db.builders.core.HasExamples":{examples:[10,3,1,""],validate_examples:[10,3,1,""]},"pymatgen.db.builders.core.ProcRunner":{instance:[10,4,1,""],run:[10,3,1,""]},"pymatgen.db.builders.examples":{copy_builder:[11,0,0,"-"],file_builders:[11,0,0,"-"],maxvalue_builder:[11,0,0,"-"]},"pymatgen.db.builders.examples.copy_builder":{CopyBuilder:[11,1,1,""]},"pymatgen.db.builders.examples.copy_builder.CopyBuilder":{get_items:[11,3,1,""],process_item:[11,3,1,""]},"pymatgen.db.builders.examples.file_builders":{FileCounter:[11,1,1,""]},"pymatgen.db.builders.examples.file_builders.FileCounter":{finalize:[11,3,1,""],get_items:[11,3,1,""],get_parameters:[11,3,1,""],process_item:[11,3,1,""]},"pymatgen.db.builders.examples.maxvalue_builder":{MaxValueBuilder:[11,1,1,""]},"pymatgen.db.builders.examples.maxvalue_builder.MaxValueBuilder":{finalize:[11,3,1,""],get_items:[11,3,1,""],process_item:[11,3,1,""]},"pymatgen.db.builders.incr":{CollectionTracker:[10,1,1,""],DBError:[10,2,1,""],Mark:[10,1,1,""],NoTrackingCollection:[10,2,1,""],Operation:[10,1,1,""],TrackedCollection:[10,1,1,""],TrackedQueryEngine:[10,1,1,""],TrackingInterface:[10,1,1,""],UnTrackedQueryEngine:[10,1,1,""]},"pymatgen.db.builders.incr.CollectionTracker":{TRACKING_NAME:[10,4,1,""],create:[10,3,1,""],retrieve:[10,3,1,""],save:[10,3,1,""],tracking_collection:[10,5,1,""],tracking_collection_name:[10,5,1,""]},"pymatgen.db.builders.incr.Mark":{FLD_FLD:[10,4,1,""],FLD_MARK:[10,4,1,""],FLD_OP:[10,4,1,""],as_dict:[10,3,1,""],from_dict:[10,3,1,""],pos:[10,5,1,""],query:[10,5,1,""],to_dict:[10,3,1,""],update:[10,3,1,""]},"pymatgen.db.builders.incr.Operation":{build:[10,4,1,""],copy:[10,4,1,""],other:[10,4,1,""]},"pymatgen.db.builders.incr.TrackedCollection":{findall:[10,3,1,""],set_mark:[10,3,1,""],set_tracking:[10,3,1,""],tracked_find:[10,3,1,""]},"pymatgen.db.builders.incr.TrackedQueryEngine":{collection_name:[10,5,1,""],set_mark:[10,3,1,""],tracking:[10,5,1,""]},"pymatgen.db.builders.incr.TrackingInterface":{set_mark:[10,3,1,""]},"pymatgen.db.builders.incr.UnTrackedQueryEngine":{set_mark:[10,3,1,""]},"pymatgen.db.builders.schema":{HasMeta:[10,1,1,""],Scalar:[10,1,1,""],Schema:[10,1,1,""],SchemaError:[10,2,1,""],SchemaParseError:[10,2,1,""],SchemaPathError:[10,2,1,""],SchemaTypeError:[10,2,1,""],add_schemas:[10,6,1,""],get_schema:[10,6,1,""],load_schema:[10,6,1,""]},"pymatgen.db.builders.schema.HasMeta":{FIELD_SEP:[10,4,1,""],KV_SEP:[10,4,1,""],add_meta:[10,3,1,""]},"pymatgen.db.builders.schema.Scalar":{JSTYPES:[10,4,1,""],TYPES:[10,4,1,""],jstype:[10,5,1,""]},"pymatgen.db.builders.schema.Schema":{IS_DICT:[10,4,1,""],IS_LIST:[10,4,1,""],IS_SCALAR:[10,4,1,""],json_schema:[10,3,1,""],validate:[10,3,1,""]},"pymatgen.db.builders.util":{get_builder_log:[10,6,1,""],get_schema_dir:[10,6,1,""],get_schema_file:[10,6,1,""],get_test_dir:[10,6,1,""]},"pymatgen.db.creator":{VaspToDbTaskDrone:[8,1,1,""],contains_vasp_input:[8,6,1,""],get_basic_analysis_and_error_checks:[8,6,1,""],get_coordination_numbers:[8,6,1,""],get_uri:[8,6,1,""]},"pymatgen.db.creator.VaspToDbTaskDrone":{as_dict:[8,3,1,""],assimilate:[8,3,1,""],calculate_stability:[8,3,1,""],convert:[8,3,1,""],from_dict:[8,3,1,""],generate_doc:[8,3,1,""],get_task_doc:[8,3,1,""],get_valid_paths:[8,3,1,""],post_process:[8,3,1,""],process_killed_run:[8,3,1,""],process_vasprun:[8,3,1,""]},"pymatgen.db.dbconfig":{ConfigurationFileError:[8,2,1,""],DBConfig:[8,1,1,""],auth_aliases:[8,6,1,""],get_settings:[8,6,1,""],normalize_auth:[8,6,1,""]},"pymatgen.db.dbconfig.DBConfig":{ALL_SETTINGS:[8,4,1,""],DEFAULT_FILE:[8,4,1,""],DEFAULT_PORT:[8,4,1,""],DEFAULT_SETTINGS:[8,4,1,""],collection:[8,5,1,""],copy:[8,3,1,""],dbname:[8,5,1,""],host:[8,5,1,""],password:[8,5,1,""],port:[8,5,1,""],settings:[8,5,1,""],user:[8,5,1,""]},"pymatgen.db.dbgroup":{ConfigGroup:[8,1,1,""],CreateQueryEngineError:[8,2,1,""],RegexDict:[8,1,1,""],create_query_engine:[8,6,1,""]},"pymatgen.db.dbgroup.ConfigGroup":{SEP:[8,4,1,""],add:[8,3,1,""],add_path:[8,3,1,""],expand:[8,3,1,""],keys:[8,3,1,""],set_prefix:[8,3,1,""],uncache:[8,3,1,""]},"pymatgen.db.dbgroup.RegexDict":{re_get:[8,3,1,""],re_keys:[8,3,1,""]},"pymatgen.db.query_engine":{QueryEngine:[8,1,1,""],QueryError:[8,2,1,""],QueryListResults:[8,1,1,""],QueryResults:[8,1,1,""]},"pymatgen.db.query_engine.QueryEngine":{ALIASES_CONFIG_KEY:[8,4,1,""],COLLECTION_KEY:[8,4,1,""],DB_KEY:[8,4,1,""],HOST_KEY:[8,4,1,""],PASSWORD_KEY:[8,4,1,""],PORT_KEY:[8,4,1,""],USER_KEY:[8,4,1,""],aliases:[8,4,1,""],close:[8,3,1,""],collection_name:[8,5,1,""],default_criteria:[8,4,1,""],default_properties:[8,4,1,""],ensure_index:[8,3,1,""],from_config:[8,3,1,""],get_dos_from_id:[8,3,1,""],get_entries:[8,3,1,""],get_entries_in_system:[8,3,1,""],get_structure_from_id:[8,3,1,""],query:[8,3,1,""],query_one:[8,3,1,""],query_post:[8,4,1,""],result_post:[8,4,1,""],set_aliases_and_defaults:[8,3,1,""],set_collection:[8,3,1,""]},"pymatgen.db.query_engine.QueryListResults":{clone:[8,3,1,""]},"pymatgen.db.query_engine.QueryResults":{clone:[8,3,1,""],from_cursor:[8,3,1,""]},"pymatgen.db.util":{MongoJSONEncoder:[8,1,1,""],collection_keys:[8,6,1,""],csv_dict:[8,6,1,""],csv_list:[8,6,1,""],get_collection:[8,6,1,""],get_database:[8,6,1,""],get_settings:[8,6,1,""],kvp_dict:[8,6,1,""],quotable:[8,6,1,""]},"pymatgen.db.util.MongoJSONEncoder":{"default":[8,3,1,""]},"pymatgen.db.vv":{diff:[12,0,0,"-"],report:[12,0,0,"-"],util:[12,0,0,"-"],validate:[12,0,0,"-"]},"pymatgen.db.vv.diff":{Delta:[12,1,1,""],Differ:[12,1,1,""],IID:[12,1,1,""]},"pymatgen.db.vv.diff.Delta":{as_json:[12,3,1,""],cmp:[12,3,1,""]},"pymatgen.db.vv.diff.Differ":{CHANGED:[12,4,1,""],CHANGED_DELTA:[12,4,1,""],CHANGED_MATCH_DELTA:[12,4,1,""],CHANGED_MATCH_EXACT:[12,4,1,""],CHANGED_MATCH_KEY:[12,4,1,""],CHANGED_NEW:[12,4,1,""],CHANGED_OLD:[12,4,1,""],MISSING:[12,4,1,""],NEW:[12,4,1,""],NO_PROPERTY:[12,4,1,""],diff:[12,3,1,""]},"pymatgen.db.vv.diff.IID":{next:[12,3,1,""]},"pymatgen.db.vv.report":{DiffFormatter:[12,1,1,""],DiffHtmlFormatter:[12,1,1,""],DiffJsonFormatter:[12,1,1,""],DiffTextFormatter:[12,1,1,""],Emailer:[12,1,1,""],HTMLFormatter:[12,1,1,""],Header:[12,1,1,""],JSONFormatter:[12,1,1,""],MarkdownFormatter:[12,1,1,""],Report:[12,1,1,""],ReportBackupError:[12,2,1,""],ReportHeader:[12,1,1,""],ReportJSONEncoder:[12,1,1,""],ReportSection:[12,1,1,""],SectionHeader:[12,1,1,""],Table:[12,1,1,""],css_minify:[12,6,1,""]},"pymatgen.db.vv.report.DiffFormatter":{TITLE:[12,4,1,""],format:[12,3,1,""],ordered_cols:[12,3,1,""],result_subsets:[12,3,1,""],sort_rows:[12,3,1,""]},"pymatgen.db.vv.report.DiffHtmlFormatter":{DIFF_CSS:[12,4,1,""],css:[12,4,1,""],format:[12,3,1,""],style:[12,3,1,""],styles:[12,4,1,""]},"pymatgen.db.vv.report.DiffJsonFormatter":{Encoder:[12,1,1,""],document:[12,3,1,""],format:[12,3,1,""],will_copy:[12,3,1,""]},"pymatgen.db.vv.report.DiffJsonFormatter.Encoder":{"default":[12,3,1,""]},"pymatgen.db.vv.report.DiffTextFormatter":{format:[12,3,1,""]},"pymatgen.db.vv.report.Emailer":{send:[12,3,1,""],subject:[12,5,1,""]},"pymatgen.db.vv.report.HTMLFormatter":{format:[12,3,1,""]},"pymatgen.db.vv.report.Header":{add:[12,3,1,""],as_dict:[12,3,1,""],get:[12,3,1,""]},"pymatgen.db.vv.report.JSONFormatter":{format:[12,3,1,""]},"pymatgen.db.vv.report.MarkdownFormatter":{format:[12,3,1,""]},"pymatgen.db.vv.report.Report":{add_section:[12,3,1,""],header:[12,5,1,""],is_empty:[12,3,1,""]},"pymatgen.db.vv.report.ReportJSONEncoder":{"default":[12,3,1,""]},"pymatgen.db.vv.report.ReportSection":{body:[12,5,1,""]},"pymatgen.db.vv.report.Table":{add:[12,3,1,""],column_names:[12,5,1,""],column_widths:[12,5,1,""],ncol:[12,5,1,""],nrow:[12,5,1,""],sortby:[12,3,1,""],values:[12,5,1,""]},"pymatgen.db.vv.util":{DoesLogging:[12,1,1,""],ElapsedTime:[12,1,1,""],JsonWalker:[12,1,1,""],Timing:[12,1,1,""],YamlConfig:[12,1,1,""],args_kvp_nodup:[12,6,1,""],args_list:[12,6,1,""],letter_num:[12,6,1,""],total_size:[12,6,1,""]},"pymatgen.db.vv.util.JsonWalker":{dict_expand:[12,3,1,""],value_json:[12,3,1,""],walk:[12,3,1,""]},"pymatgen.db.vv.validate":{ConstraintSpec:[12,1,1,""],ConstraintSpecSection:[12,1,1,""],ConstraintViolation:[12,1,1,""],ConstraintViolationGroup:[12,1,1,""],DBError:[12,2,1,""],NullConstraintViolation:[12,1,1,""],ProgressMeter:[12,1,1,""],Projection:[12,1,1,""],PythonMethod:[12,1,1,""],Sampler:[12,1,1,""],Validator:[12,1,1,""],ValidatorSyntaxError:[12,2,1,""],mongo_get:[12,6,1,""]},"pymatgen.db.vv.validate.ConstraintSpec":{CONSTRAINT_SECT:[12,4,1,""],FILTER_SECT:[12,4,1,""],SAMPLE_SECT:[12,4,1,""]},"pymatgen.db.vv.validate.ConstraintSpecSection":{constraints:[12,5,1,""],filters:[12,5,1,""],get_key:[12,3,1,""],sampler:[12,5,1,""]},"pymatgen.db.vv.validate.ConstraintViolation":{expected_value:[12,5,1,""],field:[12,5,1,""],got_value:[12,5,1,""],op:[12,5,1,""]},"pymatgen.db.vv.validate.ConstraintViolationGroup":{add_violations:[12,3,1,""]},"pymatgen.db.vv.validate.ProgressMeter":{count:[12,5,1,""],set_subject:[12,3,1,""],update:[12,3,1,""]},"pymatgen.db.vv.validate.Projection":{add:[12,3,1,""],to_mongo:[12,3,1,""]},"pymatgen.db.vv.validate.PythonMethod":{BAD_CONSTRAINT_ERR:[12,4,1,""],CANNOT_COMBINE_ERR:[12,4,1,""],constraint_is_method:[12,3,1,""]},"pymatgen.db.vv.validate.Sampler":{DEFAULT_DIST:[12,4,1,""],DIST_CODES:[12,4,1,""],DIST_RUNIF:[12,4,1,""],is_empty:[12,5,1,""],sample:[12,3,1,""]},"pymatgen.db.vv.validate.Validator":{SectionParts:[12,1,1,""],num_violations:[12,3,1,""],set_aliases:[12,3,1,""],set_progress:[12,3,1,""],validate:[12,3,1,""]},mgvv:{"--alias":[5,7,1,"cmdoption-mgvv-alias"],"--collection":[5,7,1,"cmdoption-mgvv-collection"],"--config":[5,7,1,"cmdoption-mgvv-0"],"--email":[5,7,1,"cmdoption-mgvv-email"],"--file":[5,7,1,"cmdoption-mgvv-f"],"--format":[5,7,1,"cmdoption-mgvv-format"],"--help":[5,7,1,"cmdoption-mgvv-help"],"--limit":[5,7,1,"cmdoption-mgvv-limit"],"--verbose":[5,7,1,"cmdoption-mgvv-v"],"-C":[5,7,1,"cmdoption-mgvv-collection"],"-F":[5,7,1,"cmdoption-mgvv-format"],"-a":[5,7,1,"cmdoption-mgvv-alias"],"-c":[5,7,1,"cmdoption-mgvv-0"],"-e":[5,7,1,"cmdoption-mgvv-email"],"-f":[5,7,1,"cmdoption-mgvv-f"],"-h":[5,7,1,"cmdoption-mgvv-help"],"-m":[5,7,1,"cmdoption-mgvv-limit"],"-v":[5,7,1,"cmdoption-mgvv-v"]},pymatgen:{db:[8,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","exception","Python exception"],"3":["py","method","Python method"],"4":["py","attribute","Python attribute"],"5":["py","property","Python property"],"6":["py","function","Python function"],"7":["std","cmdoption","program option"]},objtypes:{"0":"py:module","1":"py:class","2":"py:exception","3":"py:method","4":"py:attribute","5":"py:property","6":"py:function","7":"std:cmdoption"},terms:{"0":[1,5,8,9,10,11,12],"028":4,"0px":12,"1":[1,5,8,10,11,12],"10":[4,5,12],"100":[5,10,12],"1000000000":12,"1016":4,"10px":12,"12":4,"127":[8,10],"12px":12,"13":2,"14":12,"14px":12,"15":5,"15px":12,"165f4b":12,"16px":12,"18":12,"1em":12,"2":[1,4,5,8,10,12],"20":[5,12],"2011":4,"2012":4,"2013":4,"20px":12,"27017":[1,3,5,8,10],"2c3e50":12,"2em":12,"3":5,"300":12,"314":4,"319":4,"32em":12,"4":4,"4169e1":12,"44":12,"5":[4,5,8],"50":[5,12],"500":12,"577504":12,"577918":12,"5em":12,"5px":12,"62":12,"666666":12,"68":4,"7":4,"700":12,"778899":12,"8":1,"80":12,"8em":12,"9":8,"9101":5,"99":10,"abstract":10,"boolean":10,"break":[1,12],"case":[1,5,10,11],"class":[1,4,8,9,10,11,12],"const":12,"default":[1,3,4,5,8,10,12],"do":[1,4,8,10,11,12],"enum":10,"export":2,"final":[1,8,10,11],"float":[8,10,11,12],"function":[1,8,10,11,12],"import":[1,4,10],"int":[8,10,11,12],"long":5,"new":[1,2,4,5,8,9,10,11,12],"null":10,"return":[1,2,4,8,10,11,12],"static":[8,10,12],"switch":8,"true":[1,5,8,10,11,12],"try":[8,12],"while":8,A:[1,4,5,8,9,10,12],AND:4,AS:4,As:[1,5,12],At:5,BE:4,BUT:4,Be:8,But:1,By:[1,5],FOR:4,For:[1,4,5,8,10,11,12],IN:4,IS:4,If:[1,3,4,5,8,10,11,12],In:[1,5,8],It:[0,4,5,8,12],NO:4,NOT:4,Not:1,OF:4,OR:4,One:[10,11],THE:4,TO:4,That:10,The:[0,1,3,4,5,8,9,10,11,12],Then:8,There:[1,8],These:[1,5],To:[0,1,4,5,8,10,11,12],WITH:4,Will:8,With:[1,11],_:12,__getitem__:10,__init__:1,__missing__:12,__setitem__:10,_alias:5,_email:5,_group:1,_id:[1,10,12],_is_datetim:10,_log:1,_recipi:12,_src:1,_subject:12,_target_col:1,_theme:0,ab:[5,8,12],abc:8,abil:[2,8],abl:1,about:1,abov:[4,5],absolut:1,abspath:0,abstractdron:8,accept:[2,4],access:[1,3,4,8,9,10],accommod:1,accord:[1,5],across:[5,8],act:[8,10],action:[1,4,10,11,12],activ:[1,10],activest:12,actual:[1,8],ad:[1,2,5,8,10,12],adapt:[4,12],add:[0,1,2,4,5,8,10,11,12],add_exist:12,add_kei:10,add_meta:10,add_path:8,add_schema:10,add_sect:12,add_viol:12,addit:[1,8,12],additional_criteria:8,additional_field:8,addon:0,addr:5,address:5,adequ:8,admin:8,admin_password:[3,5],admin_us:[3,5],administr:5,advanc:4,advantag:5,affect:[8,10],aflow:8,after:[1,4,5,8,10,11],against:[5,10],alchemi:[6,7,8],algorithm:1,alia:[4,5,8,10],alias:[2,4,5,8,10,12],aliases_config:[8,10],aliases_config_kei:8,align:12,all:[1,3,4,5,8,9,10,11,12],all_set:8,allow:[1,2,4,5,8,10,12],allow_dup:12,allow_nan:[8,12],alphabet:10,alphadump:10,alreadi:[10,12],also:[0,1,2,4,5,8],altern:[0,1,2,10,11],although:1,alwai:[1,4,5,10],amaz:8,amount:1,an:[1,2,3,4,5,8,10,11,12],analysi:[4,5,8,10,11],ani:[1,4,5,8,10,11,12],anoth:[1,8,11],anubhav:4,anyth:[4,10],api:[2,8,10],app:8,append:[0,8],appli:[4,5,8,9,10,12],appropri:[10,12],approxim:12,ar:[1,2,3,4,5,8,10,11,12],arbitrari:[2,8,12],arg:[1,8,10,11,12],argpars:12,args_kvp_nodup:12,args_list:12,arguabl:5,argument:[1,4,8,10,11,12],arial:12,aris:4,around:10,arrai:[5,8,10,12],arriv:5,as_dict:[8,10,12],as_json:12,ascii:[8,12],ask:1,assert:12,assess:8,assimil:8,associ:[2,4,5,12],assum:[1,3,5,8,12],atom:4,attempt:[8,12],attribut:[8,10,12],auth:[8,10],auth_alias:8,authent:[1,3,4,5,8,10],author:[1,4,8],auto:4,autodoc:1,autom:1,automat:[1,4,5,8,10,11,12],avail:[4,10],awesom:1,b:[1,8,12],back:1,background:12,bad:[10,11,12],bad_constraint_err:12,bandstructur:[4,10],bandwidth:5,bar:[5,10,12],base:[8,9,10,11,12],basestr:8,basi:[8,12],basic:[10,11],batch_siz:10,becaus:[1,5],becom:5,been:[1,4,10,11,12],befor:[1,5,8,10],begin:[1,5],behavior:[1,8,12],behind:1,being:12,below:[1,4,5,8],benefit:1,better:[1,2,5],between:[1,8,10,12],big:12,bigbird:3,bigbuild:1,binari:4,bird:1,black:12,blank:12,bleed:4,block:5,bodi:12,bookkeep:1,bool:[8,10,11,12],border:12,borg:8,borgqueen:8,both:[1,5,8,10,12],branch:9,brief:2,brototyp:10,browser:5,bug:[2,4],buggi:4,build:[2,4,10,11,12],build_kw:10,builder:[2,6,7,8],builderror:10,builderstatu:10,builtin:12,burden:10,c1:12,c2:12,c:[4,5,12],cach:8,calcul:[1,5,8,11,12],calculate_st:8,call:[1,4,5,8,10,12],caller:10,can:[0,1,2,4,5,8,9,10,12],cannot:[8,10,12],cannot_combine_err:12,care:[4,8],caus:[1,8,11,12],ceder:4,central:1,cfg1:8,cfg2:8,cfg3:8,cfg:8,chain:[8,10],chang:[5,10,12],changed_delta:12,changed_match_delta:12,changed_match_exact:12,changed_match_kei:12,changed_new:12,changed_old:12,charact:[1,8,11,12],charg:4,check:[0,8,10,12],check_circular:[8,12],chemic:8,chevrier:4,child:12,choic:[4,12],cholia:4,choos:[1,10,11],chosen:1,circular:[8,12],cl:8,claim:4,clash:1,classmethod:[8,10,12],clazz:8,clean:[5,8],cleanup:[2,10,11],clear:12,client:1,clone:[4,8],close:[4,8],cmp:12,code:[1,5,8,10,11,12],coincident:1,coll:[8,10,12],collect:[1,2,3,4,5,8,10,11,12],collection_kei:8,collection_nam:[5,8,10],collectiontrack:10,colnam:12,color:12,column:12,column_nam:12,column_width:12,com:[8,12],combin:[5,8,12],come:[1,5],comma:[5,8,12],command:[1,4,5,12],commandlin:5,commatsci:4,common:[1,10],commonli:4,compact:[8,10,12],compar:[5,8,12],compat:8,complet:4,complex:[1,5],compliant:[8,12],complic:5,compound:8,compress:8,compress_do:8,compris:1,comput:[4,8,12],computedentri:[4,8],concept:1,concern:8,conclus:1,concret:10,cond:12,condit:[4,5,12],conf:[0,1,5,8],config:[2,4,5,8,10,11,12],config_dict:8,config_fil:8,configgroup:8,configur:[1,2,4,8,10,12],configurationfileerror:8,conjunct:5,connect:[1,4,5,8,10],consid:[4,8],consist:[8,12],consol:5,consola:12,constraint:12,constraint_is_method:12,constraint_sect:12,constraint_spec:12,constraintoper:12,constraintspec:12,constraintspecsect:12,constraintviol:12,constraintviolationgroup:12,construct:10,constructor:[1,8,9,10,12],contain:[0,1,4,8,10,12],contains_vasp_input:8,content:[0,6,7],continu:12,contract:4,contriv:1,control:1,conveni:[1,5,8],conversion_electrod:10,convert:[5,8,10],coordin:8,copi:[1,4,8,10,11],copy_build:[1,7,8,10],copybuild:11,copyright:4,core:[1,6,7,8,9,11],core_collect:10,core_dev:5,core_prod:5,correspond:[4,8],could:[1,5,8,12],count:[1,8,11,12],counter:1,coupl:1,cpu:[1,8],crawl:8,creat:[1,2,4,8,10,11,12],create_query_engin:8,createqueryengineerror:8,creation:[4,8,10],creator:[4,6,7],crit:[1,4,11],criteria:[1,4,5,8,9,10,11],css:[5,12],css_class:12,css_minifi:12,csv:2,csv_dict:8,csv_list:8,ctrl:4,cur:1,cur_val:1,current:[1,4,8,10],cursor:[1,8,10,12],custom:[1,8,11,12],d:[1,5,8,10],daemon:4,dahn:10,dai:[8,12],damag:4,dan:[2,4],data:[1,2,4,8,9,10,12],databas:[2,8,9,10,12],dataset:[8,12],datatyp:1,date:10,datetim:10,davidson:4,db1:12,db2:12,db:[1,2,3,5,6,7],db_kei:8,db_version:10,dbconfig:[2,6,7],dberror:[10,12],dbgroup:[2,6,7],dbname:8,dbpath:4,dd:12,deal:4,debug:8,declar:1,decod:[8,12],deep:8,deepli:8,def:[1,8,10,11,12],default_criteria:8,default_dist:12,default_fil:8,default_port:8,default_properti:[8,10],default_set:8,defin:[5,8,10,11],deleg:8,delet:4,delta:[2,12],demand:8,densiti:5,depend:[2,4],deprec:[2,8],depth:10,dequ:12,deriv:[1,4,11],desc:[1,10,11,12],descr2:[10,11],describ:[1,5,10,11],descript:[10,11,12],design:8,desir:[4,10,11],dest:12,destin:1,detail:[1,4,8,10,11],detect:8,determin:[1,5,9,10],dev:[5,8],develop:[4,5,10],dict:[1,8,10,11,12],dict_expand:12,dict_transform:12,dictionari:[1,8,12],did:1,diff:[2,6,7,8],diff_css:12,differ:[1,2,5,8,10,12],diffformatt:12,diffhtmlformatt:12,diffjsonformatt:12,diffraction_pattern:10,difftextformatt:12,dir_nam:[4,8],direct:[5,12],directli:[8,10],directori:[1,2,4,8,10],disconnect:8,discov:[10,11],discuss:8,displai:5,dist_:12,dist_cod:12,dist_runif:12,distinct:[1,8,12],distinct_kei:8,distrib:12,distribut:[1,4,12],div:12,dkgunter:[2,5],dl:12,do_foo1:12,do_foo2:12,doc:[0,1,2,8,10],docstr:[1,10,11],document:[0,1,4,5,8,10,12],doe:[1,4,5,8,10,12],doeslog:12,doesn:[10,11,12],doi:4,domain:5,don:10,done:[4,10],dos_f:8,dot:[8,12],doubl:10,down:8,download:4,driv:0,driver:[1,10,11],drone:[4,8],dt:12,dump:10,duplic:[8,12],durat:5,dure:[2,8,12],e2e2e2:12,e9e9e9:12,e:[1,4,5,8,10,11,12],e_above_hul:[5,8,10],each:[1,4,5,8,9,10,11,12],easi:[1,4,5,8],easier:[4,8,10],easiest:[4,5],easili:1,easy_instal:4,edg:4,effect:1,effici:[5,8],either:[1,5,10],elaps:12,elapsedtim:12,electrod:10,electronic_structur:10,element:[1,5,8,12],elimin:[8,12],els:[1,8,10,11,12],elt:12,em:12,email:12,email_mod:12,emb:5,embed:5,empti:[1,8,10,11,12],enabl:[4,8,9,10],encapsul:[1,8,12],encod:[8,12],end:[1,5,10],end_tim:12,energi:[4,5,8,10],energy_per_atom:4,engin:[4,8],enough:[1,5,12],ensur:[2,8,12],ensure_ascii:[8,12],ensure_index:8,enter:4,entir:[1,4,8,12],entri:[4,8],enumer:10,equival:[1,5],err:[1,8,11],error:[1,2,5,8,10,11,12],escap:[8,12],essenc:8,etc:[1,2,4,5,8,12],etl:1,evalu:5,even:12,event:[4,12],everi:[1,8,10,12],everyth:1,exact:12,exactli:5,examin:[1,8,10],examp:5,exampl:[1,3,4,7,8,10,12],excel:[4,5],except:[1,4,8,10,12],execut:[1,10,11],exist:[0,8,10],exit:[1,5],expand:[8,12],expect:[1,4,8,12],expected_valu:12,explain:8,explicit:1,explicitli:[1,4,8,10],explor:8,expr1:5,expr2:5,expr:5,express:[4,5,8,10,12],ext:10,extend:8,extend_collect:9,extens:[4,8,10],extern:12,extra:[1,5,12],extract:[1,12],f3f3f3:12,f5f5f5:12,f:[1,5,8],fail:[10,12],fail_fn:10,failur:10,fals:[1,8,10,11,12],famili:[5,12],faster:1,fe:8,featur:[2,4,8,11],fetch:[1,5],few:[1,4],field1:5,field2:5,field3:5,field4:5,field5:5,field:[1,2,4,5,8,10,12],field_sep:10,figur:1,file:[1,2,3,4,8,9,10,11,12],file_build:[7,8,10],file_or_fp:10,filecount:11,filenam:[1,4,5,8],fileserv:8,fill:12,filter:[1,5,11,12],filter_sect:12,final_energi:[8,10],final_structur:8,find:[1,5,8,10,12],findal:10,fine:[1,4,8],first:[1,2,4,8,12],fit:[4,12],fix:[2,5,12],flag:[1,8,11],flamyngo:2,flask:0,fld_fld:10,fld_mark:10,fld_op:10,flexibl:2,fltr:12,fmt:12,fn:10,folder:[0,4],follow:[0,1,3,4,5,8,10,12],font:12,foo:[1,5,8,10,12],footprint:12,fork:10,form:[1,4,5,8,12],format:[1,4,5,8,10,12],formula:4,found:[1,5,8,10,12],four:8,framework:1,free:4,frequenc:5,from:[1,2,4,5,8,9,10,11,12],from_config:8,from_cursor:8,from_dict:[8,10],front:2,frozenset:12,full:[1,5,8,10,12],furnish:4,futur:[1,4],g:[1,4,5,8,10,11,12],gen:12,gener:[1,4,5,8,9,10,12],generate_doc:8,generate_task_doc:8,genom:[2,4,8],geoffroi:4,gerbrand:4,get:[1,5,8,10,11,12],get_basic_analysis_and_error_check:8,get_builder_log:[1,10],get_collect:8,get_collection_nam:10,get_coordination_numb:8,get_databas:8,get_dos_from_id:8,get_el:12,get_entri:[4,8,9],get_entries_in_system:8,get_item:[1,10,11],get_items_paramet:[10,11],get_kei:12,get_paramet:[1,10,11],get_schema:10,get_schema_dir:10,get_schema_fil:10,get_set:8,get_structure_from_id:[4,8],get_task_doc:8,get_test_dir:10,get_uri:8,get_valid_path:8,gga:8,git:0,github:[2,4],give:[1,3],given:[1,3,4,5,8,10,11,12],glob:8,go:[8,10,12],got_valu:12,gov:[2,5],grain:4,grant:4,gridf:8,grouchi:5,group:[1,8,11,12],guarante:[8,12],guid:0,gunter:[2,4],h1:12,h2:12,h3:12,h:[1,5],ha:[1,4,5,10],had:[10,11],had_error:[10,11],handl:[1,2,10],handler:12,happen:1,hardwar:1,has_failur:10,hasexampl:10,hasmeta:10,hautier:4,have:[1,5,8,10,11,12],header:12,height:12,help:[1,4,5,12],helper:8,helvetica:12,here:[1,3,4,5,10,11],herebi:4,heterogen:8,hi:0,hierarchi:10,high:[9,10],higher:10,highest:[1,10],highli:[1,8],himself:8,hint:8,hit:4,hive:8,holder:4,hopefulli:4,host:[1,2,3,5,8,10,12],host_kei:8,hostnam:[5,8,10],how:[1,10],howev:[4,8],html:[1,2,5,10,12],html_theme:0,html_theme_path:0,htmlformatt:12,http:[5,10,12],huge:[1,12],hundr:1,hyperlink:[2,5,12],i:[1,5,8,10,11],icsd:10,icsd_id:5,id:[4,8],id_column:12,id_prefix:10,idea:1,identifi:[1,5,10,12],ignor:[1,8,10,12],iid:12,illustr:1,implement:[1,2,8,9,10,11,12],impli:4,impos:10,improp:1,improv:2,inc_structur:8,incar:8,includ:[1,4,5,8,10,12],incom:[8,10,12],incr:[1,6,7,8],increas:[1,5],increment:[2,10,11,12],indent:[5,8,10,12],independ:1,index:[4,10],individu:1,infil:8,infin:[8,12],infinit:[8,12],info:[1,5,10,12],inform:[1,5,12],inherit:[1,10],init:[4,5,8,10],initi:[1,5,8,10,12],input:[1,8,9,10,11,12],input_fil:[1,11],insecur:4,insert:[1,2,5,8,10,12],insid:[1,10],instal:[1,4],instanc:[1,10,11,12],instanti:8,instead:[1,5,8,10,12],instruct:[1,4],integ:[8,10,12],intend:0,intens:1,interfac:[2,4,5,8,10],intern:[8,10],interpret:[5,8,10,11],interv:12,introduc:1,introduct:2,intuit:8,invalid:12,invoc:1,invok:1,involv:1,ioerror:10,ip:3,is_dict:10,is_empti:12,is_list:10,is_scalar:10,is_track:10,isn:1,issu:[2,5],ital:12,item:[1,5,8,10,11,12],item_separ:[8,12],iter:[1,8,10,11,12],its:[1,5,12],itself:[1,10,11,12],j:4,jain:4,javascript:[8,10,12],json:[1,2,3,4,5,8,10,12],json_schema:10,jsonencod:[8,12],jsonformatt:12,jsonwalk:12,jstype:10,just:[1,4,5,8,10,12],k:5,kei:[1,2,5,8,10,11,12],kenneth:0,key_separ:[8,12],keyerror:[8,10],keyword:[1,3,5,10,12],kill:[1,8,10],kind:[4,8],know:[1,8],known:[8,10],known_collect:10,kocher:4,kpoint:8,kr:0,kr_small:0,kristin:4,kv_sep:10,kvp_dict:8,kw:[10,12],kwarg:[1,8,10,11,12],l:8,lambda:10,languag:4,larg:[0,5,8,12],larger:12,last:[1,5,8,10],later:[1,8,10],latest:[4,10],lbl:[2,5],lbnl:4,leav:5,left:12,len:1,length:12,less:12,let:[5,8,12],letter:12,letter_num:12,level:[5,8,10,12],li2o:4,li:8,liabil:4,liabl:4,librari:[0,4,8],lightweight:1,like:[1,4,5,8,10,12],limit:[2,4,5,8,10],line:[1,4,5,11,12],line_sep:12,liner:1,link:4,linux:4,list:[1,5,8,10,11,12],lixfeyoz:8,ll:1,load:[1,10],load_schema:10,localhost:[1,3,5,8,12],locat:8,log:[1,5,10,12],logger:[1,10],logic:[1,11],look:[1,4,5,8,12],lookup:8,lot:5,low:10,m:5,mac:4,machin:[1,8,10],magic:1,mai:[1,4,5,8,10,11],mail:5,main:[1,5,8,10,12],maintain:2,major:8,make:[1,2,4,5,8,10],manag:[4,8],mani:[4,5,8,9],manipul:1,manual:[4,10],map:[1,5,8,10],mapi_kei:[2,8],margin:12,mark:[1,10],markdown:[5,12],markdownformatt:12,match:[1,5,8,12],materi:[1,2,4,8,9,10,11,12],materialsproject:[5,8],matgendb:2,matter:1,max:[1,12],max_dberror:12,max_force_threshold:8,max_item:12,max_ver:10,max_viol:12,maximum:[1,9,11,12],maxvalue_build:[7,8,10],maxvaluebuild:11,md:5,mdev:5,me:[5,12],mean:[1,5,8,10,12],meant:[1,8],member:[8,12],memori:[1,8,12],merchant:4,merg:[4,10],merge_task:10,messag:[1,5,10,12],meta:[10,12],metadata:[1,10,12],metavar:12,method:[1,4,8,9,10,11,12],mg_core:10,mgbuild:[1,2,4,11],mgdb:[2,4,5,8],mgvv:[2,4],mi:5,michael:4,might:1,min_item:12,min_ver:10,mind:4,minim:[1,5],minimum:[1,12],minor:2,minu:5,miss:[5,12],mit:[4,8],mitsuhiko:0,mix:[10,12],mkdir:4,mode:[1,3,4],modern:1,modif:[1,8],modifi:[4,8,10],modul:[1,2,4,6,7],moment:5,monaco:12,mongdb:10,mongo:[4,8,12],mongo_get:12,mongocli:[2,10],mongod:4,mongodb:[1,2,3,4,5,8,10,11,12],mongojsonencod:[8,12],mongoqueri:12,monospac:12,monoton:1,more:[1,2,4,5,9,10,11,12],most:[0,1,4,5,8,10,12],move:1,mprod:5,mps_id:5,mr_snuffleupagu:3,msonabl:8,much:[1,4],multicor:1,multipl:[1,2,5],multiprocess:[1,8,9,10,11],must:[1,5,8,10,11,12],my:[1,5],my_build:10,mybuild:[10,11],mycollect:[5,10],mydatabas:5,mydb:[8,10],myfil:8,myhost:5,n:[1,5,12],name1:[5,10],name2:[5,10],name:[1,3,4,5,8,10,11,12],name_in_db:5,name_or_index:12,namespac:[6,8],nan:[8,12],narg:12,ncol:12,ncore:[1,9,10,11],nearli:8,neb:4,necessari:[1,5],need:[1,4,5,8],neg:[5,8,12],negatori:5,nelement:5,nest:[8,12],neue:12,new_max:1,new_nam:10,new_task:10,new_valu:12,newer:1,newlin:[8,12],next:[1,12],no_properti:12,noath:3,non:[1,8,10,12],none:[1,5,8,9,10,11,12],noninfring:4,normal:[10,12],normalize_auth:8,note:[1,4,5,8,10,12],noth:[10,11],notic:[1,4,5],notrackingcollect:10,now:[1,2],nrow:12,nth:12,nullconstraintviol:12,num:[1,5,10,12],num_char:1,num_cor:1,num_lin:1,num_viol:12,number:[1,2,3,5,8,9,10,11,12],numer:[2,5,12],o:[8,12],obei:8,object:[1,4,8,9,10,11,12],obtain:[2,4,8],occur:[1,8],odd:12,off:1,often:1,ok:[10,11],old:[1,5,12],omit:4,onc:[1,4],one:[0,1,5,8,9,10,11,12],ones:1,ong:4,onli:[1,3,5,8,10,11,12],onlin:10,only_miss:12,only_valu:12,op:[10,11,12],open:[1,4,5,8,10],oper:[1,5,10,12],oppos:12,option:[1,2,4,8,10,11,12],option_str:12,optional_data:8,orbit:8,order:[1,8,10,12],ordered_col:12,org:[5,8,10],organ:[8,10],os:[0,4],oscar:5,osx:5,ot:8,other:[1,2,5,8,10,11,12],othercontainerclass:12,otherorg:5,othersuck:5,otherwis:[4,5,8,10,11,12],our:[10,12],out:[0,1,4,5],outlin:4,output:[1,2,5,8,9,10,11,12],over:[1,5,12],overflowerror:[8,12],overrid:[1,8,10],own:[1,4,8],oxid:2,p:[5,12],packag:[1,2,4,5,6,7],pad:12,page:[0,1,2,5],pair:[5,8,10,11,12],parallel:10,param2_nam:[10,11],param2_typ:[10,11],param:[1,10,11,12],param_nam:[10,11],param_typ:[10,11],paramet:[1,3,4,8,9,10,11,12],parameter:12,parent:1,pars:[8,10,11,12],parse_do:8,parse_fn_docstr:10,parse_projected_eigen:8,part:[1,5,8,12],partial:5,particular:[4,8],pass:[1,5,8,9,10,11,12],password:[1,2,3,5,8,10],password_kei:8,past:10,path:[0,1,5,8,10,12],pattern:[5,8],pdf:[1,2],per:[1,4,5],percent:5,perfectli:[1,4],perform:[1,2,8,9,10,11,12],permiss:4,permit:4,person:4,persson:4,phase:8,phase_diagram:10,ping:4,pip:4,pl:2,place:[1,4,8,10,12],plain:12,pleas:[4,5,8],plu:5,po:10,point:[5,8],pool:9,popul:12,porou:[10,11],port:[1,3,5,8,10,12],port_kei:8,portion:4,poscar:8,posit:[1,5,10,12],possibl:[1,5],post:[8,10],post_process:8,postprocess:[4,8],potcar:8,potenti:[8,12],power:[2,4],pre:8,prefer:5,prefix:[1,2,5,8,10],present:[1,5,8,10],press:4,pretti:[1,8,12],pretty_formula:[4,5],prevent:[8,12],previou:[1,12],previous:1,print:[1,4,5,8,10,12],probabl:[1,12],process:[1,8,10,11],process_item:[1,10,11],process_killed_run:8,process_vasprun:8,procrunn:10,prod:5,produc:5,product:[4,5],profil:8,program:[1,5,10,11],progress:12,progressmet:12,project:[0,1,4,8,9,12],prompt:4,prop:[4,5,12],prop_dict:8,proper:2,properli:[1,2],properti:[1,4,5,8,10,12],proport:12,provid:[2,4,5,8,9],publish:4,pull:1,purpos:[1,4,5,8,10],put:[0,1,5,10,12],py:[0,4],pymatgen:[1,2,3,5],pymatpro:10,pymmongo:8,pymongo:[4,8,10,12],pypi:4,python:[1,4,8,10,11,12],pythonmethod:12,q:[1,5],qe:[4,10],qe_class:8,qetransmut:9,qualifi:12,quantiti:[5,8],queri:[1,2,5,8,9,10,12],query_engin:[1,4,6,7,10,11],query_on:8,query_post:[8,10],queryengin:[1,4,8,9,10,11,12],queryerror:8,querylistresult:8,queryresult:8,question:1,queue:[1,10,11],quiet:1,quot:5,quotabl:8,r3:12,r:[1,4,8],radiu:12,rais:[8,10,11,12],randomli:12,rather:5,raw:[1,12],re:1,re_get:8,re_kei:8,read:[1,3,5,8,10,11],readabl:1,readi:12,readlin:1,readonli:8,readonly_first:8,readonly_password:[2,3,5],readonly_us:[2,3,5,8],real:[1,5],realli:[1,10],rebuild:1,rec:[1,12],recalcul:1,receiv:5,receiver2:5,recip:12,recipi:[5,12],recogn:[3,5],recommend:[1,8],record:[1,5,8,10,11,12],recurs:[8,12],reduc:1,refactor:2,refer:[8,12],regardless:10,regexdict:8,regress:[8,12],regular:[8,10],reitz:0,rel:[1,4],relai:5,relat:[0,10],relax1:8,relax2:8,relax:8,releas:[2,4],reli:1,rememb:1,remot:12,remov:[2,8],repeat:[1,5],replac:[1,5,8,10],replicaset:[8,10],repo:4,report:[2,5,6,7,8],report_field:12,reportbackuperror:12,reporthead:12,reportjsonencod:12,reportsect:12,repositori:0,repr:12,represent:[8,10,12],request:10,requir:[1,2,3,5,8,11,12],research:4,resolv:[8,10],resort:8,respect:[4,5,10],rest:[2,5,8],restrict:[4,8],restructur:[10,11],result:[1,2,8,10,12],result_cursor:8,result_post:[8,10],result_subset:12,retriev:[1,5,8,9,10,12],rgb:12,richard:4,right:[4,10],robust:4,root:[4,8,10],row:12,rs:12,rtype:10,run:[2,4,8,10,11,12],s:[0,1,4,5,8,9,10,11,12],sai:[5,8],sake:1,same:[1,5,8,10,12],sampl:[4,12],sample_sect:12,sampler:12,san:12,sandbox:10,sandbox_collect:10,satisfi:8,save:[1,5,10],scalar:10,scan:1,scene:1,schema:[6,7,8],schemaerror:10,schemaparseerror:10,schemapatherror:10,schemata:10,schematypeerror:10,scheme:[5,10],scienc:4,script:[1,2,4,8],search:[4,5,9,12],sec:12,second:[1,5,11,12],section:[1,5,12],sectionhead:12,sectionpart:12,see:[1,4,5,8,10,12],seen:1,select:[1,5,12],self:[1,8,10,11,12],sell:4,semant:12,send:[5,12],sender:[5,12],sens:[1,10],sensibl:[8,12],sent:[5,12],sep:8,separ:[5,8,12],sequenc:8,sequenti:1,serial:[8,10,12],serializ:[8,12],serif:12,server1:5,server2:5,server:[3,4,5,8,12],set:[1,2,4,5,8,10,12],set_alias:12,set_aliases_and_default:8,set_collect:8,set_mark:10,set_prefix:8,set_progress:12,set_subject:12,set_track:10,setter:10,setup:[10,11],shall:4,share:[1,10],shared_dict:[1,10],shared_list:10,shell:5,should:[1,4,5,8,10,12],show:[1,5,12],shown:[1,5],shreya:4,shyue:4,sign:[5,12],signific:2,similar:4,simpl:[4,5,8,11,12],simpli:[1,4,5,8,10,12],simplif:2,simplifi:[1,5,8],simul:8,simulate_mod:8,sinc:1,singl:[1,5,8,10,12],site:8,site_dict:8,size:[5,12],skip:[1,8,12],skipkei:[8,12],slice:5,slow:8,small:[0,1],smoqe:5,smtp:[5,12],snippet:1,snl_id:5,so:[1,4,5,10],softwar:4,sole:12,some:[1,2,4,5,8,10,11,12],somebodi:5,somecontainerclass:12,somekei:5,sometim:4,somewhat:8,sort:[1,2,8,10,12],sort_kei:[8,12],sort_row:12,sortbi:12,sourc:[1,4,8,9,10,11,12],space:10,spawn:1,spec:[5,12],special:[1,10,11],specif:[1,2,4,5,8,12],specifi:[4,5,8,10,12],spectacular:8,spend:5,sphinx:[1,2,4],spiderman2:8,spiderman:8,spot:1,stabil:[2,8],stage:1,standard:[0,1,4,5,8,10],standardtransmut:9,start:[1,4,10],start_tim:12,state:[1,8,10],statu:[10,11],step:[1,4],stone:1,stop:[1,4],storag:8,store:[1,8,12],str:[1,8,10,12],strang:1,streamlin:1,string:[4,5,8,10,12],strip:10,structur:[4,8,9],style:[1,4,5,8,9,10,11,12],sub:[1,5,8,10,12],subclass:[8,10,11,12],subcommand:2,subdirectori:10,subfold:8,subj:12,subject:[4,5,12],subkei:8,sublicens:4,submit:5,submodul:[0,6,7],subpackag:[1,6],subsequ:[1,4],subset:[5,12],substanti:4,subtl:1,succe:1,success:[1,8,10,11],suffici:[5,8],suffix:10,suitabl:4,superclass:12,suppi:[8,10],suppli:[8,10,11],support:[2,8,12],supported_properti:8,sure:[1,10],sy:0,symbol:8,syntax:[3,4,8,12],system:[4,8],t:[1,8,10,11,12],tabl:[2,5,12],tag:8,take:[2,5,8,10,12],taken:[4,5],target:[1,5,10,11,12],task:[1,3,4,5,8,10],task_id:[4,5,8],task_suffix:10,tasknam:8,td:12,temporari:10,term:4,test1:[1,5],test2:[1,5],test:[4,5,8,10,12],test_db:4,test_porous_build:10,text:[5,10,11,12],th:12,than:[1,5,8,9,12],thei:[1,2,3,4,9],them:[1,2,8,12],theme:0,these_must:5,thi:[0,1,4,5,8,9,10,11,12],thing:[1,12],third:5,those:5,thread:[1,10,11],through:[1,2],throughput:9,thu:1,time:[1,5,10,11,12],titl:12,tmp:10,to_dict:10,to_includ:5,to_mongo:12,toler:5,ton:5,tool:4,top:[5,10,11,12],topmost:4,tort:4,total_s:12,tr1:12,tr:12,tr_even:12,tr_odd:12,track:[1,10],track_field:10,track_oper:10,tracked_find:10,trackedcollect:10,trackedqueryengin:[1,10],tracker:[10,12],tracking_collect:10,tracking_collection_nam:10,tracking_nam:10,trackinginterfac:10,transform:[1,8,9,12],transformedstructur:9,translat:[4,8,10,12],transmut:[6,7,8],transpar:[1,10],treat:12,treatment:8,tri:8,trivial:1,tupl:[8,10,12],turn:1,tweedlede:8,tweedledum:8,twice:11,two:[1,2,5,8,10,12],type:[1,2,4,5,8,10,11,12],typecod:10,typeerror:[8,12],typenam:10,typic:8,u:[1,5,8],ui:[2,4,8],ultim:1,unauthent:5,uncach:8,under:[4,5],underli:8,understand:1,understood:1,uniform:12,uniqu:8,unit:[4,10],unittest:4,unix:[5,8],unknown:12,unless:[1,12],unlik:[1,5],unset:8,unsuccess:[8,10],until:12,untrackedqueryengin:10,unzip:4,up:[1,4,5],updat:[1,2,8,10,11,12],update_dupl:8,upsert:1,uri:8,url:[5,12],us:[0,1,2,3,4,5,8,9,10,11,12],usabl:2,usag:[5,10],use_admin:8,use_full_uri:8,user:[1,2,3,5,8,10],user_kei:8,user_kw:10,usual:[1,5,8],util:[1,6,7],v1:12,v2:12,v:[1,5,8],val:12,valid:[4,6,7,8,10],validate_exampl:10,validatorsyntaxerror:12,valu:[1,2,5,8,10,11,12],value1:10,value2:10,value_json:12,value_transform:12,valueerror:[8,10,11,12],vand:2,variabl:[1,2],variou:8,vasp:[3,4,5,8,10],vasprun:8,vasprun_fil:8,vasptodbtaskdron:[4,8],verbos:[1,5,10,12],veri:[0,1,4,5,8],verif:4,version:[1,2,8,9,10,11,12],via:8,view:5,vincent:4,violat:[5,12],visual:5,vof:2,volume_change_threshold:8,vv:[2,6,7,8],wa:[1,5,10,11,12],wai:[1,4,8,10],wait:10,walk:[1,12],want:[1,5,8,10],warranti:4,we:[1,5,8,10,12],web:8,webpag:5,websit:4,weight:12,well:[3,4],went:[10,11],were:8,what:[1,10],when:[1,4,8,10,12],where:[1,4,5,8,10],whether:[1,4,8,9,10,12],which:[1,4,5,8,9,10,11,12],white:[10,12],whitespac:[8,12],who:10,whole:[1,8],whom:4,whose:8,why:10,width:[5,12],will_copi:12,william:4,wipe:10,wise:5,within:[5,12],without:[1,4,8,10],work:[1,4,10,11,12],wors:[1,5],would:[1,5,8,10,12],wrap:12,wrapper:[8,10],writabl:5,write:[3,4,8,11],written:[1,4],wrong:[1,10,11,12],www:8,x:[5,12],xl:2,xml:8,xxxx:5,y:[1,5,12],yaml:[2,5,12],yamlconfig:12,yet:1,yield:[1,12],you:[0,1,4,5,8,10,12],your:[0,1,4,5,8],yyyi:5,zero:[1,5],zlib:8},titles:["krTheme Sphinx Style","Database \u201cBuilders\u201d","v0.7.0","Database configuration","Pymatgen-db","Materials Project Database Validation: mgvv","pymatgen","pymatgen namespace","pymatgen.db package","pymatgen.db.alchemy package","pymatgen.db.builders package","pymatgen.db.builders.examples package","pymatgen.db.vv package"],titleterms:{"0":2,"1":2,"2":2,"3":2,"4":2,"5":2,"6":2,"7":2,"8":2,"9":2,alchemi:9,api:4,argument:5,basic:1,build:1,builder:[1,10,11],calcul:4,chang:4,cite:4,configur:[3,5],constraint:5,content:[1,8,9,10,11,12],copy_build:11,copybuild:1,core:10,creator:8,databas:[1,3,4,5],db:[4,8,9,10,11,12],dbconfig:8,dbgroup:8,development:4,diff:[5,12],displai:1,doc:4,email:5,exampl:[5,11],extend:4,featur:1,file:5,file_build:11,filecount:1,get:4,how:4,incr:10,increment:1,indic:4,initi:4,insert:4,krtheme:0,licens:4,log:4,materi:5,maxvalue_build:11,maxvaluebuild:1,mgvv:5,modul:[8,9,10,11,12],namespac:7,option:5,other:4,packag:[8,9,10,11,12],page:4,parallel:1,project:5,pymatgen:[4,6,7,8,9,10,11,12],queri:4,query_engin:8,refer:4,report:12,requir:4,run:1,schema:10,setup:4,simpl:1,sphinx:0,stabl:4,style:0,subcommand:5,submodul:[8,9,10,11,12],subpackag:[7,8,9,10,12],syntax:5,tabl:4,transmut:9,usag:[1,4],util:[8,10,12],v0:2,valid:[5,12],version:4,vv:12,write:1}}) \ No newline at end of file +Search.setIndex({docnames:["_themes/README","builders","change_log","dbconfig","index","mgvv","modules","pymatgen","pymatgen.db","pymatgen.db.alchemy","pymatgen.db.builders","pymatgen.db.builders.examples","pymatgen.db.vv"],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","builders.rst","change_log.rst","dbconfig.rst","index.rst","mgvv.rst","modules.rst","pymatgen.rst","pymatgen.db.rst","pymatgen.db.alchemy.rst","pymatgen.db.builders.rst","pymatgen.db.builders.examples.rst","pymatgen.db.vv.rst"],objects:{"":[[7,0,0,"-","pymatgen"]],"mgvv-diff":[[5,7,1,"cmdoption-mgvv-diff-D","--db"],[5,7,1,"cmdoption-mgvv-diff-E","--email"],[5,7,1,"cmdoption-mgvv-diff-s","--email-server"],[5,7,1,"cmdoption-mgvv-diff-f","--file"],[5,7,1,"cmdoption-mgvv-diff-F","--format"],[5,7,1,"cmdoption-mgvv-diff-help","--help"],[5,7,1,"cmdoption-mgvv-diff-i","--info"],[5,7,1,"cmdoption-mgvv-diff-k","--key"],[5,7,1,"cmdoption-mgvv-diff-m","--missing"],[5,7,1,"cmdoption-mgvv-diff-n","--numeric"],[5,7,1,"cmdoption-mgvv-diff-P","--print"],[5,7,1,"cmdoption-mgvv-diff-p","--properties"],[5,7,1,"cmdoption-mgvv-diff-q","--query"],[5,7,1,"cmdoption-mgvv-diff-u","--url"],[5,7,1,"cmdoption-mgvv-diff-v","--verbose"],[5,7,1,"cmdoption-mgvv-diff-D","-D"],[5,7,1,"cmdoption-mgvv-diff-E","-E"],[5,7,1,"cmdoption-mgvv-diff-F","-F"],[5,7,1,"cmdoption-mgvv-diff-P","-P"],[5,7,1,"cmdoption-mgvv-diff-f","-f"],[5,7,1,"cmdoption-mgvv-diff-help","-h"],[5,7,1,"cmdoption-mgvv-diff-i","-i"],[5,7,1,"cmdoption-mgvv-diff-k","-k"],[5,7,1,"cmdoption-mgvv-diff-m","-m"],[5,7,1,"cmdoption-mgvv-diff-n","-n"],[5,7,1,"cmdoption-mgvv-diff-p","-p"],[5,7,1,"cmdoption-mgvv-diff-q","-q"],[5,7,1,"cmdoption-mgvv-diff-s","-s"],[5,7,1,"cmdoption-mgvv-diff-u","-u"],[5,7,1,"cmdoption-mgvv-diff-v","-v"]],"pymatgen.db":[[9,0,0,"-","alchemy"],[10,0,0,"-","builders"],[8,0,0,"-","creator"],[8,0,0,"-","dbconfig"],[8,0,0,"-","dbgroup"],[8,0,0,"-","query_engine"],[8,0,0,"-","util"],[12,0,0,"-","vv"]],"pymatgen.db.alchemy":[[9,0,0,"-","transmuters"]],"pymatgen.db.alchemy.transmuters":[[9,1,1,"","QeTransmuter"]],"pymatgen.db.builders":[[10,0,0,"-","core"],[11,0,0,"-","examples"],[10,0,0,"-","incr"],[10,0,0,"-","schema"],[10,0,0,"-","util"]],"pymatgen.db.builders.core":[[10,2,1,"","BuildError"],[10,1,1,"","Builder"],[10,1,1,"","BuilderStatus"],[10,1,1,"","Collections"],[10,1,1,"","HasExamples"],[10,1,1,"","ProcRunner"],[10,6,1,"","alphadump"],[10,6,1,"","merge_tasks"],[10,6,1,"","parse_fn_docstring"]],"pymatgen.db.builders.core.Builder":[[10,3,1,"","connect"],[10,3,1,"","finalize"],[10,3,1,"","get_items"],[10,3,1,"","get_parameters"],[10,3,1,"","process_item"],[10,3,1,"","run"],[10,3,1,"","shared_dict"],[10,3,1,"","shared_list"]],"pymatgen.db.builders.core.BuilderStatus":[[10,4,1,"","FAILURE"],[10,4,1,"","RUNNING"],[10,4,1,"","SUCCESS"],[10,4,1,"","WAIT"],[10,3,1,"","fail"],[10,3,1,"","has_failures"],[10,3,1,"","running"],[10,3,1,"","success"]],"pymatgen.db.builders.core.Collections":[[10,4,1,"","MAX_VER"],[10,4,1,"","MIN_VER"],[10,5,1,"","database"],[10,3,1,"","get_collection_name"],[10,4,1,"","known_collections"]],"pymatgen.db.builders.core.HasExamples":[[10,3,1,"","examples"],[10,3,1,"","validate_examples"]],"pymatgen.db.builders.core.ProcRunner":[[10,4,1,"","instance"],[10,3,1,"","run"]],"pymatgen.db.builders.examples":[[11,0,0,"-","copy_builder"],[11,0,0,"-","file_builders"],[11,0,0,"-","maxvalue_builder"]],"pymatgen.db.builders.examples.copy_builder":[[11,1,1,"","CopyBuilder"]],"pymatgen.db.builders.examples.copy_builder.CopyBuilder":[[11,3,1,"","get_items"],[11,3,1,"","process_item"]],"pymatgen.db.builders.examples.file_builders":[[11,1,1,"","FileCounter"]],"pymatgen.db.builders.examples.file_builders.FileCounter":[[11,3,1,"","finalize"],[11,3,1,"","get_items"],[11,3,1,"","get_parameters"],[11,3,1,"","process_item"]],"pymatgen.db.builders.examples.maxvalue_builder":[[11,1,1,"","MaxValueBuilder"]],"pymatgen.db.builders.examples.maxvalue_builder.MaxValueBuilder":[[11,3,1,"","finalize"],[11,3,1,"","get_items"],[11,3,1,"","process_item"]],"pymatgen.db.builders.incr":[[10,1,1,"","CollectionTracker"],[10,2,1,"","DBError"],[10,1,1,"","Mark"],[10,2,1,"","NoTrackingCollection"],[10,1,1,"","Operation"],[10,1,1,"","TrackedCollection"],[10,1,1,"","TrackedQueryEngine"],[10,1,1,"","TrackingInterface"],[10,1,1,"","UnTrackedQueryEngine"]],"pymatgen.db.builders.incr.CollectionTracker":[[10,4,1,"","TRACKING_NAME"],[10,3,1,"","create"],[10,3,1,"","retrieve"],[10,3,1,"","save"],[10,5,1,"","tracking_collection"],[10,5,1,"","tracking_collection_name"]],"pymatgen.db.builders.incr.Mark":[[10,4,1,"","FLD_FLD"],[10,4,1,"","FLD_MARK"],[10,4,1,"","FLD_OP"],[10,3,1,"","as_dict"],[10,3,1,"","from_dict"],[10,5,1,"","pos"],[10,5,1,"","query"],[10,3,1,"","to_dict"],[10,3,1,"","update"]],"pymatgen.db.builders.incr.Operation":[[10,4,1,"","build"],[10,4,1,"","copy"],[10,4,1,"","other"]],"pymatgen.db.builders.incr.TrackedCollection":[[10,3,1,"","findall"],[10,3,1,"","set_mark"],[10,3,1,"","set_tracking"],[10,3,1,"","tracked_find"]],"pymatgen.db.builders.incr.TrackedQueryEngine":[[10,5,1,"","collection_name"],[10,3,1,"","set_mark"],[10,5,1,"","tracking"]],"pymatgen.db.builders.incr.TrackingInterface":[[10,3,1,"","set_mark"]],"pymatgen.db.builders.incr.UnTrackedQueryEngine":[[10,3,1,"","set_mark"]],"pymatgen.db.builders.schema":[[10,1,1,"","HasMeta"],[10,1,1,"","Scalar"],[10,1,1,"","Schema"],[10,2,1,"","SchemaError"],[10,2,1,"","SchemaParseError"],[10,2,1,"","SchemaPathError"],[10,2,1,"","SchemaTypeError"],[10,6,1,"","add_schemas"],[10,6,1,"","get_schema"],[10,6,1,"","load_schema"]],"pymatgen.db.builders.schema.HasMeta":[[10,4,1,"","FIELD_SEP"],[10,4,1,"","KV_SEP"],[10,3,1,"","add_meta"]],"pymatgen.db.builders.schema.Scalar":[[10,4,1,"","JSTYPES"],[10,4,1,"","TYPES"],[10,5,1,"","jstype"]],"pymatgen.db.builders.schema.Schema":[[10,4,1,"","IS_DICT"],[10,4,1,"","IS_LIST"],[10,4,1,"","IS_SCALAR"],[10,3,1,"","json_schema"],[10,3,1,"","validate"]],"pymatgen.db.builders.util":[[10,6,1,"","get_builder_log"],[10,6,1,"","get_schema_dir"],[10,6,1,"","get_schema_file"],[10,6,1,"","get_test_dir"]],"pymatgen.db.creator":[[8,1,1,"","VaspToDbTaskDrone"],[8,6,1,"","contains_vasp_input"],[8,6,1,"","get_basic_analysis_and_error_checks"],[8,6,1,"","get_coordination_numbers"],[8,6,1,"","get_uri"]],"pymatgen.db.creator.VaspToDbTaskDrone":[[8,3,1,"","as_dict"],[8,3,1,"","assimilate"],[8,3,1,"","calculate_stability"],[8,3,1,"","convert"],[8,3,1,"","from_dict"],[8,3,1,"","generate_doc"],[8,3,1,"","get_task_doc"],[8,3,1,"","get_valid_paths"],[8,3,1,"","post_process"],[8,3,1,"","process_killed_run"],[8,3,1,"","process_vasprun"]],"pymatgen.db.dbconfig":[[8,2,1,"","ConfigurationFileError"],[8,1,1,"","DBConfig"],[8,6,1,"","auth_aliases"],[8,6,1,"","get_settings"],[8,6,1,"","normalize_auth"]],"pymatgen.db.dbconfig.DBConfig":[[8,4,1,"","ALL_SETTINGS"],[8,4,1,"","DEFAULT_FILE"],[8,4,1,"","DEFAULT_PORT"],[8,4,1,"","DEFAULT_SETTINGS"],[8,5,1,"","collection"],[8,3,1,"","copy"],[8,5,1,"","dbname"],[8,5,1,"","host"],[8,5,1,"","password"],[8,5,1,"","port"],[8,5,1,"","settings"],[8,5,1,"","user"]],"pymatgen.db.dbgroup":[[8,1,1,"","ConfigGroup"],[8,2,1,"","CreateQueryEngineError"],[8,1,1,"","RegexDict"],[8,6,1,"","create_query_engine"]],"pymatgen.db.dbgroup.ConfigGroup":[[8,4,1,"","SEP"],[8,3,1,"","add"],[8,3,1,"","add_path"],[8,3,1,"","expand"],[8,3,1,"","keys"],[8,3,1,"","set_prefix"],[8,3,1,"","uncache"]],"pymatgen.db.dbgroup.RegexDict":[[8,3,1,"","re_get"],[8,3,1,"","re_keys"]],"pymatgen.db.query_engine":[[8,1,1,"","QueryEngine"],[8,2,1,"","QueryError"],[8,1,1,"","QueryListResults"],[8,1,1,"","QueryResults"]],"pymatgen.db.query_engine.QueryEngine":[[8,4,1,"","ALIASES_CONFIG_KEY"],[8,4,1,"","COLLECTION_KEY"],[8,4,1,"","DB_KEY"],[8,4,1,"","HOST_KEY"],[8,4,1,"","PASSWORD_KEY"],[8,4,1,"","PORT_KEY"],[8,4,1,"","USER_KEY"],[8,4,1,"","aliases"],[8,3,1,"","close"],[8,5,1,"","collection_name"],[8,4,1,"","default_criteria"],[8,4,1,"","default_properties"],[8,3,1,"","ensure_index"],[8,3,1,"","from_config"],[8,3,1,"","get_dos_from_id"],[8,3,1,"","get_entries"],[8,3,1,"","get_entries_in_system"],[8,3,1,"","get_structure_from_id"],[8,3,1,"","query"],[8,3,1,"","query_one"],[8,4,1,"","query_post"],[8,4,1,"","result_post"],[8,3,1,"","set_aliases_and_defaults"],[8,3,1,"","set_collection"]],"pymatgen.db.query_engine.QueryListResults":[[8,3,1,"","clone"]],"pymatgen.db.query_engine.QueryResults":[[8,3,1,"","clone"],[8,3,1,"","from_cursor"]],"pymatgen.db.util":[[8,1,1,"","MongoJSONEncoder"],[8,6,1,"","collection_keys"],[8,6,1,"","csv_dict"],[8,6,1,"","csv_list"],[8,6,1,"","get_collection"],[8,6,1,"","get_database"],[8,6,1,"","get_settings"],[8,6,1,"","kvp_dict"],[8,6,1,"","quotable"]],"pymatgen.db.util.MongoJSONEncoder":[[8,3,1,"","default"]],"pymatgen.db.vv":[[12,0,0,"-","diff"],[12,0,0,"-","report"],[12,0,0,"-","util"],[12,0,0,"-","validate"]],"pymatgen.db.vv.diff":[[12,1,1,"","Delta"],[12,1,1,"","Differ"],[12,1,1,"","IID"]],"pymatgen.db.vv.diff.Delta":[[12,3,1,"","as_json"],[12,3,1,"","cmp"]],"pymatgen.db.vv.diff.Differ":[[12,4,1,"","CHANGED"],[12,4,1,"","CHANGED_DELTA"],[12,4,1,"","CHANGED_MATCH_DELTA"],[12,4,1,"","CHANGED_MATCH_EXACT"],[12,4,1,"","CHANGED_MATCH_KEY"],[12,4,1,"","CHANGED_NEW"],[12,4,1,"","CHANGED_OLD"],[12,4,1,"","MISSING"],[12,4,1,"","NEW"],[12,4,1,"","NO_PROPERTY"],[12,3,1,"","diff"]],"pymatgen.db.vv.diff.IID":[[12,3,1,"","next"]],"pymatgen.db.vv.report":[[12,1,1,"","DiffFormatter"],[12,1,1,"","DiffHtmlFormatter"],[12,1,1,"","DiffJsonFormatter"],[12,1,1,"","DiffTextFormatter"],[12,1,1,"","Emailer"],[12,1,1,"","HTMLFormatter"],[12,1,1,"","Header"],[12,1,1,"","JSONFormatter"],[12,1,1,"","MarkdownFormatter"],[12,1,1,"","Report"],[12,2,1,"","ReportBackupError"],[12,1,1,"","ReportHeader"],[12,1,1,"","ReportJSONEncoder"],[12,1,1,"","ReportSection"],[12,1,1,"","SectionHeader"],[12,1,1,"","Table"],[12,6,1,"","css_minify"]],"pymatgen.db.vv.report.DiffFormatter":[[12,4,1,"","TITLE"],[12,3,1,"","format"],[12,3,1,"","ordered_cols"],[12,3,1,"","result_subsets"],[12,3,1,"","sort_rows"]],"pymatgen.db.vv.report.DiffHtmlFormatter":[[12,4,1,"","DIFF_CSS"],[12,4,1,"","css"],[12,3,1,"","format"],[12,3,1,"","style"],[12,4,1,"","styles"]],"pymatgen.db.vv.report.DiffJsonFormatter":[[12,1,1,"","Encoder"],[12,3,1,"","document"],[12,3,1,"","format"],[12,3,1,"","will_copy"]],"pymatgen.db.vv.report.DiffJsonFormatter.Encoder":[[12,3,1,"","default"]],"pymatgen.db.vv.report.DiffTextFormatter":[[12,3,1,"","format"]],"pymatgen.db.vv.report.Emailer":[[12,3,1,"","send"],[12,5,1,"","subject"]],"pymatgen.db.vv.report.HTMLFormatter":[[12,3,1,"","format"]],"pymatgen.db.vv.report.Header":[[12,3,1,"","add"],[12,3,1,"","as_dict"],[12,3,1,"","get"]],"pymatgen.db.vv.report.JSONFormatter":[[12,3,1,"","format"]],"pymatgen.db.vv.report.MarkdownFormatter":[[12,3,1,"","format"]],"pymatgen.db.vv.report.Report":[[12,3,1,"","add_section"],[12,5,1,"","header"],[12,3,1,"","is_empty"]],"pymatgen.db.vv.report.ReportJSONEncoder":[[12,3,1,"","default"]],"pymatgen.db.vv.report.ReportSection":[[12,5,1,"","body"]],"pymatgen.db.vv.report.Table":[[12,3,1,"","add"],[12,5,1,"","column_names"],[12,5,1,"","column_widths"],[12,5,1,"","ncol"],[12,5,1,"","nrow"],[12,3,1,"","sortby"],[12,5,1,"","values"]],"pymatgen.db.vv.util":[[12,1,1,"","DoesLogging"],[12,1,1,"","ElapsedTime"],[12,1,1,"","JsonWalker"],[12,1,1,"","Timing"],[12,1,1,"","YamlConfig"],[12,6,1,"","args_kvp_nodup"],[12,6,1,"","args_list"],[12,6,1,"","letter_num"],[12,6,1,"","total_size"]],"pymatgen.db.vv.util.JsonWalker":[[12,3,1,"","dict_expand"],[12,3,1,"","value_json"],[12,3,1,"","walk"]],"pymatgen.db.vv.validate":[[12,1,1,"","ConstraintSpec"],[12,1,1,"","ConstraintSpecSection"],[12,1,1,"","ConstraintViolation"],[12,1,1,"","ConstraintViolationGroup"],[12,2,1,"","DBError"],[12,1,1,"","NullConstraintViolation"],[12,1,1,"","ProgressMeter"],[12,1,1,"","Projection"],[12,1,1,"","PythonMethod"],[12,1,1,"","Sampler"],[12,1,1,"","Validator"],[12,2,1,"","ValidatorSyntaxError"],[12,6,1,"","mongo_get"]],"pymatgen.db.vv.validate.ConstraintSpec":[[12,4,1,"","CONSTRAINT_SECT"],[12,4,1,"","FILTER_SECT"],[12,4,1,"","SAMPLE_SECT"]],"pymatgen.db.vv.validate.ConstraintSpecSection":[[12,5,1,"","constraints"],[12,5,1,"","filters"],[12,3,1,"","get_key"],[12,5,1,"","sampler"]],"pymatgen.db.vv.validate.ConstraintViolation":[[12,5,1,"","expected_value"],[12,5,1,"","field"],[12,5,1,"","got_value"],[12,5,1,"","op"]],"pymatgen.db.vv.validate.ConstraintViolationGroup":[[12,3,1,"","add_violations"]],"pymatgen.db.vv.validate.ProgressMeter":[[12,5,1,"","count"],[12,3,1,"","set_subject"],[12,3,1,"","update"]],"pymatgen.db.vv.validate.Projection":[[12,3,1,"","add"],[12,3,1,"","to_mongo"]],"pymatgen.db.vv.validate.PythonMethod":[[12,4,1,"","BAD_CONSTRAINT_ERR"],[12,4,1,"","CANNOT_COMBINE_ERR"],[12,3,1,"","constraint_is_method"]],"pymatgen.db.vv.validate.Sampler":[[12,4,1,"","DEFAULT_DIST"],[12,4,1,"","DIST_CODES"],[12,4,1,"","DIST_RUNIF"],[12,5,1,"","is_empty"],[12,3,1,"","sample"]],"pymatgen.db.vv.validate.Validator":[[12,1,1,"","SectionParts"],[12,3,1,"","num_violations"],[12,3,1,"","set_aliases"],[12,3,1,"","set_progress"],[12,3,1,"","validate"]],mgvv:[[5,7,1,"cmdoption-mgvv-alias","--alias"],[5,7,1,"cmdoption-mgvv-collection","--collection"],[5,7,1,"cmdoption-mgvv-0","--config"],[5,7,1,"cmdoption-mgvv-email","--email"],[5,7,1,"cmdoption-mgvv-f","--file"],[5,7,1,"cmdoption-mgvv-format","--format"],[5,7,1,"cmdoption-mgvv-help","--help"],[5,7,1,"cmdoption-mgvv-limit","--limit"],[5,7,1,"cmdoption-mgvv-v","--verbose"],[5,7,1,"cmdoption-mgvv-collection","-C"],[5,7,1,"cmdoption-mgvv-format","-F"],[5,7,1,"cmdoption-mgvv-alias","-a"],[5,7,1,"cmdoption-mgvv-0","-c"],[5,7,1,"cmdoption-mgvv-email","-e"],[5,7,1,"cmdoption-mgvv-f","-f"],[5,7,1,"cmdoption-mgvv-help","-h"],[5,7,1,"cmdoption-mgvv-limit","-m"],[5,7,1,"cmdoption-mgvv-v","-v"]],pymatgen:[[8,0,0,"-","db"]]},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","exception","Python exception"],"3":["py","method","Python method"],"4":["py","attribute","Python attribute"],"5":["py","property","Python property"],"6":["py","function","Python function"],"7":["std","cmdoption","program option"]},objtypes:{"0":"py:module","1":"py:class","2":"py:exception","3":"py:method","4":"py:attribute","5":"py:property","6":"py:function","7":"std:cmdoption"},terms:{"0":[1,5,8,9,10,11,12],"028":4,"0px":12,"1":[1,5,8,10,11,12],"10":[4,5,12],"100":[5,10,12],"1000000000":12,"1016":4,"10px":12,"12":4,"127":[8,10],"12px":12,"13":2,"14":12,"14px":12,"15":5,"15px":12,"165f4b":12,"16px":12,"18":12,"1em":12,"2":[1,4,5,8,10,12],"20":[5,12],"2011":4,"2012":4,"2013":4,"20px":12,"27017":[1,3,5,8,10],"2c3e50":12,"2em":12,"3":5,"300":12,"314":4,"319":4,"32em":12,"4":4,"4169e1":12,"44":12,"5":[4,5,8],"50":[5,12],"500":12,"577504":12,"577918":12,"5em":12,"5px":12,"62":12,"666666":12,"68":4,"7":4,"700":12,"778899":12,"8":1,"80":12,"8em":12,"9":8,"9101":5,"99":10,"abstract":10,"boolean":10,"break":[1,12],"case":[1,5,10,11],"class":[1,4,8,9,10,11,12],"const":12,"default":[1,3,4,5,8,10,12],"do":[1,4,8,10,11,12],"enum":10,"export":2,"final":[1,8,10,11],"float":[8,10,11,12],"function":[1,8,10,11,12],"import":[1,4,10],"int":[8,10,11,12],"long":5,"new":[1,2,4,5,8,9,10,11,12],"null":10,"return":[1,2,4,8,10,11,12],"static":[8,10,12],"switch":8,"true":[1,5,8,10,11,12],"try":[8,12],"while":8,A:[1,4,5,8,9,10,12],AND:4,AS:4,As:[1,5,12],At:5,BE:4,BUT:4,Be:8,But:1,By:[1,5],FOR:4,For:[1,4,5,8,10,11,12],IN:4,IS:4,If:[1,3,4,5,8,10,11,12],In:[1,5,8],It:[0,4,5,8,12],NO:4,NOT:4,Not:1,OF:4,OR:4,One:[10,11],THE:4,TO:4,That:10,The:[0,1,3,4,5,8,9,10,11,12],Then:8,There:[1,8],These:[1,5],To:[0,1,4,5,8,10,11,12],WITH:4,Will:8,With:[1,11],_:12,__getitem__:10,__init__:1,__missing__:12,__setitem__:10,_alias:5,_email:5,_group:1,_id:[1,10,12],_is_datetim:10,_log:1,_recipi:12,_src:1,_subject:12,_target_col:1,_theme:0,ab:[5,8,12],abc:8,abil:[2,8],abl:1,about:1,abov:[4,5],absolut:1,abspath:0,abstractdron:8,accept:[2,4],access:[1,3,4,8,9,10],accommod:1,accord:[1,5],across:[5,8],act:[8,10],action:[1,4,10,11,12],activ:[1,10],activest:12,actual:[1,8],ad:[1,2,5,8,10,12],adapt:[4,12],add:[0,1,2,4,5,8,10,11,12],add_exist:12,add_kei:10,add_meta:10,add_path:8,add_schema:10,add_sect:12,add_viol:12,addit:[1,8,12],additional_criteria:8,additional_field:8,addon:0,addr:5,address:5,adequ:8,admin:8,admin_password:[3,5],admin_us:[3,5],administr:5,advanc:4,advantag:5,affect:[8,10],aflow:8,after:[1,4,5,8,10,11],against:[5,10],alchemi:[6,7,8],algorithm:1,alia:[4,5,8,10],alias:[2,4,5,8,10,12],aliases_config:[8,10],aliases_config_kei:8,align:12,all:[1,3,4,5,8,9,10,11,12],all_set:8,allow:[1,2,4,5,8,10,12],allow_dup:12,allow_nan:[8,12],alphabet:10,alphadump:10,alreadi:[10,12],also:[0,1,2,4,5,8],altern:[0,1,2,10,11],although:1,alwai:[1,4,5,10],amaz:8,amount:1,an:[1,2,3,4,5,8,10,11,12],analysi:[4,5,8,10,11],ani:[1,4,5,8,10,11,12],anoth:[1,8,11],anubhav:4,anyth:[4,10],api:[2,8,10],app:8,append:[0,8],appli:[4,5,8,9,10,12],appropri:[10,12],approxim:12,ar:[1,2,3,4,5,8,10,11,12],arbitrari:[2,8,12],arg:[1,8,10,11,12],argpars:12,args_kvp_nodup:12,args_list:12,arguabl:5,argument:[1,4,8,10,11,12],arial:12,aris:4,around:10,arrai:[5,8,10,12],arriv:5,as_dict:[8,10,12],as_json:12,ascii:[8,12],ask:1,assert:12,assess:8,assimil:8,associ:[2,4,5,12],assum:[1,3,5,8,12],atom:4,attempt:[8,12],attribut:[8,10,12],auth:[8,10],auth_alias:8,authent:[1,3,4,5,8,10],author:[1,4,8],auto:4,autodoc:1,autom:1,automat:[1,4,5,8,10,11,12],avail:[4,10],awesom:1,b:[1,8,12],back:1,background:12,bad:[10,11,12],bad_constraint_err:12,bandstructur:[4,10],bandwidth:5,bar:[5,10,12],base:[8,9,10,11,12],basestr:8,basi:[8,12],basic:[10,11],batch_siz:10,becaus:[1,5],becom:5,been:[1,4,10,11,12],befor:[1,5,8,10],begin:[1,5],behavior:[1,8,12],behind:1,being:12,below:[1,4,5,8],benefit:1,better:[1,2,5],between:[1,8,10,12],big:12,bigbird:3,bigbuild:1,binari:4,bird:1,black:12,blank:12,bleed:4,block:5,bodi:12,bookkeep:1,bool:[8,10,11,12],border:12,borg:8,borgqueen:8,both:[1,5,8,10,12],branch:9,brief:2,brototyp:10,browser:5,bug:[2,4],buggi:4,build:[2,4,10,11,12],build_kw:10,builder:[2,6,7,8],builderror:10,builderstatu:10,builtin:12,burden:10,c1:12,c2:12,c:[4,5,12],cach:8,calcul:[1,5,8,11,12],calculate_st:8,call:[1,4,5,8,10,12],caller:10,can:[0,1,2,4,5,8,9,10,12],cannot:[8,10,12],cannot_combine_err:12,care:[4,8],caus:[1,8,11,12],ceder:4,central:1,cfg1:8,cfg2:8,cfg3:8,cfg:8,chain:[8,10],chang:[5,10,12],changed_delta:12,changed_match_delta:12,changed_match_exact:12,changed_match_kei:12,changed_new:12,changed_old:12,charact:[1,8,11,12],charg:4,check:[0,8,10,12],check_circular:[8,12],chemic:8,chevrier:4,child:12,choic:[4,12],cholia:4,choos:[1,10,11],chosen:1,circular:[8,12],cl:8,claim:4,clash:1,classmethod:[8,10,12],clazz:8,clean:[5,8],cleanup:[2,10,11],clear:12,client:1,clone:[4,8],close:[4,8],cmp:12,code:[1,5,8,10,11,12],coincident:1,coll:[8,10,12],collect:[1,2,3,4,5,8,10,11,12],collection_kei:8,collection_nam:[5,8,10],collectiontrack:10,colnam:12,color:12,column:12,column_nam:12,column_width:12,com:[8,12],combin:[5,8,12],come:[1,5],comma:[5,8,12],command:[1,4,5,12],commandlin:5,commatsci:4,common:[1,10],commonli:4,compact:[8,10,12],compar:[5,8,12],compat:8,complet:4,complex:[1,5],compliant:[8,12],complic:5,compound:8,compress:8,compress_do:8,compris:1,comput:[4,8,12],computedentri:[4,8],concept:1,concern:8,conclus:1,concret:10,cond:12,condit:[4,5,12],conf:[0,1,5,8],config:[2,4,5,8,10,11,12],config_dict:8,config_fil:8,configgroup:8,configur:[1,2,4,8,10,12],configurationfileerror:8,conjunct:5,connect:[1,4,5,8,10],consid:[4,8],consist:[8,12],consol:5,consola:12,constraint:12,constraint_is_method:12,constraint_sect:12,constraint_spec:12,constraintoper:12,constraintspec:12,constraintspecsect:12,constraintviol:12,constraintviolationgroup:12,construct:10,constructor:[1,8,9,10,12],contain:[0,1,4,8,10,12],contains_vasp_input:8,content:[0,6,7],continu:12,contract:4,contriv:1,control:1,conveni:[1,5,8],conversion_electrod:10,convert:[5,8,10],coordin:8,copi:[1,4,8,10,11],copy_build:[1,7,8,10],copybuild:11,copyright:4,core:[1,6,7,8,9,11],core_collect:10,core_dev:5,core_prod:5,correspond:[4,8],could:[1,5,8,12],count:[1,8,11,12],counter:1,coupl:1,cpu:[1,8],crawl:8,creat:[1,2,4,8,10,11,12],create_query_engin:8,createqueryengineerror:8,creation:[4,8,10],creator:[4,6,7],crit:[1,4,11],criteria:[1,4,5,8,9,10,11],css:[5,12],css_class:12,css_minifi:12,csv:2,csv_dict:8,csv_list:8,ctrl:4,cur:1,cur_val:1,current:[1,4,8,10],cursor:[1,8,10,12],custom:[1,8,11,12],d:[1,5,8,10],daemon:4,dahn:10,dai:[8,12],damag:4,dan:[2,4],data:[1,2,4,8,9,10,12],databas:[2,8,9,10,12],dataset:[8,12],datatyp:1,date:10,datetim:10,davidson:4,db1:12,db2:12,db:[1,2,3,5,6,7],db_kei:8,db_version:10,dbconfig:[2,6,7],dberror:[10,12],dbgroup:[2,6,7],dbname:8,dbpath:4,dd:12,deal:4,debug:8,declar:1,decod:[8,12],deep:8,deepli:8,def:[1,8,10,11,12],default_criteria:8,default_dist:12,default_fil:8,default_port:8,default_properti:[8,10],default_set:8,defin:[5,8,10,11],deleg:8,delet:4,delta:[2,12],demand:8,densiti:5,depend:[2,4],deprec:[2,8],depth:10,dequ:12,deriv:[1,4,11],desc:[1,10,11,12],descr2:[10,11],describ:[1,5,10,11],descript:[10,11,12],design:8,desir:[4,10,11],dest:12,destin:1,detail:[1,4,8,10,11],detect:8,determin:[1,5,9,10],dev:[5,8],develop:[4,5,10],dict:[1,8,10,11,12],dict_expand:12,dict_transform:12,dictionari:[1,8,12],did:1,diff:[2,6,7,8],diff_css:12,differ:[1,2,5,8,10,12],diffformatt:12,diffhtmlformatt:12,diffjsonformatt:12,diffraction_pattern:10,difftextformatt:12,dir_nam:[4,8],direct:[5,12],directli:[8,10],directori:[1,2,4,8,10],disconnect:8,discov:[10,11],discuss:8,displai:5,dist_:12,dist_cod:12,dist_runif:12,distinct:[1,8,12],distinct_kei:8,distrib:12,distribut:[1,4,12],div:12,dkgunter:[2,5],dl:12,do_foo1:12,do_foo2:12,doc:[0,1,2,8,10],docstr:[1,10,11],document:[0,1,4,5,8,10,12],doe:[1,4,5,8,10,12],doeslog:12,doesn:[10,11,12],doi:4,domain:5,don:10,done:[4,10],dos_f:8,dot:[8,12],doubl:10,down:8,download:4,driv:0,driver:[1,10,11],drone:[4,8],dt:12,dump:10,duplic:[8,12],durat:5,dure:[2,8,12],e2e2e2:12,e9e9e9:12,e:[1,4,5,8,10,11,12],e_above_hul:[5,8,10],each:[1,4,5,8,9,10,11,12],easi:[1,4,5,8],easier:[4,8,10],easiest:[4,5],easili:1,easy_instal:4,edg:4,effect:1,effici:[5,8],either:[1,5,10],elaps:12,elapsedtim:12,electrod:10,electronic_structur:10,element:[1,5,8,12],elimin:[8,12],els:[1,8,10,11,12],elt:12,em:12,email:12,email_mod:12,emb:5,embed:5,empti:[1,8,10,11,12],enabl:[4,8,9,10],encapsul:[1,8,12],encod:[8,12],end:[1,5,10],end_tim:12,energi:[4,5,8,10],energy_per_atom:4,engin:[4,8],enough:[1,5,12],ensur:[2,8,12],ensure_ascii:[8,12],ensure_index:8,enter:4,entir:[1,4,8,12],entri:[4,8],enumer:10,equival:[1,5],err:[1,8,11],error:[1,2,5,8,10,11,12],escap:[8,12],essenc:8,etc:[1,2,4,5,8,12],etl:1,evalu:5,even:12,event:[4,12],everi:[1,8,10,12],everyth:1,exact:12,exactli:5,examin:[1,8,10],examp:5,exampl:[1,3,4,7,8,10,12],excel:[4,5],except:[1,4,8,10,12],execut:[1,10,11],exist:[0,8,10],exit:[1,5],expand:[8,12],expect:[1,4,8,12],expected_valu:12,explain:8,explicit:1,explicitli:[1,4,8,10],explor:8,expr1:5,expr2:5,expr:5,express:[4,5,8,10,12],ext:10,extend:8,extend_collect:9,extens:[4,8,10],extern:12,extra:[1,5,12],extract:[1,12],f3f3f3:12,f5f5f5:12,f:[1,5,8],fail:[10,12],fail_fn:10,failur:10,fals:[1,8,10,11,12],famili:[5,12],faster:1,fe:8,featur:[2,4,8,11],fetch:[1,5],few:[1,4],field1:5,field2:5,field3:5,field4:5,field5:5,field:[1,2,4,5,8,10,12],field_sep:10,figur:1,file:[1,2,3,4,8,9,10,11,12],file_build:[7,8,10],file_or_fp:10,filecount:11,filenam:[1,4,5,8],fileserv:8,fill:12,filter:[1,5,11,12],filter_sect:12,final_energi:[8,10],final_structur:8,find:[1,5,8,10,12],findal:10,fine:[1,4,8],first:[1,2,4,8,12],fit:[4,12],fix:[2,5,12],flag:[1,8,11],flamyngo:2,flask:0,fld_fld:10,fld_mark:10,fld_op:10,flexibl:2,fltr:12,fmt:12,fn:10,folder:[0,4],follow:[0,1,3,4,5,8,10,12],font:12,foo:[1,5,8,10,12],footprint:12,fork:10,form:[1,4,5,8,12],format:[1,4,5,8,10,12],formula:4,found:[1,5,8,10,12],four:8,framework:1,free:4,frequenc:5,from:[1,2,4,5,8,9,10,11,12],from_config:8,from_cursor:8,from_dict:[8,10],front:2,frozenset:12,full:[1,5,8,10,12],furnish:4,futur:[1,4],g:[1,4,5,8,10,11,12],gen:12,gener:[1,4,5,8,9,10,12],generate_doc:8,generate_task_doc:8,genom:[2,4,8],geoffroi:4,gerbrand:4,get:[1,5,8,10,11,12],get_basic_analysis_and_error_check:8,get_builder_log:[1,10],get_collect:8,get_collection_nam:10,get_coordination_numb:8,get_databas:8,get_dos_from_id:8,get_el:12,get_entri:[4,8,9],get_entries_in_system:8,get_item:[1,10,11],get_items_paramet:[10,11],get_kei:12,get_paramet:[1,10,11],get_schema:10,get_schema_dir:10,get_schema_fil:10,get_set:8,get_structure_from_id:[4,8],get_task_doc:8,get_test_dir:10,get_uri:8,get_valid_path:8,gga:8,git:0,github:[2,4],give:[1,3],given:[1,3,4,5,8,10,11,12],glob:8,go:[8,10,12],got_valu:12,gov:[2,5],grain:4,grant:4,gridf:8,grouchi:5,group:[1,8,11,12],guarante:[8,12],guid:0,gunter:[2,4],h1:12,h2:12,h3:12,h:[1,5],ha:[1,4,5,10],had:[10,11],had_error:[10,11],handl:[1,2,10],handler:12,happen:1,hardwar:1,has_failur:10,hasexampl:10,hasmeta:10,hautier:4,have:[1,5,8,10,11,12],header:12,height:12,help:[1,4,5,12],helper:8,helvetica:12,here:[1,3,4,5,10,11],herebi:4,heterogen:8,hi:0,hierarchi:10,high:[9,10],higher:10,highest:[1,10],highli:[1,8],himself:8,hint:8,hit:4,hive:8,holder:4,hopefulli:4,host:[1,2,3,5,8,10,12],host_kei:8,hostnam:[5,8,10],how:[1,10],howev:[4,8],html:[1,2,5,10,12],html_theme:0,html_theme_path:0,htmlformatt:12,http:[5,10,12],huge:[1,12],hundr:1,hyperlink:[2,5,12],i:[1,5,8,10,11],icsd:10,icsd_id:5,id:[4,8],id_column:12,id_prefix:10,idea:1,identifi:[1,5,10,12],ignor:[1,8,10,12],iid:12,illustr:1,implement:[1,2,8,9,10,11,12],impli:4,impos:10,improp:1,improv:2,inc_structur:8,incar:8,includ:[1,4,5,8,10,12],incom:[8,10,12],incr:[1,6,7,8],increas:[1,5],increment:[2,10,11,12],indent:[5,8,10,12],independ:1,index:[4,10],individu:1,infil:8,infin:[8,12],infinit:[8,12],info:[1,5,10,12],inform:[1,5,12],inherit:[1,10],init:[4,5,8,10],initi:[1,5,8,10,12],input:[1,8,9,10,11,12],input_fil:[1,11],insecur:4,insert:[1,2,5,8,10,12],insid:[1,10],instal:[1,4],instanc:[1,10,11,12],instanti:8,instead:[1,5,8,10,12],instruct:[1,4],integ:[8,10,12],intend:0,intens:1,interfac:[2,4,5,8,10],intern:[8,10],interpret:[5,8,10,11],interv:12,introduc:1,introduct:2,intuit:8,invalid:12,invoc:1,invok:1,involv:1,ioerror:10,ip:3,is_dict:10,is_empti:12,is_list:10,is_scalar:10,is_track:10,isn:1,issu:[2,5],ital:12,item:[1,5,8,10,11,12],item_separ:[8,12],iter:[1,8,10,11,12],its:[1,5,12],itself:[1,10,11,12],j:4,jain:4,javascript:[8,10,12],json:[1,2,3,4,5,8,10,12],json_schema:10,jsonencod:[8,12],jsonformatt:12,jsonwalk:12,jstype:10,just:[1,4,5,8,10,12],k:5,kei:[1,2,5,8,10,11,12],kenneth:0,key_separ:[8,12],keyerror:[8,10],keyword:[1,3,5,10,12],kill:[1,8,10],kind:[4,8],know:[1,8],known:[8,10],known_collect:10,kocher:4,kpoint:8,kr:0,kr_small:0,kristin:4,kv_sep:10,kvp_dict:8,kw:[10,12],kwarg:[1,8,10,11,12],l:8,lambda:10,languag:4,larg:[0,5,8,12],larger:12,last:[1,5,8,10],later:[1,8,10],latest:[4,10],lbl:[2,5],lbnl:4,leav:5,left:12,len:1,length:12,less:12,let:[5,8,12],letter:12,letter_num:12,level:[5,8,10,12],li2o:4,li:8,liabil:4,liabl:4,librari:[0,4,8],lightweight:1,like:[1,4,5,8,10,12],limit:[2,4,5,8,10],line:[1,4,5,11,12],line_sep:12,liner:1,link:4,linux:4,list:[1,5,8,10,11,12],lixfeyoz:8,ll:1,load:[1,10],load_schema:10,localhost:[1,3,5,8,12],locat:8,log:[1,5,10,12],logger:[1,10],logic:[1,11],look:[1,4,5,8,12],lookup:8,lot:5,low:10,m:5,mac:4,machin:[1,8,10],magic:1,mai:[1,4,5,8,10,11],mail:5,main:[1,5,8,10,12],maintain:2,major:8,make:[1,2,4,5,8,10],manag:[4,8],mani:[4,5,8,9],manipul:1,manual:[4,10],map:[1,5,8,10],mapi_kei:[2,8],margin:12,mark:[1,10],markdown:[5,12],markdownformatt:12,match:[1,5,8,12],materi:[1,2,4,8,9,10,11,12],materialsproject:[5,8],matgendb:2,matter:1,max:[1,12],max_dberror:12,max_force_threshold:8,max_item:12,max_ver:10,max_viol:12,maximum:[1,9,11,12],maxvalue_build:[7,8,10],maxvaluebuild:11,md:5,mdev:5,me:[5,12],mean:[1,5,8,10,12],meant:[1,8],member:[8,12],memori:[1,8,12],merchant:4,merg:[4,10],merge_task:10,messag:[1,5,10,12],meta:[10,12],metadata:[1,10,12],metavar:12,method:[1,4,8,9,10,11,12],mg_core:10,mgbuild:[1,2,4,11],mgdb:[2,4,5,8],mgvv:[2,4],mi:5,michael:4,might:1,min_item:12,min_ver:10,mind:4,minim:[1,5],minimum:[1,12],minor:2,minu:5,miss:[5,12],mit:[4,8],mitsuhiko:0,mix:[10,12],mkdir:4,mode:[1,3,4],modern:1,modif:[1,8],modifi:[4,8,10],modul:[1,2,4,6,7],moment:5,monaco:12,mongdb:10,mongo:[4,8,12],mongo_get:12,mongocli:[2,10],mongod:4,mongodb:[1,2,3,4,5,8,10,11,12],mongojsonencod:[8,12],mongoqueri:12,monospac:12,monoton:1,more:[1,2,4,5,9,10,11,12],most:[0,1,4,5,8,10,12],move:1,mprod:5,mps_id:5,mr_snuffleupagu:3,msonabl:8,much:[1,4],multicor:1,multipl:[1,2,5],multiprocess:[1,8,9,10,11],must:[1,5,8,10,11,12],my:[1,5],my_build:10,mybuild:[10,11],mycollect:[5,10],mydatabas:5,mydb:[8,10],myfil:8,myhost:5,n:[1,5,12],name1:[5,10],name2:[5,10],name:[1,3,4,5,8,10,11,12],name_in_db:5,name_or_index:12,namespac:[6,8],nan:[8,12],narg:12,ncol:12,ncore:[1,9,10,11],nearli:8,neb:4,necessari:[1,5],need:[1,4,5,8],neg:[5,8,12],negatori:5,nelement:5,nest:[8,12],neue:12,new_max:1,new_nam:10,new_task:10,new_valu:12,newer:1,newlin:[8,12],next:[1,12],no_properti:12,noath:3,non:[1,8,10,12],none:[1,5,8,9,10,11,12],noninfring:4,normal:[10,12],normalize_auth:8,note:[1,4,5,8,10,12],noth:[10,11],notic:[1,4,5],notrackingcollect:10,now:[1,2],nrow:12,nth:12,nullconstraintviol:12,num:[1,5,10,12],num_char:1,num_cor:1,num_lin:1,num_viol:12,number:[1,2,3,5,8,9,10,11,12],numer:[2,5,12],o:[8,12],obei:8,object:[1,4,8,9,10,11,12],obtain:[2,4,8],occur:[1,8],odd:12,off:1,often:1,ok:[10,11],old:[1,5,12],omit:4,onc:[1,4],one:[0,1,5,8,9,10,11,12],ones:1,ong:4,onli:[1,3,5,8,10,11,12],onlin:10,only_miss:12,only_valu:12,op:[10,11,12],open:[1,4,5,8,10],oper:[1,5,10,12],oppos:12,option:[1,2,4,8,10,11,12],option_str:12,optional_data:8,orbit:8,order:[1,8,10,12],ordered_col:12,org:[5,8,10],organ:[8,10],os:[0,4],oscar:5,osx:5,ot:8,other:[1,2,5,8,10,11,12],othercontainerclass:12,otherorg:5,othersuck:5,otherwis:[4,5,8,10,11,12],our:[10,12],out:[0,1,4,5],outlin:4,output:[1,2,5,8,9,10,11,12],over:[1,5,12],overflowerror:[8,12],overrid:[1,8,10],own:[1,4,8],oxid:2,p:[5,12],packag:[1,2,4,5,6,7],pad:12,page:[0,1,2,5],pair:[5,8,10,11,12],parallel:10,param2_nam:[10,11],param2_typ:[10,11],param:[1,10,11,12],param_nam:[10,11],param_typ:[10,11],paramet:[1,3,4,8,9,10,11,12],parameter:12,parent:1,pars:[8,10,11,12],parse_do:8,parse_fn_docstr:10,parse_projected_eigen:8,part:[1,5,8,12],partial:5,particular:[4,8],pass:[1,5,8,9,10,11,12],password:[1,2,3,5,8,10],password_kei:8,past:10,path:[0,1,5,8,10,12],pattern:[5,8],pdf:[1,2],per:[1,4,5],percent:5,perfectli:[1,4],perform:[1,2,8,9,10,11,12],permiss:4,permit:4,person:4,persson:4,phase:8,phase_diagram:10,ping:4,pip:4,pl:2,place:[1,4,8,10,12],plain:12,pleas:[4,5,8],plu:5,po:10,point:[5,8],pool:9,popul:12,porou:[10,11],port:[1,3,5,8,10,12],port_kei:8,portion:4,poscar:8,posit:[1,5,10,12],possibl:[1,5],post:[8,10],post_process:8,postprocess:[4,8],potcar:8,potenti:[8,12],power:[2,4],pre:8,prefer:5,prefix:[1,2,5,8,10],present:[1,5,8,10],press:4,pretti:[1,8,12],pretty_formula:[4,5],prevent:[8,12],previou:[1,12],previous:1,print:[1,4,5,8,10,12],probabl:[1,12],process:[1,8,10,11],process_item:[1,10,11],process_killed_run:8,process_vasprun:8,procrunn:10,prod:5,produc:5,product:[4,5],profil:8,program:[1,5,10,11],progress:12,progressmet:12,project:[0,1,4,8,9,12],prompt:4,prop:[4,5,12],prop_dict:8,proper:2,properli:[1,2],properti:[1,4,5,8,10,12],proport:12,provid:[2,4,5,8,9],publish:4,pull:1,purpos:[1,4,5,8,10],put:[0,1,5,10,12],py:[0,4],pymatgen:[1,2,3,5],pymatpro:10,pymmongo:8,pymongo:[4,8,10,12],pypi:4,python:[1,4,8,10,11,12],pythonmethod:12,q:[1,5],qe:[4,10],qe_class:8,qetransmut:9,qualifi:12,quantiti:[5,8],queri:[1,2,5,8,9,10,12],query_engin:[1,4,6,7,10,11],query_on:8,query_post:[8,10],queryengin:[1,4,8,9,10,11,12],queryerror:8,querylistresult:8,queryresult:8,question:1,queue:[1,10,11],quiet:1,quot:5,quotabl:8,r3:12,r:[1,4,8],radiu:12,rais:[8,10,11,12],randomli:12,rather:5,raw:[1,12],re:1,re_get:8,re_kei:8,read:[1,3,5,8,10,11],readabl:1,readi:12,readlin:1,readonli:8,readonly_first:8,readonly_password:[2,3,5],readonly_us:[2,3,5,8],real:[1,5],realli:[1,10],rebuild:1,rec:[1,12],recalcul:1,receiv:5,receiver2:5,recip:12,recipi:[5,12],recogn:[3,5],recommend:[1,8],record:[1,5,8,10,11,12],recurs:[8,12],reduc:1,refactor:2,refer:[8,12],regardless:10,regexdict:8,regress:[8,12],regular:[8,10],reitz:0,rel:[1,4],relai:5,relat:[0,10],relax1:8,relax2:8,relax:8,releas:[2,4],reli:1,rememb:1,remot:12,remov:[2,8],repeat:[1,5],replac:[1,5,8,10],replicaset:[8,10],repo:4,report:[2,5,6,7,8],report_field:12,reportbackuperror:12,reporthead:12,reportjsonencod:12,reportsect:12,repositori:0,repr:12,represent:[8,10,12],request:10,requir:[1,2,3,5,8,11,12],research:4,resolv:[8,10],resort:8,respect:[4,5,10],rest:[2,5,8],restrict:[4,8],restructur:[10,11],result:[1,2,8,10,12],result_cursor:8,result_post:[8,10],result_subset:12,retriev:[1,5,8,9,10,12],rgb:12,richard:4,right:[4,10],robust:4,root:[4,8,10],row:12,rs:12,rtype:10,run:[2,4,8,10,11,12],s:[0,1,4,5,8,9,10,11,12],sai:[5,8],sake:1,same:[1,5,8,10,12],sampl:[4,12],sample_sect:12,sampler:12,san:12,sandbox:10,sandbox_collect:10,satisfi:8,save:[1,5,10],scalar:10,scan:1,scene:1,schema:[6,7,8],schemaerror:10,schemaparseerror:10,schemapatherror:10,schemata:10,schematypeerror:10,scheme:[5,10],scienc:4,script:[1,2,4,8],search:[4,5,9,12],sec:12,second:[1,5,11,12],section:[1,5,12],sectionhead:12,sectionpart:12,see:[1,4,5,8,10,12],seen:1,select:[1,5,12],self:[1,8,10,11,12],sell:4,semant:12,send:[5,12],sender:[5,12],sens:[1,10],sensibl:[8,12],sent:[5,12],sep:8,separ:[5,8,12],sequenc:8,sequenti:1,serial:[8,10,12],serializ:[8,12],serif:12,server1:5,server2:5,server:[3,4,5,8,12],set:[1,2,4,5,8,10,12],set_alias:12,set_aliases_and_default:8,set_collect:8,set_mark:10,set_prefix:8,set_progress:12,set_subject:12,set_track:10,setter:10,setup:[10,11],shall:4,share:[1,10],shared_dict:[1,10],shared_list:10,shell:5,should:[1,4,5,8,10,12],show:[1,5,12],shown:[1,5],shreya:4,shyue:4,sign:[5,12],signific:2,similar:4,simpl:[4,5,8,11,12],simpli:[1,4,5,8,10,12],simplif:2,simplifi:[1,5,8],simul:8,simulate_mod:8,sinc:1,singl:[1,5,8,10,12],site:8,site_dict:8,size:[5,12],skip:[1,8,12],skipkei:[8,12],slice:5,slow:8,small:[0,1],smoqe:5,smtp:[5,12],snippet:1,snl_id:5,so:[1,4,5,10],softwar:4,sole:12,some:[1,2,4,5,8,10,11,12],somebodi:5,somecontainerclass:12,somekei:5,sometim:4,somewhat:8,sort:[1,2,8,10,12],sort_kei:[8,12],sort_row:12,sortbi:12,sourc:[1,4,8,9,10,11,12],space:10,spawn:1,spec:[5,12],special:[1,10,11],specif:[1,2,4,5,8,12],specifi:[4,5,8,10,12],spectacular:8,spend:5,sphinx:[1,2,4],spiderman2:8,spiderman:8,spot:1,stabil:[2,8],stage:1,standard:[0,1,4,5,8,10],standardtransmut:9,start:[1,4,10],start_tim:12,state:[1,8,10],statu:[10,11],step:[1,4],stone:1,stop:[1,4],storag:8,store:[1,8,12],str:[1,8,10,12],strang:1,streamlin:1,string:[4,5,8,10,12],strip:10,structur:[4,8,9],style:[1,4,5,8,9,10,11,12],sub:[1,5,8,10,12],subclass:[8,10,11,12],subcommand:2,subdirectori:10,subfold:8,subj:12,subject:[4,5,12],subkei:8,sublicens:4,submit:5,submodul:[0,6,7],subpackag:[1,6],subsequ:[1,4],subset:[5,12],substanti:4,subtl:1,succe:1,success:[1,8,10,11],suffici:[5,8],suffix:10,suitabl:4,superclass:12,suppi:[8,10],suppli:[8,10,11],support:[2,8,12],supported_properti:8,sure:[1,10],sy:0,symbol:8,syntax:[3,4,8,12],system:[4,8],t:[1,8,10,11,12],tabl:[2,5,12],tag:8,take:[2,5,8,10,12],taken:[4,5],target:[1,5,10,11,12],task:[1,3,4,5,8,10],task_id:[4,5,8],task_suffix:10,tasknam:8,td:12,temporari:10,term:4,test1:[1,5],test2:[1,5],test:[4,5,8,10,12],test_db:4,test_porous_build:10,text:[5,10,11,12],th:12,than:[1,5,8,9,12],thei:[1,2,3,4,9],them:[1,2,8,12],theme:0,these_must:5,thi:[0,1,4,5,8,9,10,11,12],thing:[1,12],third:5,those:5,thread:[1,10,11],through:[1,2],throughput:9,thu:1,time:[1,5,10,11,12],titl:12,tmp:10,to_dict:10,to_includ:5,to_mongo:12,toler:5,ton:5,tool:4,top:[5,10,11,12],topmost:4,tort:4,total_s:12,tr1:12,tr:12,tr_even:12,tr_odd:12,track:[1,10],track_field:10,track_oper:10,tracked_find:10,trackedcollect:10,trackedqueryengin:[1,10],tracker:[10,12],tracking_collect:10,tracking_collection_nam:10,tracking_nam:10,trackinginterfac:10,transform:[1,8,9,12],transformedstructur:9,translat:[4,8,10,12],transmut:[6,7,8],transpar:[1,10],treat:12,treatment:8,tri:8,trivial:1,tupl:[8,10,12],turn:1,tweedlede:8,tweedledum:8,twice:11,two:[1,2,5,8,10,12],type:[1,2,4,5,8,10,11,12],typecod:10,typeerror:[8,12],typenam:10,typic:8,u:[1,5,8],ui:[2,4,8],ultim:1,unauthent:5,uncach:8,under:[4,5],underli:8,understand:1,understood:1,uniform:12,uniqu:8,unit:[4,10],unittest:4,unix:[5,8],unknown:12,unless:[1,12],unlik:[1,5],unset:8,unsuccess:[8,10],until:12,untrackedqueryengin:10,unzip:4,up:[1,4,5],updat:[1,2,8,10,11,12],update_dupl:8,upsert:1,uri:8,url:[5,12],us:[0,1,2,3,4,5,8,9,10,11,12],usabl:2,usag:[5,10],use_admin:8,use_full_uri:8,user:[1,2,3,5,8,10],user_kei:8,user_kw:10,usual:[1,5,8],util:[1,6,7],v1:12,v2:12,v:[1,5,8],val:12,valid:[4,6,7,8,10],validate_exampl:10,validatorsyntaxerror:12,valu:[1,2,5,8,10,11,12],value1:10,value2:10,value_json:12,value_transform:12,valueerror:[8,10,11,12],vand:2,variabl:[1,2],variou:8,vasp:[3,4,5,8,10],vasprun:8,vasprun_fil:8,vasptodbtaskdron:[4,8],verbos:[1,5,10,12],veri:[0,1,4,5,8],verif:4,version:[1,2,8,9,10,11,12],via:8,view:5,vincent:4,violat:[5,12],visual:5,vof:2,volume_change_threshold:8,vv:[2,6,7,8],wa:[1,5,10,11,12],wai:[1,4,8,10],wait:10,walk:[1,12],want:[1,5,8,10],warranti:4,we:[1,5,8,10,12],web:8,webpag:5,websit:4,weight:12,well:[3,4],went:[10,11],were:8,what:[1,10],when:[1,4,8,10,12],where:[1,4,5,8,10],whether:[1,4,8,9,10,12],which:[1,4,5,8,9,10,11,12],white:[10,12],whitespac:[8,12],who:10,whole:[1,8],whom:4,whose:8,why:10,width:[5,12],will_copi:12,william:4,wipe:10,wise:5,within:[5,12],without:[1,4,8,10],work:[1,4,10,11,12],wors:[1,5],would:[1,5,8,10,12],wrap:12,wrapper:[8,10],writabl:5,write:[3,4,8,11],written:[1,4],wrong:[1,10,11,12],www:8,x:[5,12],xl:2,xml:8,xxxx:5,y:[1,5,12],yaml:[2,5,12],yamlconfig:12,yet:1,yield:[1,12],you:[0,1,4,5,8,10,12],your:[0,1,4,5,8],yyyi:5,zero:[1,5],zlib:8},titles:["krTheme Sphinx Style","Database \u201cBuilders\u201d","v0.7.0","Database configuration","Pymatgen-db","Materials Project Database Validation: mgvv","pymatgen","pymatgen namespace","pymatgen.db package","pymatgen.db.alchemy package","pymatgen.db.builders package","pymatgen.db.builders.examples package","pymatgen.db.vv package"],titleterms:{"0":2,"1":2,"2":2,"3":2,"4":2,"5":2,"6":2,"7":2,"8":2,"9":2,alchemi:9,api:4,argument:5,basic:1,build:1,builder:[1,10,11],calcul:4,chang:4,cite:4,configur:[3,5],constraint:5,content:[1,8,9,10,11,12],copy_build:11,copybuild:1,core:10,creator:8,databas:[1,3,4,5],db:[4,8,9,10,11,12],dbconfig:8,dbgroup:8,development:4,diff:[5,12],displai:1,doc:4,email:5,exampl:[5,11],extend:4,featur:1,file:5,file_build:11,filecount:1,get:4,how:4,incr:10,increment:1,indic:4,initi:4,insert:4,krtheme:0,licens:4,log:4,materi:5,maxvalue_build:11,maxvaluebuild:1,mgvv:5,modul:[8,9,10,11,12],namespac:7,option:5,other:4,packag:[8,9,10,11,12],page:4,parallel:1,project:5,pymatgen:[4,6,7,8,9,10,11,12],queri:4,query_engin:8,refer:4,report:12,requir:4,run:1,schema:10,setup:4,simpl:1,sphinx:0,stabl:4,style:0,subcommand:5,submodul:[8,9,10,11,12],subpackag:[7,8,9,10,12],syntax:5,tabl:4,transmut:9,usag:[1,4],util:[8,10,12],v0:2,valid:[5,12],version:4,vv:12,write:1}}) \ No newline at end of file diff --git a/docs_rst/pymatgen.rst b/docs_rst/pymatgen.rst index 601cd54..bca3246 100644 --- a/docs_rst/pymatgen.rst +++ b/docs_rst/pymatgen.rst @@ -1,6 +1,8 @@ pymatgen namespace ================== +.. py:module:: pymatgen + Subpackages ----------- diff --git a/pymatgen/db/__init__.py b/pymatgen/db/__init__.py index 188c23e..1bf7a87 100644 --- a/pymatgen/db/__init__.py +++ b/pymatgen/db/__init__.py @@ -11,7 +11,7 @@ __author__ = "Shyue Ping Ong, Dan Gunter" __date__ = "Jul 22 2017" -__version__ = "2021.5.28" +__version__ = "2022.3.17" from .query_engine import QueryEngine @@ -30,4 +30,4 @@ def _load_mgdb_settings(): return d -SETTINGS = _load_mgdb_settings() +SETTINGS = _load_mgdb_settings() \ No newline at end of file diff --git a/setup.py b/setup.py index b5f2e60..40c2093 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ setup( name="pymatgen-db", packages=find_namespace_packages(include=["pymatgen.*"]), - version="2021.5.28", + version="2022.3.17", setup_requires=["numpy"], install_requires=["pymatgen>=2022.0.3", "monty>=0.9.6", "pymongo>=2.8", "smoqe"], extras_require={