compute-tooling / compute-studio-kit

Python toolkit to help developers test their models against the COMP interface
MIT License
3 stars 2 forks source link

Compute Studio Kit

cs-kit tests your model's functions against the Compute Studio criteria. If your functions pass the cs-kit tests, then you can be reasonably sure that the functions will work on compute.studio.

Compute Studio Kit also provides a helper command for retrieving your Compute Studio API token.

Install cs-kit

pip install cs-kit

Set up the cs-config directory

$ csk-init
$ tree cs-config/
cs-config/
├── cs_config
│   ├── functions.py
│   ├── __init__.py
│   └── tests
│       ├── __init__.py
│       └── test_functions.py
├── install.sh
└── setup.py

Write your functions in cs-config/cs_config/functions.py

# Write or import your Compute Studio functions here.

def get_version():
    pass

def get_inputs(meta_param_dict):
    pass

def validate_inputs(meta_param_dict, adjustment, errors_warnings):
    pass

def run_model(meta_param_dict, adjustment):
    pass

Test your functions in cs-config/cs_config/tests/test_functions.py

from cs_kit import CoreTestFunctions

from cs_config import functions

class TestFunctions1(CoreTestFunctions):
    get_version = functions.get_version
    get_inputs = functions.get_inputs
    validate_inputs = functions.validate_inputs
    run_model = functions.run_model
    ok_adjustment={"matchup": {"pitcher": [{"value": "Max Scherzer"}]}}
    bad_adjustment={"matchup": {"pitcher": [{"value": "Not a pitcher"}]}}

Run your cs-config tests

py.test cs-config

Write your installation instructions in cs-config/install.sh

conda install your-project

Get your Compute Studio API token

$ csk-token --username myuser --password mypass
Token: your-token-here

Run the compute-studio-kit tests

py.test cs_kit -v