Python SDK

Complete reference for the Veriafy Python SDK

Installation

pip install veriafy

With GPU support:

pip install veriafy[gpu]

Quick Start

from veriafy import Veriafy

# Initialize client
client = Veriafy()  # Local mode
# or
client = Veriafy(api_key="sk-xxxxx")  # Cloud mode

# Classify a file
result = client.classify("image.jpg", model="veriafy/nsfw-classifier")

print(result.vector_id)      # Unique hash identifier
print(result.categories)     # {'safe': 0.98, 'explicit': 0.02}
print(result.confidence)     # 0.98
print(result.action)         # 'allow'

Veriafy Class

Veriafy(api_key=None, local=True, gpu=False)

Initialize the Veriafy client.

Parameters:
  • api_key (str, optional): API key for cloud features
  • local (bool): Run inference locally (default: True)
  • gpu (bool): Enable GPU acceleration (default: False)

Methods

classify(file, model, threshold=0.5)

Classify a single file.

Parameters:
  • file (str | Path | bytes): File path or content
  • model (str): Model identifier
  • threshold (float): Confidence threshold (0-1)
Returns:

ClassificationResult

classify_batch(files, model, batch_size=32)

Classify multiple files efficiently.

Parameters:
  • files (List[str]): List of file paths
  • model (str): Model identifier
  • batch_size (int): Batch size for processing
Returns:

List[ClassificationResult]

extract_vector(file)

Extract Veriafy Vector without classification.

Parameters:
  • file (str | Path | bytes): File path or content
Returns:

VeriafyVector

pull_model(model, version=None)

Download a model from the marketplace.

Parameters:
  • model (str): Model identifier
  • version (str, optional): Specific version

list_models()

List installed models.

Returns:

List[ModelInfo]

ClassificationResult

AttributeTypeDescription
vector_idstrUnique vector identifier
file_typestrDetected file type
categoriesDict[str, float]Category probabilities
confidencefloatHighest probability score
actionstr'allow', 'flag', or 'block'
processing_time_msfloatProcessing time in milliseconds

Complete Example

from veriafy import Veriafy
from pathlib import Path

# Initialize
client = Veriafy(gpu=True)

# Download model if needed
client.pull_model("veriafy/fraud-detection")

# Process a directory of documents
documents = Path("./invoices").glob("*.pdf")

results = client.classify_batch(
    files=list(documents),
    model="veriafy/fraud-detection",
    batch_size=64
)

# Analyze results
for result in results:
    if result.action == "block":
        print(f"FRAUD DETECTED: {result.file}")
        print(f"  Confidence: {result.confidence:.2%}")
        print(f"  Vector ID: {result.vector_id}")
    elif result.action == "flag":
        print(f"REVIEW NEEDED: {result.file}")

# Summary
blocked = sum(1 for r in results if r.action == "block")
flagged = sum(1 for r in results if r.action == "flag")
allowed = sum(1 for r in results if r.action == "allow")

print(f"\nSummary: {blocked} blocked, {flagged} flagged, {allowed} allowed")

Next Steps