This is algorithmia_utils.py file with Class AlgorithmiaUtils
class AlgorithmiaUtils:
def __init__(self, api_key, username, algo_name, local_dir):
self.api_key = api_key
self.username = username
self.algo_name = algo_name
self.local_dir = local_dir
self.algo_namespace = f"{self.username}/{self.algo_name}"
self.algo_script_path = "{}/{}/src/{}.py".format(
self.local_dir, algo_name, algo_name
)
self.dependency_file_path = "{}/{}/{}".format(
self.local_dir, algo_name, "requirements.txt"
)
self.algo_client = Algorithmia.client(self.api_key)
def upload_model_to_algorithmia(
self, local_path, algorithmia_data_path, model_name
):
if not self.algo_client.dir(algorithmia_data_path).exists():
self.algo_client.dir(algorithmia_data_path).create()
algorithmia_path = "{}/{}".format(algorithmia_data_path, model_name)
result = self.algo_client.file(algorithmia_path).putFile(local_path)
I want to use the function upload_model_to_algorithmia from another script.
Thus, I'm trying:
import Algorithmia
import algorithmia_utils as algo_utility
And to call the function:
algo_utility.AlgorithmiaUtils.upload_model_to_algorithmia(
local_path = local_path,
algorithmia_data_path = algorithmia_data_path,
model_name = model_name)
Which is returning the error:
TypeError: upload_model_to_algorithmia() missing 1 required positional argument: 'self'
Am I supposed to add an additional argument or have I not imported the file correctly, and how to fix this?
Thanks!
EDIT:
This looks very easy, but so far no solution.
import Algorithmia
import algorithmia_utils as algo_utility
from algorithmia_utils import AlgorithmiaUtils as xpto
And:
xpto.upload_model_to_algorithmia(
local_path = local_path,
algorithmia_data_path = algorithmia_data_path,
model_name = model_name)
Return the error:
TypeError: upload_model_to_algorithmia() missing 1 required positional argument: 'self'
AlgorithmiaUtilsto call it.