Package: chemcloud
chemcloud - A Python Client for ChemCloudchemcloudis a python client for theChemCloud Server. The client provides a simple yet powerful interface to perform computational chemistry calculations using nothing but modern Python and an internet connection.Documentation:https://mtzgroup.github.io/chemcloud-clientchemcloudworks in harmony with a suite of other quantum chemistry tools for fast, structured, and interoperable quantum chemistry.The QC Suite of Programsqcio- Beautiful and user friendly data structures for quantum chemistry.qcparse- A library for efficient parsing of quantum chemistry data into structuredqcioobjects.qcop- A package for operating quantum chemistry programs usingqciostandardized data structures. Compatible withTeraChem,psi4,QChem,NWChem,ORCA,Molpro,geomeTRICand many more.BigChem- A distributed application for running quantum chemistry calculations at scale across clusters of computers or the cloud. Bring multi-node scaling to your favorite quantum chemistry program.ChemCloud- Aweb applicationand associatedPython clientfor exposing a BigChem cluster securely over the internet.InstallationpipinstallchemcloudQuickstartCreate a ChemCloud account athttps://chemcloud.mtzlab.com/signup(or the address of the ChemCloud Server you want to communicate with).Instantiate a clientConfigure client (only required the very first time you useCCClient)fromchemcloudimportCCClientclient=CCClient()client.configure()# only run this the very first time you use CCClient# See supported compute engines on the ChemCloud Serverclient.supported_engines['psi4','terachem',...]# Test connection to ChemCloudclient.hello_world("Colton")'Welcome to ChemCloud, Colton'Run calculations just like you would withqcopexcept callingclient.computeinstead ofqcop.compute. Rather than getting back anOutputobject directly,client.computereturns aFutureOutputobject which can be used to get the output of the computation once it is complete.fromqcioimportMolecule,ProgramInputfromchemcloudimportCCClientclient=CCClient()# Create the moleculeh2o=Molecule.open("h2o.xyz")# Define the program inputprog_input=ProgramInput(molecule=h2o,calctype="energy",model={"method":"hf","basis":"sto-3g"},keywords={"purify":"no","restricted":False},)# Submit the calculation to the serverfuture_output=client.compute("terachem",prog_input,collect_files=True)# Status can be checked at any timefuture_result.status# Get the output (blocking)output=future_output.get()# Inspect the outputoutput.input_data# Input data used by the QC programoutput.success# Whether the calculation succeededoutput.results# All structured results from the calculationoutput.stdout# Stdout log from the calculationoutput.pstdout# Shortcut to print out the stdout in human readable formatoutput.files# Any files returned by the calculationoutput.provenance# Provenance information about the calculationoutput.extras# Any extra information not in the schemaoutput.traceback# Stack trace if calculation failedoutput.ptraceback# Shortcut to print out the traceback in human readable formatExamplesExamples of various computations can be found in theexamples directory.SupportIf you have any issues withchemcloudor would like to request a feature, please open anissue.