import argparse
import json
from pathlib import Path
from squirro_client import SquirroClient
if __name__ == "__main__":
parser = argparse.ArgumentParser(
formatter_class=argparse.ArgumentDefaultsHelpFormatter
)
parser.add_argument(
"--cluster", required=False, help="Squirro API", default="http://localhost:80"
)
parser.add_argument("--project-id", required=True, help="Squirro project ID")
parser.add_argument("--token", required=True, help="Api Token")
parser.add_argument(
"--config", default="config.json", help="Path to workflow configuration"
)
parser.add_argument(
"--custom-steps", default=".", help="Path to custom step implementation"
)
args = parser.parse_args()
client = SquirroClient(None, None, cluster=args.cluster)
client.authenticate(refresh_token=args.token)
config = json.load(open(args.config))
config["dataset"] = {"items": []}
client.new_machinelearning_workflow(
project_id=args.project_id,
name=config.get("name", "Uploaded Ml-Workflow"),
config=config,
ml_models=str(Path(args.custom_steps).absolute()) + "/",
type="query"
)
|