def runProcedure(): rez = mldb.perform("PUT", "/v1/procedures/rocket_science", [], conf) mldb.log(json.loads(rez["response"])) assert rez["statusCode"] == 201 rez = mldb.perform("GET", "/v1/query", [["q", "select * from toy_tsne"]]) return json.loads(rez["response"])
def test_deadloack(self): # MLDB-621 try: mldb.perform( "PUT", "/v1/procedures/q", [], { "type": "serial", "params": { "steps": [{ "id": "q", "type": "null" }] } }) except Exception: pass
def create_dataset_and_query(type, date, quantum = None): if quantum: ds1 = mldb.create_dataset({ 'type': type, 'id': 'beh', 'params' : { 'timeQuantumSeconds' : quantum } }) else: ds1 = mldb.create_dataset({ 'type': type, 'id': 'beh' }) sometime = datetime.strptime(date, '%Y-%m-%dT%H:%M:%S.%fZ') ds1.record_row('row', [['column', 1, sometime]]) ds1.commit() response = mldb.perform('GET', '/v1/query', [['q', 'select * from beh']])['response'] mldb.perform('DELETE', '/v1/datasets/beh', []) return json.loads(response)[0]['columns'][0][2]
# This file is part of MLDB. Copyright 2015 mldb.ai inc. All rights reserved. import json from mldb import mldb result = mldb.perform( "PUT", "/v1/plugins/mirror", [], { "type": "python", "params": { "source": { "routes": """ from mldb import mldb mldb.log(str(request.rest_params)) mldb.log(str(request.payload)) request.set_return({ "args": request.rest_params, "payload": request.payload }) """ } } }) assert result["statusCode"] < 400, result["response"] successes = 0 rtn = mldb.perform("POST", "/v1/plugins/mirror/routes/pwet") if rtn["response"] == '{"args":[],"payload":"null\\n"}': successes += 1
def perform(*args, **kwargs): res = mldb.perform(*args, **kwargs) assert res['statusCode'] in [200, 201], str(res) return res
def query(sql): result = mldb.perform("GET", "/v1/query", [["q", sql], ["format", "table"]], {}) assert result["statusCode"] < 400, result["response"] return result["response"]
import json from mldb import mldb csv_conf = { "type": "import.text", "params": { 'dataFileUrl': "https://raw.githubusercontent.com/datacratic/mldb-pytanic-plugin/master/titanic_train.csv", "outputDataset": { "id": "titanic_raw", }, "runOnCreation": True, } } mldb.perform("PUT", "/v1/procedures/csv_proc", [], csv_conf) result = mldb.perform( "PUT", "/v1/procedures/titanic_train_scorer", [], { "type": "classifier.experiment", "params": { "experimentName": "titanic", "keepArtifacts": True, "inputData": """ select {Sex, Age, Fare, Embarked, Parch, SibSp, Pclass} as features, label from titanic_raw """, "modelFileUrlPattern": "file://tmp/MLDB-1304.cls", "algorithm": "bbdt",
# This file is part of MLDB. Copyright 2015 mldb.ai inc. All rights reserved. import json from mldb import mldb result = mldb.perform( "PUT", "/v1/datasets/rcp", [], { 'type': 'beh', 'params': { 'dataFileUrl': 'https://s3.amazonaws.com/public-mldb-ai/rcp.beh' } }) assert result["statusCode"] < 400, result["response"] mldb.log(result) out = mldb.perform("GET", "/v1/query", [["q", "select * from rcp order by rowName() limit 20"], ["format", "sparse"]], {}) mldb.log(out) result = mldb.perform( "PUT", "/v1/procedures/svd1", [], { 'type': 'svd.train', 'params': { 'trainingData': { 'from': { 'id': 'rcp' }, 'limit': 1000
"id": "iris_dataset" }, "select": '"petal width", "petal length", "sepal length", "sepal width"' }, "columnOutputDataset": { "type": "sparse.mutable", "id": "svd_iris_col" }, "rowOutputDataset": { "id": "iris_svd_row", 'type': "embedding" }, "numSingularValues": 4, "numDenseBasisVectors": 2 } } r = mldb.perform("PUT", svd_procedure, [], svd_config) print(r) print((r["statusCode"])) r = mldb.perform("PUT", svd_procedure + "/runs/1", [], {}) if not 300 > r["statusCode"] >= 200: print(r) request.set_return("FAILURE") print((r["statusCode"])) else: request.set_return("success")
# This file is part of MLDB. Copyright 2015 mldb.ai inc. All rights reserved. import json from mldb import mldb # Dataset with one column and one row ds1 = mldb.create_dataset({'type': 'sparse.mutable', 'id': 'ds1'}) for i in range(1): ds1.record_row('row_' + str(i), [['x', i, 1438895158]]) ds1.commit() # Simple query of "x, rowName() as rowname" passed through our function res = mldb.perform('GET', '/v1/query', [['q', 'SELECT x, 1 as y, rowName() as rowname FROM ds1']]) response = json.loads(res['response']) expected = response mldb.log(response) assert res['statusCode'] == 200 # Same query but in a transform procedure res = mldb.perform( 'PUT', '/v1/procedures/poil', [], { 'type': 'transform', 'params': { 'inputData': { 'select': 'x, 1 as y, rowName() as rowname', 'from': { 'id': 'ds1'
dataset_config["id"] = "dataset3" dataset = mldb.create_dataset(dataset_config) dataset.record_row("row1", [["col1", "a", now], ["otherRow", "row1", now]]) dataset.record_row("row2", [["col2", "b", now], ["otherRow", "row2", now]]) dataset.commit() #MLDB-1454 rownames in WHERE regular mldb.log("MLDB-1454 rownames in WHERE regular") expected = [["_rowName", "col1"], ["row1", "a"]] res = mldb.perform("GET", "/v1/query", [[ "q", """ SELECT * FROM dataset1 WHERE dataset1.col1 = 'a' """ ], ['format', 'table']]) assert res["statusCode"] == 200 assert json.loads(res['response']) == expected ## expected = [["_rowName", "col1"], ["row1", "a"]] res = mldb.perform("GET", "/v1/query", [[ "q", """ SELECT * FROM dataset1 as blah WHERE blah.col1 = 'a' """
# # beh-binary-mutable-save-test.py # Mich, 2015-12-14 # This file is part of MLDB. Copyright 2015 mldb.ai inc. All rights reserved. # import tempfile import os import json from mldb import mldb res = mldb.perform('PUT', '/v1/datasets/myDataset', [], { 'type' : 'beh.binary.mutable' }) assert res['statusCode'] == 201, str(res) res = mldb.perform('POST', '/v1/datasets/myDataset/rows', [], { 'rowName' : 'row1', 'columns' : [ ['colA', 1, 0] ] }) assert res['statusCode'] == 200, str(res) res = mldb.perform('POST', '/v1/datasets/myDataset/rows', [], { 'rowName' : 'row2', 'columns' : [ ['colB', 1, 0], ] }) assert res['statusCode'] == 200, str(res)
### import json from mldb import mldb conf = { "source": """ from mldb import mldb mldb.log("patate") mldb.log({"patate":2.44}) mldb.log(["patate", "pwel"]) mldb.log(25) mldb.log("a", "b", 2) mldb.log() """ } rtn = mldb.perform("POST", "/v1/types/plugins/python/routes/run", [], conf) jsRtn = json.loads(rtn["response"]) mldb.log(jsRtn) assert jsRtn["logs"][0]["c"] == "patate" assert jsRtn["logs"][1]["c"] == "{\n \"patate\": 2.44\n}" assert jsRtn["logs"][2]["c"] == "[\n \"patate\",\n \"pwel\"\n]" assert jsRtn["logs"][3]["c"] == "25" assert jsRtn["logs"][4]["c"] == "a b 2" #assert jsRtn["logs"][5]["c"] == "" request.set_return("success")
ds2.record_row('row_0', [['a', 0, 0]]) ds2.record_row('row_1', [['a', 3, 0]]) ds2.record_row('row_2', [['a', 6, 0]]) ds2.record_row('row_3', [['a', 9, 0]]) ds2.record_row('row_4', [['a', 12, 0]]) ds1.commit() ds2.commit() # This function returns the row corresponding to the `id` passed from the first # dataset res = mldb.perform( 'PUT', '/v1/functions/patate', [], { 'type': 'sql.query', 'params': { 'query': 'select * from ds1 where rowName() = $id' } }) check_res(res, 201) # Make sure the function works properly res = mldb.perform('GET', '/v1/functions/patate/application', [['input', '{"id":"row_2"}']], {}) response = check_res(res, 200) assert response["output"]['x'] == 2 assert response["output"]['y'] == 4 # Check the function's info output
test_dataset = mldb.create_dataset({ "type": "sparse.mutable", "id": "test_dataset" }) for i in range(50): feat1 = random.randint(1, 20) feat2 = random.randint(1, 100) test_dataset.record_row("u%d" % i, [["feat1", feat1, now], ["feat2", feat2, now]]) test_dataset.commit() mldb.log( json.loads( mldb.perform("GET", "/v1/query", [["q", "SELECT * from dataset limit 10"]])["response"])) config = { "type": "classifier.train", "params": { "trainingData": """ SELECT { feat1, feat2 } as features, label FROM dataset""", "algorithm": "glz", "configuration": { "glz": { "type": "glz", "verbosity": 3,
def applyFunction(row): rez = mldb.perform("GET", "/v1/functions/tsne_embed/application", [['input', {'embedding':row}]]) mldb.log(rez) return rez
# This file is part of MLDB. Copyright 2016 mldb.ai inc. All rights reserved. ##### # Testing if the error responses are all formatted in the same way # Guy Dumais, January 27, 2016 # Copyright mldb.ai inc 2016 #### import json, random, datetime from mldb import mldb rez = mldb.perform("GET", "/v1/query", [['q', 'sele']], {}) mldb.log(rez) response = json.loads(rez['response']) mldb.log(response) assert 'error' in response, 'expected an error message in the response' assert 'httpCode' in response, 'expected an http code in the response' rez = mldb.perform("GET", "/v1/query", [['q', 'select h()']], {}) mldb.log(rez) response = json.loads(rez['response']) mldb.log(response) assert 'error' in response, 'expected an error message in the response' assert 'httpCode' in response, 'expected an http code in the response' rez = mldb.perform("GET", "/v1/querry", [], {}) mldb.log(rez) response = json.loads(rez['response']) mldb.log(response) assert 'error' in response, 'expected an error message in the response' assert 'httpCode' in response, 'expected an http code in the response'