Skip to main content

No project description provided

Project description

Fount SDK API Reference

Quick Reference

Client Initialization

from fount import Fount

# Basic usage
client = Fount()

# With custom transport
client = Fount(transport=custom_httpx_client)

# As context manager
with Fount() as client:
    # auto cleanup
    pass

Environment Variables

Class: Fount

Methods

upload_dataframe(dataframe, name=None) -> Dataset

Upload a pandas DataFrame.

Parameters:

  • dataframe (pd.DataFrame): DataFrame to upload
  • name (str, optional): Dataset name

Returns: Dataset object with ID


upload_csv(pathname, name) -> Dataset

Upload a CSV file.

Parameters:

  • pathname (str): Path to CSV file
  • name (str, optional): Dataset name

Returns: Dataset object with ID


upload_excel(pathname, sheet_name, name) -> Dataset

Upload Excel file (not implemented).

Parameters:

  • pathname (str): Path to Excel file
  • sheet_name (str): Sheet to extract
  • name (str, optional): Dataset name

train(dataset, categorical_cols, date_column, target_columns, validation_data_required, validation_split, time_granularity, **kwargs) -> TrainingJob

Train a model.

Parameters:

  • dataset (Dataset): Training dataset
  • categorical_cols (List[str]): Categorical column names
  • date_column (str): Date column name
  • target_columns (List[str]): Target column names
  • validation_data_required (bool): Create validation set
  • validation_split (float): Validation split ratio (0-1)
  • time_granularity (str): Time interval or frequency
  • **kwargs: Additional parameters (epochs, learning_rate, etc.)

Returns: TrainingJob object


tune(categorical_cols, date_column, target_columns, validation_data_required, validation_split, time_granularity, **kwargs) -> TuningJob

Hyperparameter tuning.

Parameters:

  • categorical_cols (List[str]): Categorical column names
  • date_column (str): Date column name
  • target_columns (List[str]): Target column names
  • validation_data_required (bool): Create validation set
  • validation_split (float): Validation split ratio (0-1)
  • time_granularity (str): Time interval or frequency
  • **kwargs: Additional parameters (param_grid, n_trials, etc.)

Returns: TuningJob object


inference(model_name, batch_size, **kwargs) -> InferenceJob

Run batch inference.

Parameters:

  • model_name (str): Model name/ID
  • batch_size (int): Batch size
  • **kwargs: Additional parameters (input_dataset, output_format, etc.)

Returns: InferenceJob object


close() -> None

Close client and release resources.


Job Classes

All job classes (TrainingJob, TuningJob, InferenceJob) have:

Methods

status() -> Dict

Get job status.

Returns: Dict with:

  • state: Current state (pending, running, completed, failed)
  • progress: Progress percentage
  • message: Status message

metrics() -> Dict

Get job results/metrics.

Returns: Dict with job-specific metrics

Exceptions

  • SDKError - Base SDK exception
  • AuthenticationError - Auth failures
  • RateLimitError - Rate limit exceeded
  • UploadError - Upload failures
  • TrainingError - Training failures
  • InferenceError - Inference failures
  • TuningError - Tuning failures

Common Patterns

Training Pipeline

# Upload data
df = pd.read_csv("data.csv")
dataset = client.upload_dataframe(df)

# Train model
job = client.train(
    dataset=dataset,
    categorical_cols=["cat1", "cat2"],
    date_column="date",
    target="target",
    validation_data_required=True,
    validation_split=0.2
)

# Monitor progress
while True:
    status = job.status()
    if status["state"] in ["completed", "failed"]:
        break
    time.sleep(30)

# Get results
if status["state"] == "completed":
    metrics = job.metrics()

Batch Inference

# Run inference
job = client.inference(
    model_name="my_model",
    batch_size=1000,
    input_dataset=dataset.id
)

# Get predictions
results = job.metrics()
predictions = results["predictions"]

Error Handling

from fount.errors import AuthenticationError, UploadError

try:
    dataset = client.upload_dataframe(df)
except AuthenticationError:
    print("Invalid API key")
except UploadError as e:
    print(f"Upload failed: {e}")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fount_core-0.1.7.0.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fount_core-0.1.7.0-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file fount_core-0.1.7.0.tar.gz.

File metadata

  • Download URL: fount_core-0.1.7.0.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for fount_core-0.1.7.0.tar.gz
Algorithm Hash digest
SHA256 f8193a8450afdc1940ee44c642ef098ad99049d27b96dbebab977be5ff56d4ce
MD5 851c99f1e8cfd98ea220867ec7196ca3
BLAKE2b-256 f168ee37a9c1020f46631992697393a1164ab2314b6da5ac78794442f5fee1cb

See more details on using hashes here.

File details

Details for the file fount_core-0.1.7.0-py3-none-any.whl.

File metadata

  • Download URL: fount_core-0.1.7.0-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for fount_core-0.1.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0f4c3988597ba9a73f57e0aa2ad66cced802445233384e6eeacd4a2ff5e988dc
MD5 90dfe75a4999c8316bfcb9e5a2a411bd
BLAKE2b-256 d5e31768daae69a4c83051cd9228e8de570fae0227c1961d0d7bdce8c09cc07b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page