Skip to main content

Python client for Yhat (http://yhathq.com/)

Project description

This is the connection to the Yhat API. If you’d like to read more, visit our docs.

Table of Contents:

Quickstart

You can download the example here , or clone the git repo.

$ git clone git@github.com:yhat/yhat-examples.git
$ cd beer-recommender

Insert your APIKEY and USERNAME and run the script.

$ python recommender.py
Deploy? (y/N): y
# {"status": "success"}

Installation

Using pip:

$ pip install --upgrade yhat

From source:

$ git clone git@github.com:yhat/yhat-client.git
$ cd yhat-client
$ python setup.py install

Overview

Handling Input and Output

df to df

Specify df to df by decorating execute with the following:

from yhat import preprocess
# ...
# ...
@preprocess(in_type=pd.DataFrame, out_type=pd.DataFrame)
def execute(self, data)
# ...
# ...

Input

// making 1 prediction with an API call
{
  "column1": VALUE,
  "column2": VALUE
}
// making multiple predictions with 1 API call
{
  "column1": [ VALUE_1, VALUE_2 ]
  "column2": [ VALUE_1, VALUE_2 ]
}

Output

Data will come back with columns as keys and values as lists of values.

{
  "output_column1": [ VALUE_1 ],
  "output_column2": [ VALUE_1 ]
}

df to dict

from yhat import preprocess
# ...
# ...
@preprocess(in_type=pd.DataFrame, out_type=dict)
def execute(self, data)
# ...
# ...

Input

// making 1 prediction with an API call
{
  "column1": VALUE,
  "column2": VALUE
}
// making multiple predictions with 1 API call
{
  "column1": [ VALUE_1, VALUE_2 ]
  "column2": [ VALUE_1, VALUE_2 ]
}

Output

Selecting the dict output gives the user the ability to define their own output format (so long as it is a valid Python dictionary.

// this is valid
{
  "pred": 1
  "values": [1, 2, 3]
}
// this is also valid
{
  "x": {
    "y": 10
  "z": 100
  }
}

dict to dict

This is the most “free form” means of input and output. The user can send in any valid dictionary, process it how they like, and then return any valid dictionary .

from yhat import preprocess
# ...
# ...
@preprocess(in_type=dict, out_type=dict)
def execute(self, data)
# ...
# ...

Input

// this is valid
{
  "pred": 1
  "values": [1, 2, 3]
}
// this is also valid
{
  "x": {
    "y": 10
  },
    "z": 100
  }
}

Output

// this is valid
{
  "pred": 1
  "values": [1, 2, 3]
}
// this is also valid
{
  "x": {
    "y": 10
  },
    "z": 100
  }
}

Deploying

>>> yh.deploy("myExampleModel", MyExampleModel, globals())

Examples

yhat-cli

Usage

yhat-cli config [--reset]
yhat-cli models [--admin]
yhat-cli model <modelname>
yhat-cli (-h | --help)
yhat-cli (-v | --version)

config [--reset]

Configure the yhat client with your API credentials. The option --reset will reset your credentials.

models

Return the models for your account. The option --admin returns all models on the server, you must have admin access for this.

model <modelname>

Returns details about the given model. You must own this model to view it.

Dependencies

Required

  • doctopt

  • progressbar

  • pip

  • Flask

  • colorama

  • websocket-client

  • ElasticTabstops

  • dill

Highly suggested

  • pandas

  • sklearn

Analytics

Project details


Release history Release notifications | RSS feed

This version

1.1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yhat-1.1.0.tar.gz (20.9 kB view hashes)

Uploaded source

Built Distribution

yhat-1.1.0-py2.7.egg (52.3 kB view hashes)

Uploaded 2 7

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page