Python SDK
Complete reference for the Veriafy Python SDK
Installation
pip install veriafyWith 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 featureslocal(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 contentmodel(str): Model identifierthreshold(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 pathsmodel(str): Model identifierbatch_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 identifierversion(str, optional): Specific version
list_models()
List installed models.
Returns:
List[ModelInfo]
ClassificationResult
| Attribute | Type | Description |
|---|---|---|
| vector_id | str | Unique vector identifier |
| file_type | str | Detected file type |
| categories | Dict[str, float] | Category probabilities |
| confidence | float | Highest probability score |
| action | str | 'allow', 'flag', or 'block' |
| processing_time_ms | float | Processing 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")