Metadata-Version: 2.1
Name: Cathub
Version: 0.1.0
Summary: Python API for the Surface Reactions database on Catalysis-Hub.org
Home-page: https://github.com/SUNCAT-Center/CatHub
Author: Kirsten Winther
Author-email: winther@stanford.edu
License: GPL-3.0
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4
Requires-Dist: numpy (>=1.14)
Requires-Dist: click (>=6.7)
Requires-Dist: future (>=0.16)
Requires-Dist: pathlib2 (>=2.3)
Requires-Dist: psycopg2-binary (>=2)
Requires-Dist: python-Levenshtein (>=0.12)
Requires-Dist: tabulate (>=0.8.2)
Requires-Dist: ase (>=3.16.2)

## Introduction

CatHub provides an interface to the Surface Reactions database on [Catalysis-Hub.org](http://www.catalysis-hub.org).

The module includes a command line interface that can be used to access and upload data. A short guide is given below. We refer to the [catalysis-hub documentation](http://docs.catalysis-hub.org/en/latest/tutorials/upload.html) for details on how to submit data.

## Using the cathub cli

Run `cathub`, like so

    cathub --help

or with any of its sub-commands, like so

    cathub reactions --help

## Examples

Querying the Surface Reactions database:

    cathub reactions -q reactants=CO -q chemicalComposition=~Pt

    cathub publications -q title=~Evolution -q year=2017

Querying atomic structures on Catalysis Hub with ase db:

    cathub ase --args PtSr --gui

## Uploading data

Organizing a general folder into a structured folder:

    cathub organize <folderame> -a <ads1,ads2> -c <dft-code> -x <xc-functional> -f <facet> -S <crystal structure>

As an alternative to cathub organize - create an empty organized folderstructure for dropping files yourself. First create a template and edit it, then create the folders.
    cathub make_folders --create-template <template>
    cathub make_folders <template>

Reading folders into a local .db file:

    cathub folder2db <foldername> --userhandle <slack-username or gmail-address>

Sending the data to the Catalysis Hub server:

    cathub db2server <dbfile>


