Python client for cshenton/seer
Project description
# Seer Python Client
[![Build Status](https://travis-ci.org/cshenton/seer-python.svg?branch=master)](https://travis-ci.org/cshenton/seer-python)
[![Python Version](https://img.shields.io/pypi/pyversions/seer.svg)](https://pypi.org/project/seer/)
The python client for the seer forecasting server.
## Installation
The seer python client is available on PyPi, so just `pip install seer` to get the latest release.
## Usage
If you don't have a running instance of seer, then run the docker image:
```bash
docker run -d -p 8080:8080 cshenton/seer
```
Then, to interact over localhost
```python
import datetime
import seer
# Input data, parameters
host = "localhost:8080"
name = "myStream"
period = 3600
times = [...]
values = [...]
forecast_length = 100
# Connect to the server and create a stream
client = seer.Client(host)
client.create_stream(name, period)
# Feed in most of the data, generate a forecast
client.update_stream(name, times, values)
f = client.get_forecast(name, forecast_length)
# Graph the forecast against the true result
def graph(times, values, forecast):
pass
graph(times, values, f)
```
## (For Contributors) Generating gRPC stubs
Assuming this repo is stored in `cshenton/seer-python`, next to `cshenton/seer`,
we generate client stubs with:
```bash
# Generates seer_pb2.py and seer_pb2_grpc.py
python -m grpc_tools.protoc -I ../seer/seer --python_out=./seer --grpc_python_out=./seer ../seer/seer/seer.proto
```
Then, because the grpc devs don't care about python 3, we need to fix the relative imports.
```python
# in seer_pb2_grpc.py
# From this
import seer_pb2 as seer__pb2
# To this
from . import seer_pb2 as seer__pb2
```
[![Build Status](https://travis-ci.org/cshenton/seer-python.svg?branch=master)](https://travis-ci.org/cshenton/seer-python)
[![Python Version](https://img.shields.io/pypi/pyversions/seer.svg)](https://pypi.org/project/seer/)
The python client for the seer forecasting server.
## Installation
The seer python client is available on PyPi, so just `pip install seer` to get the latest release.
## Usage
If you don't have a running instance of seer, then run the docker image:
```bash
docker run -d -p 8080:8080 cshenton/seer
```
Then, to interact over localhost
```python
import datetime
import seer
# Input data, parameters
host = "localhost:8080"
name = "myStream"
period = 3600
times = [...]
values = [...]
forecast_length = 100
# Connect to the server and create a stream
client = seer.Client(host)
client.create_stream(name, period)
# Feed in most of the data, generate a forecast
client.update_stream(name, times, values)
f = client.get_forecast(name, forecast_length)
# Graph the forecast against the true result
def graph(times, values, forecast):
pass
graph(times, values, f)
```
## (For Contributors) Generating gRPC stubs
Assuming this repo is stored in `cshenton/seer-python`, next to `cshenton/seer`,
we generate client stubs with:
```bash
# Generates seer_pb2.py and seer_pb2_grpc.py
python -m grpc_tools.protoc -I ../seer/seer --python_out=./seer --grpc_python_out=./seer ../seer/seer/seer.proto
```
Then, because the grpc devs don't care about python 3, we need to fix the relative imports.
```python
# in seer_pb2_grpc.py
# From this
import seer_pb2 as seer__pb2
# To this
from . import seer_pb2 as seer__pb2
```
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
seer-0.1.1.tar.gz
(7.8 kB
view details)
File details
Details for the file seer-0.1.1.tar.gz
.
File metadata
- Download URL: seer-0.1.1.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0584ee7be2e51cb6538be89b1c0cb808695980386d857157166c81f79b05c744 |
|
MD5 | a215dad344b05b55c17c507fbdccbd0e |
|
BLAKE2b-256 | e2a92995cd231ad45d80eb2179971156c5bf1ec02385a235abd0da317f90ff45 |