Fount References
Fount Workflow
Prerequisites
- Python installed
- pip install fount-core
- Valid API key from Fount Developer Portal
-
Set your API key as an environment variableAuthenticationexport FOUNT_API_KEY="your-api-key-here" - Initialise Client
from fount import Fount client = Fount() - Upload Dataset
# From DataFrame dataset = client.upload_dataframe(df, name="my_dataset") # From CSV dataset = client.upload_csv("data.csv", name="csv_dataset") # From Excel dataset = client.upload_excel("data.xlsx", sheet_name="Sheet1", name="excel_data") - Train a Model
job = client.train( dataset=dataset, model_name="my_model", series_id_cols=["category"] categorical_cols=["category","Year", "Month"], date_column="date", target_columns=["sales"], validation_data_required=True, validation_split=0.2, time_granularity="daily" ) - Execute & Monitor a job
# Synchronous job.run(wait=True, poll_interval=30) # Asynchronous job.run(wait=False) # Check status status = job.status() print(f"Status: {status['status']}") - Run inference
inference_job = client.inference( dataset=dataset, model_name="my_model", batch_size=1000 ) # Synchronous inference_job.run(wait=True, poll_interval=30) # Asynchronous inference_job.run(wait=False) # Check status status = inference_job.status() print(f"Status: {status['status']}") - Tune a model
tuning_job = client.tune( dataset=dataset, model_name="my_tuned_model", series_id_cols=["category"] categorical_cols=["category","Year", "Month"], date_column="date", target_columns=["sales"], validation_data_required=True, validation_split=0.2, time_granularity="daily" ) # Synchronous tuning_job.run(wait=True, poll_interval=30) # Asynchronous tuning_job.run(wait=False) # Check status status = tuning_job.status() print(f"Status: {status['status']}") - Run Inference on tuned model
inference_job_on_tuned_model = client.inference( dataset=dataset, model_name="my_tuned_model", batch_size=1000 ) # Synchronous inference_job_on_tuned_model.run(wait=True, poll_interval=30) # Asynchronous inference_job_on_tuned_model.run(wait=False) # Check status status = inference_job_on_tuned_model.status() print(f"Status: {status['status']}") - Retrieve results
# Get metrics metrics = job.metrics() # Get predictions predictions = job.predictions() # Stop job if needed job.stop() - Manage jobs and datasets
# List all datasets datasets = client.get_all_datasets() # List all models models = client.get_all_models() # List all training jobs training_jobs = client.get_all_training_jobs() # List all tuning jobs tuning_jobs = client.get_all_tuning_jobs()