Skip to main content
Donate to the Python Software Foundation or Purchase a PyCharm License to Benefit the PSF! Donate Now

A package of Reich Lab Zoltar utility functions.

Project description

# Zoltpy A python module that interfaces with Zoltar https://github.com/reichlab/forecast-repository

## Installation requirements - [python 3.6](https://www.python.org/downloads/release/python-360/) - [pipenv](https://pipenv.readthedocs.io/en/latest/) for managing packages - see Pipfile - [click](https://click.palletsprojects.com/en/7.x/) - for the demo application’s handling of args - [pandas](https://pandas.pydata.org/) - for use of dataframe function - [requests](http://docs.python-requests.org/en/v2.7.0/user/install/) - [numpy](https://pypi.org/project/numpy/)

## Installation Zoltpy is hosted on the Python Package Index (pypi.org), a repository for Python modules https://pypi.org/project/zoltpy/.

Install Zoltpy with the following command: ` pip install zoltpy `

## One-time configuration Users must add their Zoltar username and password to environment variables on their machine before using this module.

### For Mac/Unix ` cd ~ nano .bash_profile ` Add the following to your bash_profile: ` export Z_USERNAME=<your zoltar username> export Z_PASSWORD=<your zoltar password> ` After you are finished, press Ctrl + O, Enter, and Ctrl + X to save and quit.

Then enter the command: ` source ~/.bash_profile ` To ensure your environment variable is configured properly, run this command and check for Z_USERNAME and Z_PASSWORD: ` printenv `

### For PC In the command prompt, run the following commands: ` set Z_USERNAME="<your zoltar username>" set Z_PASSWORD="<your zoltar password>" `

## Usage Zoltpy is a python module that communicates with Zoltar, the Reich Lab’s forecast repository. To import the Zoltpy functions, run the following command after installing the package: ` import zoltpy as zp `

### Zoltpy currently has 5 Key Functions: 1) [print_projects()](#print-project-names) - Print project names 2) [print_models(project_name)](#print-model-names) - Print model names for a specified project 3) [delete_forecast(project_name, model_name, timezero_date)](#delete-forecast) - Deletes a forecast from Zoltar 4) [upload_forecast(project_name, model_name, timezero_date, forecast_csv_file)](#Upload-a-Forecast) - Upload a forecast to Zoltar 5) [forecast_to_dataframe(project_name, model_name, timezero_date)](#Return-Forecast-as-a-Pandas-Dataframe) - Returns forecast as a Pandas Dataframe

#### Print Project Names This fuction returns the project names that you have authorization to view in Zoltar. ` zp.print_projects() `

#### Print Model Names Given a project, this function prints the models in that project. ` zp.print_models(project_name = 'My Project') `

#### Delete a Forecast Deletes a single forecast for a specified model and timezero. ` zp.delete_forecast(project_name='My Project', model_name='My Model', timezero_date='YYYYMMDD') ` Example: ` zp.delete_forecast('Impetus Province Forecasts','gam_lag1_tops3','20181203') `

#### Upload a Forecast ` zp.upload_forecast(project_name='My Project', model_name='My Model', timezero_date='YYYYMMDD', 'C:\\Users\\house\\Desktop\\20181203-gam_lag1_tops3-20190114.csv') `

Example: ` zp.upload_forecast('Impetus Province Forecasts','gam_lag1_tops3','20181203','C:\\Users\\house\\Desktop\\20181203-gam_lag1_tops3-20190114.csv') `

#### Return Forecast as a Pandas Dataframe Example: ` zp.forecast_to_dataframe('Impetus Province Forecasts','gam_lag1_tops3','20181203') `

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
zoltpy-0.0.4.dev0.tar.gz (6.5 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page