API Reference

A library for Vuforia Web Services.

class vws.CloudRecoService(client_access_key: str, client_secret_key: str, base_vwq_url: str = 'https://cloudreco.vuforia.com')

An interface to the Vuforia Cloud Recognition Web APIs.

Parameters:
  • client_access_key – A VWS client access key.

  • client_secret_key – A VWS client secret key.

  • base_vwq_url – The base URL for the VWQ API.

query(image: BinaryIO, max_num_results: int = 1, include_target_data: CloudRecoIncludeTargetData = CloudRecoIncludeTargetData.TOP) list[QueryResult]

Use the Vuforia Web Query API to make an Image Recognition Query.

See https://library.vuforia.com/web-api/vuforia-query-web-api for parameter details.

Parameters:
  • image – The image to make a query against.

  • max_num_results – The maximum number of matching targets to be returned.

  • include_target_data – Indicates if target_data records shall be returned for the matched targets. Accepted values are top (default value, only return target_data for top ranked match), none (return no target_data), all (for all matched targets).

Raises:
Returns:

An ordered list of target details of matching targets.

class vws.VWS(server_access_key: str, server_secret_key: str, base_vws_url: str = 'https://vws.vuforia.com')

An interface to Vuforia Web Services APIs.

Parameters:
  • server_access_key – A VWS server access key.

  • server_secret_key – A VWS server secret key.

  • base_vws_url – The base URL for the VWS API.

add_target(name: str, width: float, image: BinaryIO, application_metadata: str | None, *, active_flag: bool) str

Add a target to a Vuforia Web Services database.

See https://library.vuforia.com/web-api/cloud-targets-web-services-api#add for parameter details.

Parameters:
  • name – The name of the target.

  • width – The width of the target.

  • image – The image of the target.

  • active_flag – Whether or not the target is active for query.

  • application_metadata

    The application metadata of the target. This must be base64 encoded, for example by using:

    base64.b64encode('input_string').decode('ascii')
    

Returns:

The target ID of the new target.

Raises:
get_target_record(target_id: str) TargetStatusAndRecord

Get a given target’s target record from the Target Management System.

See https://library.vuforia.com/web-api/cloud-targets-web-services-api#target-record.

Parameters:

target_id – The ID of the target to get details of.

Returns:

Response details of a target from Vuforia.

Raises:
wait_for_target_processed(target_id: str, seconds_between_requests: float = 0.2, timeout_seconds: float = 300) None

Wait up to five minutes (arbitrary) for a target to get past the processing stage.

Parameters:
  • target_id – The ID of the target to wait for.

  • seconds_between_requests – The number of seconds to wait between requests made while polling the target status. We wait 0.2 seconds by default, rather than less, than that to decrease the number of calls made to the API, to decrease the likelihood of hitting the request quota.

  • timeout_seconds – The maximum number of seconds to wait for the target to be processed.

Raises:
list_targets() list[str]

List target IDs.

See https://library.vuforia.com/web-api/cloud-targets-web-services-api#details-list.

Returns:

The IDs of all targets in the database.

Raises:
get_target_summary_report(target_id: str) TargetSummaryReport

Get a summary report for a target.

See https://library.vuforia.com/web-api/cloud-targets-web-services-api#summary-report.

Parameters:

target_id – The ID of the target to get a summary report for.

Returns:

Details of the target.

Raises:
get_database_summary_report() DatabaseSummaryReport

Get a summary report for the database.

See https://library.vuforia.com/web-api/cloud-targets-web-services-api#summary-report.

Returns:

Details of the database.

Raises:
delete_target(target_id: str) None

Delete a given target.

See https://library.vuforia.com/web-api/cloud-targets-web-services-api#delete.

Parameters:

target_id – The ID of the target to delete.

Raises:
get_duplicate_targets(target_id: str) list[str]

Get targets which may be considered duplicates of a given target.

See https://library.vuforia.com/web-api/cloud-targets-web-services-api#check.

Parameters:

target_id – The ID of the target to delete.

Returns:

The target IDs of duplicate targets.

Raises:
update_target(target_id: str, name: str | None = None, width: float | None = None, image: io.BytesIO | None = None, active_flag: bool | None = None, application_metadata: str | None = None) None

Add a target to a Vuforia Web Services database.

See https://library.vuforia.com/web-api/cloud-targets-web-services-api#add for parameter details.

Parameters:
  • target_id – The ID of the target to get details of.

  • name – The name of the target.

  • width – The width of the target.

  • image – The image of the target.

  • active_flag – Whether or not the target is active for query.

  • application_metadata

    The application metadata of the target. This must be base64 encoded, for example by using:

    base64.b64encode('input_string').decode('ascii')
    

    Giving None will not change the application metadata.

Raises:

Classes for representing Vuforia reports.

class vws.reports.DatabaseSummaryReport(active_images: int, current_month_recos: int, failed_images: int, inactive_images: int, name: str, previous_month_recos: int, processing_images: int, reco_threshold: int, request_quota: int, request_usage: int, target_quota: int, total_recos: int)

A database summary report.

See https://library.vuforia.com/web-api/cloud-targets-web-services-api#summary-report.

active_images: int
current_month_recos: int
failed_images: int
inactive_images: int
name: str
previous_month_recos: int
processing_images: int
reco_threshold: int
request_quota: int
request_usage: int
target_quota: int
total_recos: int
class vws.reports.TargetStatuses(value, names=None, *values, module=None, qualname=None, type=None, start=1, boundary=None)

Constants representing VWS target statuses.

See the ‘status’ field in https://library.vuforia.com/web-api/cloud-targets-web-services-api#target-record

PROCESSING = 'processing'
SUCCESS = 'success'
FAILED = 'failed'
class vws.reports.TargetSummaryReport(status: TargetStatuses, database_name: str, target_name: str, upload_date: date, active_flag: bool, tracking_rating: int, total_recos: int, current_month_recos: int, previous_month_recos: int)

A target summary report.

See https://library.vuforia.com/web-api/cloud-targets-web-services-api#summary-report.

status: TargetStatuses
database_name: str
target_name: str
upload_date: date
active_flag: bool
tracking_rating: int
total_recos: int
current_month_recos: int
previous_month_recos: int
class vws.reports.TargetRecord(target_id: str, active_flag: bool, name: str, width: float, tracking_rating: int, reco_rating: str)

A target record.

See https://library.vuforia.com/web-api/cloud-targets-web-services-api#target-record.

target_id: str
active_flag: bool
name: str
width: float
tracking_rating: int
reco_rating: str
class vws.reports.TargetData(name: str, application_metadata: str | None, target_timestamp: datetime)

The target data optionally included with a query match.

name: str
application_metadata: str | None
target_timestamp: datetime
class vws.reports.QueryResult(target_id: str, target_data: TargetData | None)

One query match result.

See https://library.vuforia.com/web-api/vuforia-query-web-api.

target_id: str
target_data: TargetData | None
class vws.reports.TargetStatusAndRecord(status: TargetStatuses, target_record: TargetRecord)

The target status and a target record.

See https://library.vuforia.com/web-api/cloud-targets-web-services-api#target-record.

status: TargetStatuses
target_record: TargetRecord

Tools for managing CloudRecoService.query’s include_target_data.

class vws.include_target_data.CloudRecoIncludeTargetData(value, names=None, *values, module=None, qualname=None, type=None, start=1, boundary=None)

Options for the include_target_data parameter of CloudRecoService.query.

TOP = 'top'
NONE = 'none'
ALL = 'all'