GithubHelp home page GithubHelp logo

vws-web-tools's Introduction

Build Status codecov PyPI Documentation Status

vws-python

Python library for the Vuforia Web Services (VWS) API and the Vuforia Web Query API.

Installation

pip install vws-python

This is tested on Python 3.12+. Get in touch with [email protected] if you would like to use this with another language.

Getting Started

import pathlib

from vws import VWS, CloudRecoService

server_access_key = '[server-access-key]'
server_secret_key = '[server-secret-key]'
client_access_key = '[client-access-key]'
client_secret_key = '[client-secret-key]'

vws_client = VWS(
    server_access_key=server_access_key,
    server_secret_key=server_secret_key,
)
cloud_reco_client = CloudRecoService(
    client_access_key=client_access_key,
    client_secret_key=client_secret_key,
)
name = 'my_image_name'

image = pathlib.Path('high_quality_image.jpg')
with image.open(mode='rb') as my_image_file:
    target_id = vws_client.add_target(
        name=name,
        width=1,
        image=my_image_file,
        active_flag=True,
        application_metadata=None,
    )
    vws_client.wait_for_target_processed(target_id=target_id)
    matching_targets = cloud_reco_client.query(image=my_image_file)

assert matching_targets[0].target_id == target_id

Full Documentation

See the full documentation.

vws-web-tools's People

Contributors

adamtheturtle avatar dependabot[bot] avatar github-actions[bot] avatar

Watchers

 avatar

vws-web-tools's Issues

Add a test which really does add a database

Initial test:

"""
This creates 100 licenses and databases.

If this passes around ~20 times we can be confident that at least most of our
tool works.
"""

import os
import uuid
import json
from datetime import date
from pathlib import Path

import vws_web_tools

from selenium import webdriver

def main():
    # TODO use GitHub secrets for this.
    email_address = os.environ['VWS_EMAIL_ADDRESS']
    password = os.environ['VWS_PASSWORD']
    # Short to not hit the max length of the license.
    random = uuid.uuid4().hex[:5]
    today_date = str(date.today())
    output_file_path = Path(f'databases_details_{random}.txt')
    license_name_start = f'license-ci-{today_date}-{random}-'
    database_name_start = f'database-ci-{today_date}-{random}-'
    # We need chromedriver.
    # On macOS: brew install chromedriver
    driver = webdriver.Chrome()

    vws_web_tools.log_in(
        driver=driver,
        email_address=email_address,
        password=password,
    )

    for index in range(100):
        license_name = license_name_start + str(index)
        database_name = database_name_start + str(index)
        vws_web_tools.create_license(driver=driver, license_name=license_name)
        vws_web_tools.create_database(
            driver=driver,
            database_name=database_name,
            license_name=license_name,
        )

        details = vws_web_tools.get_database_details(
            driver=driver,
            database_name=database_name,
        )

       # TODO verify that none of the database details are empty

        with output_file_path.open('a') as output_file:
            output_file.write(json.dumps(details))
            output_file.write('\n')

    driver.close()

if __name__ == '__main__':
    main()

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.