Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
unreleased¶
Added¶
- Environment variable control for:
TCPB_HOSTTCPB_PORTTCPB_FRONTEND_HOSTTCPB_FRONTEND_CLIENT
Changed¶
- Collect
stdoutand files by default if usingTCPBFrontendClient - Renamed
kwargtocomputeraise_error->raise_excto matchqcop. - Default behavior for
TCPBFrontendClientis now to collect stdout and files. program_outputappended toexc.program_output.TCPBFrontendClientcollects stdout and files even if a calculation fails.
0.14.0 - 2024-09-10¶
Added¶
- GitHub workflows for basic code quality.
release.pyscript.
Changed¶
- Changed build system from
flittopoetryto standardize with otherMtzGrouplab projects. - 🚨 Updated minimum Python version from
3.7->3.9. - Updated package dependencies.
- Updated devops system. Removed
black,isort,flake8in favor of latest version ofruff. - Updated documentation dependencies.
Removed¶
- Checks for
bond_orderin the tests as this value is no longer returned by default by the TeraChem server. TCFEKeywordschecks. Just passing arguments to theTCFEClient.compute()function now.
0.13.2¶
Fixed¶
- Bugfix by Christopher Myers to correct for loop handing CIS states.
0.13.1¶
Changed¶
- Pegged pydantic version <2.0.
0.13.0¶
Changed¶
- Moved the
stdoutupon crashing of TeraChem server fromFailedOperation.extrastoFailedOperation.error.extras. This circumvents https://github.com/MolSSI/QCEngine/issues/397 and is probably a better place for the error data anyways.
0.12.1¶
Changed¶
- Hacked in a solution for the TeraChem server being off-by-one on the job directory so that we can collect stdout files when the server crashes. It's still impossible to collect stdout if its the first job (and a failed job) run by the server due to the server returning
-1for thejob_diron thestatusmessage. Henry will look into fixing the server as per https://github.com/mtzgroup/terachem/issues/138.
0.12.0¶
Changed¶
- Bump support from python 3.6 -> 3.7 (3.6 has end-of-life'd)
- Peg
protobufto3.20.1since newer versions do not support our outdated_pb2.pyprotobuf files.
0.11.0¶
Changed¶
- Return
FailedOperationinstead of raising exceptions in.compute()methods. - Use
TCFEKeywordsenums throughout code. - Collect
tc.out, if possible, when computation fails.
0.10.1¶
Changed¶
- Moved
job_output_to_atomic_resultto be method on client objects so thatAtomicResult.provenancecan be dynamically set correctly depending on which client is used.
0.10.0¶
Added¶
- Documentation and
mkdocswebsite on GitHub pages. Docs available here
Changed¶
- Renamed
AtomicInput.extras['tcfe:config']->AtomicInput.extras['tcfe:keywords']
0.9.0¶
Added¶
-
Configuration parameters for controlling
TCFrontEndClientbehavior: -
native_files: list[str] - List of natives files to collect. If none passed, all files will be collected. -
Tests for
TCFrontEndClientfile put/get behaviors.
Changed¶
- Refactored
TCFrontEndClient
Removed¶
- Construction of molden file from protocol buffer outputs. Molden files can now be requested directly from the Frontend client.
0.8.1¶
Added¶
-
TCFrontEndClientto enable access to the files written by TeraChem and upload input files for TeraChem, in particularc0files as initial wavefunction guesses. -
Configuration parameters for controlling
TCFrontEndClientbehavior are found inAtomicInput.extras['tcfe:config']and include:c0|ca0andcb0:bytes- Binary files to use as an initial guess wavefunctionscratch_messy:bool- IfTrueclient will not delete files on server after a computationuploads_messy:bool- IfTrueclient will not delete uploaded c0 file(s) after a computation
- Client also supports AtomicResultProtocols
stdoutandnative_files.
Changed¶
qcelementalrequired version bumped from>=0.17.0to>=0.24.0to supportnative_filesfield for returning files. See qcelemental note. Note I am breaking the convention and returning binary data as well since I have more control over file access via theTCFrontEndClientthan anticipated in theqcelemental/qcenginespecification. Additionally I need the binaryc0file to use as initial guesses for TeraChem computations.
Removed¶
0.8.0 - 2021-05-26¶
Added¶
- Many IMD values to the
result.extra['qcvars']dict result.wavefunctionnow containsWavefunctionProperties
Changed¶
result.extras['qcvars']['bond_order']->result.extras['qcvars']['meyer_bond_order']- Many values in
result.extras['qcvars']moved toresult.extras['job_extras']if they didn't pertain to quantum chemistry values. result.extras['qcvars']['orb{a,b}_{energies,occupations}']moved toresult.wavefunction. Note these will only be returned ifAtomicInput.protocols.wavefunction = "all".
Removed¶
- Removed unused documentation setup. Can add documentation with
mkdocslater if needed.
0.7.2 - 2021-03-10¶
Changed¶
- Learned that AtomicResult is supposed to be a full superset of AtomicInput used to generate the result. Changed
utils.job_output_to_atomic_result()to reflect this reality.
0.7.1 - 2021-03-10¶
Added¶
imd_orbital_typespecific keyword extraction to support creation of molden files.
0.7.0 - 2021-02-26¶
Added¶
TCCloud.compute(atomic_input: AtomicInput) -> AtomicResulttop level method to create MolSSI QCSchema compliant interface.pyproject.toml- more examples in
/examplesthat leverage the new QCSchema interface utils.pythat contains basic utilities for transforming inputs/outputs toQCSchemaformat.
Changed¶
- Using
flitinstead ofsetuptoolsfor packaging. - Compatible with only python 3.6+ (adding type annotations)
Removed¶
setup.py- Unused and broken test files including non functional mock server.
r0.6.0 - 2021-02-25¶
Changed¶
- Added Henry's molden file constructor function.
0.5.x - Long long ago¶
Added¶
- All of Stefan's original code.