Python SDK for the Vaarhaft FraudScanner API
Project description
Vaarhaft FraudScanner SDK
A modern, async-friendly Python SDK for interacting with the Vaarhaft FraudScanner API.
Pre-requisites
In order to use the Vaarhaft FraudScanner API, you need to have an API key. You can obtain one by requesting it here.
Installation
pip install vaarhaft-fraudscanner
Examples
Basic Usage
import os
import asyncio
from vaarhaft.fraudscanner import FraudScannerClient
async def example_request():
"""Run a basic example of using the FraudScanner SDK."""
# Set an output directory for attachments
output_dir = os.path.join(os.path.dirname(__file__), "..", "attachments")
async with FraudScannerClient(api_key="your_api_key_here", attachments_output_dir=output_dir) as client:
# Send a request to the FraudScanner API
response = await client.send(
file_path="/path/to/your/file.zip",
case_number="My Case Number 123",
issue_date="2023-10-01",
)
# Access metainformation about the request
print(f"Status code: {response.status_code}")
print(f"Request duration: {response.duration:.2f} seconds")
# Access the raw JSON response
print(f"Raw JSON response: {response.raw_json}")
# Access textual information about received attachments
print(f"Attachments: {response.attachments}")
# Access response level fields regarding the overall response, such as the session ID
print(f"Session ID: {response.sessionId}")
# Access the processed 'Files' results
for filename, file in response.Files:
print(f"Filename: {filename}")
print(f"The file's suspicion-level: {file.suspicion_level}")
# Access all items in the response
for id_tuple, item in response.get_all_items():
print(f"Item in file {id_tuple.file_name} with id {id_tuple.item_uuid}: Suspicion level = {item.suspicion_level}")
async def example_batched():
"""Run an example of using the batch functionality to process multiple files."""
# Set an output directory for attachments
output_dir = os.path.join(os.path.dirname(__file__), "..", "attachments")
async with FraudScannerClient(api_key="your_api_key_here", attachments_output_dir=output_dir) as client:
# Process an entire directory (containing image or document files, not zips) in batches
await client.batched(
input_dir="/path/to/your/input/directory",
output_file="/path/to/your/output/file.csv", # CSV file containing an overview of the results
case_number_base="TestBatch", # Use max. 10 characters
)
if __name__ == "__main__":
asyncio.run(example_request())
asyncio.run(example_batched())
API Reference
FraudScannerClient
The main client for interacting with the FraudScanner API. Can be used as a context manager (async with; see example above).
client = FraudScannerClient(api_key="your_api_key", attachments_output_dir="attachments")
Parameters
api_key(str): The API key for authenticating with the FraudScanner API.attachments_output_dir(str): Directory to save attachments to.
Methods
send(case_number, file_path, issue_date=None, contact_email=None): Send a request to the FraudScanner API. Returns aFraudScannerResponseobject.batched(case_number_base, input_dir, output_file, issue_date=None, contact_email=None): Send all image and document files in a directory to the FraudScanner API. The results summarized in the specified output CSV file. Useful for getting a large amount of old cases/files into the system in bulk and without much setup.
FraudScannerResponse
The response from the FraudScanner API.
Properties
Files: A dictionary of filename to file result pairs. Contains the main results of the analyses. Refer to the API documentation for details on the structure of the results.raw_json: The raw JSON data from the response.attachments: A dictionary mapping filenames to their paths on disk.status_code: The HTTP status code of the response.duration: The duration of the request in seconds.suspicion_level: The overall suspicion level of the request.caseNumber: The case number for the analysis.sessionId: The session ID for the request.modelVersions: The versions of the models used for analysis.
Methods
get_all_items(type=None): Get all items from the response, optionally filtered by type (image/document).
License
This project is licensed under the MIT License.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vaarhaft_fraudscanner-0.1.7.tar.gz.
File metadata
- Download URL: vaarhaft_fraudscanner-0.1.7.tar.gz
- Upload date:
- Size: 16.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a31134bc1bbf5f929b137202bb8f4f522dfa2ba2b277f03c9f791306c566d25
|
|
| MD5 |
927c791ae95ab94153423cb7bbc32ab3
|
|
| BLAKE2b-256 |
7ad6160e5915ff35d117763726bfa0b74969dcdace72a3df7f26f3a952fffe36
|
File details
Details for the file vaarhaft_fraudscanner-0.1.7-py3-none-any.whl.
File metadata
- Download URL: vaarhaft_fraudscanner-0.1.7-py3-none-any.whl
- Upload date:
- Size: 17.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1b89b8a13dea00c18a960cb4582e077f2a79f6a64361c2e129545b5e5e38a51
|
|
| MD5 |
83a62604b3475e155513ddbb05b51cfb
|
|
| BLAKE2b-256 |
e411a39c09477f6703608d54c70f4ef880739d8e81e9ac2078fb93757a00b879
|