0.13.0 / 2020-01-29¶
(GH#179, GH#181) QCElemental works with Python 3.8 at the expense of needing a new 0.10 pint (rather than generic install). Pint 0.10 has optional NumPy dependency of >=1.12.0, so QCElemental that requires both NumPy and pint needs this constraint.
0.12.0 / 2019-11-13¶
Moleculescan now be correctly compared with
molparse.to_stringQ-Chem dtype developed. Psi4 dtype now includes label and doesn’t have extraneous info for single fragment systems.
(GH#162) New protocol
stdoutfield (which generally contains the primary logfile, whether a program writes it to file or stdout) is returned.
(GH#165) The code base is now Black formatted.
0.11.1 / 2019-10-28¶
0.11.0 / 2019-10-24¶
0.10.0 / 2019-10-16¶
0.9.0 / 2019-10-01¶
(GH#139) A wavefunction property have been added to the
ResultModel. Adds the ability for Engine and other programs to store and fetch wavefunction data.
Protocolshave been added to
QCInputSpecificationwhich allows data to pre-pruned by different specifications. Main intention is to reduce wavefunction data which may be re-computed cheaply rather than storing all of it. This does change the input model, so requires a minor version bump.
0.8.0 / 2019-09-13¶
0.7.0 / 2019-08-23¶
(GH#118) Model string representations should be more user friendly and descriptive without overload the output.
return_datanow returns molecule keywords for GAMESS and NWChem. The
(GH#120) Auto documentation tech is now built into the
ProtoModeland does not need an external function.
0.6.1 / 2019-08-19¶
0.6.0 / 2019-08-14¶
(GH#85, GH#87) Msgpack is a new serialization option for Models. Serialization defaults to msgpack when available (
conda install msgpack-python [-c conda-forge]), falling back to JSON otherwise. This results in substantial speedups for both serialization and deserialization actions and should be a transparent replacement for users within Elemental itself.
(GH#78) Molecular alignments can now be aligned on the derivatives of vector components.
(GH#81) Testing is now operated both on the minimal supported and the latest released versions of dependencies.
(GH#82) Molecule fragment grouping is now disabled by default to match expected behavior.
(GH#84) Testing without internet connection should now pass since PubChem testing is skipped with no connection.
(GH#85) Molecule switches from lists to numpy arrays for internal storage of per-atom fields.
(GH#86) Molecule performance and memory enhancements through reduced validation times and LRU caching of common validations.
0.5.0 / 2019-07-16¶
(GH#76) Adds a built-in
Molecule.to_filefunction for easy serialization into
0.4.1 / 2019-05-31¶
return_datathat contains aspects of the
models.Moleculenot expressible in the string. Implemented for dtypes xyz, cfour, psi4.
Datumgained an attribute
numericthat reflects whether arithmetic on
Datums that aren’t numeric can now be created by initializing with
0.4.0 / 2019-05-13¶
models.Moleculeconnectivity to default to None rather than an empty list. WARNING this change alters the hashes produced from the
models.ResultPropertiessupports CCSD and CCSD(T) properties.
(GH#56) Algorithms Kabsch
util.linear_sum_assignment, and Uno
util.unoadded. Utilities to generate random 3D rotations
util.random_rotation_matrixand reindex a NumPy array into smaller blocks
(GH#56) Molecular alignment taking into account displacement, rotation, atom exchange, and mirror symmetry for superimposable and differing geometries was added in
molutil.B787(basis NumPy function) and
models.Molecule.align(far more convenient). Suitable for QM-sized molecules. Requires addition package
whichthat provide a path or boolean result for locating modules or commands, respectively. These were migrated from QCEngine along with
parse_versionto colocate the import utilities.
(GH#61) Add molecular visualization to the
models.Moleculeobject through the optional 3dMol.js framework.
relative_geoms='align'that lets Molecules pass if geometries within a translation and rotation of each other.
forgivethat is a list of paths that may differ without failing the comparison.
dtype='terachem'for writing the separate XYZ file required by TeraChem. Angstroms or Bohr allowed, though the latter requires extra in input file.
util.whichadded the Python interpreter path to the default search
*to parameter list of many functions requiring subsequent to be keyword only. Code relying heavily on positional arguments may get broken.
envto use an alternate search
ModuleNotFoundError(for both functions) when not located. It error will have a generic error message which can be extended by
raise_msg. It is strongly encouraged to add specific remedies (like how to install) through this parameter. This is the third exit pattern possible from the “which” functions, of which path/None is the default, True/error happens when
raise_error=True, and True/False happens otherwise when
(GH#65) Testing functions
return_handlerthat lets other printing, logging, and pass/fail behavior to be interjected.
0.3.3 / 2019-03-12¶
0.3.2 / 2019-03-11¶
(GH#48) If Molecule object has passed through molparse validation because it was created with a molparse constructor (e.g.,
from_string), save some time by not passing it through again at
0.3.1 / 2019-03-07¶
(GH#37) Documentation now pulls from the custom QC Archive Sphinx Theme, but can fall back to the standard RTD theme. This allows all docs across QCA to appear consistent with each other.
(GH#41) Conda-build recipe removed to avoid possible confusion for everyone who isn’t a Conda-Forge recipe maintainer. Tests now rely on the
(GH#44) Molecule objects are now always validated against a more rigorous model and fragment multiplicities are fixed at the correct times, even when no multiplicities are provided. Molecule defaults to
0.3.0 / 2019-02-27¶
dtype=2in keeping with GH:MolSSI/QCSchema#60 with internal
molparse.from_schemarecognizes external fields (existing functionality), internal fields (dtype=2), and mixed.
(GH#33) Pydantic molecule model now contains schema_name and schema_version=2 information.
(GH#35) Models now have an
extrafield for extra attributes, no additional base keys are allowed.
qcel.Datumto Pydantic model. Changes: (a) comment, doi, glossary fields must be accessed by keyword, (b)
dict()and instead of only label, units, data fields in dict, now comment, doi, glossary present _if_ non-default, (c) complex values no longer list-ified by
(GH#36) Changelog and Models documentation.
0.2.5 / 2019-02-13¶
0.2.4 / 2019-02-08¶
0.2.3 / 2019-01-29¶
0.2.2 / 2019-01-28¶
0.2.0 / 2019-01-25¶
now requires Python 3.6+
now requires Pydantic
0.1.3 / 2018-12-14¶
0.1.2 / 2018-11-3¶
0.1.1 / 2018-10-30¶
(GH#7) Adds outer schema_name/schema_version to
to_schema(..., dtype=1)output so is inverse to
0.1.0a / 2018-10-24¶
This is the first alpha release of QCElemental containing the primary three components.
(GH#6) Updated molparse to write new Molecule QCSchema fields in keeping with GH:MolSSI/QCSchema#44
Periodic Table data from NIST SRD144 (c. pre-2015?) collected into
qcelemental.periodictableinstance, with accessors
to_A(and redundant accessors
Decimalformats. Also includes functionality to write a corresponding “C” header.
Physical Constants data from NIST SRD121 (CODATA 2014) collected into
qcelemental.constantsinstance, with access through
Decimalresult). Also includes functionality to write a corresponding “C” header.
from_schemaconstructors parse and rearrange (if necessary) and validate molecule topology inputs from the QC and EFP domains into a QCSchema-like data structure. Current deficiencies from QCSchema are non-contiguous fragments and “provenance” fields. Accessors
to_schemaare highly customizable.
A pint context has been built around the NIST physical constants data so that
qcelemental.constants.conversion_factor(from_unit, to_unit)uses the QCElemental values in its conversions. Resulting
floatis within uncertainty range of NIST constants but won’t be exact for conversions involving multiple fundamental dimensions or
wavelength -> energy != 1 / (energy -> wavelength).