# pymatgen.matproj.snl module¶

class Author[source]

An Author contains two fields:

name

Name of author (String)

email

Email of author (String)

Create new instance of Author(name, email)

as_dict()[source]
static from_dict(d)[source]
static parse_author(author)[source]

Parses an Author object from either a String, dict, or tuple

Parameters: author – A String formatted as “NAME ”, (name, email) tuple, or a dict with name and email keys. An Author object.
class HistoryNode[source]

A HistoryNode represents a step in the chain of events that lead to a Structure. HistoryNodes leave ‘breadcrumbs’ so that you can trace back how a Structure was created. For example, a HistoryNode might represent pulling a Structure from an external database such as the ICSD or CSD. Or, it might represent the application of a code (e.g. pymatgen) to the Structure, with a custom description of how that code was applied (e.g. a site removal Transformation was applied).

A HistoryNode contains three fields:

name

The name of a code or resource that this Structure encountered in its history (String)

url

The URL of that code/resource (String)

description

A free-form description of how the code/resource is related to the Structure (dict).

Create new instance of HistoryNode(name, url, description)

as_dict()[source]
static from_dict(h_node)[source]
static parse_history_node(h_node)[source]

Parses a History Node object from either a dict or a tuple.

Parameters: h_node – A dict with name/url/description fields or a 3-element tuple. History node.
class StructureNL(struct_or_mol, authors, projects=None, references='', remarks=None, data=None, history=None, created_at=None)[source]

Bases: object

The Structure Notation Language (SNL, pronounced ‘snail’) is container for a pymatgen Structure/Molecule object with some additional fields for enhanced provenance. It is meant to be imported/exported in a JSON file format with the following structure:

• created_at
• authors
• projects
• references
• remarks
• data
• history
• lattice (optional)
• sites
Parameters: struct_or_mol – A pymatgen.core.structure Structure/Molecule object authors – List of {“name”:’‘, “email”:’‘} dicts, list of Strings as ‘John Doe ’, or a single String with commas separating authors projects – List of Strings [‘Project A’, ‘Project B’] references – A String in BibTeX format remarks – List of Strings [‘Remark A’, ‘Remark B’] data – A free form dict. Namespaced at the root level with an underscore, e.g. {“_materialsproject”: } history – List of dicts - [{‘name’:’‘, ‘url’:’‘, ‘description’:{}}] created_at – A datetime object
as_dict()[source]
classmethod from_dict(d)[source]
classmethod from_structures(structures, authors, projects=None, references='', remarks=None, data=None, histories=None, created_at=None)[source]

A convenience method for getting a list of StructureNL objects by specifying structures and metadata separately. Some of the metadata is applied to all of the structures for ease of use.

Parameters: structures – A list of Structure objects authors – List of {“name”:’‘, “email”:’‘} dicts, list of Strings as ‘John Doe ’, or a single String with commas separating authors projects – List of Strings [‘Project A’, ‘Project B’]. This applies to all structures. references – A String in BibTeX format. Again, this applies to all structures. remarks – List of Strings [‘Remark A’, ‘Remark B’] data – A list of free form dict. Namespaced at the root level with an underscore, e.g. {“_materialsproject”:} . The length of data should be the same as the list of structures if not None. histories – List of list of dicts - [[{‘name’:’‘, ‘url’:’‘, ‘description’:{}}], ...] The length of histories should be the same as the list of structures if not None. created_at – A datetime object
is_valid_bibtex(reference)[source]

Use pybtex to validate that a reference is in proper BibTeX format

Parameters: reference – A String reference in BibTeX format. Boolean indicating if reference is valid bibtex.